import { useTextColor } from "./chunk-ZZ55KHRR.js"; import { IconValue, useIcon } from "./chunk-472DNWSX.js"; import { makeTagProps } from "./chunk-DJRL4NAD.js"; import { makeThemeProps, provideTheme } from "./chunk-CYOEVGGH.js"; import { convertToUnit, destructComputed, flattenFragments, genericComponent, getCurrentInstanceName, includes, makeComponentProps, propsFactory, useRender } from "./chunk-I4KGD5X4.js"; import { Text, computed, createVNode, ref, toRef } from "./chunk-PD2AWGJV.js"; // node_modules/vuetify/lib/components/VIcon/VIcon.mjs import "C:/Users/Jeremy/Documents/Dev/Projects.cloudsucks.net/Vulture/VApp/node_modules/vuetify/lib/components/VIcon/VIcon.css"; // node_modules/vuetify/lib/composables/size.mjs var predefinedSizes = ["x-small", "small", "default", "large", "x-large"]; var makeSizeProps = propsFactory({ size: { type: [String, Number], default: "default" } }, "size"); function useSize(props) { let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); return destructComputed(() => { let sizeClasses; let sizeStyles; if (includes(predefinedSizes, props.size)) { sizeClasses = `${name}--size-${props.size}`; } else if (props.size) { sizeStyles = { width: convertToUnit(props.size), height: convertToUnit(props.size) }; } return { sizeClasses, sizeStyles }; }); } // node_modules/vuetify/lib/components/VIcon/VIcon.mjs var makeVIconProps = propsFactory({ color: String, start: Boolean, end: Boolean, icon: IconValue, ...makeComponentProps(), ...makeSizeProps(), ...makeTagProps({ tag: "i" }), ...makeThemeProps() }, "VIcon"); var VIcon = genericComponent()({ name: "VIcon", props: makeVIconProps(), setup(props, _ref) { let { attrs, slots } = _ref; const slotIcon = ref(); const { themeClasses } = provideTheme(props); const { iconData } = useIcon(computed(() => slotIcon.value || props.icon)); const { sizeClasses } = useSize(props); const { textColorClasses, textColorStyles } = useTextColor(toRef(props, "color")); useRender(() => { var _a, _b; const slotValue = (_a = slots.default) == null ? void 0 : _a.call(slots); if (slotValue) { slotIcon.value = (_b = flattenFragments(slotValue).filter((node) => node.type === Text && node.children && typeof node.children === "string")[0]) == null ? void 0 : _b.children; } return createVNode(iconData.value.component, { "tag": props.tag, "icon": iconData.value.icon, "class": ["v-icon", "notranslate", themeClasses.value, sizeClasses.value, textColorClasses.value, { "v-icon--clickable": !!attrs.onClick, "v-icon--start": props.start, "v-icon--end": props.end }, props.class], "style": [!sizeClasses.value ? { fontSize: convertToUnit(props.size), height: convertToUnit(props.size), width: convertToUnit(props.size) } : void 0, textColorStyles.value, props.style], "role": attrs.onClick ? "button" : void 0, "aria-hidden": !attrs.onClick }, { default: () => [slotValue] }); }); return {}; } }); export { makeSizeProps, useSize, VIcon }; //# sourceMappingURL=chunk-IFUDBK56.js.map