@vuetify/nightly 3.0.0-next-20220112.0 → 3.0.0-next-20220128.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/json/attributes.json +96 -8
  2. package/dist/json/importMap.json +8 -0
  3. package/dist/json/tags.json +36 -4
  4. package/dist/json/web-types.json +354 -25
  5. package/dist/vuetify.css +116 -35
  6. package/dist/vuetify.d.ts +226 -65
  7. package/dist/vuetify.esm.js +745 -403
  8. package/dist/vuetify.esm.js.map +1 -1
  9. package/dist/vuetify.js +745 -403
  10. package/dist/vuetify.js.map +1 -1
  11. package/dist/vuetify.min.css +2 -2
  12. package/dist/vuetify.min.js +2 -2
  13. package/dist/vuetify.min.js.map +1 -1
  14. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +2 -2
  15. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  16. package/lib/components/VHover/VHover.mjs +3 -3
  17. package/lib/components/VHover/VHover.mjs.map +1 -1
  18. package/lib/components/VIcon/VIcon.mjs +8 -3
  19. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  20. package/lib/components/VList/VList.css +4 -2
  21. package/lib/components/VList/VList.mjs +37 -36
  22. package/lib/components/VList/VList.mjs.map +1 -1
  23. package/lib/components/VList/VList.sass +5 -2
  24. package/lib/components/VList/VListChildren.mjs +25 -15
  25. package/lib/components/VList/VListChildren.mjs.map +1 -1
  26. package/lib/components/VList/VListGroup.mjs +19 -41
  27. package/lib/components/VList/VListGroup.mjs.map +1 -1
  28. package/lib/components/VList/VListItem.mjs +9 -5
  29. package/lib/components/VList/VListItem.mjs.map +1 -1
  30. package/lib/components/VList/VListSubheader.mjs +20 -12
  31. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  32. package/lib/components/VList/list.mjs +31 -0
  33. package/lib/components/VList/list.mjs.map +1 -0
  34. package/lib/components/VPagination/VPagination.mjs +3 -0
  35. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  36. package/lib/components/VRangeSlider/VRangeSlider.mjs +40 -28
  37. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  38. package/lib/components/VSlider/VSlider.css +2 -0
  39. package/lib/components/VSlider/VSlider.mjs +4 -3
  40. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  41. package/lib/components/VSlider/VSlider.sass +2 -0
  42. package/lib/components/VSlider/VSliderThumb.css +8 -2
  43. package/lib/components/VSlider/VSliderThumb.mjs +4 -3
  44. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  45. package/lib/components/VSlider/VSliderThumb.sass +7 -2
  46. package/lib/components/VSlider/_variables.scss +2 -1
  47. package/lib/components/VSlider/slider.mjs +8 -6
  48. package/lib/components/VSlider/slider.mjs.map +1 -1
  49. package/lib/components/VWindow/VWindow.css +70 -0
  50. package/lib/components/VWindow/VWindow.mjs +158 -233
  51. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  52. package/lib/components/VWindow/VWindow.sass +26 -50
  53. package/lib/components/VWindow/VWindowItem.mjs +72 -98
  54. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  55. package/lib/components/VWindow/_variables.scss +2 -3
  56. package/lib/components/VWindow/index.mjs +2 -9
  57. package/lib/components/VWindow/index.mjs.map +1 -1
  58. package/lib/components/index.d.ts +222 -64
  59. package/lib/components/index.mjs +1 -1
  60. package/lib/components/index.mjs.map +1 -1
  61. package/lib/composables/group.mjs +1 -6
  62. package/lib/composables/group.mjs.map +1 -1
  63. package/lib/composables/nested/nested.mjs +1 -1
  64. package/lib/composables/nested/nested.mjs.map +1 -1
  65. package/lib/composables/nested/openStrategies.mjs +1 -1
  66. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  67. package/lib/directives/touch/index.mjs +6 -3
  68. package/lib/directives/touch/index.mjs.map +1 -1
  69. package/lib/entry-bundler.mjs +1 -1
  70. package/lib/index.d.ts +2 -0
  71. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vuetify.esm.js","sources":["../src/util/box.ts","../src/util/animation.ts","../src/util/console.ts","../src/util/helpers.ts","../src/util/color/transformSRGB.ts","../src/util/color/transformCIELAB.ts","../src/util/colorUtils.ts","../src/composables/defaults.ts","../src/util/defineComponent.tsx","../src/util/createSimpleFunctional.ts","../src/util/dom.ts","../src/util/easing.ts","../src/util/getCurrentInstance.ts","../src/util/getScrollParent.ts","../src/util/globals.ts","../src/util/isFixedPosition.ts","../src/util/propsFactory.ts","../src/util/useRender.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/rtl.ts","../src/components/VApp/VApp.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/directives/intersect/index.ts","../src/composables/transition.ts","../src/components/VImg/VImg.tsx","../src/composables/border.ts","../src/composables/density.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/composables/tag.ts","../src/composables/color.ts","../src/composables/proxiedModel.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/composables/size.ts","../src/composables/icons.tsx","../src/components/VIcon/VIcon.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VAlert/VAlert.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.ts","../src/components/VBanner/VBannerAvatar.tsx","../src/components/VBanner/VBannerContent.ts","../src/components/VBanner/VBannerText.ts","../src/composables/display.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/shared.ts","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.ts","../src/components/VCard/VCardAvatar.ts","../src/components/VCard/VCardHeader.ts","../src/components/VCard/VCardHeaderText.ts","../src/components/VCard/VCardImg.ts","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardText.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCard.tsx","../src/components/transitions/createTransition.ts","../src/components/transitions/expand-transition.ts","../src/components/transitions/dialog-transition.tsx","../src/components/transitions/index.ts","../src/components/VMessages/VMessages.tsx","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VChip/VChip.tsx","../src/components/VCode/index.ts","../src/components/VCounter/VCounter.tsx","../src/components/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/delay.ts","../src/components/VOverlay/useActivator.tsx","../src/components/VOverlay/util/anchor.ts","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/positionStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/composables/teleport.ts","../src/composables/lazy.ts","../src/composables/stack.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../src/components/VField/VFieldLabel.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/focus.ts","../src/components/VField/VField.tsx","../src/composables/locale.ts","../src/components/VFileInput/VFileInput.tsx","../src/components/VFooter/VFooter.tsx","../src/components/VForm/VForm.tsx","../src/components/VGrid/VContainer.tsx","../src/components/VGrid/VCol.ts","../src/components/VGrid/VRow.ts","../src/components/VGrid/VSpacer.ts","../src/components/VHover/VHover.tsx","../src/components/VItemGroup/VItemGroup.tsx","../src/components/VItemGroup/VItem.tsx","../src/components/VKbd/index.ts","../src/components/VLayout/VLayout.tsx","../src/components/VLayout/VLayoutItem.tsx","../src/components/VLazy/VLazy.tsx","../src/components/VList/VListSubheader.tsx","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/activeStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemAvatar.tsx","../src/components/VList/VListItemHeader.ts","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListChildren.tsx","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemMedia.tsx","../src/components/VLocaleProvider/VLocaleProvider.tsx","../src/composables/ssrBoot.ts","../src/components/VMain/VMain.tsx","../src/components/VMenu/VMenu.tsx","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/composables/hydration.ts","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/resizeObserver.ts","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VProgressCircular/VProgressCircular.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSheet/VSheet.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/composables/forwardRef.ts","../src/components/VTextField/VTextField.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/shared.ts","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VTimeline/VTimeline.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VValidation/VValidation.tsx","../src/directives/mutate/index.ts","../src/directives/resize/index.ts","../src/directives/scroll/index.ts","../src/directives/touch/index.ts","../src/iconsets/mdi.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n","import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n","/* eslint-disable no-console */\n// import Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n // if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match?.[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n // eslint-disable-next-line sonarjs/no-nested-template-literals\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","// Utilities\nimport { camelize, Fragment, isRef, ref } from 'vue'\n\n// Types\nimport type { ComponentInternalInstance, ComponentPublicInstance, Ref, Slots, VNode, VNodeChild } from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\ntype SelectItemKey = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\ntype DataTableCompareFunction<T = any> = (a: T, b: T) => number\nexport function sortItems<T extends any, K extends keyof T> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<K, DataTableCompareFunction<T[K]>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters?.[sortKey as K]) {\n const customResult = customSorters[sortKey as K](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n out: Record<string, any> = {},\n) {\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function getUid () {\n return getUid._uid++\n}\ngetUid._uid = 0\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport type ExtractMaybeRef<P> = P extends MaybeRef<infer T> ? T : P;\n\nexport function wrapInRef <T> (x: T) {\n return (isRef(x) ? x : ref(x)) as Ref<ExtractMaybeRef<T>>\n}\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n","// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties, properties.prev)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n","// Utils\nimport {\n defineComponent as _defineComponent,\n getCurrentInstance,\n shallowReactive,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { toKebabCase } from '@/util/helpers'\nimport { useDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[options.name!]\n\n for (const prop of Object.keys(props)) {\n let newVal\n if (propIsDefined(vm.vnode, prop)) {\n newVal = props[prop]\n } else {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n return options._setup(_props, ctx)\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\nexport type SlotsToProps<T extends Record<string, Slot>> = {\n $children: () => (T['default'] | VNodeChild | { [K in keyof T]?: T[K] })\n 'v-slots': new () => { [K in keyof T]?: T[K] | false }\n}/* & { // TODO: individual slots are never converted from the constructor type\n [K in keyof T as `v-slot:${K & string}`]?: new () => (T[K] | false)\n} */\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $slots?: Record<string, Slot>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n (I extends Record<'$props', any> ? Omit<PropsOptions, keyof I['$props']> : PropsOptions) & (\n I extends Record<'$slots', any>\n ? SlotsToProps<I['$slots']>\n : {}\n ),\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n","import { camelize, capitalize, h } from 'vue'\nimport { defineComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return defineComponent({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n },\n\n setup (props, { slots }) {\n return () => h(props.tag, {\n class: klass,\n }, slots.default?.())\n },\n })\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)'\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)' // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)' // Leaving\n","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n return toKebabCase(getCurrentInstance(name).type?.name)\n}\n","export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: HTMLElement) {\n const elements: HTMLElement[] = []\n while (el) {\n if (hasScrollbar(el)) elements.push(el)\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n","export const IS_NODE = typeof process !== 'undefined'\nexport const IN_BROWSER = typeof window !== 'undefined'\nexport const IS_DEBUG = IS_NODE && process.env.DEBUG === 'true'\nexport const IS_PROD = IS_NODE && process.env.NODE_ENV === 'production'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && CSS.supports('selector(:focus-visible)')\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source?: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = T extends null\n ? any // null & true would fail to infer\n : T extends { type: null | true }\n ? any // As TS issue https://github.com/Microsoft/TypeScript/issues/14829 // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n : T extends ObjectConstructor | { type: ObjectConstructor }\n ? Record<string, any>\n : T extends BooleanConstructor | { type: BooleanConstructor }\n ? boolean\n : T extends Prop<infer V, infer D> ? (unknown extends V ? D : V) : T\n","// Utilities\nimport { getCurrentInstance } from './getCurrentInstance'\n\n// Types\nimport type { VNode } from 'vue'\n\nexport function useRender (render: () => VNode): void {\n const vm = getCurrentInstance('useRender') as any\n vm.render = render\n}\n","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue'\nimport {\n colorToInt,\n colorToRGB,\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n intToHex,\n lighten,\n mergeDeep,\n propsFactory,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { HeadClient } from '@vueuse/head'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\ninterface BaseColors {\n background: string\n surface: string\n primary: string\n secondary: string\n success: string\n warning: string\n error: string\n info: string\n}\n\ninterface OnColors {\n 'on-background': string\n 'on-surface': string\n 'on-primary': string\n 'on-secondary': string\n 'on-success': string\n 'on-warning': string\n 'on-error': string\n 'on-info': string\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeOptions {\n isDisabled: boolean\n defaultTheme: string\n variations: VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\nexport type ThemeOptions = false | {\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\n\nexport interface ThemeInstance {\n isDisabled: boolean\n themes: Ref<Record<string, InternalThemeDefinition>>\n current: Ref<string>\n themeClasses: Ref<string | undefined>\n setTheme: (key: string, theme: InternalThemeDefinition) => void\n getTheme: (key: string) => InternalThemeDefinition\n styles: Ref<string>\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: ThemeOptions = {\n defaultTheme: 'light',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#6200EE',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#C2C2C2',\n },\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-variant': '#BDBDBD',\n 'on-surface-variant': '#424242',\n primary: '#BB86FC',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC5',\n 'secondary-darken-1': '#03DAC5',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#B7B7B7',\n },\n },\n },\n}\n\nconst parseThemeOptions = (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions => {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes = Object.entries(options.themes ?? {}).reduce((obj, [key, theme]) => {\n const defaultTheme = theme.dark ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light\n obj[key] = mergeDeep(defaultTheme, theme)\n return obj\n }, {} as Record<string, ThemeDefinition>)\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (app: App, options?: ThemeOptions): ThemeInstance {\n const head = app._context.provides.usehead as HeadClient | undefined\n const parsedOptions = parseThemeOptions(options)\n const styleEl = ref<HTMLStyleElement>()\n const current = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const variations = ref(parsedOptions.variations)\n\n const computedThemes = computed(() => {\n return Object.entries(themes.value).reduce((obj, [name, original]) => {\n const theme: InternalThemeDefinition = {\n ...original,\n colors: {\n ...original.colors,\n ...(parsedOptions.variations.colors ?? []).reduce((obj, color) => {\n return { ...obj, ...genColorVariations(color, original.colors[color]!) }\n }, {}),\n },\n }\n\n for (const color of Object.keys(theme.colors)) {\n if (/on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = colorToInt(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(0, colorVal))\n const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n }\n\n obj[name] = theme\n\n return obj\n }, {} as Record<string, InternalThemeDefinition>)\n })\n\n function genColorVariations (name: string, color: string) {\n const obj: Record<string, string> = {}\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations.value[variation], 1)) {\n obj[`${name}-${variation}-${amount}`] = intToHex(fn(colorToInt(color), amount))\n }\n }\n\n return obj\n }\n\n const styles = computed(() => {\n const lines = []\n\n for (const themeName of Object.keys(computedThemes.value)) {\n const variables = computedThemes.value[themeName].variables\n\n lines.push(...createCssClass(`.v-theme--${themeName}`, [\n ...genCssVariables(themeName),\n ...Object.keys(variables).map(key => {\n const value = variables[key]\n const color = typeof value === 'string' && value.startsWith('#') ? colorToRGB(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n\n return `--v-${key}: ${rgb ?? value}`\n }),\n ]))\n }\n\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)))\n for (const key of colors) {\n if (/on-[a-z]/.test(key)) {\n lines.push(...createCssClass(`.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]))\n } else {\n lines.push(\n ...createCssClass(`.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ]),\n ...createCssClass(`.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]),\n ...createCssClass(`.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]),\n )\n }\n }\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function genCssVariables (name: string) {\n const theme = computedThemes.value[name]\n\n if (!theme) throw new Error(`Could not find theme ${name}`)\n\n const lightOverlay = theme.dark ? 2 : 1\n const darkOverlay = theme.dark ? 1 : 2\n\n const variables: string[] = []\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = colorToRGB(value!)\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`)\n }\n }\n\n return variables\n }\n\n function createCssClass (selector: string, content: string[]) {\n return [\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n ]\n }\n\n if (head) {\n head.addHeadObjs(computed(() => ({\n style: [{\n children: styles.value,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n }],\n })))\n\n if (IN_BROWSER) {\n watchEffect(() => head.updateDOM())\n }\n } else {\n watch(themes, updateStyles, { deep: true, immediate: true })\n\n function updateStyles () {\n if (parsedOptions.isDisabled) return\n\n genStyleElement()\n\n if (styleEl.value) styleEl.value.innerHTML = styles.value\n }\n\n function genStyleElement () {\n if (typeof document === 'undefined' || styleEl.value) return\n\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n\n styleEl.value = el\n document.head.appendChild(styleEl.value)\n }\n }\n\n return {\n isDisabled: parsedOptions.isDisabled,\n themes: computedThemes,\n setTheme: (key: string, theme: InternalThemeDefinition) => themes.value[key] = theme,\n getTheme: (key: string) => computedThemes.value[key],\n current,\n themeClasses: computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${current.value}`),\n styles,\n }\n}\n\nexport function provideTheme (props: { theme?: string }) {\n getCurrentInstance('provideTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n const current = computed<string>(() => {\n return props.theme ?? theme?.current.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${current.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n","// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { convertToUnit, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => Ref<Record<string, unknown>>\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (\n name: string | undefined,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>,\n) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = name ?? `layout-item-${getUid()}`\n\n const styles = layout.register(id, priority, position, layoutSize, elementSize, active, disableTransitions)\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return styles\n}\n\nconst generateLayers = (\n layout: string[],\n registered: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n const ids = !layout.length ? registered : layout.map(l => l.split(':')[0]).filter(l => registered.includes(l))\n for (const id of ids) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\n// TODO: Remove undefined from layout and overlaps when vue typing for required: true prop is fixed\nexport function createLayout (props: { layout?: string[], overlaps?: string[], fullHeight?: boolean }) {\n const registered = ref<string[]>([])\n const positions = new Map<string, Ref<Position>>()\n const layoutSizes = new Map<string, Ref<number | string>>()\n const priorities = new Map<string, Ref<number>>()\n const activeItems = new Map<string, Ref<boolean>>()\n const transitions = new Map<string, Ref<boolean>>()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const entries = [...priorities.entries()]\n const sortedEntries = entries.sort(([, a], [, b]) => a.value - b.value).map(([id]) => id)\n return generateLayers(sortedEntries, registered.value, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(transitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n provide(VuetifyLayoutKey, {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && transitions.set(id, disableTransitions)\n registered.value.push(id)\n\n return computed(() => {\n const index = items.value.findIndex(i => i.id === id)\n\n if (index < 0) throw new Error(`Layout item \"${id}\" is missing from layout prop`)\n\n const item = items.value[index]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n return {\n [position.value]: 0,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n zIndex: layers.value.length - index,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n transitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n return {\n layoutClasses,\n getLayoutItem,\n items,\n }\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Page {0}, Current Page',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n","export { default as af } from './af'\nexport { default as ar } from './ar'\nexport { default as bg } from './bg'\nexport { default as ca } from './ca'\nexport { default as ckb } from './ckb'\nexport { default as cs } from './cs'\nexport { default as da } from './da'\nexport { default as de } from './de'\nexport { default as el } from './el'\nexport { default as en } from './en'\nexport { default as es } from './es'\nexport { default as et } from './et'\nexport { default as fa } from './fa'\nexport { default as fi } from './fi'\nexport { default as fr } from './fr'\nexport { default as hr } from './hr'\nexport { default as hu } from './hu'\nexport { default as he } from './he'\nexport { default as id } from './id'\nexport { default as it } from './it'\nexport { default as ja } from './ja'\nexport { default as ko } from './ko'\nexport { default as lv } from './lv'\nexport { default as lt } from './lt'\nexport { default as nl } from './nl'\nexport { default as no } from './no'\nexport { default as pl } from './pl'\nexport { default as pt } from './pt'\nexport { default as ro } from './ro'\nexport { default as ru } from './ru'\nexport { default as sk } from './sk'\nexport { default as sl } from './sl'\nexport { default as srCyrl } from './sr-Cyrl'\nexport { default as srLatn } from './sr-Latn'\nexport { default as sv } from './sv'\nexport { default as th } from './th'\nexport { default as tr } from './tr'\nexport { default as az } from './az'\nexport { default as uk } from './uk'\nexport { default as vi } from './vi'\nexport { default as zhHans } from './zh-Hans'\nexport { default as zhHant } from './zh-Hant'\n\nexport const rtl = {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: false,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { useRtl } from '@/composables/rtl'\n\nexport const VApp = defineComponent({\n name: 'VApp',\n\n props: {\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n ]}\n data-app=\"true\"\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = defineComponent({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { aspectStyles } = useAspectStyles(props)\n\n return () => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n { slots.additional?.() }\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n )\n },\n})\n","// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | false | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n","import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n h,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n defineComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport const VImg = defineComponent({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: ['loadstart', 'load', 'error'],\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = computed(() => {\n if (!normalisedSrc.value.src || state.value === 'idle') return\n\n const img = h('img', {\n class: ['v-img__img', containClasses.value],\n src: normalisedSrc.value.src,\n srcset: normalisedSrc.value.srcset,\n sizes: props.sizes,\n ref: image,\n onLoad,\n onError,\n })\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n })\n\n const __preloadImage = computed(() => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt=\"\"\n />\n )}\n </MaybeTransition>\n ))\n\n const __placeholder = computed(() => {\n if (!slots.placeholder) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __error = computed(() => {\n if (!slots.error) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __gradient = computed(() => {\n if (!props.gradient) return\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n })\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n v-slots={{\n additional: () => [__image.value, __preloadImage.value, __gradient.value, __placeholder.value, __error.value],\n default: slots.default,\n }}\n />\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\nexport type Density = typeof allowedDensities[number]\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref<string[]>\n}\n\nexport function useElevation (props: ElevationProps | Ref<number | string | undefined>): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n","// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nexport interface TagProps {\n tag: string\n}\n\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div',\n },\n}, 'tag')\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { isCssColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref<string[]>\n backgroundColorStyles: Ref<CSSProperties>\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n const backgroundIsCssColor = computed(() => isCssColor(colors.value.background))\n const textIsCssColor = computed(() => isCssColor(colors.value.text))\n\n const colorClasses = computed(() => {\n const classes: string[] = []\n\n if (colors.value.background && !backgroundIsCssColor.value) {\n classes.push(`bg-${colors.value.background}`)\n }\n\n if (colors.value.text && !textIsCssColor.value) {\n classes.push(`text-${colors.value.text}`)\n }\n\n return classes\n })\n\n const colorStyles = computed(() => {\n const styles: CSSProperties = {}\n\n if (colors.value.background && backgroundIsCssColor.value) {\n styles.backgroundColor = colors.value.background\n }\n\n if (colors.value.text && textIsCssColor.value) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n }\n\n return styles\n })\n\n return { colorClasses, colorStyles }\n}\n\nexport function useTextColor (color: Ref<ColorValue>): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref<ColorValue>): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner>({\n get () {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n collapse: Boolean,\n color: String,\n flat: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n floating: Boolean,\n image: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n prominentHeight: {\n type: [Number, String],\n default: 128,\n },\n position: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps(),\n ...makeTagProps({ tag: 'header' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const isExtended = !!slots.extension\n const contentHeight = computed(() => (\n Number(props.prominent ? props.prominentHeight : props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const height = computed(() => (\n contentHeight.value +\n Number(isExtended ? props.extensionHeight : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n height,\n height,\n isActive,\n )\n\n return () => {\n const hasImage = !!(slots.image || props.image)\n\n return (\n <props.tag\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.position === 'bottom',\n 'v-app-bar--collapsed': props.collapse,\n 'v-app-bar--flat': props.flat,\n 'v-app-bar--floating': props.floating,\n 'v-app-bar--is-active': isActive.value,\n 'v-app-bar--prominent': props.prominent,\n 'v-app-bar--absolute': props.absolute,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-app-bar__image\">\n { slots.image\n ? slots.img?.({ src: props.image })\n : (<VImg src={ props.image } cover />)\n }\n </div>\n ) }\n\n <div\n class=\"v-app-bar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-app-bar__prepend\">\n { slots.prepend() }\n </div>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-app-bar__append\">\n { slots.append() }\n </div>\n ) }\n </div>\n\n { isExtended && (\n <div\n class=\"v-app-bar__extension\"\n style={{ height: convertToUnit(props.extensionHeight) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n","// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = ['contained', 'outlined', 'plain', 'text', 'contained-text'] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n textColor?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n textColor: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { textColor, variant, color } = unref(props)\n return {\n text: textColor,\n [variant === 'contained' ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: {\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { consoleWarn, deepEqual, findChildren, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\ninterface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\ninterface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple: boolean\n mandatory: boolean | 'force' | undefined\n max: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: Ref<number[]>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<string | false | undefined>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\ntype GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const id = getUid()\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && (group.selectedClass.value ?? props.selectedClass))\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const children = findChildren(groupVm?.vnode)\n const instances = children\n .slice(1) // First one is group component itself\n .filter(cmp => !!cmp.provides[injectKey as any]) // TODO: Fix in TS 4.4\n const index = instances.indexOf(vm)\n\n if (index > -1) items.splice(index, 0, unwrapped)\n else items.push(unwrapped)\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, isSelected: boolean) {\n const item = items.find(item => item.id === id)\n if (isSelected && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n props.mandatory &&\n index > -1 &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n props.max != null &&\n index < 0 &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && isSelected) internalValue.push(id)\n else if (index >= 0 && !isSelected) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n if (props.mandatory && selected.value.includes(id)) return\n\n selected.value = isSelected ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items.map(({ id }) => id)),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (const item of items) {\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value))) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(item.id)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (const item of items) {\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : item.id)\n }\n }\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps({ selectedClass: 'v-btn--selected' }),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup class=\"v-btn-toggle\">\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n ))\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n","// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useIcon } from '@/composables/icons'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, flattenFragments } from '@/util'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\nimport type { ComputedRef, PropType } from 'vue'\n\nexport const VIcon = defineComponent({\n name: 'VIcon',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: {\n type: [String, Object] as PropType<IconValue>,\n },\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n },\n\n setup (props, { slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return flattenFragments(slot).filter(node =>\n node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--left': props.left,\n 'v-icon--right': props.right,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n aria-hidden=\"true\"\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n","// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\ninterface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeGuard: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeGuard = router?.beforeEach((to, from, next) => {\n setTimeout(() => popped ? cb(next) : next())\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeGuard?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, VBtnToggleSymbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': link.isExactActive?.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ isDisabled.value || link.navigate || group?.toggle }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n left={ !props.stacked }\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n right={ !props.stacked }\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: String,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n return () => (\n <VBtn class=\"v-app-bar-nav-icon\" icon={ props.icon }>\n { slots.default?.() }\n </VBtn>\n )\n },\n})\n","// Styles\nimport './VAppBarTitle.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarTitle = defineComponent({\n name: 'VAppBarTitle',\n\n props: {\n ...makeTagProps({ tag: 'header' }),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag class=\"v-app-bar-title\">\n { slots.default && (\n <div class=\"v-app-bar-title__placeholder\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: String,\n image: String,\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n return () => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--left': props.left,\n 'v-avatar--right': props.right,\n },\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n sizeStyles.value,\n ]}\n >\n { props.image && <VImg src={ props.image } alt=\"\" /> }\n\n { props.icon && !props.image && <VIcon icon={ props.icon } /> }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps, useVariant } from '@/composables/variant'\nimport { useBorder } from '@/composables/border'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const VAlert = defineComponent({\n name: 'VAlert',\n\n props: {\n border: {\n type: [Boolean, String],\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String] as PropType<false | string>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n sticky: Boolean,\n text: String,\n tip: Boolean,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const borderProps = computed(() => ({\n border: props.border === true || props.tip ? 'start' : props.border,\n }))\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = computed(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(borderProps.value)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.borderColor ?? (props.tip ? variantProps.value.color : undefined)\n }))\n\n function onCloseClick (e: MouseEvent) {\n isActive.value = false\n }\n\n return () => {\n const hasBorder = !!borderProps.value.border\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.icon || props.type)\n const hasText = !!(slots.default || props.text || hasClose)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n {\n [`v-alert--border-${borderProps.value.border}`]: hasBorder,\n 'v-alert--prominent': props.prominent,\n 'v-alert--tip': props.tip,\n },\n themeClasses.value,\n borderClasses.value,\n !props.tip && colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n !props.tip && colorStyles.value,\n positionStyles.value,\n ]}\n role=\"alert\"\n >\n { hasBorder && (\n <div\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n ) }\n\n <div class=\"v-alert__underlay\" />\n\n <div class=\"v-alert__content\">\n { hasPrepend && (\n <div class=\"v-alert__avatar\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n class={ props.tip && textColorClasses.value }\n style={ props.tip && textColorStyles.value }\n density={ props.density }\n icon={ icon.value }\n />\n )\n }\n </div>\n ) }\n\n { hasText && (\n <div class=\"v-alert__text\">\n { slots.default\n ? slots.default()\n : props.text\n }\n\n { hasClose && (\n <div class=\"v-alert__close\">\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VBtn\n density={ props.density }\n icon={ props.closeIcon }\n variant=\"text\"\n onClick={ onCloseClick }\n />\n )\n }\n </div>\n ) }\n </div>\n ) }\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, pick } from '@/util'\n\nexport const VBadge = defineComponent({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: {\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: String,\n dot: Boolean,\n floating: Boolean,\n icon: String,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n location: {\n type: String,\n default: 'top-right',\n validator: (value: string) => {\n const [vertical, horizontal] = (value ?? '').split('-')\n\n return (\n ['top', 'bottom'].includes(vertical) &&\n ['left', 'right'].includes(horizontal)\n )\n },\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n },\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n\n const position = computed(() => {\n return props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n })\n\n function calculatePosition (offset?: number | string) {\n return `calc(100% - ${convertToUnit(position.value + parseInt(offset ?? 0, 10))})`\n }\n\n const locationStyles = computed(() => {\n const [vertical, horizontal] = (props.location ?? '').split('-')\n\n // TODO: RTL support\n\n const styles = {\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n top: 'auto',\n }\n\n if (!props.inline) {\n styles[horizontal === 'left' ? 'right' : 'left'] = calculatePosition(props.offsetX)\n styles[vertical === 'top' ? 'bottom' : 'top'] = calculatePosition(props.offsetY)\n }\n\n return styles\n })\n\n return () => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pick(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n ]}\n { ...attrs }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n locationStyles.value,\n textColorStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label=\"locale string here\" // TODO: locale string here\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={props.icon} />\n : <span class=\"v-badge__content\">{content}</span>\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerActions = createSimpleFunctional('v-banner-actions')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VBannerAvatar = defineComponent({\n name: 'VBannerAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-banner-avatar',\n {\n 'v-banner-avatar--start': props.left,\n 'v-banner-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerContent = createSimpleFunctional('v-banner-content')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n","// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, ToRefs } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: boolean\n sm: boolean\n md: boolean\n lg: boolean\n xl: boolean\n xxl: boolean\n smAndUp: boolean\n mdAndUp: boolean\n lgAndUp: boolean\n xlAndUp: boolean\n smAndDown: boolean\n mdAndDown: boolean\n lgAndDown: boolean\n xlAndDown: boolean\n name: DisplayBreakpoint\n height: number\n width: number\n mobile: boolean\n mobileBreakpoint: number | DisplayBreakpoint\n platform: DisplayPlatform\n thresholds: DisplayThresholds\n}\n\nexport const DisplaySymbol: InjectionKey<ToRefs<DisplayInstance>> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth\n ) : 0 // SSR\n}\n\nfunction getClientHeight () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight\n ) : 0 // SSR\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions): ToRefs<DisplayInstance> {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight())\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth())\n\n function onResize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', onResize, { passive: true })\n }\n\n return toRefs(state)\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerAvatar } from './VBannerAvatar'\nimport { VBannerContent } from './VBannerContent'\nimport { VBannerText } from './VBannerText'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useDisplay } from '@/composables/display'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBanner = defineComponent({\n name: 'VBanner',\n\n props: {\n avatar: String,\n color: String,\n icon: String,\n lines: {\n type: String,\n default: 'one',\n },\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { mobile } = useDisplay()\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasAvatar = !!(props.avatar || props.icon || slots.avatar || slots.icon)\n const hasText = !!(props.text || slots.text)\n const hasContent = hasAvatar || hasText || slots.default\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--mobile': mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: true,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n themeClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n textColorStyles.value,\n ]}\n role=\"banner\"\n >\n { hasContent && (\n <VBannerContent>\n { hasAvatar && (\n <VBannerAvatar>\n { slots.avatar\n ? slots.avatar()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.icon }\n image={ props.avatar }\n />\n )\n }\n </VBannerAvatar>\n ) }\n\n { hasText && (\n <VBannerText>\n { slots.text ? slots.text() : props.text }\n </VBannerText>\n ) }\n\n { slots.default?.() }\n </VBannerContent>\n ) }\n\n { slots.actions && (\n <VBannerActions v-slots={{ default: slots.actions }} />\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({\n name: 'bottom-navigation',\n }),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n computed(() => 'bottom'),\n computed(() => isActive.value ? height.value : 0),\n height,\n isActive\n )\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--horizontal': props.mode === 'horizontal',\n 'v-bottom-navigation--is-active': isActive.value,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n 'v-bottom-navigation--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n textColorStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","import type { InjectionKey, Ref } from 'vue'\n\ninterface BreadcrumbsContext {\n color: Ref<string | undefined>\n disabled: Ref<boolean>\n}\n\nexport const VBreadcrumbsSymbol: InjectionKey<BreadcrumbsContext> = Symbol.for('vuetify:breadcrumbs')\n","// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\nexport const VBreadcrumbsItem = defineComponent({\n name: 'VBreadcrumbsItem',\n\n props: {\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n text: String,\n\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n },\n\n setup (props, { slots, attrs }) {\n const breadcrumbs = inject(VBreadcrumbsSymbol)\n\n if (!breadcrumbs) throw new Error('[Vuetify] Could not find v-breadcrumbs provider')\n\n const link = useLink(props, attrs)\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value\n })\n const color = computed(() => {\n if (isActive.value) return props.activeColor ?? breadcrumbs.color.value\n\n return props.color\n })\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled || breadcrumbs.disabled.value,\n 'v-breadcrumbs-item--link': link.isLink.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ isActive.value && link.navigate }\n >\n { props.text }\n\n { slots.default?.() }\n </Tag>\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs-divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\n\nexport type BreadcrumbItem = string | (LinkProps & {\n text: string\n})\n\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n\n props: {\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: String,\n items: {\n type: Array as PropType<BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n },\n\n setup (props, { slots }) {\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const items = computed(() => {\n return props.items.map((item, index, array) => ({\n props: {\n disabled: index >= array.length - 1,\n ...(typeof item === 'string' ? { text: item } : item),\n },\n }))\n })\n\n provide(VBreadcrumbsSymbol, {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n })\n\n return () => (\n <props.tag\n class={[\n 'v-breadcrumbs',\n densityClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n >\n { props.icon && (\n <VIcon icon={ props.icon } left />\n ) }\n\n { items.value.map((item, index) => (\n <>\n <VBreadcrumbsItem\n key={ index }\n { ...item.props }\n >\n { slots.item?.({ ...item, index }) }\n </VBreadcrumbsItem>\n\n { index < props.items.length - 1 && (\n <VBreadcrumbsDivider>\n { slots.divider ? slots.divider({ ...item, index }) : props.divider }\n </VBreadcrumbsDivider>\n ) }\n </>\n )) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardActions = createSimpleFunctional('v-card-actions')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardAvatar = createSimpleFunctional('v-card-avatar')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeader = createSimpleFunctional('v-card-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeaderText = createSimpleFunctional('v-card-header-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardImg = createSimpleFunctional('v-card-img')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n","// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VCardImg>\n { slots.image\n ? slots.image?.({ src: props.image })\n : (<VImg src={ props.image } cover alt=\"\" />)\n }\n </VCardImg>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VCardAvatar>\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VCardTitle>\n ) }\n\n <VCardSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VCardSubtitle>\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VCardAvatar>\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, Prop } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return defineComponent({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return defineComponent({\n name,\n\n props: {\n mode: {\n type: String,\n default: mode,\n } as Prop<'in-out' | 'out-in' | 'default'>,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225,\n easing: deceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n ], {\n duration: 125,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createCssTransition('carousel-transition')\nexport const VCarouselReverseTransition = createCssTransition('carousel-reverse-transition')\nexport const VTabTransition = createCssTransition('tab-transition')\nexport const VTabReverseTransition = createCssTransition('tab-reverse-transition')\nexport const VMenuTransition = createCssTransition('menu-transition')\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, wrapInArray } from '@/util'\nimport { computed } from 'vue'\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n color: String,\n value: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.value))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n return () => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { (messages.value.length > 0 && props.active) && (\n messages.value.map((message, i) => (\n <div class=\"v-messages__message\" key={ `${i}-${messages.value}` }>\n { message }\n </div>\n ))\n ) }\n\n { slots?.default?.() }\n </MaybeTransition>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\n\nexport interface FormProvide {\n register: (\n id: number | string,\n validate: () => Promise<string[]>,\n reset: () => void,\n resetValidation: () => void\n ) => void\n unregister: (id: number | string) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n}\n\ninterface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n lazyValidation: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n})\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errorMessages = ref<FormValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errorMessages.value = []\n model.value = null\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errorMessages.value = results\n model.value = valid\n isValidating.value = false\n\n return { valid, errorMessages: errorMessages.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errorMessages.value = []\n model.value = null\n }\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation) => {\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n })\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { useForm } from '@/composables/form'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const errorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const isValid = computed(() => {\n if (\n props.error ||\n props.errorMessages?.length ||\n errorMessages.value.length\n ) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n errorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n errorMessages.value = []\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n errorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return errorMessages.value\n }\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDisabled: ComputedRef<boolean>\n isFocused: Ref<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const VInputSymbol = 'VInput' as any as InjectionKey<ComputedRef<VInputSlot>>\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: String,\n prependIcon: String,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n persistentHint: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n }>\n}>()({\n name: 'VInput',\n\n props: {\n focused: Boolean,\n\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'click:prepend': (e: MouseEvent) => true,\n 'click:append': (e: MouseEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = toRef(props, 'focused')\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDisabled,\n isFocused,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n provide(VInputSymbol, slotProps)\n\n useRender(() => {\n const hasPrepend = (slots.prepend || props.prependIcon)\n const hasAppend = (slots.append || props.appendIcon)\n const hasHint = !!(slots.hint || props.hint)\n const hasMessages = !!(\n slots.messages ||\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || hasHint)\n )\n const showMessages = hasMessages || (\n hasHint &&\n (props.persistentHint || props.focused)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n onClick={ e => emit('click:prepend', e) }\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon icon={ props.prependIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n onClick={ e => emit('click:append', e) }\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon icon={ props.appendIcon } />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ showMessages }\n color={ isValid.value === false ? 'error' : undefined }\n value={ errorMessages.value.length > 0\n ? errorMessages.value\n : (hasMessages ? props.messages : props.hint)\n }\n v-slots={{ default: slots.messages }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n isValid,\n validate,\n reset,\n resetValidation,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLabel = defineComponent({\n name: 'VLabel',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n text: String,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--disabled': props.disabled,\n 'v-label--error': props.error,\n },\n ]}\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n )\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, provide, toRef } from 'vue'\nimport { getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<string | undefined>\n falseIcon: Ref<string | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: String,\n trueIcon: String,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => {\n return (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots?.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n","// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: String,\n trueIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n textColorClasses.value,\n ]}\n >\n <div class=\"v-selection-control__wrapper\">\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n style={ textColorStyles.value }\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel\n disabled={ props.disabled }\n error={ props.error }\n for={ id.value }\n >\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n falseIcon: {\n type: String,\n default: '$checkboxOff',\n },\n trueIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n\n return (\n <VInput\n class=\"v-checkbox\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <VSelectionControl\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: Boolean) => true,\n 'update:modelValue': (value: Boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { densityClasses } = useDensity(props)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={ [colorStyles.value] }\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && link.navigate }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasPrepend && (\n <div class=\"v-chip__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { slots.default?.() ?? props.text }\n\n { hasAppend && (\n <div class=\"v-chip__append\">\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n )\n }\n </div>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Utilities\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { computed, defineComponent } from 'vue'\n\nexport const VCounter = defineComponent({\n name: 'VCounter',\n\n functional: true,\n\n props: {\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeTransitionProps({\n transition: { component: VSlideYTransition },\n }),\n },\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n return () => {\n return (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class=\"v-counter\"\n >\n { slots.default\n ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value,\n })\n : counter.value\n }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial<Record<keyof DelayProps, number>> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise<boolean> => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport {\n computed,\n effectScope,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n isActive: Ref<boolean>\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n )) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, { activatorEl, activatorRef, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents }\n}\n\nfunction _useActivator (props: ActivatorProps, { activatorEl, activatorEvents }: ReturnType<typeof useActivator>) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n const vm = getCurrentInstance('useActivator')\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n","import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: targetBox.left - viewportMargin,\n right: viewportWidth - targetBox.right - viewportMargin,\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n if (!useTeleport.cache.has(targetElement)) {\n const el = document.createElement('div')\n el.className = 'v-overlay-container'\n targetElement.appendChild(el)\n useTeleport.cache.set(targetElement, el)\n }\n\n return useTeleport.cache.get(targetElement)\n })\n\n return { teleportTarget }\n}\nuseTeleport.cache = new WeakMap<Element, Element>()\n","// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","import { computed, effectScope, onScopeDispose, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, EffectScope, Ref } from 'vue'\n\nconst stack = ref<ComponentInternalInstance[]>([])\n\nexport function useStack (isActive: Ref<boolean>) {\n const vm = getCurrentInstance('useStack')\n let scope: EffectScope | undefined\n watch(isActive, val => {\n if (val) {\n scope = effectScope()\n scope.run(() => {\n stack.value.push(vm)\n\n onScopeDispose(() => {\n const idx = stack.value.indexOf(vm)\n stack.value.splice(idx, 1)\n })\n })\n } else {\n scope?.stop()\n }\n }, { immediate: true })\n\n const isTop = computed(() => {\n return toRaw(stack.value[stack.value.length - 1]) === vm\n })\n\n return {\n isTop,\n }\n}\n","import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makePositionStrategyProps, usePositionStrategies } from './positionStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useStack } from '@/composables/stack'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const VOverlay = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n contained: Boolean,\n contentClass: null,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makePositionStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n ...makeLazyProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { activatorEl, activatorRef, activatorEvents } = useActivator(props, isActive)\n const { dimensionStyles } = useDimension(props)\n const { isTop } = useStack(isActive)\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updatePosition } = usePositionStrategies(props, {\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updatePosition,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && isTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && isTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n useBackButton(next => {\n if (isTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value?.animate([\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={ top.value != null ? `top: ${convertToUnit(top.value)}` : undefined }\n ref={ root }\n {...attrs}\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n />\n <MaybeTransition\n appear\n onAfterLeave={ onAfterLeave }\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n </>\n ))\n\n return {\n animateClick,\n contentEl,\n activatorEl,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { nextTick, ref, watch } from 'vue'\nimport { genericComponent, IN_BROWSER } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VDialog = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VDialog',\n\n inheritAttrs: false,\n\n props: {\n fullscreen: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n modelValue: Boolean,\n\n ...makeDimensionProps({ width: 'auto' }),\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { dimensionStyles } = useDimension(props)\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n // We're the topmost dialog\n // TODO: this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n // TODO: !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n const focusable = [...overlay.value.contentEl.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n watch(isActive, async val => {\n await nextTick()\n if (val) {\n overlay.value!.contentEl?.focus({ preventScroll: true })\n } else {\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n },\n ]}\n style={ dimensionStyles.value }\n transition={ props.transition }\n ref={ overlay }\n aria-role=\"dialog\"\n aria-modal=\"true\"\n activatorProps={{\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VDivider.sass'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Types\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = defineComponent({\n name: 'VDivider',\n\n props: {\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeThemeProps(),\n },\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n return () => {\n return (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n ]}\n style={ dividerStyles.value }\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={`${attrs.role || 'separator'}`}\n />\n )\n }\n },\n})\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport const VExpansionPanels = defineComponent({\n name: 'VExpansionPanels',\n\n props: {\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeTagProps(),\n ...makeGroupProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n ]}\n >\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\n\n// Directives\nimport ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n expandIcon: {\n type: String,\n default: '$expand',\n },\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n color: String,\n})\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n expanded: expansionPanel.isSelected.value,\n disabled: expansionPanel.disabled.value,\n expandIcon: props.expandIcon,\n collapseIcon: props.collapseIcon,\n }))\n\n return () => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ expansionPanel.toggle }\n v-ripple={ props.ripple }\n >\n <div class=\"v-expansion-panel-title__overlay\" />\n { slots.default?.(slotProps.value) }\n { !props.hideActions && (\n <div class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </div>\n ) }\n </button>\n )\n },\n})\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanelText = defineComponent({\n name: 'VExpansionPanelText',\n\n props: {\n ...makeLazyProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n return () => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n v-show={ expansionPanel.isSelected.value }\n class={[\n 'v-expansion-panel-text',\n ]}\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n ) }\n </div>\n </VExpandTransition>\n )\n },\n})\n","// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeLazyProps } from '@/composables/lazy'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanel = defineComponent({\n name: 'VExpansionPanel',\n\n props: {\n title: String,\n text: String,\n bgColor: String,\n\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { roundedClasses } = useRounded(props)\n const { elevationClasses } = useElevation(props)\n\n provide(VExpansionPanelSymbol, groupItem)\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.indexOf(groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.indexOf(groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === -1)\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': groupItem.disabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n aria-expanded={ groupItem.isSelected.value }\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n { slots.default?.() || (\n <>\n <VExpansionPanelTitle\n expandIcon={ props.expandIcon }\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n <VExpansionPanelText eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n </>\n ) }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFieldLabel = defineComponent({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { computed, Transition } from 'vue'\n\nexport const VProgressLinear = defineComponent({\n name: 'VProgressLinear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={{\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n ) }\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n { ['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n )) }\n </div>\n ) }\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n","import { ref } from 'vue'\n\nexport const useFocus = () => {\n const isFocused = ref(false)\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { isFocused, focus, blur }\n}\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, inject, ref, toRef, watch, watchEffect } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getUid,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSymbol } from '@/components/VInput/VInput'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'contained', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: boolean\n isFocused: boolean\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: String,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n color: String,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: String,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n clear: []\n prependInner: [DefaultInputSlot & VInputSlot]\n appendInner: [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n }>\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n active: Boolean,\n disabled: Boolean,\n error: Boolean,\n id: String,\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: Event) => true,\n 'click:prepend-inner': (e: MouseEvent) => true,\n 'click:append-inner': (e: MouseEvent) => true,\n 'click:control': (props: DefaultInputSlot) => true,\n 'update:active': (active: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const isActive = useProxiedModel(props, 'active')\n const { isFocused, focus, blur } = useFocus()\n\n const uid = getUid()\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const id = computed(() => props.id || `input-${uid}`)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n watchEffect(() => isActive.value = isFocused.value)\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000\n const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'))\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n el.animate([\n { transform: 'translate(0)' },\n { transform: `translate(${x}px, ${y}px) scale(${scale})`, ...width },\n ], {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive: isActive.value,\n isFocused: isFocused.value,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', slotProps.value)\n }\n\n const VInput = inject('VInput' as any as typeof VInputSymbol, undefined)\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots.prependInner || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots.appendInner || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--focused': isFocused.value,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n loaderClasses.value,\n backgroundColorClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ VInput ? (!VInput.value.isValid.value ? undefined : props.color) : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n class=\"v-field__prepend-inner\"\n onClick={ e => emit('click:prepend-inner', e) }\n >\n { props.prependInnerIcon && (\n <VIcon icon={ props.prependInnerIcon } />\n ) }\n\n { slots?.prependInner?.(VInput?.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\">\n { ['contained', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...VInput?.value,\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n onFocus: () => (isFocused.value = true),\n onBlur: () => (isFocused.value = false),\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition>\n <div\n class=\"v-field__clearable\"\n onClick={ (e: Event) => emit('click:clear', e) }\n v-show={ props.active }\n >\n { slots.clear\n ? slots.clear()\n : <VIcon icon={ props.clearIcon } />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-field__append-inner\"\n onClick={ e => emit('click:append-inner', e) }\n >\n { slots?.appendInner?.(VInput?.value) }\n\n { props.appendInnerIcon && (\n <VIcon icon={ props.appendInnerIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-field__outline\">\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n return pick(attrs, Object.keys(VField.props))\n}\n","import { computed, inject, provide } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath, wrapInRef } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = wrapInRef(options.current)\n const fallback = wrapInRef(options.fallback)\n const messages = wrapInRef(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, humanReadableFileSize, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VFileInput = defineComponent({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps(),\n\n prependIcon: {\n type: String,\n default: '$file',\n },\n modelValue: {\n type: Array as PropType<File[] | undefined>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value?.length\n })\n\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function click () {\n inputRef.value?.click()\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = []\n\n if (inputRef?.value) {\n inputRef.value.value = ''\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || counterValue.value)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps, _] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class=\"v-file-input\"\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: () => (\n <VField\n active={ isDirty.value }\n prepend-icon={ props.prependIcon }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ click }\n onClick:prepend={ click }\n onClick:clear={ clear }\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n onClick={ e => e.stopPropagation() }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n\n if (!isActive) inputRef.value?.focus()\n } }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { isDirty.value && (\n <div class={ fieldClass }>\n { slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ') }\n </div>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n value={ counterValue.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n click,\n }\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFooter = defineComponent({\n name: 'VFooter',\n\n props: {\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-footer',\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: Event) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (e: Event) {\n e.preventDefault()\n form.validate().then(({ valid }) => {\n if (valid) {\n emit('submit', e)\n }\n })\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class=\"v-form\"\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return form\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record<string, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VCol = defineComponent({\n name: 'VCol',\n\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: classes.value,\n }, slots.default?.())\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\nfunction makeRowProps (prefix: string, def: () => Prop<string, null>) {\n return breakpoints.reduce((props, val) => {\n props[prefix + capitalize(val)] = def()\n return props\n }, {} as Record<string, Prop<string, null>>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VRow = defineComponent({\n name: 'VRow',\n\n props: {\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: ['v-row', classes.value],\n }, slots.default?.())\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VHover = defineComponent({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const hover = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (hover.value = value))\n\n return () => slots.default?.({\n hover: hover.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = defineComponent({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [GroupItemProvide]\n }>\n}>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n","import './VKbd.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n","// Styles\nimport './VLayout.sass'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\nexport const VLayout = defineComponent({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n\n useRender(() => (\n <div class={ layoutClasses.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n","// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = defineComponent({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const styles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n toRef(props, 'size'),\n toRef(props, 'size'),\n toRef(props, 'modelValue')\n )\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n {\n 'v-layout-item--absolute': props.absolute,\n },\n ]}\n style={ styles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VLazy = defineComponent({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n return () => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n onIntersect,\n props.options,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition }>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n )\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VListSubheader = defineComponent({\n name: 'VListSubheader',\n\n props: {\n color: String,\n inset: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n },\n textColorClasses.value,\n ]}\n style={{ textColorStyles }}\n >\n { slots.default && (\n <div class=\"v-list-subheader__text\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const singleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n}\n\nexport const multipleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n}\n","export type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = independentSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n}\n\nexport const leafSelectStrategy = (single = false): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children }) => {\n if (children.has(id)) return selected\n\n if (single) return new Map([[id, value ? 'on' : 'off']])\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v ?? [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: independentSelectStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = classicSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n}\n","export type ActiveStrategyFn = (data: {\n id: string\n value: boolean\n active: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const classicActiveStrategy = (single?: boolean): ActiveStrategyFn => {\n return ({ id, value, active }) => {\n const newActive: Set<string> = single ? new Set() : active\n\n if (value) {\n newActive.add(id)\n } else {\n newActive.delete(id)\n }\n\n return newActive\n }\n}\n","import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, leafSelectStrategy } from './selectStrategies'\nimport { classicActiveStrategy } from './activeStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\nimport type { ActiveStrategyFn } from './activeStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\nexport type ActiveStrategy = 'single' | 'multiple' | ActiveStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | undefined\n activeStrategy: ActiveStrategy | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n active: string[] | undefined\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n 'onUpdate:active': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | null>\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n active: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | null, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n activate: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nconst VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nconst emptyNested: NestedProvide = {\n id: ref(null),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n active: ref(new Set()),\n activate: () => null,\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\n activeStrategy: [String, Function] as Prop<ActiveStrategy>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n active: Array as Prop<string[]>,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n const active = useProxiedModel(props, 'active', props.active, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'single': return classicActiveStrategy(true)\n case 'multiple':\n default:\n return classicActiveStrategy()\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n const nested: NestedProvide = {\n id: ref(null),\n root: {\n opened,\n selected,\n active,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n active.value.delete(id)\n selected.value.delete(id)\n },\n open: (id, value, event) => {\n const newOpened = openStrategy.value({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newSelected && (selected.value = newSelected)\n },\n activate: (id, value, event) => {\n const newActive = activeStrategy.value({\n id,\n value,\n active: new Set(active.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActive && (active.value = newActive)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n activate: (activated: boolean, e: Event) => parent.root.activate(computedId.value, activated, e),\n isActive: computed(() => parent.root.active.value.has(computedId.value)),\n }\n\n parent.root.register(computedId.value, parent.id.value, false)\n\n onBeforeUnmount(() => {\n parent.root.unregister(computedId.value)\n })\n\n return item\n}\n\nexport const useNestedGroup = (props: { value: string }) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const id = computed(() => props.value ?? getUid().toString())\n\n const group = {\n ...parent,\n id,\n open: (open: boolean, e: Event) => parent.root.open(id.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(id.value)),\n isSelected: computed(() => parent.root.selected.value.get(id.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(id.value) === 'indeterminate'),\n }\n\n parent.root.register(id.value, parent.id.value, true)\n\n onBeforeUnmount(() => {\n parent.root.unregister(id.value)\n })\n\n provide(VNestedSymbol, group)\n\n return group\n}\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { useNestedGroup } from '@/composables/nested/nested'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\nimport { createList, useList } from './VList'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListItem } from './VList'\n\nexport type ListGroupHeaderSlot = {\n onClick: (e: Event) => void\n appendIcon: string\n class: string\n}\n\nconst VListGroupItems = defineComponent({\n name: 'VListGroupItems',\n\n props: {\n open: Boolean,\n items: Array as Prop<ListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => {\n return (\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={props.open}>\n <VListChildren items={props.items} v-slots={slots} />\n </div>\n </VExpandTransition>\n )\n }\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends ListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n header: [ListGroupHeaderSlot]\n item: [T]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n value: null,\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n expandIcon: {\n type: String,\n default: '$expand',\n },\n items: Array as Prop<ListItem[]>,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedGroup(props)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const headerProps = computed(() => ({\n onClick,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.header?.(headerProps.value) }\n <VListGroupItems items={props.items} open={isOpen.value} v-slots={slots} />\n </props.tag>\n )\n }\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAvatar = defineComponent({\n name: 'VListItemAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-avatar',\n {\n 'v-list-item-avatar--start': props.left,\n 'v-list-item-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemHeader = createSimpleFunctional('v-list-item-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted } from 'vue'\nimport { genericComponent } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { useList } from './VList'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: []\n subtitle: []\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n subtitle: String,\n title: String,\n value: null,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { activate, isActive: isNestedActive, select, isSelected, root, parent } = useNestedItem(id)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isNestedActive.value\n })\n const activeColor = props.activeColor ?? props.color\n const variantProps = computed(() => ({\n color: isActive.value ? activeColor : props.color,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n activate,\n select,\n isSelected: isSelected.value,\n }))\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (link.isClickable.value || props.link || props.value != null)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n link.navigate?.(e)\n props.value != null && activate(!isNestedActive.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n slots.prepend\n ? slots.prepend(slotProps.value)\n : (\n <VListItemAvatar left>\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n slots.append\n ? slots.append(slotProps.value)\n : (\n <VListItemAvatar right>\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupHeaderSlot } from './VListGroup'\nimport type { ListItem } from './VList'\n\nexport const VListChildren = genericComponent<new <T extends ListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n externalHeader: [ListGroupHeaderSlot]\n item: [T]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<ListItem[]>,\n },\n\n setup (props, { slots }) {\n return () => slots.default?.() ?? props.items?.map(({ children, ...item }) => {\n const { value, ...rest } = item\n return children ? (\n <VListGroup\n value={value}\n items={children}\n >\n {{\n ...slots,\n header: headerProps => slots.externalHeader\n ? slots.externalHeader({ ...rest, ...headerProps })\n : <VListItem {...rest} {...headerProps} />,\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(item) : <VListItem {...item} v-slots={slots} />\n )\n })\n },\n})\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListSubheader } from './VListSubheader'\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\n\n// Utilities\nimport { inject, provide, ref, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupHeaderSlot } from './VListGroup'\n\nexport type ListItem = {\n children?: ListItem[]\n value?: string\n}\n\n// Depth\nexport const DepthKey: InjectionKey<Ref<number>> = Symbol.for('vuetify:depth')\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref<boolean>\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport const createList = () => {\n const parent = inject(ListKey, { hasPrepend: ref(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: ref(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport const useList = () => {\n return inject(ListKey, null)\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupHeaderSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n color: String,\n disabled: Boolean,\n lines: {\n type: String,\n default: 'one',\n },\n nav: Boolean,\n subheader: {\n type: [Boolean, String],\n default: false,\n },\n items: Array as Prop<ListItem[]>,\n\n ...makeNestedProps({\n selectStrategy: 'leaf' as const,\n openStrategy: 'multiple' as const,\n activeStrategy: 'single' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'update:active': (val: string[]) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select, activate } = useNested(props)\n createList()\n\n useRender(() => {\n const hasHeader = typeof props.subheader === 'string' || slots.subheader\n\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--subheader': props.subheader,\n 'v-list--subheader-sticky': props.subheader === 'sticky',\n [`v-list--${props.lines}-line`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n { hasHeader && (\n slots.subheader\n ? slots.subheader()\n : <VListSubheader>{ props.subheader }</VListSubheader>\n ) }\n\n <VListChildren items={ props.items }>\n {{\n default: slots.default,\n item: slots.item,\n externalHeader: slots.header,\n }}\n </VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n activate,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemMedia = defineComponent({\n name: 'VListItemMedia',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.left,\n 'v-list-item-media--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import './VLocaleProvider.sass'\n\n// Composables\nimport { provideLocale } from '@/composables/locale'\nimport { provideRtl } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLocaleProvider = defineComponent({\n name: 'VLocaleProvider',\n\n props: {\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n },\n\n setup (props, { slots }) {\n const localeInstance = provideLocale(props)\n const { rtlClasses } = provideRtl(props, localeInstance)\n\n return () => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Utilities\nimport { computed, onMounted, ref } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = ref(false)\n\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n\n const ssrBootStyles = computed(() => !isBooted.value ? ({\n transition: 'none !important',\n }) : undefined)\n\n return { ssrBootStyles }\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VMain = defineComponent({\n name: 'VMain',\n\n props: makeTagProps({ tag: 'main' }),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n return () => (\n <props.tag\n class=\"v-main\"\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n ]}\n >\n <div class=\"v-main__wrap\">\n { slots.default?.() }\n </div>\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { VDialogTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VMenu = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VMenu',\n\n inheritAttrs: false,\n\n props: {\n // TODO\n // closeOnClick: {\n // type: Boolean,\n // default: true,\n // },\n // closeOnContentClick: {\n // type: Boolean,\n // default: true,\n // },\n disableKeys: Boolean,\n modelValue: Boolean,\n id: String,\n\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-menu',\n ]}\n transition={ props.transition }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n scrim={ false }\n activatorProps={{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { useTouch } from './touch'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n position: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const isHovering = ref(false)\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(mobile, val => !props.permanent && (isActive.value = !val))\n }\n\n watch(props, val => {\n if (val.permanent) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'position'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n layoutSize,\n width,\n computed(() => isActive.value || isDragging.value),\n computed(() => isDragging.value)\n )\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.position === 'bottom',\n 'v-navigation-drawer--end': props.position === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.position === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n dragStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n\n})\n","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n borderBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n contentBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n const contentBoxSize = ref<ResizeObserverSize>()\n const borderBoxSize = ref<ResizeObserverSize>()\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n contentBoxSize.value = entries[0].contentBoxSize[0]\n borderBoxSize.value = entries[0].borderBoxSize[0]\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n contentBoxSize.value = undefined\n borderBoxSize.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n contentBoxSize: readonly(contentBoxSize),\n borderBoxSize: readonly(borderBoxSize),\n }\n}\n","// Imports\nimport { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n","import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 3) {\n return [Math.min(Math.max(start.value, page.value), start.value + length.value)]\n }\n\n if (props.length <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const middle = Math.ceil(totalVisible.value / 2)\n const left = middle\n const right = length.value - middle\n\n if (page.value < left) {\n return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value]\n } else if (page.value > right) {\n const rangeLength = totalVisible.value - 2\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 4)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VBtn: {\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n","// Styles\nimport './VParallax.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\n\n// Utilities\nimport { onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { defineComponent, getScrollParent } from '@/util'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const VParallax = defineComponent({\n name: 'VParallax',\n\n props: {\n scale: {\n type: [Number, String],\n default: 1.3,\n },\n },\n\n setup (props, { attrs, slots }) {\n const root = ref<VImg>()\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watchEffect(() => {\n intersectionRef.value = root.value?.$el\n })\n\n let scrollParent: Element\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document as any : scrollParent\n scrollParent.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n } else {\n scrollParent.removeEventListener('scroll', onScroll)\n }\n })\n\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll)\n })\n\n let frame = -1\n function onScroll () {\n if (!isIntersecting.value) return\n\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n const el: HTMLElement | null = (root.value?.$el as Element).querySelector('.v-img__img')\n if (!el) return\n\n const rect = intersectionRef.value!.getBoundingClientRect()\n const scrollHeight = scrollParent.clientHeight ?? window.innerHeight\n const scrollPos = scrollParent.scrollTop ?? window.scrollY\n const top = rect.top + scrollPos\n const progress = (scrollPos + scrollHeight - top) / (rect.height + scrollHeight)\n const translate = floor((rect.height * +props.scale - rect.height) * (-progress + 0.5))\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${props.scale})`)\n })\n }\n\n return () => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n ]}\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n )\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VProgressCircular = defineComponent({\n name: 'VProgressCircular',\n\n props: {\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\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\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\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) : intersectionRef.value\n ? intersectionRef.value.getBoundingClientRect().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\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-circular',\n {\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 },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <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 >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\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 />\n\n <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 />\n </svg>\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VSelectionControl } from '@/components/VSelectionControl'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VRadio = defineComponent({\n name: 'VRadio',\n\n props: {\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n class=\"v-radio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n","// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroup } from '@/components/VSelectionControlGroup'\nimport { filterControlProps, makeSelectionControlProps } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VRadioGroup = defineComponent({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: {\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class=\"v-radio-group\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <>\n { label && (\n <VLabel\n disabled={ isDisabled.value }\n error={ isValid.value === false }\n for={ id.value }\n >\n { label }\n </VLabel>\n ) }\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n","/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n label: Ref<string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n showTickLabels: Ref<boolean | undefined>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: true,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n showTickLabels: {\n type: Boolean,\n default: false,\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<string, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n label: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n const activeThumb = getActiveThumb(e)\n\n if (!activeThumb) return\n\n activeThumb.focus()\n mousePressed.value = true\n\n if (activeThumb.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumb, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n label: toRef(props, 'label'),\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTickLabels: toRef(props, 'showTickLabels'),\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n","// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n label,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-label={ label.value }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ onKeydown }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n","// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'inset-block-end' : 'margin-inline-start'\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{\n [directionProperty]: (tick.position > 0 && tick.position < 100) && convertToUnit(tick.position, '%'),\n }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from '../VSlider/VSliderThumb'\nimport { VSliderTrack } from '../VSlider/VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { getOffset, makeSliderProps, useSlider } from '../VSlider/slider'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, defineComponent, ref } from 'vue'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VRangeSlider = defineComponent({\n name: 'VRangeSlider',\n\n props: {\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots, attrs }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const focusedThumb = ref<VSliderThumb | null>()\n const inputRef = ref<VInput>()\n\n let canSwitch = false\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n canSwitch = true\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value?.$el : stopThumbRef.value?.$el\n }\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = focusedThumb.value === startThumbRef.value ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n if (focusedThumb.value === startThumbRef.value) {\n model.value = [Math.min(newValue, model.value[1]), model.value[1]]\n } else {\n model.value = [model.value[0], Math.max(model.value[0], newValue)]\n }\n if (canSwitch && model.value[0] === model.value[1]) {\n focusedThumb.value = newValue > model.value[0] ? stopThumbRef.value : startThumbRef.value\n }\n canSwitch = false\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]>\n\n const { isFocused, focus, blur } = useFocus()\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n focused={ isFocused && focusedThumb.value === startThumbRef.value }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n focusedThumb.value = startThumbRef.value\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) stopThumbRef.value?.$el.focus()\n } }\n onBlur={ () => {\n blur()\n focusedThumb.value = null\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n focused={ isFocused && focusedThumb.value === stopThumbRef.value }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n focusedThumb.value = stopThumbRef.value\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n focusedThumb.value = null\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { createRange, defineComponent, getUid } from '@/util'\n\n// Types\nimport type { Variant } from '@/composables/variant'\nimport type { Prop } from 'vue'\n\nexport const VRating = defineComponent({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: Number,\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n const focusIndex = ref(-1)\n const firstRef = ref<HTMLElement>()\n let isClicking = false\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = rating.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onFocus () {\n if (value === 0 && rating.value === 0) {\n firstRef.value?.focus()\n } else {\n focusIndex.value = value\n }\n }\n\n function onBlur () {\n if (!isClicking) focusIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = rating.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onFocus,\n onBlur,\n onClick,\n }\n }))\n\n function onMousedown () {\n isClicking = true\n }\n\n function onMouseup () {\n isClicking = false\n }\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onFocus, onBlur, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n tag: 'span',\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMousedown={ onMousedown }\n onMouseup={ onMouseup }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value,\n props: btnProps,\n value,\n index,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ rating.value === value }\n onClick={ onClick }\n onFocus={ onFocus }\n onBlur={ onBlur }\n ref={ index === 0 ? firstRef : undefined }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n return () => {\n const hasLabels = !!props.itemLabels?.length\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n !hasLabels ? undefined\n : slots['item-label'] ? slots['item-label']({ value, index: i, label: props.itemLabels?.[i] })\n : props.itemLabels?.[i] ? <span>{ props.itemLabels[i] }</span>\n : <span>&nbsp;</span>\n }\n <div\n class={[\n 'v-rating__item',\n {\n 'v-rating__item--focused': Math.ceil(focusIndex.value) === value,\n },\n ]}\n >\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n ) }\n </div>\n </div>\n )) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSheet = defineComponent({\n name: 'VSheet',\n\n props: {\n color: {\n type: String,\n default: 'surface',\n },\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus()\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, ref } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n\n ...makeLoaderProps(),\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n","// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n lightsOut: Boolean,\n window: Boolean,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n {\n 'v-system-bar': true,\n 'v-system-bar--lights-out': props.lightsOut,\n 'v-system-bar--window': props.window,\n },\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDensityProps, useDensity } from '@/composables/density'\n\nexport const VTable = defineComponent({\n name: 'VTable',\n\n props: {\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n return () => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n },\n themeClasses.value,\n densityClasses.value,\n ]}\n >\n { slots.top?.() }\n\n { slots.default && (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default?.() }\n </table>\n </div>\n ) }\n\n { slots.bottom?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const controlHeight = ref('auto')\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = ''\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ clear }\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n return (\n <>\n { props.prefix && (\n <span class=\"v-textarea__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-textarea__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n }\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","import type { Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nexport function useForwardRef<T extends {}, U extends Ref<{} | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnwrapRef<UnionToIntersection<U[number]>> {\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.get(ref.value, key)\n }\n }\n },\n getOwnPropertyDescriptor (target, key) {\n return Reflect.getOwnPropertyDescriptor(target, key) ?? (\n refs.find(ref => ref.value && Reflect.getOwnPropertyDescriptor(ref.value, key))\n )\n },\n }) as any\n}\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useForwardRef } from '@/composables/forwardRef'\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = defineComponent({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value || dirtyTypes.includes(props.type)\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n },\n ]}\n focused={ isFocused.value }\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n ref={ vFieldRef }\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ e => {\n e.stopPropagation()\n\n model.value = ''\n }}\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <input\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({\n focus,\n blur,\n }, vInputRef, vFieldRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VThemeProvider = defineComponent({\n name: 'VThemeProvider',\n\n props: {\n withBackground: Boolean,\n\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n\n return () => {\n if (!props.withBackground) return slots.default?.()\n\n return (\n <props.tag class={['v-theme-provider', themeClasses.value]}>\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n","import type { InjectionKey, Ref } from 'vue'\nimport type { Density } from '@/composables/density'\n\nexport interface TimelineInstance {\n density: Ref<Density>\n lineColor: Ref<string>\n}\n\nexport const VTimelineSymbol: InjectionKey<TimelineInstance> = Symbol.for('vuetify:timeline')\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { defineComponent, inject, toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: String,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n","// Styles\nimport './VTimeline.sass'\n\n// Components\nimport { VTimelineItem } from './VTimelineItem'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'before' | 'after' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n default: 'start',\n validator: (v: any) => ['none', 'start', 'end', 'both'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n 'v-timeline--truncate-line-end': props.truncateLine === 'end' || props.truncateLine === 'both',\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset || undefined),\n }}\n >\n { (props.truncateLine === 'none' || props.truncateLine === 'end') && (\n <VTimelineItem hideDot />\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/positionStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const anchor = computed(() => {\n return props.anchor.split(' ').length > 1\n ? props.anchor\n : props.anchor + ' center' as StrategyProps['anchor']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.anchor.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n anchor={ anchor.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VValidation = defineComponent({\n name: 'VValidation',\n\n props: {\n ...makeValidationProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n","// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n","import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n","// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n end?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n move?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ ...event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ ...event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ ...event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n","// Utilities\nimport { h } from 'vue'\n\n// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n","import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n const directive = directives[key]\n\n app.directive(key, directive)\n }\n\n for (const key in components) {\n const component = components[key]\n\n app.component(key, component)\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n","import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","parseFloat","indexOf","w","offsetWidth","h","offsetHeight","createMessage","message","vm","parent","_isVue","$parent","$options","$_alreadyWarned","includes","push","generateComponentTrace","consoleWarn","newMessage","console","warn","consoleError","error","classifyRE","classify","str","replace","c","toUpperCase","formatComponentName","includeFile","$root","options","cid","name","_componentTag","file","__file","match","tree","currentRecursiveSequence","length","last","map","i","repeat","Array","isArray","join","getNestedValue","obj","path","fallback","undefined","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","createRange","start","from","v","k","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","filterInputAttrs","attrs","wrapInArray","clamp","value","min","max","Math","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","out","sourceProperty","targetProperty","getUid","_uid","flattenFragments","nodes","node","type","Fragment","children","flat","toKebabCase","toLowerCase","wrapInRef","isRef","ref","findChildren","vnode","child","filter","component","subTree","CircularBuffer","size","val","values","concat","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","matrix","round","toXYZ","r","g","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","transformedY","lab","Ln","isCssColor","color","colorToInt","substring","char","parseInt","TypeError","intToHex","hexColor","toString","colorToRGB","int","lighten","amount","CIELAB","sRGB","darken","getLuma","DefaultsSymbol","Symbol","for","createDefaults","useDefaults","defaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","computed","scoped","unref","reset","root","properties","prev","len","Infinity","provide","propIsDefined","prop","hasOwnProperty","defineComponent","_setup","setup","ctx","getCurrentInstance","_props","shallowReactive","toRaw","watchEffect","globalDefaults","global","componentDefaults","newVal","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","capitalize","camelize","default","slots","class","attachedRoot","getRootNode","parentNode","document","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","getScrollParent","hasScrollbar","parentElement","scrollingElement","getScrollParents","elements","nodeType","Node","ELEMENT_NODE","window","overflowY","scrollHeight","clientHeight","IS_NODE","process","IN_BROWSER","env","DEBUG","NODE_ENV","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_FOCUS_VISIBLE","CSS","supports","isFixedPosition","position","offsetParent","propsFactory","reduce","isObjectDefinition","definition","useRender","render","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","ThemeSymbol","makeThemeProps","theme","defaultThemeOptions","defaultTheme","variations","colors","themes","light","dark","surface","primary","secondary","info","success","warning","variables","parseThemeOptions","isDisabled","entries","createTheme","app","head","_context","provides","usehead","parsedOptions","styleEl","current","computedThemes","original","genColorVariations","onColor","colorVal","blackContrast","whiteContrast","variation","fn","styles","lines","themeName","createCssClass","genCssVariables","Set","flatMap","lightOverlay","darkOverlay","selector","content","line","addHeadObjs","id","updateDOM","watch","updateStyles","deep","immediate","genStyleElement","innerHTML","createElement","appendChild","setTheme","getTheme","themeClasses","provideTheme","newTheme","useTheme","VuetifyLayoutKey","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","priority","absolute","useLayout","layout","useLayoutItem","layoutSize","elementSize","active","disableTransitions","register","onBeforeUnmount","unregister","generateLayers","registered","positions","layoutSizes","activeItems","previousLayer","layers","layer","ids","l","get","createLayout","Map","priorities","transitions","computedOverlaps","overlap","item","topPosition","bottomPosition","topAmount","bottomAmount","set","sortedEntries","sort","transitionsEnabled","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","transition","items","index","getLayoutItem","find","findIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","marginLeft","marginRight","marginTop","marginBottom","zIndex","layoutClasses","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","next","delimiter","calendar","moreEvents","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","first","rating","rtl","af","ar","bg","ca","ckb","cs","de","en","es","et","fa","fi","fr","hr","hu","he","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","RtlSymbol","createRtl","localeScope","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","provideRtl","newScope","useRtl","VApp","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","VResponsive","contentClass","additional","mounted","binding","modifiers","handler","observer","IntersectionObserver","_observe","instance","$","uid","isIntersecting","entry","quiet","init","once","unmounted","observe","unobserve","Intersect","makeTransitionProps","validator","MaybeTransition","Transition","customProps","mergeProps","VImg","directives","intersect","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","emits","emit","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","onBeforeMount","nextTick","complete","onError","pollForSize","onLoad","getSrc","lazyImg","Image","img","timeout","poll","imgHeight","imgWidth","setTimeout","endsWith","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","makeBorderProps","border","useBorder","borderClasses","classes","allowedDensities","makeDensityProps","density","useDensity","densityClasses","makeElevationProps","elevation","useElevation","elevationClasses","makeRoundedProps","rounded","useRounded","roundedClasses","makeTagProps","useColor","backgroundIsCssColor","textIsCssColor","colorClasses","colorStyles","backgroundColor","caretColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","useProxiedModel","defaultValue","transformIn","transformOut","internal","newValue","VAppBar","collapse","extensionHeight","floating","modelValue","prominent","prominentHeight","toRef","isExtended","extension","contentHeight","isActive","layoutStyles","hasImage","prepend","append","allowedVariants","genOverlays","isClickable","makeVariantProps","textColor","variant","useVariant","variantClasses","VBtnGroup","divided","VBtn","makeGroupProps","multiple","mandatory","selectedClass","disabled","makeGroupItemProps","useGroupItem","injectKey","required","group","description","isSelected","toggle","select","useGroup","isUnmounted","reactive","selected","getIds","arr","getValues","groupVm","unwrapped","instances","cmp","splice","forceMandatoryValue","onMounted","internalValue","step","offset","currentId","currentIndex","newIndex","newItem","VBtnToggleSymbol","VBtnToggle","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","IconSymbol","makeIconProps","icon","VComponentIcon","VSvgIcon","inheritAttrs","VLigatureIcon","VClassIcon","defaultSets","svg","useIcon","icons","iconData","iconAlias","aliases","iconSetName","sets","setName","iconName","iconSet","defaultSet","VIcon","slotIcon","slot","fontSize","positionValues","makePositionProps","fixed","usePosition","targets","positionClasses","positionStyles","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","onClick","onClickOnce","link","route","makeRouterProps","useBackButton","cb","router","popped","removeGuard","addEventListener","onPopstate","beforeEach","removeEventListener","e","replaced","rippleStop","DELAY_RIPPLE","webkitTransform","opacity","isTouchEvent","isKeyboardEvent","calculate","localX","localY","touches","clientX","clientY","radius","scale","_ripple","circle","clientWidth","center","sqrt","centerX","centerY","ripples","show","enabled","container","animation","className","dataset","previousPosition","classList","add","activated","performance","now","remove","hide","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleHide","clearTimeout","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","passive","removeListeners","updated","oldValue","Ripple","prependIcon","appendIcon","block","stacked","ripple","isElevated","Tag","isExactActive","navigate","VAppBarNavIcon","VAppBarTitle","VAvatar","allowedTypes","VAlert","borderColor","closable","closeIcon","closeLabel","sticky","tip","borderProps","variantProps","onCloseClick","hasBorder","hasClose","hasPrepend","hasText","VBadge","bordered","dot","inline","label","location","vertical","horizontal","offsetX","offsetY","calculatePosition","locationStyles","badgeAttrs","VBannerActions","VBannerAvatar","VBannerContent","VBannerText","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","documentElement","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","platform","onResize","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","toRefs","useDisplay","display","VBanner","avatar","hasAvatar","hasContent","actions","VBottomNavigation","bgColor","grow","mode","VBreadcrumbsSymbol","VBreadcrumbsItem","activeClass","activeColor","breadcrumbs","VBreadcrumbsDivider","VBreadcrumbs","divider","array","VCardActions","VCardAvatar","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","VCard","appendAvatar","hover","prependAvatar","subtitle","title","hasTitle","hasSubtitle","hasHeaderText","hasAppend","hasHeader","media","createCssTransition","origin","hideOnLeave","leaveAbsolute","TransitionGroup","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","onEnter","initialStyle","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","VDialogTransition","pointerEvents","done","Promise","resolve","getDimensions","animate","duration","easing","finished","then","removeProperty","onBeforeLeave","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","VMessages","messages","FormKey","makeFormProps","fastFail","lazyValidation","readonly","createForm","model","isReadonly","isValidating","errorMessages","validate","results","valid","itemErrorMessages","forEach","resetValidation","useForm","makeValidationProps","maxErrors","rules","useValidation","form","isPristine","isValid","validationClasses","rule","result","VInputSymbol","makeVInputProps","hideDetails","hint","persistentHint","direction","VInput","focused","isFocused","slotProps","hasHint","hasMessages","hasDetails","showMessages","details","filterInputProps","VLabel","VSelectionControlGroupSymbol","VSelectionControlGroup","falseIcon","trueIcon","makeSelectionControlProps","trueValue","falseValue","valueComparator","Function","useSelectionControl","isMultiple","currentValue","VSelectionControl","isFocusVisible","input","onFocus","matches","onBlur","filterControlProps","VCheckbox","indeterminate","indeterminateIcon","onChange","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","VChip","draggable","filterIcon","pill","VCode","VCounter","functional","VDefaultsProvider","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","makeActivatorProps","activator","activatorProps","openOnClick","openOnHover","openOnFocus","useActivator","activatorEl","isHovered","availableEvents","click","stopPropagation","mouseenter","mouseleave","focus","blur","activatorEvents","events","activatorRef","scope","effectScope","run","_useActivator","flush","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","onScopeDispose","removeAttribute","setAttribute","querySelector","parseAnchor","anchor","side","align","oppositeAnchor","physicalAnchor","elementToViewport","point","getOffset","anchorToPoint","box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","usePositionStrategies","data","contentStyles","updatePosition","activatorFixed","assign","preferredAnchor","preferredOrigin","doesOverlap","configuredMaxHeight","configuredMinWidth","ResizeObserver","contentEl","disconnect","scrollParent","viewportWidth","viewportHeight","contentBox","scrollables","querySelectorAll","scrollLeft","scrollTop","initialMaxWidth","initialMaxHeight","scrollTo","viewportMargin","freeSpace","fitsY","canFill","floor","targetPoint","contentPoint","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","onScroll","bindScroll","scrollElements","contains","scrollbarWidth","scrollableParent","slow","update","time","useTeleport","teleportTarget","_target","targetElement","body","cache","has","WeakMap","makeLazyProps","useLazy","stack","useStack","idx","isTop","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","callback","ClickOutside","onMousedown","Scrim","VOverlay","attach","contained","noClickAnimation","persistent","scrim","scrimColor","onClickOutside","animateClick","onKeydown","toHandlers","VDialog","fullscreen","retainFocus","scrollable","overlay","onFocusin","before","relatedTarget","after","focusable","hasAttribute","firstElement","lastElement","preventScroll","VDivider","inset","thickness","dividerStyles","role","VExpansionPanelSymbol","VExpansionPanels","variantClass","makeVExpansionPanelTitleProps","expandIcon","collapseIcon","hideActions","VExpansionPanelTitle","expansionPanel","expanded","VExpansionPanelText","VExpansionPanel","groupItem","isBeforeSelected","isAfterSelected","VFieldLabel","useIntersectionObserver","intersectionRef","VProgressLinear","bgOpacity","bufferValue","clickable","reverse","stream","striped","roundedBar","progress","barColorClasses","barColorStyles","normalizedBuffer","normalizedValue","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","loading","useLoader","loaderClasses","LoaderSlot","useFocus","makeVFieldProps","appendInnerIcon","clearable","clearIcon","persistentClear","prependInnerIcon","singleLine","VField","labelRef","floatingLabelRef","controlRef","hasLabel","targetEl","targetRect","targetWidth","transitionDuration","visibility","activeElement","preventDefault","isOutlined","prependInner","hasClear","clear","appendInner","loader","filterFieldProps","LocaleAdapterSymbol","VuetifyLocaleSymbol","provideLocale","adapter","createScope","useLocale","getScope","isLocaleAdapter","createLocaleAdapter","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","params","createTranslateFunction","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","n","rootScope","defaultLocale","locale","VFileInput","chips","counterSizeString","counterString","showSize","files","internalDirty","isDirty","totalBytes","totalBytesReadable","fileNames","counterValue","fileCount","inputRef","hasCounter","rootAttrs","fieldProps","_","fieldClass","selection","VFooter","VForm","submit","formRef","onReset","onSubmit","VContainer","fluid","breakpoints","breakpointProps","offsetProps","orderProps","propMap","col","order","breakpointClass","breakpoint","VCol","cols","alignSelf","hasColClasses","ALIGNMENT","makeRowProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","VRow","dense","noGutters","VSpacer","VHover","onMouseenter","onMouseleave","VItemGroupSymbol","VItemGroup","VItem","VKbd","VLayout","VLayoutItem","VLazy","onIntersect","VListSubheader","singleOpenStrategy","opened","parents","newOpened","multipleOpenStrategy","independentSelectStrategy","in","leafSelectStrategy","single","strategy","classicSelectStrategy","childrenIds","everySelected","noneSelected","classicActiveStrategy","newActive","VNestedSymbol","emptyNested","open","activate","selectedValues","makeNestedProps","selectStrategy","openStrategy","activeStrategy","useNested","nested","parentId","isGroup","list","event","newSelected","useNestedItem","computedId","useNestedGroup","isOpen","isIndeterminate","VListGroupItems","createList","VListGroup","useList","headerProps","header","VListItemAvatar","VListItemHeader","VListItemSubtitle","VListItemTitle","VListItem","isNestedActive","updateHasPrepend","VListChildren","externalHeader","ListKey","VList","nav","subheader","VListImg","VListItemMedia","VLocaleProvider","localeInstance","useSsrBoot","ssrBootStyles","VMain","VMenu","disableKeys","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","changedTouches","identifier","timeStamp","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","cancelable","thresholdMet","velocity","vx","vy","dragStyles","VNavigationDrawer","disableResizeWatcher","expandOnHover","permanent","rail","railWidth","temporary","isHovering","rootEl","useHydration","appContext","_container","__vue_app__","VNoSsr","useResizeObserver","resizeRef","contentRect","contentBoxSize","borderBoxSize","useRefs","refs","onBeforeUpdate","updateRef","VPagination","totalVisible","firstIcon","prevIcon","nextIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","maxButtons","firstItem","totalWidth","itemWidth","range","middle","ceil","rangeLength","rangeStart","setValue","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","VParallax","scrollPos","scrollY","translate","VProgressCircular","rotate","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","diameter","strokeWidth","strokeDashOffset","VRadio","VRadioGroup","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","showTickLabels","ticks","tickSize","trackColor","trackFillColor","trackSize","useSlider","handleSliderMouseUp","handleMouseMove","getActiveThumb","horizontalDirection","hd","decimals","trimmedStep","trim","numTicks","mousePressed","startOffset","trackContainerRef","roundValue","clamped","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","thumbMoved","handleStop","handleStart","activeThumb","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","steps","increase","multiplier","shiftKey","ctrlKey","positionPercentage","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","VRangeSlider","startThumbRef","stopThumbRef","focusedThumb","canSwitch","stopOffset","trackStop","VRating","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","increments","hoverIndex","focusIndex","firstRef","isClicking","itemState","isFilled","isFullIcon","eventState","onMouseup","VRatingItem","showStar","btnProps","VSheet","VSlider","thumbContainerRef","VSwitch","loaderColor","control","VSystemBar","lightsOut","VTable","fixedHeader","fixedFooter","VTextarea","autoGrow","autofocus","persistentPlaceholder","persistentCounter","noResize","rows","maxRows","suffix","controlHeight","maxlength","sizerRef","calculateInputHeight","padding","lineHeight","showPlaceholder","useForwardRef","Proxy","Reflect","getOwnPropertyDescriptor","dirtyTypes","VTextField","vInputRef","vFieldRef","VThemeProvider","withBackground","VTimelineSymbol","VTimelineDivider","hideDot","lineColor","iconColor","fillDot","dotColor","timeline","lineColorStyles","lineColorClasses","VTimelineItem","hideOpposite","dotSize","dotRef","opposite","VTimeline","lineInset","lineThickness","truncateLine","sideClass","VTooltip","args","VValidation","validation","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","eventName","Touch","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","mdi","createVuetify","install","components","mixin","$vuetify","call","_createVuetify","version"],"mappings":"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"}
