67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
import {
|
|
useColor
|
|
} from "./chunk-ZZ55KHRR.js";
|
|
import {
|
|
getCurrentInstanceName,
|
|
propsFactory
|
|
} from "./chunk-I4KGD5X4.js";
|
|
import {
|
|
Fragment,
|
|
computed,
|
|
createVNode,
|
|
unref
|
|
} from "./chunk-PD2AWGJV.js";
|
|
|
|
// node_modules/vuetify/lib/composables/variant.mjs
|
|
var allowedVariants = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
|
|
function genOverlays(isClickable, name) {
|
|
return createVNode(Fragment, null, [isClickable && createVNode("span", {
|
|
"key": "overlay",
|
|
"class": `${name}__overlay`
|
|
}, null), createVNode("span", {
|
|
"key": "underlay",
|
|
"class": `${name}__underlay`
|
|
}, null)]);
|
|
}
|
|
var makeVariantProps = propsFactory({
|
|
color: String,
|
|
variant: {
|
|
type: String,
|
|
default: "elevated",
|
|
validator: (v) => allowedVariants.includes(v)
|
|
}
|
|
}, "variant");
|
|
function useVariant(props) {
|
|
let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName();
|
|
const variantClasses = computed(() => {
|
|
const {
|
|
variant
|
|
} = unref(props);
|
|
return `${name}--variant-${variant}`;
|
|
});
|
|
const {
|
|
colorClasses,
|
|
colorStyles
|
|
} = useColor(computed(() => {
|
|
const {
|
|
variant,
|
|
color
|
|
} = unref(props);
|
|
return {
|
|
[["elevated", "flat"].includes(variant) ? "background" : "text"]: color
|
|
};
|
|
}));
|
|
return {
|
|
colorClasses,
|
|
colorStyles,
|
|
variantClasses
|
|
};
|
|
}
|
|
|
|
export {
|
|
genOverlays,
|
|
makeVariantProps,
|
|
useVariant
|
|
};
|
|
//# sourceMappingURL=chunk-XQKRKMJT.js.map
|