{"version":3,"file":"BafWko2v.js","sources":["../../../../node_modules/vuetify/lib/components/VSnackbar/VSnackbar.mjs","../../../../components/App/AppSnackbar.vue"],"sourcesContent":["import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSnackbar.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VOverlay } from \"../VOverlay/index.mjs\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.mjs\";\nimport { VProgressLinear } from \"../VProgressLinear/index.mjs\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Utilities\nimport { mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch } from 'vue';\nimport { genericComponent, omit, propsFactory, refElement, useRender } from \"../../util/index.mjs\";\nfunction useCountdown(milliseconds) {\n const time = shallowRef(milliseconds);\n let timer = -1;\n function clear() {\n clearInterval(timer);\n }\n function reset() {\n clear();\n nextTick(() => time.value = milliseconds);\n }\n function start(el) {\n const style = el ? getComputedStyle(el) : {\n transitionDuration: 0.2\n };\n const interval = parseFloat(style.transitionDuration) * 1000 || 200;\n clear();\n if (time.value <= 0) return;\n const startTime = performance.now();\n timer = window.setInterval(() => {\n const elapsed = performance.now() - startTime + interval;\n time.value = Math.max(milliseconds - elapsed, 0);\n if (time.value <= 0) clear();\n }, interval);\n }\n onScopeDispose(clear);\n return {\n clear,\n time,\n start,\n reset\n };\n}\nexport const makeVSnackbarProps = propsFactory({\n multiLine: Boolean,\n text: String,\n timer: [Boolean, String],\n timeout: {\n type: [Number, String],\n default: 5000\n },\n vertical: Boolean,\n ...makeLocationProps({\n location: 'bottom'\n }),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition'\n }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy'])\n}, 'VSnackbar');\nexport const VSnackbar = genericComponent()({\n name: 'VSnackbar',\n props: makeVSnackbarProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n scopeId\n } = useScopeId();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n roundedClasses\n } = useRounded(props);\n const countdown = useCountdown(Number(props.timeout));\n const overlay = ref();\n const timerRef = ref();\n const isHovering = shallowRef(false);\n watch(isActive, startTimeout);\n watch(() => props.timeout, startTimeout);\n onMounted(() => {\n if (isActive.value) startTimeout();\n });\n let activeTimeout = -1;\n function startTimeout() {\n countdown.reset();\n window.clearTimeout(activeTimeout);\n const timeout = Number(props.timeout);\n if (!isActive.value || timeout === -1) return;\n const element = refElement(timerRef.value);\n countdown.start(element);\n activeTimeout = window.setTimeout(() => {\n isActive.value = false;\n }, timeout);\n }\n function clearTimeout() {\n countdown.reset();\n window.clearTimeout(activeTimeout);\n }\n function onPointerenter() {\n isHovering.value = true;\n clearTimeout();\n }\n function onPointerleave() {\n isHovering.value = false;\n startTimeout();\n }\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n const hasContent = !!(slots.default || slots.text || props.text);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-snackbar', {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--timer': !!props.timer,\n 'v-snackbar--vertical': props.vertical\n }, positionClasses.value, props.class],\n \"style\": props.style\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"contentProps\": mergeProps({\n class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],\n style: [locationStyles.value, colorStyles.value],\n onPointerenter,\n onPointerleave\n }, overlayProps.contentProps),\n \"persistent\": true,\n \"noClickAnimation\": true,\n \"scrim\": false,\n \"scrollStrategy\": \"none\",\n \"_disableGlobalStack\": true\n }, scopeId), {\n default: () => [genOverlays(false, 'v-snackbar'), props.timer && _createVNode(\"div\", {\n \"key\": \"timer\",\n \"class\": \"v-snackbar__timer\"\n }, [_createVNode(VProgressLinear, {\n \"ref\": timerRef,\n \"active\": !isHovering.value,\n \"color\": typeof props.timer === 'string' ? props.timer : 'info',\n \"max\": props.timeout,\n \"model-value\": countdown.time.value\n }, null)]), hasContent && _createVNode(\"div\", {\n \"key\": \"content\",\n \"class\": \"v-snackbar__content\",\n \"role\": \"status\",\n \"aria-live\": \"polite\"\n }, [slots.text?.() ?? props.text, slots.default?.()]), slots.actions && _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n variant: 'text',\n ripple: false,\n slim: true\n }\n }\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-snackbar__actions\"\n }, [slots.actions()])]\n })],\n activator: slots.activator\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VSnackbar.mjs.map","\n\n \n \n \n \n {{ appStore.snackbar.message }}\n \n \n \n\n\n\n"],"names":["useCountdown","milliseconds","time","shallowRef","timer","clear","reset","nextTick","start","el","style","interval","startTime","elapsed","onScopeDispose","makeVSnackbarProps","propsFactory","makeLocationProps","makePositionProps","makeRoundedProps","makeVariantProps","makeThemeProps","omit","makeVOverlayProps","VSnackbar","genericComponent","v","props","_ref","slots","isActive","useProxiedModel","locationStyles","useLocation","positionClasses","usePosition","scopeId","useScopeId","themeClasses","provideTheme","colorClasses","colorStyles","variantClasses","useVariant","roundedClasses","useRounded","countdown","overlay","ref","timerRef","isHovering","watch","startTimeout","onMounted","activeTimeout","timeout","element","refElement","clearTimeout","onPointerenter","onPointerleave","useRender","overlayProps","VOverlay","hasContent","_createVNode","_mergeProps","$event","mergeProps","genOverlays","VProgressLinear","_a","_b","VDefaultsProvider","forwardRefs","appStore","useAppStore"],"mappings":"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","debug_id":"f780e762-7407-5b4f-a772-c4a9d608ee57"}