1
+ {"version":3,"file":"vuetify.esm.js","sources":["../src/util/box.ts","../src/util/animation.ts","../src/util/console.ts","../src/util/helpers.ts","../src/util/color/transformSRGB.ts","../src/util/color/transformCIELAB.ts","../src/util/colorUtils.ts","../src/composables/defaults.ts","../src/util/defineComponent.tsx","../src/util/createSimpleFunctional.ts","../src/util/dom.ts","../src/util/easing.ts","../src/util/getCurrentInstance.ts","../src/util/getScrollParent.ts","../src/util/globals.ts","../src/util/isFixedPosition.ts","../src/util/propsFactory.ts","../src/util/useRender.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/rtl.ts","../src/components/VApp/VApp.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/directives/intersect/index.ts","../src/composables/transition.ts","../src/components/VImg/VImg.tsx","../src/composables/border.ts","../src/composables/density.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/composables/tag.ts","../src/composables/color.ts","../src/composables/proxiedModel.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/composables/size.ts","../src/composables/icons.tsx","../src/components/VIcon/VIcon.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VAlert/VAlert.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.ts","../src/components/VBanner/VBannerAvatar.tsx","../src/components/VBanner/VBannerContent.ts","../src/components/VBanner/VBannerText.ts","../src/composables/display.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/shared.ts","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.ts","../src/components/VCard/VCardAvatar.ts","../src/components/VCard/VCardHeader.ts","../src/components/VCard/VCardHeaderText.ts","../src/components/VCard/VCardImg.ts","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardText.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCard.tsx","../src/components/transitions/createTransition.ts","../src/components/transitions/expand-transition.ts","../src/components/transitions/dialog-transition.tsx","../src/components/transitions/index.ts","../src/components/VMessages/VMessages.tsx","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VChip/VChip.tsx","../src/components/VCode/index.ts","../src/components/VCounter/VCounter.tsx","../src/components/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/delay.ts","../src/components/VOverlay/useActivator.tsx","../src/components/VOverlay/util/anchor.ts","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/positionStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/composables/teleport.ts","../src/composables/lazy.ts","../src/composables/stack.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../src/components/VField/VFieldLabel.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/focus.ts","../src/components/VField/VField.tsx","../src/composables/locale.ts","../src/components/VFileInput/VFileInput.tsx","../src/components/VFooter/VFooter.tsx","../src/components/VForm/VForm.tsx","../src/components/VGrid/VContainer.tsx","../src/components/VGrid/VCol.ts","../src/components/VGrid/VRow.ts","../src/components/VGrid/VSpacer.ts","../src/components/VHover/VHover.tsx","../src/components/VItemGroup/VItemGroup.tsx","../src/components/VItemGroup/VItem.tsx","../src/components/VKbd/index.ts","../src/components/VLayout/VLayout.tsx","../src/components/VLayout/VLayoutItem.tsx","../src/components/VLazy/VLazy.tsx","../src/components/VList/list.ts","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/activeStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemAvatar.tsx","../src/components/VList/VListItemHeader.ts","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListSubheader.tsx","../src/components/VList/VListChildren.tsx","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemMedia.tsx","../src/components/VLocaleProvider/VLocaleProvider.tsx","../src/composables/ssrBoot.ts","../src/components/VMain/VMain.tsx","../src/components/VMenu/VMenu.tsx","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/composables/hydration.ts","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/resizeObserver.ts","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VProgressCircular/VProgressCircular.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSheet/VSheet.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/composables/forwardRef.ts","../src/components/VTextField/VTextField.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/shared.ts","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VTimeline/VTimeline.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VValidation/VValidation.tsx","../src/directives/touch/index.ts","../src/components/VWindow/VWindow.tsx","../src/components/VWindow/VWindowItem.tsx","../src/directives/mutate/index.ts","../src/directives/resize/index.ts","../src/directives/scroll/index.ts","../src/iconsets/mdi.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n","import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n","/* eslint-disable no-console */\n// import Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n // if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match?.[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n // eslint-disable-next-line sonarjs/no-nested-template-literals\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","// Utilities\nimport { camelize, Fragment, isRef, ref } from 'vue'\n\n// Types\nimport type { ComponentInternalInstance, ComponentPublicInstance, Ref, Slots, VNode, VNodeChild } from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\ntype SelectItemKey = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\ntype DataTableCompareFunction<T = any> = (a: T, b: T) => number\nexport function sortItems<T extends any, K extends keyof T> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<K, DataTableCompareFunction<T[K]>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters?.[sortKey as K]) {\n const customResult = customSorters[sortKey as K](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n out: Record<string, any> = {},\n) {\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function getUid () {\n return getUid._uid++\n}\ngetUid._uid = 0\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport type ExtractMaybeRef<P> = P extends MaybeRef<infer T> ? T : P;\n\nexport function wrapInRef <T> (x: T) {\n return (isRef(x) ? x : ref(x)) as Ref<ExtractMaybeRef<T>>\n}\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n","// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties, properties.prev)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n","// Utils\nimport {\n defineComponent as _defineComponent,\n getCurrentInstance,\n shallowReactive,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { toKebabCase } from '@/util/helpers'\nimport { useDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[options.name!]\n\n for (const prop of Object.keys(props)) {\n let newVal\n if (propIsDefined(vm.vnode, prop)) {\n newVal = props[prop]\n } else {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n return options._setup(_props, ctx)\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\nexport type SlotsToProps<T extends Record<string, Slot>> = {\n $children: () => (T['default'] | VNodeChild | { [K in keyof T]?: T[K] })\n 'v-slots': new () => { [K in keyof T]?: T[K] | false }\n}/* & { // TODO: individual slots are never converted from the constructor type\n [K in keyof T as `v-slot:${K & string}`]?: new () => (T[K] | false)\n} */\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $slots?: Record<string, Slot>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n (I extends Record<'$props', any> ? Omit<PropsOptions, keyof I['$props']> : PropsOptions) & (\n I extends Record<'$slots', any>\n ? SlotsToProps<I['$slots']>\n : {}\n ),\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n","import { camelize, capitalize, h } from 'vue'\nimport { defineComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return defineComponent({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n },\n\n setup (props, { slots }) {\n return () => h(props.tag, {\n class: klass,\n }, slots.default?.())\n },\n })\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)'\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)' // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)' // Leaving\n","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n return toKebabCase(getCurrentInstance(name).type?.name)\n}\n","export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: HTMLElement) {\n const elements: HTMLElement[] = []\n while (el) {\n if (hasScrollbar(el)) elements.push(el)\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n","export const IS_NODE = typeof process !== 'undefined'\nexport const IN_BROWSER = typeof window !== 'undefined'\nexport const IS_DEBUG = IS_NODE && process.env.DEBUG === 'true'\nexport const IS_PROD = IS_NODE && process.env.NODE_ENV === 'production'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && CSS.supports('selector(:focus-visible)')\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source?: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = T extends null\n ? any // null & true would fail to infer\n : T extends { type: null | true }\n ? any // As TS issue https://github.com/Microsoft/TypeScript/issues/14829 // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n : T extends ObjectConstructor | { type: ObjectConstructor }\n ? Record<string, any>\n : T extends BooleanConstructor | { type: BooleanConstructor }\n ? boolean\n : T extends Prop<infer V, infer D> ? (unknown extends V ? D : V) : T\n","// Utilities\nimport { getCurrentInstance } from './getCurrentInstance'\n\n// Types\nimport type { VNode } from 'vue'\n\nexport function useRender (render: () => VNode): void {\n const vm = getCurrentInstance('useRender') as any\n vm.render = render\n}\n","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue'\nimport {\n colorToInt,\n colorToRGB,\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n intToHex,\n lighten,\n mergeDeep,\n propsFactory,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { HeadClient } from '@vueuse/head'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\ninterface BaseColors {\n background: string\n surface: string\n primary: string\n secondary: string\n success: string\n warning: string\n error: string\n info: string\n}\n\ninterface OnColors {\n 'on-background': string\n 'on-surface': string\n 'on-primary': string\n 'on-secondary': string\n 'on-success': string\n 'on-warning': string\n 'on-error': string\n 'on-info': string\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeOptions {\n isDisabled: boolean\n defaultTheme: string\n variations: VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\nexport type ThemeOptions = false | {\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\n\nexport interface ThemeInstance {\n isDisabled: boolean\n themes: Ref<Record<string, InternalThemeDefinition>>\n current: Ref<string>\n themeClasses: Ref<string | undefined>\n setTheme: (key: string, theme: InternalThemeDefinition) => void\n getTheme: (key: string) => InternalThemeDefinition\n styles: Ref<string>\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: ThemeOptions = {\n defaultTheme: 'light',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#6200EE',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#C2C2C2',\n },\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-variant': '#BDBDBD',\n 'on-surface-variant': '#424242',\n primary: '#BB86FC',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC5',\n 'secondary-darken-1': '#03DAC5',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#B7B7B7',\n },\n },\n },\n}\n\nconst parseThemeOptions = (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions => {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes = Object.entries(options.themes ?? {}).reduce((obj, [key, theme]) => {\n const defaultTheme = theme.dark ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light\n obj[key] = mergeDeep(defaultTheme, theme)\n return obj\n }, {} as Record<string, ThemeDefinition>)\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (app: App, options?: ThemeOptions): ThemeInstance {\n const head = app._context.provides.usehead as HeadClient | undefined\n const parsedOptions = parseThemeOptions(options)\n const styleEl = ref<HTMLStyleElement>()\n const current = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const variations = ref(parsedOptions.variations)\n\n const computedThemes = computed(() => {\n return Object.entries(themes.value).reduce((obj, [name, original]) => {\n const theme: InternalThemeDefinition = {\n ...original,\n colors: {\n ...original.colors,\n ...(parsedOptions.variations.colors ?? []).reduce((obj, color) => {\n return { ...obj, ...genColorVariations(color, original.colors[color]!) }\n }, {}),\n },\n }\n\n for (const color of Object.keys(theme.colors)) {\n if (/on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = colorToInt(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(0, colorVal))\n const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n }\n\n obj[name] = theme\n\n return obj\n }, {} as Record<string, InternalThemeDefinition>)\n })\n\n function genColorVariations (name: string, color: string) {\n const obj: Record<string, string> = {}\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations.value[variation], 1)) {\n obj[`${name}-${variation}-${amount}`] = intToHex(fn(colorToInt(color), amount))\n }\n }\n\n return obj\n }\n\n const styles = computed(() => {\n const lines = []\n\n for (const themeName of Object.keys(computedThemes.value)) {\n const variables = computedThemes.value[themeName].variables\n\n lines.push(...createCssClass(`.v-theme--${themeName}`, [\n ...genCssVariables(themeName),\n ...Object.keys(variables).map(key => {\n const value = variables[key]\n const color = typeof value === 'string' && value.startsWith('#') ? colorToRGB(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n\n return `--v-${key}: ${rgb ?? value}`\n }),\n ]))\n }\n\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)))\n for (const key of colors) {\n if (/on-[a-z]/.test(key)) {\n lines.push(...createCssClass(`.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]))\n } else {\n lines.push(\n ...createCssClass(`.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ]),\n ...createCssClass(`.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]),\n ...createCssClass(`.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]),\n )\n }\n }\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function genCssVariables (name: string) {\n const theme = computedThemes.value[name]\n\n if (!theme) throw new Error(`Could not find theme ${name}`)\n\n const lightOverlay = theme.dark ? 2 : 1\n const darkOverlay = theme.dark ? 1 : 2\n\n const variables: string[] = []\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = colorToRGB(value!)\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`)\n }\n }\n\n return variables\n }\n\n function createCssClass (selector: string, content: string[]) {\n return [\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n ]\n }\n\n if (head) {\n head.addHeadObjs(computed(() => ({\n style: [{\n children: styles.value,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n }],\n })))\n\n if (IN_BROWSER) {\n watchEffect(() => head.updateDOM())\n }\n } else {\n watch(themes, updateStyles, { deep: true, immediate: true })\n\n function updateStyles () {\n if (parsedOptions.isDisabled) return\n\n genStyleElement()\n\n if (styleEl.value) styleEl.value.innerHTML = styles.value\n }\n\n function genStyleElement () {\n if (typeof document === 'undefined' || styleEl.value) return\n\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n\n styleEl.value = el\n document.head.appendChild(styleEl.value)\n }\n }\n\n return {\n isDisabled: parsedOptions.isDisabled,\n themes: computedThemes,\n setTheme: (key: string, theme: InternalThemeDefinition) => themes.value[key] = theme,\n getTheme: (key: string) => computedThemes.value[key],\n current,\n themeClasses: computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${current.value}`),\n styles,\n }\n}\n\nexport function provideTheme (props: { theme?: string }) {\n getCurrentInstance('provideTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n const current = computed<string>(() => {\n return props.theme ?? theme?.current.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${current.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n","// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { convertToUnit, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => Ref<Record<string, unknown>>\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (\n name: string | undefined,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>,\n) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = name ?? `layout-item-${getUid()}`\n\n const styles = layout.register(id, priority, position, layoutSize, elementSize, active, disableTransitions)\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return styles\n}\n\nconst generateLayers = (\n layout: string[],\n registered: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n const ids = !layout.length ? registered : layout.map(l => l.split(':')[0]).filter(l => registered.includes(l))\n for (const id of ids) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\n// TODO: Remove undefined from layout and overlaps when vue typing for required: true prop is fixed\nexport function createLayout (props: { layout?: string[], overlaps?: string[], fullHeight?: boolean }) {\n const registered = ref<string[]>([])\n const positions = new Map<string, Ref<Position>>()\n const layoutSizes = new Map<string, Ref<number | string>>()\n const priorities = new Map<string, Ref<number>>()\n const activeItems = new Map<string, Ref<boolean>>()\n const transitions = new Map<string, Ref<boolean>>()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const entries = [...priorities.entries()]\n const sortedEntries = entries.sort(([, a], [, b]) => a.value - b.value).map(([id]) => id)\n return generateLayers(sortedEntries, registered.value, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(transitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n provide(VuetifyLayoutKey, {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && transitions.set(id, disableTransitions)\n registered.value.push(id)\n\n return computed(() => {\n const index = items.value.findIndex(i => i.id === id)\n\n if (index < 0) throw new Error(`Layout item \"${id}\" is missing from layout prop`)\n\n const item = items.value[index]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n return {\n [position.value]: 0,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n zIndex: layers.value.length - index,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n transitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n return {\n layoutClasses,\n getLayoutItem,\n items,\n }\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Page {0}, Current Page',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n","export { default as af } from './af'\nexport { default as ar } from './ar'\nexport { default as bg } from './bg'\nexport { default as ca } from './ca'\nexport { default as ckb } from './ckb'\nexport { default as cs } from './cs'\nexport { default as da } from './da'\nexport { default as de } from './de'\nexport { default as el } from './el'\nexport { default as en } from './en'\nexport { default as es } from './es'\nexport { default as et } from './et'\nexport { default as fa } from './fa'\nexport { default as fi } from './fi'\nexport { default as fr } from './fr'\nexport { default as hr } from './hr'\nexport { default as hu } from './hu'\nexport { default as he } from './he'\nexport { default as id } from './id'\nexport { default as it } from './it'\nexport { default as ja } from './ja'\nexport { default as ko } from './ko'\nexport { default as lv } from './lv'\nexport { default as lt } from './lt'\nexport { default as nl } from './nl'\nexport { default as no } from './no'\nexport { default as pl } from './pl'\nexport { default as pt } from './pt'\nexport { default as ro } from './ro'\nexport { default as ru } from './ru'\nexport { default as sk } from './sk'\nexport { default as sl } from './sl'\nexport { default as srCyrl } from './sr-Cyrl'\nexport { default as srLatn } from './sr-Latn'\nexport { default as sv } from './sv'\nexport { default as th } from './th'\nexport { default as tr } from './tr'\nexport { default as az } from './az'\nexport { default as uk } from './uk'\nexport { default as vi } from './vi'\nexport { default as zhHans } from './zh-Hans'\nexport { default as zhHant } from './zh-Hant'\n\nexport const rtl = {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: false,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { useRtl } from '@/composables/rtl'\n\nexport const VApp = defineComponent({\n name: 'VApp',\n\n props: {\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n ]}\n data-app=\"true\"\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = defineComponent({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { aspectStyles } = useAspectStyles(props)\n\n return () => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n { slots.additional?.() }\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n )\n },\n})\n","// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | false | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n","import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n h,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n defineComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport const VImg = defineComponent({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: ['loadstart', 'load', 'error'],\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = computed(() => {\n if (!normalisedSrc.value.src || state.value === 'idle') return\n\n const img = h('img', {\n class: ['v-img__img', containClasses.value],\n src: normalisedSrc.value.src,\n srcset: normalisedSrc.value.srcset,\n sizes: props.sizes,\n ref: image,\n onLoad,\n onError,\n })\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n })\n\n const __preloadImage = computed(() => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt=\"\"\n />\n )}\n </MaybeTransition>\n ))\n\n const __placeholder = computed(() => {\n if (!slots.placeholder) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __error = computed(() => {\n if (!slots.error) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __gradient = computed(() => {\n if (!props.gradient) return\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n })\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n v-slots={{\n additional: () => [__image.value, __preloadImage.value, __gradient.value, __placeholder.value, __error.value],\n default: slots.default,\n }}\n />\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\nexport type Density = typeof allowedDensities[number]\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref<string[]>\n}\n\nexport function useElevation (props: ElevationProps | Ref<number | string | undefined>): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n","// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nexport interface TagProps {\n tag: string\n}\n\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div',\n },\n}, 'tag')\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { isCssColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref<string[]>\n backgroundColorStyles: Ref<CSSProperties>\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n const backgroundIsCssColor = computed(() => isCssColor(colors.value.background))\n const textIsCssColor = computed(() => isCssColor(colors.value.text))\n\n const colorClasses = computed(() => {\n const classes: string[] = []\n\n if (colors.value.background && !backgroundIsCssColor.value) {\n classes.push(`bg-${colors.value.background}`)\n }\n\n if (colors.value.text && !textIsCssColor.value) {\n classes.push(`text-${colors.value.text}`)\n }\n\n return classes\n })\n\n const colorStyles = computed(() => {\n const styles: CSSProperties = {}\n\n if (colors.value.background && backgroundIsCssColor.value) {\n styles.backgroundColor = colors.value.background\n }\n\n if (colors.value.text && textIsCssColor.value) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n }\n\n return styles\n })\n\n return { colorClasses, colorStyles }\n}\n\nexport function useTextColor (color: Ref<ColorValue>): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref<ColorValue>): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner>({\n get () {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n collapse: Boolean,\n color: String,\n flat: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n floating: Boolean,\n image: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n prominentHeight: {\n type: [Number, String],\n default: 128,\n },\n position: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps(),\n ...makeTagProps({ tag: 'header' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const isExtended = !!slots.extension\n const contentHeight = computed(() => (\n Number(props.prominent ? props.prominentHeight : props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const height = computed(() => (\n contentHeight.value +\n Number(isExtended ? props.extensionHeight : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n height,\n height,\n isActive,\n )\n\n return () => {\n const hasImage = !!(slots.image || props.image)\n\n return (\n <props.tag\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.position === 'bottom',\n 'v-app-bar--collapsed': props.collapse,\n 'v-app-bar--flat': props.flat,\n 'v-app-bar--floating': props.floating,\n 'v-app-bar--is-active': isActive.value,\n 'v-app-bar--prominent': props.prominent,\n 'v-app-bar--absolute': props.absolute,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-app-bar__image\">\n { slots.image\n ? slots.img?.({ src: props.image })\n : (<VImg src={ props.image } cover />)\n }\n </div>\n ) }\n\n <div\n class=\"v-app-bar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-app-bar__prepend\">\n { slots.prepend() }\n </div>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-app-bar__append\">\n { slots.append() }\n </div>\n ) }\n </div>\n\n { isExtended && (\n <div\n class=\"v-app-bar__extension\"\n style={{ height: convertToUnit(props.extensionHeight) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n","// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = ['contained', 'outlined', 'plain', 'text', 'contained-text'] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n textColor?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n textColor: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { textColor, variant, color } = unref(props)\n return {\n text: textColor,\n [variant === 'contained' ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: {\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { consoleWarn, deepEqual, findChildren, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\ninterface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\ninterface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<string | false | undefined>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\ntype GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const id = getUid()\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && (group.selectedClass.value ?? props.selectedClass))\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const children = findChildren(groupVm?.vnode)\n const instances = children\n .slice(1) // First one is group component itself\n .filter(cmp => !!cmp.provides[injectKey as any]) // TODO: Fix in TS 4.4\n const index = instances.indexOf(vm)\n\n if (index > -1) items.splice(index, 0, unwrapped)\n else items.push(unwrapped)\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, isSelected: boolean) {\n const item = items.find(item => item.id === id)\n if (isSelected && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n props.mandatory &&\n index > -1 &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n props.max != null &&\n index < 0 &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && isSelected) internalValue.push(id)\n else if (index >= 0 && !isSelected) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n if (props.mandatory && selected.value.includes(id)) return\n\n selected.value = isSelected ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (const item of items) {\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value))) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(item.id)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (const item of items) {\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : item.id)\n }\n }\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps({ selectedClass: 'v-btn--selected' }),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup class=\"v-btn-toggle\">\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n ))\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n","// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useIcon } from '@/composables/icons'\nimport { useTextColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, flattenFragments } from '@/util'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\nimport type { ComputedRef, PropType } from 'vue'\n\nexport const VIcon = defineComponent({\n name: 'VIcon',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: {\n type: [String, Object] as PropType<IconValue>,\n },\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return flattenFragments(slot).filter(node =>\n node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n sizeClasses.value,\n textColorClasses.value,\n themeClasses.value,\n {\n 'v-icon--left': props.left,\n 'v-icon--right': props.right,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n aria-hidden=\"true\"\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n","// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\ninterface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeGuard: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeGuard = router?.beforeEach((to, from, next) => {\n setTimeout(() => popped ? cb(next) : next())\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeGuard?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, VBtnToggleSymbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': link.isExactActive?.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ isDisabled.value || link.navigate || group?.toggle }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n left={ !props.stacked }\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n right={ !props.stacked }\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: String,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n return () => (\n <VBtn class=\"v-app-bar-nav-icon\" icon={ props.icon }>\n { slots.default?.() }\n </VBtn>\n )\n },\n})\n","// Styles\nimport './VAppBarTitle.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarTitle = defineComponent({\n name: 'VAppBarTitle',\n\n props: {\n ...makeTagProps({ tag: 'header' }),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag class=\"v-app-bar-title\">\n { slots.default && (\n <div class=\"v-app-bar-title__placeholder\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: String,\n image: String,\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n return () => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--left': props.left,\n 'v-avatar--right': props.right,\n },\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n sizeStyles.value,\n ]}\n >\n { props.image && <VImg src={ props.image } alt=\"\" /> }\n\n { props.icon && !props.image && <VIcon icon={ props.icon } /> }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps, useVariant } from '@/composables/variant'\nimport { useBorder } from '@/composables/border'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const VAlert = defineComponent({\n name: 'VAlert',\n\n props: {\n border: {\n type: [Boolean, String],\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String] as PropType<false | string>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n sticky: Boolean,\n text: String,\n tip: Boolean,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const borderProps = computed(() => ({\n border: props.border === true || props.tip ? 'start' : props.border,\n }))\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = computed(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(borderProps.value)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.borderColor ?? (props.tip ? variantProps.value.color : undefined)\n }))\n\n function onCloseClick (e: MouseEvent) {\n isActive.value = false\n }\n\n return () => {\n const hasBorder = !!borderProps.value.border\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.icon || props.type)\n const hasText = !!(slots.default || props.text || hasClose)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n {\n [`v-alert--border-${borderProps.value.border}`]: hasBorder,\n 'v-alert--prominent': props.prominent,\n 'v-alert--tip': props.tip,\n },\n themeClasses.value,\n borderClasses.value,\n !props.tip && colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n !props.tip && colorStyles.value,\n positionStyles.value,\n ]}\n role=\"alert\"\n >\n { hasBorder && (\n <div\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n ) }\n\n <div class=\"v-alert__underlay\" />\n\n <div class=\"v-alert__content\">\n { hasPrepend && (\n <div class=\"v-alert__avatar\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n class={ props.tip && textColorClasses.value }\n style={ props.tip && textColorStyles.value }\n density={ props.density }\n icon={ icon.value }\n />\n )\n }\n </div>\n ) }\n\n { hasText && (\n <div class=\"v-alert__text\">\n { slots.default\n ? slots.default()\n : props.text\n }\n\n { hasClose && (\n <div class=\"v-alert__close\">\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VBtn\n density={ props.density }\n icon={ props.closeIcon }\n variant=\"text\"\n onClick={ onCloseClick }\n />\n )\n }\n </div>\n ) }\n </div>\n ) }\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, pick } from '@/util'\n\nexport const VBadge = defineComponent({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: {\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: String,\n dot: Boolean,\n floating: Boolean,\n icon: String,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n location: {\n type: String,\n default: 'top-right',\n validator: (value: string) => {\n const [vertical, horizontal] = (value ?? '').split('-')\n\n return (\n ['top', 'bottom'].includes(vertical) &&\n ['left', 'right'].includes(horizontal)\n )\n },\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n },\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n\n const position = computed(() => {\n return props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n })\n\n function calculatePosition (offset?: number | string) {\n return `calc(100% - ${convertToUnit(position.value + parseInt(offset ?? 0, 10))})`\n }\n\n const locationStyles = computed(() => {\n const [vertical, horizontal] = (props.location ?? '').split('-')\n\n // TODO: RTL support\n\n const styles = {\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n top: 'auto',\n }\n\n if (!props.inline) {\n styles[horizontal === 'left' ? 'right' : 'left'] = calculatePosition(props.offsetX)\n styles[vertical === 'top' ? 'bottom' : 'top'] = calculatePosition(props.offsetY)\n }\n\n return styles\n })\n\n return () => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pick(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n ]}\n { ...attrs }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n locationStyles.value,\n textColorStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label=\"locale string here\" // TODO: locale string here\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={props.icon} />\n : <span class=\"v-badge__content\">{content}</span>\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerActions = createSimpleFunctional('v-banner-actions')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VBannerAvatar = defineComponent({\n name: 'VBannerAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-banner-avatar',\n {\n 'v-banner-avatar--start': props.left,\n 'v-banner-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerContent = createSimpleFunctional('v-banner-content')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n","// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, ToRefs } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: boolean\n sm: boolean\n md: boolean\n lg: boolean\n xl: boolean\n xxl: boolean\n smAndUp: boolean\n mdAndUp: boolean\n lgAndUp: boolean\n xlAndUp: boolean\n smAndDown: boolean\n mdAndDown: boolean\n lgAndDown: boolean\n xlAndDown: boolean\n name: DisplayBreakpoint\n height: number\n width: number\n mobile: boolean\n mobileBreakpoint: number | DisplayBreakpoint\n platform: DisplayPlatform\n thresholds: DisplayThresholds\n}\n\nexport const DisplaySymbol: InjectionKey<ToRefs<DisplayInstance>> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth\n ) : 0 // SSR\n}\n\nfunction getClientHeight () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight\n ) : 0 // SSR\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions): ToRefs<DisplayInstance> {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight())\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth())\n\n function onResize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', onResize, { passive: true })\n }\n\n return toRefs(state)\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerAvatar } from './VBannerAvatar'\nimport { VBannerContent } from './VBannerContent'\nimport { VBannerText } from './VBannerText'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useDisplay } from '@/composables/display'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBanner = defineComponent({\n name: 'VBanner',\n\n props: {\n avatar: String,\n color: String,\n icon: String,\n lines: {\n type: String,\n default: 'one',\n },\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { mobile } = useDisplay()\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasAvatar = !!(props.avatar || props.icon || slots.avatar || slots.icon)\n const hasText = !!(props.text || slots.text)\n const hasContent = hasAvatar || hasText || slots.default\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--mobile': mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: true,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n themeClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n textColorStyles.value,\n ]}\n role=\"banner\"\n >\n { hasContent && (\n <VBannerContent>\n { hasAvatar && (\n <VBannerAvatar>\n { slots.avatar\n ? slots.avatar()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.icon }\n image={ props.avatar }\n />\n )\n }\n </VBannerAvatar>\n ) }\n\n { hasText && (\n <VBannerText>\n { slots.text ? slots.text() : props.text }\n </VBannerText>\n ) }\n\n { slots.default?.() }\n </VBannerContent>\n ) }\n\n { slots.actions && (\n <VBannerActions v-slots={{ default: slots.actions }} />\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({\n name: 'bottom-navigation',\n }),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n computed(() => 'bottom'),\n computed(() => isActive.value ? height.value : 0),\n height,\n isActive\n )\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--horizontal': props.mode === 'horizontal',\n 'v-bottom-navigation--is-active': isActive.value,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n 'v-bottom-navigation--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n textColorStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","import type { InjectionKey, Ref } from 'vue'\n\ninterface BreadcrumbsContext {\n color: Ref<string | undefined>\n disabled: Ref<boolean>\n}\n\nexport const VBreadcrumbsSymbol: InjectionKey<BreadcrumbsContext> = Symbol.for('vuetify:breadcrumbs')\n","// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\nexport const VBreadcrumbsItem = defineComponent({\n name: 'VBreadcrumbsItem',\n\n props: {\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n text: String,\n\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n },\n\n setup (props, { slots, attrs }) {\n const breadcrumbs = inject(VBreadcrumbsSymbol)\n\n if (!breadcrumbs) throw new Error('[Vuetify] Could not find v-breadcrumbs provider')\n\n const link = useLink(props, attrs)\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value\n })\n const color = computed(() => {\n if (isActive.value) return props.activeColor ?? breadcrumbs.color.value\n\n return props.color\n })\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled || breadcrumbs.disabled.value,\n 'v-breadcrumbs-item--link': link.isLink.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ isActive.value && link.navigate }\n >\n { props.text }\n\n { slots.default?.() }\n </Tag>\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs-divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\n\nexport type BreadcrumbItem = string | (LinkProps & {\n text: string\n})\n\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n\n props: {\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: String,\n items: {\n type: Array as PropType<BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n },\n\n setup (props, { slots }) {\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const items = computed(() => {\n return props.items.map((item, index, array) => ({\n props: {\n disabled: index >= array.length - 1,\n ...(typeof item === 'string' ? { text: item } : item),\n },\n }))\n })\n\n provide(VBreadcrumbsSymbol, {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n })\n\n return () => (\n <props.tag\n class={[\n 'v-breadcrumbs',\n densityClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n >\n { props.icon && (\n <VIcon icon={ props.icon } left />\n ) }\n\n { items.value.map((item, index) => (\n <>\n <VBreadcrumbsItem\n key={ index }\n { ...item.props }\n >\n { slots.item?.({ ...item, index }) }\n </VBreadcrumbsItem>\n\n { index < props.items.length - 1 && (\n <VBreadcrumbsDivider>\n { slots.divider ? slots.divider({ ...item, index }) : props.divider }\n </VBreadcrumbsDivider>\n ) }\n </>\n )) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardActions = createSimpleFunctional('v-card-actions')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardAvatar = createSimpleFunctional('v-card-avatar')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeader = createSimpleFunctional('v-card-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeaderText = createSimpleFunctional('v-card-header-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardImg = createSimpleFunctional('v-card-img')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n","// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VCardImg>\n { slots.image\n ? slots.image?.({ src: props.image })\n : (<VImg src={ props.image } cover alt=\"\" />)\n }\n </VCardImg>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VCardAvatar>\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VCardTitle>\n ) }\n\n <VCardSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VCardSubtitle>\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VCardAvatar>\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, Prop } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return defineComponent({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return defineComponent({\n name,\n\n props: {\n mode: {\n type: String,\n default: mode,\n } as Prop<'in-out' | 'out-in' | 'default'>,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225,\n easing: deceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n ], {\n duration: 125,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createCssTransition('carousel-transition')\nexport const VCarouselReverseTransition = createCssTransition('carousel-reverse-transition')\nexport const VTabTransition = createCssTransition('tab-transition')\nexport const VTabReverseTransition = createCssTransition('tab-reverse-transition')\nexport const VMenuTransition = createCssTransition('menu-transition')\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, wrapInArray } from '@/util'\nimport { computed } from 'vue'\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n color: String,\n value: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.value))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n return () => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { (messages.value.length > 0 && props.active) && (\n messages.value.map((message, i) => (\n <div class=\"v-messages__message\" key={ `${i}-${messages.value}` }>\n { message }\n </div>\n ))\n ) }\n\n { slots?.default?.() }\n </MaybeTransition>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\n\nexport interface FormProvide {\n register: (\n id: number | string,\n validate: () => Promise<string[]>,\n reset: () => void,\n resetValidation: () => void\n ) => void\n unregister: (id: number | string) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n}\n\ninterface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n lazyValidation: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n})\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errorMessages = ref<FormValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errorMessages.value = []\n model.value = null\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errorMessages.value = results\n model.value = valid\n isValidating.value = false\n\n return { valid, errorMessages: errorMessages.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errorMessages.value = []\n model.value = null\n }\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation) => {\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n })\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { useForm } from '@/composables/form'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const errorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const isValid = computed(() => {\n if (\n props.error ||\n props.errorMessages?.length ||\n errorMessages.value.length\n ) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n errorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n errorMessages.value = []\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n errorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return errorMessages.value\n }\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDisabled: ComputedRef<boolean>\n isFocused: Ref<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const VInputSymbol = 'VInput' as any as InjectionKey<ComputedRef<VInputSlot>>\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: String,\n prependIcon: String,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n persistentHint: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n }>\n}>()({\n name: 'VInput',\n\n props: {\n focused: Boolean,\n\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'click:prepend': (e: MouseEvent) => true,\n 'click:append': (e: MouseEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = toRef(props, 'focused')\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDisabled,\n isFocused,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n provide(VInputSymbol, slotProps)\n\n useRender(() => {\n const hasPrepend = (slots.prepend || props.prependIcon)\n const hasAppend = (slots.append || props.appendIcon)\n const hasHint = !!(slots.hint || props.hint)\n const hasMessages = !!(\n slots.messages ||\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || hasHint)\n )\n const showMessages = hasMessages || (\n hasHint &&\n (props.persistentHint || props.focused)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n onClick={ e => emit('click:prepend', e) }\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon icon={ props.prependIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n onClick={ e => emit('click:append', e) }\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon icon={ props.appendIcon } />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ showMessages }\n color={ isValid.value === false ? 'error' : undefined }\n value={ errorMessages.value.length > 0\n ? errorMessages.value\n : (hasMessages ? props.messages : props.hint)\n }\n v-slots={{ default: slots.messages }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n isValid,\n validate,\n reset,\n resetValidation,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLabel = defineComponent({\n name: 'VLabel',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n text: String,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--disabled': props.disabled,\n 'v-label--error': props.error,\n },\n ]}\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n )\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, provide, toRef } from 'vue'\nimport { getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<string | undefined>\n falseIcon: Ref<string | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: String,\n trueIcon: String,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => {\n return (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots?.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n","// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: String,\n trueIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n textColorClasses.value,\n ]}\n >\n <div class=\"v-selection-control__wrapper\">\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n style={ textColorStyles.value }\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel\n disabled={ props.disabled }\n error={ props.error }\n for={ id.value }\n >\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n falseIcon: {\n type: String,\n default: '$checkboxOff',\n },\n trueIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n\n return (\n <VInput\n class=\"v-checkbox\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <VSelectionControl\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: Boolean) => true,\n 'update:modelValue': (value: Boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { densityClasses } = useDensity(props)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={ [colorStyles.value] }\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && link.navigate }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasPrepend && (\n <div class=\"v-chip__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { slots.default?.() ?? props.text }\n\n { hasAppend && (\n <div class=\"v-chip__append\">\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n )\n }\n </div>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Utilities\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { computed, defineComponent } from 'vue'\n\nexport const VCounter = defineComponent({\n name: 'VCounter',\n\n functional: true,\n\n props: {\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeTransitionProps({\n transition: { component: VSlideYTransition },\n }),\n },\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n return () => {\n return (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class=\"v-counter\"\n >\n { slots.default\n ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value,\n })\n : counter.value\n }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial<Record<keyof DelayProps, number>> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise<boolean> => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport {\n computed,\n effectScope,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n isActive: Ref<boolean>\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n )) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, { activatorEl, activatorRef, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents }\n}\n\nfunction _useActivator (props: ActivatorProps, { activatorEl, activatorEvents }: ReturnType<typeof useActivator>) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n const vm = getCurrentInstance('useActivator')\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n","import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: targetBox.left - viewportMargin,\n right: viewportWidth - targetBox.right - viewportMargin,\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n if (!useTeleport.cache.has(targetElement)) {\n const el = document.createElement('div')\n el.className = 'v-overlay-container'\n targetElement.appendChild(el)\n useTeleport.cache.set(targetElement, el)\n }\n\n return useTeleport.cache.get(targetElement)\n })\n\n return { teleportTarget }\n}\nuseTeleport.cache = new WeakMap<Element, Element>()\n","// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","import { computed, effectScope, onScopeDispose, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, EffectScope, Ref } from 'vue'\n\nconst stack = ref<ComponentInternalInstance[]>([])\n\nexport function useStack (isActive: Ref<boolean>) {\n const vm = getCurrentInstance('useStack')\n let scope: EffectScope | undefined\n watch(isActive, val => {\n if (val) {\n scope = effectScope()\n scope.run(() => {\n stack.value.push(vm)\n\n onScopeDispose(() => {\n const idx = stack.value.indexOf(vm)\n stack.value.splice(idx, 1)\n })\n })\n } else {\n scope?.stop()\n }\n }, { immediate: true })\n\n const isTop = computed(() => {\n return toRaw(stack.value[stack.value.length - 1]) === vm\n })\n\n return {\n isTop,\n }\n}\n","import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makePositionStrategyProps, usePositionStrategies } from './positionStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useStack } from '@/composables/stack'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const VOverlay = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n contained: Boolean,\n contentClass: null,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makePositionStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n ...makeLazyProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { activatorEl, activatorRef, activatorEvents } = useActivator(props, isActive)\n const { dimensionStyles } = useDimension(props)\n const { isTop } = useStack(isActive)\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updatePosition } = usePositionStrategies(props, {\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updatePosition,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && isTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && isTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n useBackButton(next => {\n if (isTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value?.animate([\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={ top.value != null ? `top: ${convertToUnit(top.value)}` : undefined }\n ref={ root }\n {...attrs}\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n />\n <MaybeTransition\n appear\n onAfterLeave={ onAfterLeave }\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n </>\n ))\n\n return {\n animateClick,\n contentEl,\n activatorEl,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { nextTick, ref, watch } from 'vue'\nimport { genericComponent, IN_BROWSER } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VDialog = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VDialog',\n\n inheritAttrs: false,\n\n props: {\n fullscreen: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n modelValue: Boolean,\n\n ...makeDimensionProps({ width: 'auto' }),\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { dimensionStyles } = useDimension(props)\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n // We're the topmost dialog\n // TODO: this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n // TODO: !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n const focusable = [...overlay.value.contentEl.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n watch(isActive, async val => {\n await nextTick()\n if (val) {\n overlay.value!.contentEl?.focus({ preventScroll: true })\n } else {\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n },\n ]}\n style={ dimensionStyles.value }\n transition={ props.transition }\n ref={ overlay }\n aria-role=\"dialog\"\n aria-modal=\"true\"\n activatorProps={{\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VDivider.sass'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Types\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = defineComponent({\n name: 'VDivider',\n\n props: {\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeThemeProps(),\n },\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n return () => {\n return (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n ]}\n style={ dividerStyles.value }\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={`${attrs.role || 'separator'}`}\n />\n )\n }\n },\n})\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport const VExpansionPanels = defineComponent({\n name: 'VExpansionPanels',\n\n props: {\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeTagProps(),\n ...makeGroupProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n ]}\n >\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\n\n// Directives\nimport ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n expandIcon: {\n type: String,\n default: '$expand',\n },\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n color: String,\n})\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n expanded: expansionPanel.isSelected.value,\n disabled: expansionPanel.disabled.value,\n expandIcon: props.expandIcon,\n collapseIcon: props.collapseIcon,\n }))\n\n return () => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ expansionPanel.toggle }\n v-ripple={ props.ripple }\n >\n <div class=\"v-expansion-panel-title__overlay\" />\n { slots.default?.(slotProps.value) }\n { !props.hideActions && (\n <div class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </div>\n ) }\n </button>\n )\n },\n})\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanelText = defineComponent({\n name: 'VExpansionPanelText',\n\n props: {\n ...makeLazyProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n return () => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n v-show={ expansionPanel.isSelected.value }\n class={[\n 'v-expansion-panel-text',\n ]}\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n ) }\n </div>\n </VExpandTransition>\n )\n },\n})\n","// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeLazyProps } from '@/composables/lazy'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanel = defineComponent({\n name: 'VExpansionPanel',\n\n props: {\n title: String,\n text: String,\n bgColor: String,\n\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { roundedClasses } = useRounded(props)\n const { elevationClasses } = useElevation(props)\n\n provide(VExpansionPanelSymbol, groupItem)\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === -1)\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': groupItem.disabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n aria-expanded={ groupItem.isSelected.value }\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n { slots.default?.() || (\n <>\n <VExpansionPanelTitle\n expandIcon={ props.expandIcon }\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n <VExpansionPanelText eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n </>\n ) }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFieldLabel = defineComponent({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { computed, Transition } from 'vue'\n\nexport const VProgressLinear = defineComponent({\n name: 'VProgressLinear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={{\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n ) }\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n { ['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n )) }\n </div>\n ) }\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n","import { ref } from 'vue'\n\nexport const useFocus = () => {\n const isFocused = ref(false)\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { isFocused, focus, blur }\n}\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, inject, ref, toRef, watch, watchEffect } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getUid,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSymbol } from '@/components/VInput/VInput'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'contained', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: boolean\n isFocused: boolean\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: String,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n color: String,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: String,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n clear: []\n prependInner: [DefaultInputSlot & VInputSlot]\n appendInner: [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n }>\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n active: Boolean,\n disabled: Boolean,\n error: Boolean,\n id: String,\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: Event) => true,\n 'click:prepend-inner': (e: MouseEvent) => true,\n 'click:append-inner': (e: MouseEvent) => true,\n 'click:control': (props: DefaultInputSlot) => true,\n 'update:active': (active: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const isActive = useProxiedModel(props, 'active')\n const { isFocused, focus, blur } = useFocus()\n\n const uid = getUid()\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const id = computed(() => props.id || `input-${uid}`)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n watchEffect(() => isActive.value = isFocused.value)\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000\n const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'))\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n el.animate([\n { transform: 'translate(0)' },\n { transform: `translate(${x}px, ${y}px) scale(${scale})`, ...width },\n ], {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive: isActive.value,\n isFocused: isFocused.value,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', slotProps.value)\n }\n\n const VInput = inject('VInput' as any as typeof VInputSymbol, undefined)\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots.prependInner || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots.appendInner || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--focused': isFocused.value,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n loaderClasses.value,\n backgroundColorClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ VInput ? (!VInput.value.isValid.value ? undefined : props.color) : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n class=\"v-field__prepend-inner\"\n onClick={ e => emit('click:prepend-inner', e) }\n >\n { props.prependInnerIcon && (\n <VIcon icon={ props.prependInnerIcon } />\n ) }\n\n { slots?.prependInner?.(VInput?.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\">\n { ['contained', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...VInput?.value,\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n onFocus: () => (isFocused.value = true),\n onBlur: () => (isFocused.value = false),\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition>\n <div\n class=\"v-field__clearable\"\n onClick={ (e: Event) => emit('click:clear', e) }\n v-show={ props.active }\n >\n { slots.clear\n ? slots.clear()\n : <VIcon icon={ props.clearIcon } />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-field__append-inner\"\n onClick={ e => emit('click:append-inner', e) }\n >\n { slots?.appendInner?.(VInput?.value) }\n\n { props.appendInnerIcon && (\n <VIcon icon={ props.appendInnerIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-field__outline\">\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n return pick(attrs, Object.keys(VField.props))\n}\n","import { computed, inject, provide } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath, wrapInRef } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = wrapInRef(options.current)\n const fallback = wrapInRef(options.fallback)\n const messages = wrapInRef(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, humanReadableFileSize, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VFileInput = defineComponent({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps(),\n\n prependIcon: {\n type: String,\n default: '$file',\n },\n modelValue: {\n type: Array as PropType<File[] | undefined>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value?.length\n })\n\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function click () {\n inputRef.value?.click()\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = []\n\n if (inputRef?.value) {\n inputRef.value.value = ''\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || counterValue.value)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps, _] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class=\"v-file-input\"\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: () => (\n <VField\n active={ isDirty.value }\n prepend-icon={ props.prependIcon }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ click }\n onClick:prepend={ click }\n onClick:clear={ clear }\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n onClick={ e => e.stopPropagation() }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n\n if (!isActive) inputRef.value?.focus()\n } }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { isDirty.value && (\n <div class={ fieldClass }>\n { slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ') }\n </div>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n value={ counterValue.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n click,\n }\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFooter = defineComponent({\n name: 'VFooter',\n\n props: {\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-footer',\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: Event) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (e: Event) {\n e.preventDefault()\n form.validate().then(({ valid }) => {\n if (valid) {\n emit('submit', e)\n }\n })\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class=\"v-form\"\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return form\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record<string, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VCol = defineComponent({\n name: 'VCol',\n\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: classes.value,\n }, slots.default?.())\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\nfunction makeRowProps (prefix: string, def: () => Prop<string, null>) {\n return breakpoints.reduce((props, val) => {\n props[prefix + capitalize(val)] = def()\n return props\n }, {} as Record<string, Prop<string, null>>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VRow = defineComponent({\n name: 'VRow',\n\n props: {\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: ['v-row', classes.value],\n }, slots.default?.())\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VHover = defineComponent({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = defineComponent({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [GroupItemProvide]\n }>\n}>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n","import './VKbd.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n","// Styles\nimport './VLayout.sass'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\nexport const VLayout = defineComponent({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n\n useRender(() => (\n <div class={ layoutClasses.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n","// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = defineComponent({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const styles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n toRef(props, 'size'),\n toRef(props, 'size'),\n toRef(props, 'modelValue')\n )\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n {\n 'v-layout-item--absolute': props.absolute,\n },\n ]}\n style={ styles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VLazy = defineComponent({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n return () => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n onIntersect,\n props.options,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition }>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\n// Depth\nexport const DepthKey: InjectionKey<Ref<number>> = Symbol.for('vuetify:depth')\n\nexport function useDepth (hasPrepend?: Ref<boolean>) {\n const parent = inject(DepthKey, ref(-1))\n\n const depth = computed(() => parent.value + 1 + (hasPrepend?.value ? 1 : 0))\n\n provide(DepthKey, depth)\n\n return depth\n}\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref<boolean>\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport function createList () {\n const parent = inject(ListKey, { hasPrepend: ref(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: ref(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport function useList () {\n return inject(ListKey, null)\n}\n","export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const singleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n}\n\nexport const multipleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n}\n","export type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = independentSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n}\n\nexport const leafSelectStrategy = (single = false): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children }) => {\n if (children.has(id)) return selected\n\n if (single) return new Map([[id, value ? 'on' : 'off']])\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v ?? [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: independentSelectStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = classicSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n}\n","export type ActiveStrategyFn = (data: {\n id: string\n value: boolean\n active: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const classicActiveStrategy = (single?: boolean): ActiveStrategyFn => {\n return ({ id, value, active }) => {\n const newActive: Set<string> = single ? new Set() : active\n\n if (value) {\n newActive.add(id)\n } else {\n newActive.delete(id)\n }\n\n return newActive\n }\n}\n","import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, leafSelectStrategy } from './selectStrategies'\nimport { classicActiveStrategy } from './activeStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\nimport type { ActiveStrategyFn } from './activeStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\nexport type ActiveStrategy = 'single' | 'multiple' | ActiveStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | undefined\n activeStrategy: ActiveStrategy | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n active: string[] | undefined\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n 'onUpdate:active': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | null>\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n active: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | null, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n activate: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nconst VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nconst emptyNested: NestedProvide = {\n id: ref(null),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n active: ref(new Set()),\n activate: () => null,\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\n activeStrategy: [String, Function] as Prop<ActiveStrategy>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n active: Array as Prop<string[]>,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n const active = useProxiedModel(props, 'active', props.active, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'single': return classicActiveStrategy(true)\n case 'multiple':\n default:\n return classicActiveStrategy()\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n const nested: NestedProvide = {\n id: ref(null),\n root: {\n opened,\n selected,\n active,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n active.value.delete(id)\n selected.value.delete(id)\n },\n open: (id, value, event) => {\n const newOpened = openStrategy.value({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newSelected && (selected.value = newSelected)\n },\n activate: (id, value, event) => {\n const newActive = activeStrategy.value({\n id,\n value,\n active: new Set(active.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActive && (active.value = newActive)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n activate: (activated: boolean, e: Event) => parent.root.activate(computedId.value, activated, e),\n isActive: computed(() => parent.root.active.value.has(computedId.value)),\n }\n\n parent.root.register(computedId.value, parent.id.value, false)\n\n onBeforeUnmount(() => {\n parent.root.unregister(computedId.value)\n })\n\n return item\n}\n\nexport const useNestedGroup = (props: { value: string }) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const id = computed(() => props.value ?? getUid().toString())\n\n const group = {\n ...parent,\n id,\n open: (open: boolean, e: Event) => parent.root.open(id.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(id.value)),\n isSelected: computed(() => parent.root.selected.value.get(id.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(id.value) === 'indeterminate'),\n }\n\n parent.root.register(id.value, parent.id.value, true)\n\n onBeforeUnmount(() => {\n parent.root.unregister(id.value)\n })\n\n provide(VNestedSymbol, group)\n\n return group\n}\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroup } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { MakeSlots } from '@/util'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n appendIcon: string\n class: string\n }\n}\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n value: null,\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n expandIcon: {\n type: String,\n default: '$expand',\n },\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedGroup(props)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps = computed(() => ({\n onClick,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n value: `${props.value}_header`,\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.activator?.({ props: activatorProps.value }) }\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={isOpen.value}>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n )\n }\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAvatar = defineComponent({\n name: 'VListItemAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-avatar',\n {\n 'v-list-item-avatar--start': props.left,\n 'v-list-item-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemHeader = createSimpleFunctional('v-list-item-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted } from 'vue'\nimport { genericComponent } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n subtitle: String,\n title: String,\n value: null,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { activate, isActive: isNestedActive, select, isSelected, root, parent } = useNestedItem(id)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isNestedActive.value\n })\n const activeColor = props.activeColor ?? props.color\n const variantProps = computed(() => ({\n color: isActive.value ? activeColor : props.color,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n activate,\n select,\n isSelected: isSelected.value,\n }))\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (link.isClickable.value || props.link || props.value != null)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n link.navigate?.(e)\n props.value != null && activate(!isNestedActive.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n slots.prepend\n ? slots.prepend(slotProps.value)\n : (\n <VListItemAvatar left>\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title({ title: props.title })\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle({ subtitle: props.subtitle })\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n slots.append\n ? slots.append(slotProps.value)\n : (\n <VListItemAvatar right>\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VListSubheader = defineComponent({\n name: 'VListSubheader',\n\n props: {\n color: String,\n inset: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasText = !!(slots.default || props.text)\n\n return (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n 'v-list-subheader--sticky': props.sticky,\n },\n textColorClasses.value,\n ]}\n style={{ textColorStyles }}\n >\n { hasText && (\n <div class=\"v-list-subheader__text\">\n { slots.default?.() ?? props.text }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n","// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { createList } from './list'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n >\n {{\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } />,\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : <VListItem { ...itemProps } v-slots={ slots } />\n )\n })\n },\n})\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { createList } from './list'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupActivatorSlot } from './VListGroup'\n\nexport type ListItem = {\n [key: string]: any\n $type?: 'item' | 'subheader' | 'divider'\n $children?: (string | ListItem)[]\n}\n\nexport type InternalListItem = {\n type?: 'item' | 'subheader' | 'divider'\n props?: Record<string, any>\n children?: InternalListItem[]\n}\n\nconst parseItems = (items?: (string | ListItem)[]): InternalListItem[] | undefined => {\n if (!items) return undefined\n\n return items.map(item => {\n if (typeof item === 'string') return { type: 'item', value: item, title: item }\n\n const { $type, $children, ...props } = item\n\n if ($type === 'subheader') return { type: 'subheader', props }\n if ($type === 'divider') return { type: 'divider', props }\n\n return { type: 'item', props, children: parseItems($children) }\n })\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n color: String,\n disabled: Boolean,\n lines: {\n type: String,\n default: 'one',\n },\n nav: Boolean,\n items: Array as Prop<ListItem[]>,\n\n ...makeNestedProps({\n selectStrategy: 'leaf' as const,\n openStrategy: 'multiple' as const,\n activeStrategy: 'single' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'update:active': (val: string[]) => true,\n },\n\n setup (props, { slots }) {\n const items = computed(() => parseItems(props.items))\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select, activate } = useNested(props)\n\n createList()\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n [`v-list--${props.lines}-line`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value }>\n {{\n default: slots.default,\n item: slots.item,\n title: slots.title,\n subtitle: slots.subtitle,\n header: slots.header,\n }}\n </VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n activate,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemMedia = defineComponent({\n name: 'VListItemMedia',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.left,\n 'v-list-item-media--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import './VLocaleProvider.sass'\n\n// Composables\nimport { provideLocale } from '@/composables/locale'\nimport { provideRtl } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLocaleProvider = defineComponent({\n name: 'VLocaleProvider',\n\n props: {\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n },\n\n setup (props, { slots }) {\n const localeInstance = provideLocale(props)\n const { rtlClasses } = provideRtl(props, localeInstance)\n\n return () => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Utilities\nimport { computed, onMounted, ref } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = ref(false)\n\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n\n const ssrBootStyles = computed(() => !isBooted.value ? ({\n transition: 'none !important',\n }) : undefined)\n\n return { ssrBootStyles }\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VMain = defineComponent({\n name: 'VMain',\n\n props: makeTagProps({ tag: 'main' }),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n return () => (\n <props.tag\n class=\"v-main\"\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n ]}\n >\n <div class=\"v-main__wrap\">\n { slots.default?.() }\n </div>\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { VDialogTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VMenu = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VMenu',\n\n inheritAttrs: false,\n\n props: {\n // TODO\n // closeOnClick: {\n // type: Boolean,\n // default: true,\n // },\n // closeOnContentClick: {\n // type: Boolean,\n // default: true,\n // },\n disableKeys: Boolean,\n modelValue: Boolean,\n id: String,\n\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-menu',\n ]}\n transition={ props.transition }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n scrim={ false }\n activatorProps={{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { useTouch } from './touch'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n position: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const isHovering = ref(false)\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(mobile, val => !props.permanent && (isActive.value = !val))\n }\n\n watch(props, val => {\n if (val.permanent) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'position'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n layoutSize,\n width,\n computed(() => isActive.value || isDragging.value),\n computed(() => isDragging.value)\n )\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.position === 'bottom',\n 'v-navigation-drawer--end': props.position === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.position === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n dragStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n\n})\n","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n borderBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n contentBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n const contentBoxSize = ref<ResizeObserverSize>()\n const borderBoxSize = ref<ResizeObserverSize>()\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n contentBoxSize.value = entries[0].contentBoxSize[0]\n borderBoxSize.value = entries[0].borderBoxSize[0]\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n contentBoxSize.value = undefined\n borderBoxSize.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n contentBoxSize: readonly(contentBoxSize),\n borderBoxSize: readonly(borderBoxSize),\n }\n}\n","// Imports\nimport { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n","import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\nimport { makeRoundedProps } from '@/composables/rounded'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeRoundedProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 3) {\n return [Math.min(Math.max(start.value, page.value), start.value + length.value)]\n }\n\n if (props.length <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const middle = Math.ceil(totalVisible.value / 2)\n const left = middle\n const right = length.value - middle\n\n if (page.value < left) {\n return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value]\n } else if (page.value > right) {\n const rangeLength = totalVisible.value - 2\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 4)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VBtn: {\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n rounded: props.rounded,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n","// Styles\nimport './VParallax.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\n\n// Utilities\nimport { onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { defineComponent, getScrollParent } from '@/util'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const VParallax = defineComponent({\n name: 'VParallax',\n\n props: {\n scale: {\n type: [Number, String],\n default: 1.3,\n },\n },\n\n setup (props, { attrs, slots }) {\n const root = ref<VImg>()\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watchEffect(() => {\n intersectionRef.value = root.value?.$el\n })\n\n let scrollParent: Element\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document as any : scrollParent\n scrollParent.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n } else {\n scrollParent.removeEventListener('scroll', onScroll)\n }\n })\n\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll)\n })\n\n let frame = -1\n function onScroll () {\n if (!isIntersecting.value) return\n\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n const el: HTMLElement | null = (root.value?.$el as Element).querySelector('.v-img__img')\n if (!el) return\n\n const rect = intersectionRef.value!.getBoundingClientRect()\n const scrollHeight = scrollParent.clientHeight ?? window.innerHeight\n const scrollPos = scrollParent.scrollTop ?? window.scrollY\n const top = rect.top + scrollPos\n const progress = (scrollPos + scrollHeight - top) / (rect.height + scrollHeight)\n const translate = floor((rect.height * +props.scale - rect.height) * (-progress + 0.5))\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${props.scale})`)\n })\n }\n\n return () => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n ]}\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n )\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VProgressCircular = defineComponent({\n name: 'VProgressCircular',\n\n props: {\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\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\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\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) : intersectionRef.value\n ? intersectionRef.value.getBoundingClientRect().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\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-circular',\n {\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 },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <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 >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\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 />\n\n <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 />\n </svg>\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VSelectionControl } from '@/components/VSelectionControl'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VRadio = defineComponent({\n name: 'VRadio',\n\n props: {\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n class=\"v-radio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n","// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroup } from '@/components/VSelectionControlGroup'\nimport { filterControlProps, makeSelectionControlProps } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VRadioGroup = defineComponent({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: {\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class=\"v-radio-group\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <>\n { label && (\n <VLabel\n disabled={ isDisabled.value }\n error={ isValid.value === false }\n for={ id.value }\n >\n { label }\n </VLabel>\n ) }\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n","/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n label: Ref<string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n showTickLabels: Ref<boolean | undefined>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n showTickLabels: {\n type: Boolean,\n default: false,\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<string, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n label: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n label: toRef(props, 'label'),\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTickLabels: toRef(props, 'showTickLabels'),\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n","// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n label,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-label={ label.value }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n","// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'inset-block-end' : 'margin-inline-start'\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{\n [directionProperty]: (tick.position > 0 && tick.position < 100) && convertToUnit(tick.position, '%'),\n }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from '../VSlider/VSliderThumb'\nimport { VSliderTrack } from '../VSlider/VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { getOffset, makeSliderProps, useSlider } from '../VSlider/slider'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, defineComponent, ref } from 'vue'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VRangeSlider = defineComponent({\n name: 'VRangeSlider',\n\n props: {\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots, attrs }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n activeThumbRef,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(newValue, stop), stop]\n } else {\n model.value = [start, Math.max(start, newValue)]\n }\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]>\n\n const { isFocused, focus, blur } = useFocus()\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { createRange, defineComponent, getUid } from '@/util'\n\n// Types\nimport type { Variant } from '@/composables/variant'\nimport type { Prop } from 'vue'\n\nexport const VRating = defineComponent({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: Number,\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n const focusIndex = ref(-1)\n const firstRef = ref<HTMLElement>()\n let isClicking = false\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = rating.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onFocus () {\n if (value === 0 && rating.value === 0) {\n firstRef.value?.focus()\n } else {\n focusIndex.value = value\n }\n }\n\n function onBlur () {\n if (!isClicking) focusIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = rating.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onFocus,\n onBlur,\n onClick,\n }\n }))\n\n function onMousedown () {\n isClicking = true\n }\n\n function onMouseup () {\n isClicking = false\n }\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onFocus, onBlur, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n tag: 'span',\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMousedown={ onMousedown }\n onMouseup={ onMouseup }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value,\n props: btnProps,\n value,\n index,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ rating.value === value }\n onClick={ onClick }\n onFocus={ onFocus }\n onBlur={ onBlur }\n ref={ index === 0 ? firstRef : undefined }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n return () => {\n const hasLabels = !!props.itemLabels?.length\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n !hasLabels ? undefined\n : slots['item-label'] ? slots['item-label']({ value, index: i, label: props.itemLabels?.[i] })\n : props.itemLabels?.[i] ? <span>{ props.itemLabels[i] }</span>\n : <span>&nbsp;</span>\n }\n <div\n class={[\n 'v-rating__item',\n {\n 'v-rating__item--focused': Math.ceil(focusIndex.value) === value,\n },\n ]}\n >\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n ) }\n </div>\n </div>\n )) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSheet = defineComponent({\n name: 'VSheet',\n\n props: {\n color: {\n type: String,\n default: 'surface',\n },\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus()\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, ref } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n\n ...makeLoaderProps(),\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n","// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n lightsOut: Boolean,\n window: Boolean,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n {\n 'v-system-bar': true,\n 'v-system-bar--lights-out': props.lightsOut,\n 'v-system-bar--window': props.window,\n },\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDensityProps, useDensity } from '@/composables/density'\n\nexport const VTable = defineComponent({\n name: 'VTable',\n\n props: {\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n return () => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n },\n themeClasses.value,\n densityClasses.value,\n ]}\n >\n { slots.top?.() }\n\n { slots.default && (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default?.() }\n </table>\n </div>\n ) }\n\n { slots.bottom?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const controlHeight = ref('auto')\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = ''\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ clear }\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n return (\n <>\n { props.prefix && (\n <span class=\"v-textarea__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-textarea__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n }\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","import type { Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nexport function useForwardRef<T extends {}, U extends Ref<{} | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnwrapRef<UnionToIntersection<U[number]>> {\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.get(ref.value, key)\n }\n }\n },\n getOwnPropertyDescriptor (target, key) {\n return Reflect.getOwnPropertyDescriptor(target, key) ?? (\n refs.find(ref => ref.value && Reflect.getOwnPropertyDescriptor(ref.value, key))\n )\n },\n }) as any\n}\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useForwardRef } from '@/composables/forwardRef'\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = defineComponent({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value || dirtyTypes.includes(props.type)\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n },\n ]}\n focused={ isFocused.value }\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n ref={ vFieldRef }\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ e => {\n e.stopPropagation()\n\n model.value = ''\n }}\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <input\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({\n focus,\n blur,\n }, vInputRef, vFieldRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VThemeProvider = defineComponent({\n name: 'VThemeProvider',\n\n props: {\n withBackground: Boolean,\n\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n\n return () => {\n if (!props.withBackground) return slots.default?.()\n\n return (\n <props.tag class={['v-theme-provider', themeClasses.value]}>\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n","import type { InjectionKey, Ref } from 'vue'\nimport type { Density } from '@/composables/density'\n\nexport interface TimelineInstance {\n density: Ref<Density>\n lineColor: Ref<string>\n}\n\nexport const VTimelineSymbol: InjectionKey<TimelineInstance> = Symbol.for('vuetify:timeline')\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { defineComponent, inject, toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: String,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n","// Styles\nimport './VTimeline.sass'\n\n// Components\nimport { VTimelineItem } from './VTimelineItem'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'before' | 'after' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n default: 'start',\n validator: (v: any) => ['none', 'start', 'end', 'both'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n 'v-timeline--truncate-line-end': props.truncateLine === 'end' || props.truncateLine === 'both',\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset || undefined),\n }}\n >\n { (props.truncateLine === 'none' || props.truncateLine === 'end') && (\n <VTimelineItem hideDot />\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/positionStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const anchor = computed(() => {\n return props.anchor.split(' ').length > 1\n ? props.anchor\n : props.anchor + ' center' as StrategyProps['anchor']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.anchor.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n anchor={ anchor.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VValidation = defineComponent({\n name: 'VValidation',\n\n props: {\n ...makeValidationProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n","// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n","// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useGroup } from '@/composables/group'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, defineComponent, provide, ref, watch } from 'vue'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\nimport type { TouchHandlers } from '@/directives/touch'\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const VWindow = defineComponent({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: {\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n default: 'force' as const,\n },\n\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (v: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = ref(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = ref(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n }, { scoped: true })\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n end: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n return () => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.() }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n ) }\n </div>\n </props.tag>\n )\n },\n})\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport Touch from '@/directives/touch'\n\n// Utilities\nimport { computed, inject, nextTick, ref } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VWindowGroupSymbol, VWindowSymbol } from './VWindow'\n\nexport const VWindowItem = defineComponent({\n name: 'VWindowItem',\n\n directives: {\n Touch,\n },\n\n props: {\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const window = inject(VWindowSymbol)\n const groupItem = useGroupItem(props, VWindowGroupSymbol)\n\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow')\n\n const isTransitioning = ref(false)\n const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false)\n\n function onAfterTransition () {\n if (!isTransitioning.value || !window) {\n return\n }\n\n // Finalize transition state.\n isTransitioning.value = false\n if (window.transitionCount.value > 0) {\n window.transitionCount.value -= 1\n\n // Remove container height if we are out of transition.\n if (window.transitionCount.value === 0) {\n window.transitionHeight.value = undefined\n }\n }\n }\n\n function onBeforeTransition () {\n if (isTransitioning.value || !window) {\n return\n }\n\n // Initialize transition state here.\n isTransitioning.value = true\n\n if (window.transitionCount.value === 0) {\n // Set initial height for height transition.\n window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight)\n }\n\n window.transitionCount.value += 1\n }\n\n function onTransitionCancelled () {\n onAfterTransition() // This should have the same path as normal transition end.\n }\n\n function onEnterTransition (el: Element) {\n if (!isTransitioning.value) {\n return\n }\n\n nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!hasTransition.value || !isTransitioning.value || !window) {\n return\n }\n\n // Set transition target height.\n window.transitionHeight.value = convertToUnit(el.clientHeight)\n })\n }\n\n const transition = computed(() => {\n const name = window.isReversed.value\n ? props.reverseTransition\n : props.transition\n\n return !hasTransition.value ? false : {\n name: typeof name !== 'string' ? window.transition.value : name,\n onBeforeEnter: onBeforeTransition,\n onAfterEnter: onAfterTransition,\n onEnterCancelled: onTransitionCancelled,\n onBeforeLeave: onBeforeTransition,\n onAfterLeave: onAfterTransition,\n onLeaveCancelled: onTransitionCancelled,\n onEnter: onEnterTransition,\n }\n })\n\n const { hasContent } = useLazy(props, groupItem.isSelected)\n\n return () => {\n return (\n <MaybeTransition transition={ transition.value } >\n <div\n class={[\n 'v-window-item',\n groupItem.selectedClass.value,\n ]}\n v-show={ groupItem.isSelected.value }\n >\n { slots.default && hasContent.value && slots.default() }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n","import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n","// Utilities\nimport { h } from 'vue'\n\n// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n","import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n const directive = directives[key]\n\n app.directive(key, directive)\n }\n\n for (const key in components) {\n const component = components[key]\n\n app.component(key, component)\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n","import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","parseFloat","indexOf","w","offsetWidth","h","offsetHeight","createMessage","message","vm","parent","_isVue","$parent","$options","$_alreadyWarned","includes","push","generateComponentTrace","consoleWarn","newMessage","console","warn","consoleError","error","classifyRE","classify","str","replace","c","toUpperCase","formatComponentName","includeFile","$root","options","cid","name","_componentTag","file","__file","match","tree","currentRecursiveSequence","length","last","map","i","repeat","Array","isArray","join","getNestedValue","obj","path","fallback","undefined","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","createRange","start","from","v","k","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","filterInputAttrs","attrs","wrapInArray","clamp","value","min","max","Math","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","out","sourceProperty","targetProperty","getUid","_uid","flattenFragments","nodes","node","type","Fragment","children","flat","toKebabCase","toLowerCase","wrapInRef","isRef","ref","findChildren","vnode","child","filter","component","subTree","CircularBuffer","size","val","values","concat","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","matrix","round","toXYZ","r","g","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","transformedY","lab","Ln","isCssColor","color","colorToInt","substring","char","parseInt","TypeError","intToHex","hexColor","toString","colorToRGB","int","lighten","amount","CIELAB","sRGB","darken","getLuma","DefaultsSymbol","Symbol","for","createDefaults","useDefaults","defaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","computed","scoped","unref","reset","root","properties","prev","len","Infinity","provide","propIsDefined","prop","hasOwnProperty","defineComponent","_setup","setup","ctx","getCurrentInstance","_props","shallowReactive","toRaw","watchEffect","globalDefaults","global","componentDefaults","newVal","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","capitalize","camelize","default","slots","class","attachedRoot","getRootNode","parentNode","document","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","getScrollParent","hasScrollbar","parentElement","scrollingElement","getScrollParents","elements","nodeType","Node","ELEMENT_NODE","window","overflowY","scrollHeight","clientHeight","IS_NODE","process","IN_BROWSER","env","DEBUG","NODE_ENV","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_FOCUS_VISIBLE","CSS","supports","isFixedPosition","position","offsetParent","propsFactory","reduce","isObjectDefinition","definition","useRender","render","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","ThemeSymbol","makeThemeProps","theme","defaultThemeOptions","defaultTheme","variations","colors","themes","light","dark","surface","primary","secondary","info","success","warning","variables","parseThemeOptions","isDisabled","entries","createTheme","app","head","_context","provides","usehead","parsedOptions","styleEl","current","computedThemes","original","genColorVariations","onColor","colorVal","blackContrast","whiteContrast","variation","fn","styles","lines","themeName","createCssClass","genCssVariables","Set","flatMap","lightOverlay","darkOverlay","selector","content","line","addHeadObjs","id","updateDOM","watch","updateStyles","deep","immediate","genStyleElement","innerHTML","createElement","appendChild","setTheme","getTheme","themeClasses","provideTheme","newTheme","useTheme","VuetifyLayoutKey","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","priority","absolute","useLayout","layout","useLayoutItem","layoutSize","elementSize","active","disableTransitions","register","onBeforeUnmount","unregister","generateLayers","registered","positions","layoutSizes","activeItems","previousLayer","layers","layer","ids","l","get","createLayout","Map","priorities","transitions","computedOverlaps","overlap","item","topPosition","bottomPosition","topAmount","bottomAmount","set","sortedEntries","sort","transitionsEnabled","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","transition","items","index","getLayoutItem","find","findIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","marginLeft","marginRight","marginTop","marginBottom","zIndex","layoutClasses","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","next","delimiter","calendar","moreEvents","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","first","rating","rtl","af","ar","bg","ca","ckb","cs","de","en","es","et","fa","fi","fr","hr","hu","he","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","RtlSymbol","createRtl","localeScope","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","provideRtl","newScope","useRtl","VApp","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","VResponsive","contentClass","additional","mounted","binding","modifiers","handler","observer","IntersectionObserver","_observe","instance","$","uid","isIntersecting","entry","quiet","init","once","unmounted","observe","unobserve","Intersect","makeTransitionProps","validator","MaybeTransition","Transition","customProps","mergeProps","VImg","directives","intersect","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","emits","emit","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","onBeforeMount","nextTick","complete","onError","pollForSize","onLoad","getSrc","lazyImg","Image","img","timeout","poll","imgHeight","imgWidth","setTimeout","endsWith","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","makeBorderProps","border","useBorder","borderClasses","classes","allowedDensities","makeDensityProps","density","useDensity","densityClasses","makeElevationProps","elevation","useElevation","elevationClasses","makeRoundedProps","rounded","useRounded","roundedClasses","makeTagProps","useColor","backgroundIsCssColor","textIsCssColor","colorClasses","colorStyles","backgroundColor","caretColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","useProxiedModel","defaultValue","transformIn","transformOut","internal","newValue","VAppBar","collapse","extensionHeight","floating","modelValue","prominent","prominentHeight","toRef","isExtended","extension","contentHeight","isActive","layoutStyles","hasImage","prepend","append","allowedVariants","genOverlays","isClickable","makeVariantProps","textColor","variant","useVariant","variantClasses","VBtnGroup","divided","VBtn","makeGroupProps","multiple","mandatory","selectedClass","disabled","makeGroupItemProps","useGroupItem","injectKey","required","group","description","isSelected","toggle","select","useGroup","isUnmounted","reactive","selected","getIds","arr","getValues","groupVm","unwrapped","instances","cmp","splice","forceMandatoryValue","onMounted","internalValue","step","offset","currentId","currentIndex","newIndex","newItem","VBtnToggleSymbol","VBtnToggle","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","IconSymbol","makeIconProps","icon","VComponentIcon","VSvgIcon","inheritAttrs","VLigatureIcon","VClassIcon","defaultSets","svg","useIcon","icons","iconData","iconAlias","aliases","iconSetName","sets","setName","iconName","iconSet","defaultSet","VIcon","slotIcon","slot","fontSize","positionValues","makePositionProps","fixed","usePosition","targets","positionClasses","positionStyles","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","onClick","onClickOnce","link","route","makeRouterProps","useBackButton","cb","router","popped","removeGuard","addEventListener","onPopstate","beforeEach","removeEventListener","e","replaced","rippleStop","DELAY_RIPPLE","webkitTransform","opacity","isTouchEvent","isKeyboardEvent","calculate","localX","localY","touches","clientX","clientY","radius","scale","_ripple","circle","clientWidth","center","sqrt","centerX","centerY","ripples","show","enabled","container","animation","className","dataset","previousPosition","classList","add","activated","performance","now","remove","hide","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleHide","clearTimeout","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","passive","removeListeners","updated","oldValue","Ripple","prependIcon","appendIcon","block","stacked","ripple","isElevated","Tag","isExactActive","navigate","VAppBarNavIcon","VAppBarTitle","VAvatar","allowedTypes","VAlert","borderColor","closable","closeIcon","closeLabel","sticky","tip","borderProps","variantProps","onCloseClick","hasBorder","hasClose","hasPrepend","hasText","VBadge","bordered","dot","inline","label","location","vertical","horizontal","offsetX","offsetY","calculatePosition","locationStyles","badgeAttrs","VBannerActions","VBannerAvatar","VBannerContent","VBannerText","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","documentElement","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","platform","onResize","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","toRefs","useDisplay","display","VBanner","avatar","hasAvatar","hasContent","actions","VBottomNavigation","bgColor","grow","mode","VBreadcrumbsSymbol","VBreadcrumbsItem","activeClass","activeColor","breadcrumbs","VBreadcrumbsDivider","VBreadcrumbs","divider","array","VCardActions","VCardAvatar","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","VCard","appendAvatar","hover","prependAvatar","subtitle","title","hasTitle","hasSubtitle","hasHeaderText","hasAppend","hasHeader","media","createCssTransition","origin","hideOnLeave","leaveAbsolute","TransitionGroup","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","onEnter","initialStyle","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","VDialogTransition","pointerEvents","done","Promise","resolve","getDimensions","animate","duration","easing","finished","then","removeProperty","onBeforeLeave","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","VMessages","messages","FormKey","makeFormProps","fastFail","lazyValidation","readonly","createForm","model","isReadonly","isValidating","errorMessages","validate","results","valid","itemErrorMessages","forEach","resetValidation","useForm","makeValidationProps","maxErrors","rules","useValidation","form","isPristine","isValid","validationClasses","rule","result","VInputSymbol","makeVInputProps","hideDetails","hint","persistentHint","direction","VInput","focused","isFocused","slotProps","hasHint","hasMessages","hasDetails","showMessages","details","filterInputProps","VLabel","VSelectionControlGroupSymbol","VSelectionControlGroup","falseIcon","trueIcon","makeSelectionControlProps","trueValue","falseValue","valueComparator","Function","useSelectionControl","isMultiple","currentValue","VSelectionControl","isFocusVisible","input","onFocus","matches","onBlur","filterControlProps","VCheckbox","indeterminate","indeterminateIcon","onChange","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","VChip","draggable","filterIcon","pill","VCode","VCounter","functional","VDefaultsProvider","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","makeActivatorProps","activator","activatorProps","openOnClick","openOnHover","openOnFocus","useActivator","activatorEl","isHovered","availableEvents","click","stopPropagation","mouseenter","mouseleave","focus","blur","activatorEvents","events","activatorRef","scope","effectScope","run","_useActivator","flush","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","onScopeDispose","removeAttribute","setAttribute","querySelector","parseAnchor","anchor","side","align","oppositeAnchor","physicalAnchor","elementToViewport","point","getOffset","anchorToPoint","box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","usePositionStrategies","data","contentStyles","updatePosition","activatorFixed","assign","preferredAnchor","preferredOrigin","doesOverlap","configuredMaxHeight","configuredMinWidth","ResizeObserver","contentEl","disconnect","scrollParent","viewportWidth","viewportHeight","contentBox","scrollables","querySelectorAll","scrollLeft","scrollTop","initialMaxWidth","initialMaxHeight","scrollTo","viewportMargin","freeSpace","fitsY","canFill","floor","targetPoint","contentPoint","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","onScroll","bindScroll","scrollElements","contains","scrollbarWidth","scrollableParent","slow","update","time","useTeleport","teleportTarget","_target","targetElement","body","cache","has","WeakMap","makeLazyProps","useLazy","stack","useStack","idx","isTop","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","callback","ClickOutside","onMousedown","Scrim","VOverlay","attach","contained","noClickAnimation","persistent","scrim","scrimColor","onClickOutside","animateClick","onKeydown","toHandlers","VDialog","fullscreen","retainFocus","scrollable","overlay","onFocusin","before","relatedTarget","after","focusable","hasAttribute","firstElement","lastElement","preventScroll","VDivider","inset","thickness","dividerStyles","role","VExpansionPanelSymbol","VExpansionPanels","variantClass","makeVExpansionPanelTitleProps","expandIcon","collapseIcon","hideActions","VExpansionPanelTitle","expansionPanel","expanded","VExpansionPanelText","VExpansionPanel","groupItem","isBeforeSelected","isAfterSelected","VFieldLabel","useIntersectionObserver","intersectionRef","VProgressLinear","bgOpacity","bufferValue","clickable","reverse","stream","striped","roundedBar","progress","barColorClasses","barColorStyles","normalizedBuffer","normalizedValue","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","loading","useLoader","loaderClasses","LoaderSlot","useFocus","makeVFieldProps","appendInnerIcon","clearable","clearIcon","persistentClear","prependInnerIcon","singleLine","VField","labelRef","floatingLabelRef","controlRef","hasLabel","targetEl","targetRect","targetWidth","transitionDuration","visibility","activeElement","preventDefault","isOutlined","prependInner","hasClear","clear","appendInner","loader","filterFieldProps","LocaleAdapterSymbol","VuetifyLocaleSymbol","provideLocale","adapter","createScope","useLocale","getScope","isLocaleAdapter","createLocaleAdapter","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","params","createTranslateFunction","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","n","rootScope","defaultLocale","locale","VFileInput","chips","counterSizeString","counterString","showSize","files","internalDirty","isDirty","totalBytes","totalBytesReadable","fileNames","counterValue","fileCount","inputRef","hasCounter","rootAttrs","fieldProps","_","fieldClass","selection","VFooter","VForm","submit","formRef","onReset","onSubmit","VContainer","fluid","breakpoints","breakpointProps","offsetProps","orderProps","propMap","col","order","breakpointClass","breakpoint","VCol","cols","alignSelf","hasColClasses","ALIGNMENT","makeRowProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","VRow","dense","noGutters","VSpacer","VHover","isHovering","onMouseenter","onMouseleave","VItemGroupSymbol","VItemGroup","VItem","VKbd","VLayout","VLayoutItem","VLazy","onIntersect","ListKey","createList","updateHasPrepend","useList","singleOpenStrategy","opened","parents","newOpened","multipleOpenStrategy","independentSelectStrategy","in","leafSelectStrategy","single","strategy","classicSelectStrategy","childrenIds","everySelected","noneSelected","classicActiveStrategy","newActive","VNestedSymbol","emptyNested","open","activate","selectedValues","makeNestedProps","selectStrategy","openStrategy","activeStrategy","useNested","nested","parentId","isGroup","list","event","newSelected","useNestedItem","computedId","useNestedGroup","isOpen","isIndeterminate","VListGroup","VListItemAvatar","VListItemHeader","VListItemSubtitle","VListItemTitle","VListItem","isNestedActive","VListSubheader","VListChildren","itemProps","header","parseItems","$type","$children","VList","nav","VListImg","VListItemMedia","VLocaleProvider","localeInstance","useSsrBoot","ssrBootStyles","VMain","VMenu","disableKeys","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","changedTouches","identifier","timeStamp","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","cancelable","thresholdMet","velocity","vx","vy","dragStyles","VNavigationDrawer","disableResizeWatcher","expandOnHover","permanent","rail","railWidth","temporary","rootEl","useHydration","appContext","_container","__vue_app__","VNoSsr","useResizeObserver","resizeRef","contentRect","contentBoxSize","borderBoxSize","useRefs","refs","onBeforeUpdate","updateRef","VPagination","totalVisible","firstIcon","prevIcon","nextIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","maxButtons","firstItem","totalWidth","itemWidth","range","middle","ceil","rangeLength","rangeStart","setValue","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","VParallax","scrollPos","scrollY","translate","VProgressCircular","rotate","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","diameter","strokeWidth","strokeDashOffset","VRadio","VRadioGroup","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","showTickLabels","ticks","tickSize","trackColor","trackFillColor","trackSize","useSlider","handleSliderMouseUp","handleMouseMove","getActiveThumb","horizontalDirection","hd","decimals","trimmedStep","trim","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","thumbMoved","handleStop","handleStart","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","steps","increase","multiplier","shiftKey","ctrlKey","positionPercentage","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","VRangeSlider","strict","startThumbRef","stopThumbRef","stopOffset","trackStop","VRating","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","increments","hoverIndex","focusIndex","firstRef","isClicking","itemState","isFilled","isFullIcon","eventState","onMouseup","VRatingItem","showStar","btnProps","VSheet","VSlider","thumbContainerRef","VSwitch","loaderColor","control","VSystemBar","lightsOut","VTable","fixedHeader","fixedFooter","VTextarea","autoGrow","autofocus","persistentPlaceholder","persistentCounter","noResize","rows","maxRows","suffix","controlHeight","maxlength","sizerRef","calculateInputHeight","padding","lineHeight","showPlaceholder","useForwardRef","Proxy","Reflect","getOwnPropertyDescriptor","dirtyTypes","VTextField","vInputRef","vFieldRef","VThemeProvider","withBackground","VTimelineSymbol","VTimelineDivider","hideDot","lineColor","iconColor","fillDot","dotColor","timeline","lineColorStyles","lineColorClasses","VTimelineItem","hideOpposite","dotSize","dotRef","opposite","VTimeline","lineInset","lineThickness","truncateLine","sideClass","VTooltip","args","VValidation","validation","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","originalEvent","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","eventName","Touch","VWindowSymbol","VWindowGroupSymbol","VWindow","continuous","showArrows","rootRef","isRtlReverse","axis","transitionCount","transitionHeight","activeIndex","itemsLength","lastIndex","canMoveBack","canMoveForward","arrows","prevProps","nextProps","touchOptions","VWindowItem","reverseTransition","isTransitioning","hasTransition","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnterTransition","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","mdi","createVuetify","install","components","mixin","$vuetify","call","_createVuetify","version"],"mappings":"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"}