80 lines
2.0 KiB
JavaScript
80 lines
2.0 KiB
JavaScript
import {
|
|
destructComputed,
|
|
getForeground,
|
|
isCssColor,
|
|
isParsableColor,
|
|
parseColor
|
|
} from "./chunk-I4KGD5X4.js";
|
|
import {
|
|
computed,
|
|
isRef
|
|
} from "./chunk-PD2AWGJV.js";
|
|
|
|
// node_modules/vuetify/lib/composables/color.mjs
|
|
function useColor(colors) {
|
|
return destructComputed(() => {
|
|
const classes = [];
|
|
const styles = {};
|
|
if (colors.value.background) {
|
|
if (isCssColor(colors.value.background)) {
|
|
styles.backgroundColor = colors.value.background;
|
|
if (!colors.value.text && isParsableColor(colors.value.background)) {
|
|
const backgroundColor = parseColor(colors.value.background);
|
|
if (backgroundColor.a == null || backgroundColor.a === 1) {
|
|
const textColor = getForeground(backgroundColor);
|
|
styles.color = textColor;
|
|
styles.caretColor = textColor;
|
|
}
|
|
}
|
|
} else {
|
|
classes.push(`bg-${colors.value.background}`);
|
|
}
|
|
}
|
|
if (colors.value.text) {
|
|
if (isCssColor(colors.value.text)) {
|
|
styles.color = colors.value.text;
|
|
styles.caretColor = colors.value.text;
|
|
} else {
|
|
classes.push(`text-${colors.value.text}`);
|
|
}
|
|
}
|
|
return {
|
|
colorClasses: classes,
|
|
colorStyles: styles
|
|
};
|
|
});
|
|
}
|
|
function useTextColor(props, name) {
|
|
const colors = computed(() => ({
|
|
text: isRef(props) ? props.value : name ? props[name] : null
|
|
}));
|
|
const {
|
|
colorClasses: textColorClasses,
|
|
colorStyles: textColorStyles
|
|
} = useColor(colors);
|
|
return {
|
|
textColorClasses,
|
|
textColorStyles
|
|
};
|
|
}
|
|
function useBackgroundColor(props, name) {
|
|
const colors = computed(() => ({
|
|
background: isRef(props) ? props.value : name ? props[name] : null
|
|
}));
|
|
const {
|
|
colorClasses: backgroundColorClasses,
|
|
colorStyles: backgroundColorStyles
|
|
} = useColor(colors);
|
|
return {
|
|
backgroundColorClasses,
|
|
backgroundColorStyles
|
|
};
|
|
}
|
|
|
|
export {
|
|
useColor,
|
|
useTextColor,
|
|
useBackgroundColor
|
|
};
|
|
//# sourceMappingURL=chunk-ZZ55KHRR.js.map
|