add directive to completely disable automatic text color creation

This commit is contained in:
Henry Jameson 2024-02-07 16:15:25 +02:00
parent a9efbd2553
commit 85d55c55e7
2 changed files with 11 additions and 7 deletions

View File

@ -8,7 +8,8 @@ export default {
directives: {
textColor: '--text',
textOpacity: 0.5,
textOpacityMode: 'mixrgb'
textOpacityMode: 'mixrgb',
textAuto: 'no-auto'
}
}
]

View File

@ -392,12 +392,15 @@ export const init = (extraRuleset, palette) => {
const lowerLevelSelector = selector.split(/ /g).slice(0, -1).join(' ')
const lowerLevelBackground = cache[lowerLevelSelector].background
const textColor = getTextColor(
convert(lowerLevelBackground).rgb,
// TODO properly provide "parent" text color?
convert(findColor(inheritedTextColor, null, lowerLevelBackground)).rgb,
newTextRule.directives.textAuto === 'preserve'
)
// TODO properly provide "parent" text color?
const intendedTextColor = convert(findColor(inheritedTextColor, null, lowerLevelBackground)).rgb
const textColor = newTextRule.directives.textAuto === 'no-auto'
? intendedTextColor
: getTextColor(
convert(lowerLevelBackground).rgb,
intendedTextColor,
newTextRule.directives.textAuto === 'preserve'
)
// Storing color data in lower layer to use as custom css properties
cache[lowerLevelSelector].textDefined = cache[lowerLevelSelector].textDefined || {}