import { defineComponent, genericComponent, mergeDeep, propsFactory } from "./chunk-I4KGD5X4.js"; import { computed, createVNode, h, inject, mergeProps, unref } from "./chunk-PD2AWGJV.js"; // node_modules/vuetify/lib/iconsets/mdi.mjs var aliases = { collapse: "mdi-chevron-up", complete: "mdi-check", cancel: "mdi-close-circle", close: "mdi-close", delete: "mdi-close-circle", // delete (e.g. v-chip close) clear: "mdi-close-circle", success: "mdi-check-circle", info: "mdi-information", warning: "mdi-alert-circle", error: "mdi-close-circle", prev: "mdi-chevron-left", next: "mdi-chevron-right", checkboxOn: "mdi-checkbox-marked", checkboxOff: "mdi-checkbox-blank-outline", checkboxIndeterminate: "mdi-minus-box", delimiter: "mdi-circle", // for carousel sortAsc: "mdi-arrow-up", sortDesc: "mdi-arrow-down", expand: "mdi-chevron-down", menu: "mdi-menu", subgroup: "mdi-menu-down", dropdown: "mdi-menu-down", radioOn: "mdi-radiobox-marked", radioOff: "mdi-radiobox-blank", edit: "mdi-pencil", ratingEmpty: "mdi-star-outline", ratingFull: "mdi-star", ratingHalf: "mdi-star-half-full", loading: "mdi-cached", first: "mdi-page-first", last: "mdi-page-last", unfold: "mdi-unfold-more-horizontal", file: "mdi-paperclip", plus: "mdi-plus", minus: "mdi-minus", calendar: "mdi-calendar", eyeDropper: "mdi-eyedropper" }; var mdi = { // Not using mergeProps here, functional components merge props by default (?) component: (props) => h(VClassIcon, { ...props, class: "mdi" }) }; // node_modules/vuetify/lib/composables/icons.mjs var IconValue = [String, Function, Object, Array]; var IconSymbol = Symbol.for("vuetify:icons"); var makeIconProps = propsFactory({ icon: { type: IconValue }, // Could not remove this and use makeTagProps, types complained because it is not required tag: { type: String, required: true } }, "icon"); var VComponentIcon = genericComponent()({ name: "VComponentIcon", props: makeIconProps(), setup(props, _ref) { let { slots } = _ref; return () => { const Icon = props.icon; return createVNode(props.tag, null, { default: () => { var _a; return [props.icon ? createVNode(Icon, null, null) : (_a = slots.default) == null ? void 0 : _a.call(slots)]; } }); }; } }); var VSvgIcon = defineComponent({ name: "VSvgIcon", inheritAttrs: false, props: makeIconProps(), setup(props, _ref2) { let { attrs } = _ref2; return () => { return createVNode(props.tag, mergeProps(attrs, { "style": null }), { default: () => [createVNode("svg", { "class": "v-icon__svg", "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 24 24", "role": "img", "aria-hidden": "true" }, [Array.isArray(props.icon) ? props.icon.map((path) => Array.isArray(path) ? createVNode("path", { "d": path[0], "fill-opacity": path[1] }, null) : createVNode("path", { "d": path }, null)) : createVNode("path", { "d": props.icon }, null)])] }); }; } }); var VLigatureIcon = defineComponent({ name: "VLigatureIcon", props: makeIconProps(), setup(props) { return () => { return createVNode(props.tag, null, { default: () => [props.icon] }); }; } }); var VClassIcon = defineComponent({ name: "VClassIcon", props: makeIconProps(), setup(props) { return () => { return createVNode(props.tag, { "class": props.icon }, null); }; } }); var defaultSets = { svg: { component: VSvgIcon }, class: { component: VClassIcon } }; function createIcons(options) { return mergeDeep({ defaultSet: "mdi", sets: { ...defaultSets, mdi }, aliases: { ...aliases, /* eslint-disable max-len */ vuetify: ["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z", ["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z", 0.6]], "vuetify-outline": "svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z" /* eslint-enable max-len */ } }, options); } var useIcon = (props) => { const icons = inject(IconSymbol); if (!icons) throw new Error("Missing Vuetify Icons provide!"); const iconData = computed(() => { var _a; const iconAlias = unref(props); if (!iconAlias) return { component: VComponentIcon }; let icon = iconAlias; if (typeof icon === "string") { icon = icon.trim(); if (icon.startsWith("$")) { icon = (_a = icons.aliases) == null ? void 0 : _a[icon.slice(1)]; } } if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`); if (Array.isArray(icon)) { return { component: VSvgIcon, icon }; } else if (typeof icon !== "string") { return { component: VComponentIcon, icon }; } const iconSetName = Object.keys(icons.sets).find((setName) => typeof icon === "string" && icon.startsWith(`${setName}:`)); const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon; const iconSet = icons.sets[iconSetName ?? icons.defaultSet]; return { component: iconSet.component, icon: iconName }; }); return { iconData }; }; export { IconValue, IconSymbol, VComponentIcon, VSvgIcon, VLigatureIcon, VClassIcon, createIcons, useIcon }; //# sourceMappingURL=chunk-472DNWSX.js.map