Files

89 lines
1.9 KiB
JavaScript

import {
destructComputed,
getForeground,
isCssColor,
isParsableColor,
parseColor
} from "./chunk-LZ5T2ERG.js";
import {
toValue
} from "./chunk-2MKFL3BX.js";
// node_modules/vuetify/lib/composables/color.js
function useColor(colors) {
return destructComputed(() => {
const {
class: colorClasses,
style: colorStyles
} = computeColor(colors);
return {
colorClasses,
colorStyles
};
});
}
function useTextColor(color) {
const {
colorClasses: textColorClasses,
colorStyles: textColorStyles
} = useColor(() => ({
text: toValue(color)
}));
return {
textColorClasses,
textColorStyles
};
}
function useBackgroundColor(color) {
const {
colorClasses: backgroundColorClasses,
colorStyles: backgroundColorStyles
} = useColor(() => ({
background: toValue(color)
}));
return {
backgroundColorClasses,
backgroundColorStyles
};
}
function computeColor(colors) {
const _colors = toValue(colors);
const classes = [];
const styles = {};
if (_colors.background) {
if (isCssColor(_colors.background)) {
styles.backgroundColor = _colors.background;
if (!_colors.text && isParsableColor(_colors.background)) {
const backgroundColor = parseColor(_colors.background);
if (backgroundColor.a == null || backgroundColor.a === 1) {
const textColor = getForeground(backgroundColor);
styles.color = textColor;
styles.caretColor = textColor;
}
}
} else {
classes.push(`bg-${_colors.background}`);
}
}
if (_colors.text) {
if (isCssColor(_colors.text)) {
styles.color = _colors.text;
styles.caretColor = _colors.text;
} else {
classes.push(`text-${_colors.text}`);
}
}
return {
class: classes,
style: styles
};
}
export {
useColor,
useTextColor,
useBackgroundColor,
computeColor
};
//# sourceMappingURL=chunk-BHV5Z34M.js.map