{"version":3,"file":"CraobvR9.js","sources":["../../../../node_modules/.pnpm/vuetify@3.6.8_typescript@5.6.2_vite-plugin-vuetify@1.0.2_vue@3.5.13/node_modules/vuetify/lib/components/VSkeletonLoader/VSkeletonLoader.mjs"],"sourcesContent":["import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSkeletonLoader.css\";\n\n// Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text'\n};\nfunction genBone(type) {\n let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return _createVNode(\"div\", {\n \"class\": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]\n }, [children]);\n}\nfunction genBones(bone) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@');\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({\n length\n }).map(() => genStructure(type));\n}\nfunction genStructure(type) {\n let children = [];\n if (!type) return children;\n\n // TODO: figure out a better way to type this\n const bone = rootTypes[type];\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type);\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type);\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone);\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone);\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone));\n return [genBone(type, children)];\n}\nfunction mapBones(bones) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure);\n}\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading'\n },\n type: {\n type: [String, Array],\n default: 'ossein'\n },\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps()\n}, 'VSkeletonLoader');\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n props: makeVSkeletonLoaderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n t\n } = useLocale();\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')));\n useRender(() => {\n const isLoading = !slots.default || props.loading;\n return _createVNode(\"div\", {\n \"class\": ['v-skeleton-loader', {\n 'v-skeleton-loader--boilerplate': props.boilerplate\n }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],\n \"style\": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],\n \"aria-busy\": !props.boilerplate ? isLoading : undefined,\n \"aria-live\": !props.boilerplate ? 'polite' : undefined,\n \"aria-label\": !props.boilerplate ? t(props.loadingText) : undefined,\n \"role\": !props.boilerplate ? 'alert' : undefined\n }, [isLoading ? items.value : slots.default?.()]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSkeletonLoader.mjs.map"],"names":["rootTypes","genBone","type","children","_createVNode","genBones","bone","length","genStructure","mapBones","bones","makeVSkeletonLoaderProps","propsFactory","makeDimensionProps","makeElevationProps","makeThemeProps","VSkeletonLoader","genericComponent","props","_ref","slots","backgroundColorClasses","backgroundColorStyles","useBackgroundColor","toRef","dimensionStyles","useDimension","elevationClasses","useElevation","themeClasses","provideTheme","t","useLocale","items","computed","wrapInArray","useRender","isLoading","_a"],"mappings":"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","x_google_ignoreList":[0]}