{"version":3,"file":"BJtgMPHq.js","sources":["../../../../node_modules/vuetify/lib/composables/intersectionObserver.mjs","../../../../node_modules/vuetify/lib/composables/size.mjs","../../../../node_modules/vuetify/lib/composables/tag.mjs","../../../../node_modules/vuetify/lib/components/VProgressCircular/VProgressCircular.mjs"],"sourcesContent":["// Utilities\nimport { onBeforeUnmount, ref, shallowRef, watch } from 'vue';\nimport { SUPPORTS_INTERSECTION } from \"../util/index.mjs\";\nexport function useIntersectionObserver(callback, options) {\n const intersectionRef = ref();\n const isIntersecting = shallowRef(false);\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver(entries => {\n callback?.(entries, observer);\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting);\n }, options);\n onBeforeUnmount(() => {\n observer.disconnect();\n });\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n isIntersecting.value = false;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n intersectionRef,\n isIntersecting\n };\n}\n//# sourceMappingURL=intersectionObserver.mjs.map","// Utilities\nimport { convertToUnit, destructComputed, getCurrentInstanceName, includes, propsFactory } from \"../util/index.mjs\"; // Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large'];\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default'\n }\n}, 'size');\nexport function useSize(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n return destructComputed(() => {\n let sizeClasses;\n let sizeStyles;\n if (includes(predefinedSizes, props.size)) {\n sizeClasses = `${name}--size-${props.size}`;\n } else if (props.size) {\n sizeStyles = {\n width: convertToUnit(props.size),\n height: convertToUnit(props.size)\n };\n }\n return {\n sizeClasses,\n sizeStyles\n };\n });\n}\n//# sourceMappingURL=size.mjs.map","// Utilities\nimport { propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div'\n }\n}, 'tag');\n//# sourceMappingURL=tag.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressCircular.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String],\n modelValue: {\n type: [Number, String],\n default: 0\n },\n rotate: {\n type: [Number, String],\n default: 0\n },\n width: {\n type: [Number, String],\n default: 4\n },\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'div'\n }),\n ...makeThemeProps()\n}, 'VProgressCircular');\nexport const VProgressCircular = genericComponent()({\n name: 'VProgressCircular',\n props: makeVProgressCircularProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const MAGIC_RADIUS_CONSTANT = 20;\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT;\n const root = ref();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'color'));\n const {\n textColorClasses: underlayColorClasses,\n textColorStyles: underlayColorStyles\n } = useTextColor(toRef(props, 'bgColor'));\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));\n const width = computed(() => Number(props.width));\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32);\n });\n const diameter = computed(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2);\n const strokeWidth = computed(() => width.value / size.value * diameter.value);\n const strokeDashOffset = computed(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE));\n watchEffect(() => {\n intersectionRef.value = root.value;\n resizeRef.value = root.value;\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": root,\n \"class\": ['v-progress-circular', {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'\n }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],\n \"style\": [sizeStyles.value, textColorStyles.value, props.style],\n \"role\": \"progressbar\",\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\",\n \"aria-valuenow\": props.indeterminate ? undefined : normalizedValue.value\n }, {\n default: () => [_createVNode(\"svg\", {\n \"style\": {\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`\n },\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": `0 0 ${diameter.value} ${diameter.value}`\n }, [_createVNode(\"circle\", {\n \"class\": ['v-progress-circular__underlay', underlayColorClasses.value],\n \"style\": underlayColorStyles.value,\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": 0\n }, null), _createVNode(\"circle\", {\n \"class\": \"v-progress-circular__overlay\",\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": strokeDashOffset.value\n }, null)]), slots.default && _createVNode(\"div\", {\n \"class\": \"v-progress-circular__content\"\n }, [slots.default({\n value: normalizedValue.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressCircular.mjs.map"],"names":["useIntersectionObserver","callback","options","intersectionRef","ref","isIntersecting","shallowRef","SUPPORTS_INTERSECTION","observer","entries","entry","onBeforeUnmount","watch","newValue","oldValue","predefinedSizes","makeSizeProps","propsFactory","useSize","props","name","getCurrentInstanceName","destructComputed","sizeClasses","sizeStyles","includes","convertToUnit","makeTagProps","makeVProgressCircularProps","makeComponentProps","makeThemeProps","VProgressCircular","genericComponent","_ref","slots","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","root","themeClasses","provideTheme","textColorClasses","textColorStyles","useTextColor","toRef","underlayColorClasses","underlayColorStyles","resizeRef","contentRect","useResizeObserver","normalizedValue","computed","width","size","diameter","strokeWidth","strokeDashOffset","watchEffect","useRender","_createVNode"],"mappings":"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","debug_id":"69be81f5-4afc-5e68-93b5-885bcfbd13ef"}