commit: ff2db7a247284cb32933b83c56286a942923a398
parent 22b32f149d7753592fddcfb1cd2679b3fbac33d6
Author: Henry Jameson <me@hjkos.com>
Date: Tue, 23 Jan 2024 20:39:52 +0200
fix states
Diffstat:
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/services/theme_data/pleromafe.t3.js b/src/services/theme_data/pleromafe.t3.js
@@ -25,8 +25,16 @@ export const sampleRules = [
{
component: 'Button',
directives: {
- background: '#808080',
- opacity: 0.5
+ background: '#000000',
+ opacity: 0.8
+ }
+ },
+ {
+ component: 'Button',
+ state: ['hover'],
+ directives: {
+ background: '#FF00FF',
+ opacity: 0.9
}
}
]
diff --git a/src/services/theme_data/theme_data_3.service.js b/src/services/theme_data/theme_data_3.service.js
@@ -81,7 +81,10 @@ export const init = (ruleset) => {
if (Object.prototype.hasOwnProperty.call(rule, 'state')) {
const ruleStatesSet = new Set(['normal', ...(rule.state || [])])
- return combination.state.every(state => ruleStatesSet.has(state))
+ const combinationSet = new Set(['normal', ...combination.state])
+ const setsAreEqual = combination.state.every(state => ruleStatesSet.has(state)) &&
+ [...ruleStatesSet].every(state => combinationSet.has(state))
+ return setsAreEqual
} else {
if (combination.state.length !== 1 || combination.state[0] !== 'normal') return false
return true
@@ -93,6 +96,7 @@ export const init = (ruleset) => {
let currentParent = parent
while (currentParent) {
const rulesParent = ruleset.filter(findRules(currentParent, true))
+ rulesParent > 1 && console.log('OOPS')
lowerLevelComponent = rulesParent[rulesParent.length - 1]
currentParent = currentParent.parent
if (lowerLevelComponent && filter(lowerLevelComponent)) currentParent = null