1 |
- {"version":3,"file":"vuetify.esm.js","sources":["../src/util/propsFactory.ts","../src/composables/component.ts","../src/util/globals.ts","../src/util/helpers.ts","../src/util/anchor.ts","../src/util/box.ts","../src/util/animation.ts","../src/util/bindProps.ts","../src/util/console.ts","../src/util/color/transformCIELAB.ts","../src/util/color/transformSRGB.ts","../src/util/colorUtils.ts","../src/composables/toggleScope.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/injectSelf.ts","../src/util/isFixedPosition.ts","../src/util/useRender.ts","../src/composables/resizeObserver.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/proxiedModel.ts","../src/locale/adapters/vuetify.ts","../src/composables/locale.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/components/VApp/VApp.tsx","../src/composables/tag.ts","../src/components/VToolbar/VToolbarTitle.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/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/composables/transition.ts","../src/directives/intersect/index.ts","../src/components/VImg/VImg.tsx","../src/composables/border.ts","../src/composables/color.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/components/VToolbar/VToolbar.tsx","../src/composables/scroll.ts","../src/composables/ssrBoot.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/density.ts","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/iconsets/mdi.ts","../src/composables/icons.tsx","../src/composables/size.ts","../src/components/VIcon/VIcon.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressCircular/VProgressCircular.tsx","../src/composables/location.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/composables/selectLink.ts","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAlert/VAlertTitle.ts","../src/components/VAlert/VAlert.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckboxBtn.tsx","../src/components/VInput/InputIcon.tsx","../src/components/VMessages/VMessages.tsx","../src/composables/focus.ts","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChipGroup/VChipGroup.tsx","../src/components/VChip/VChip.tsx","../src/components/VList/list.ts","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListSubheader.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VList/VListChildren.tsx","../src/composables/list-items.ts","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemAction.tsx","../src/components/VList/VListItemMedia.tsx","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/locationStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/components/VMenu/shared.ts","../src/composables/delay.ts","../src/components/VOverlay/useActivator.tsx","../src/composables/display.ts","../src/composables/hydration.ts","../src/composables/lazy.ts","../src/composables/scopeId.ts","../src/composables/stack.ts","../src/composables/teleport.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/composables/forwardRefs.ts","../src/components/VMenu/VMenu.tsx","../src/components/VCounter/VCounter.tsx","../src/components/VField/VFieldLabel.tsx","../src/components/VField/VField.tsx","../src/components/VTextField/VTextField.tsx","../src/components/VVirtualScroll/VVirtualScrollItem.tsx","../src/composables/virtual.ts","../src/components/VVirtualScroll/VVirtualScroll.tsx","../src/components/VSelect/useScrolling.ts","../src/components/VSelect/VSelect.tsx","../src/composables/filter.ts","../src/components/VAutocomplete/VAutocomplete.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.tsx","../src/components/VBanner/VBannerText.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCardItem.tsx","../src/components/VCard/VCardText.ts","../src/components/VCard/VCard.tsx","../src/directives/touch/index.ts","../src/components/VWindow/VWindow.tsx","../src/components/VCarousel/VCarousel.tsx","../src/components/VWindow/VWindowItem.tsx","../src/components/VCarousel/VCarouselItem.tsx","../src/components/VCode/index.ts","../src/components/VColorPicker/VColorPickerCanvas.tsx","../src/components/VColorPicker/util/index.ts","../src/components/VColorPicker/VColorPickerEdit.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VColorPicker/VColorPickerPreview.tsx","../src/util/colors.ts","../src/components/VColorPicker/VColorPickerSwatches.tsx","../src/components/VSheet/VSheet.tsx","../src/components/VColorPicker/VColorPicker.tsx","../src/components/VCombobox/VCombobox.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../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/VLocaleProvider/VLocaleProvider.tsx","../src/components/VMain/VMain.tsx","../src/components/VNavigationDrawer/sticky.ts","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSlideGroup/helpers.ts","../src/components/VSlideGroup/VSlideGroup.tsx","../src/components/VSlideGroup/VSlideGroupItem.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTabs/shared.ts","../src/components/VTabs/VTab.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/VTimeline.tsx","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VToolbar/VToolbarItems.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/labs/date/adapters/vuetify.ts","../src/labs/date/date.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["// Types\nimport type { IfAny } from '@vue/shared' // eslint-disable-line vue/prefer-import-from-vue\nimport 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 && !obj[prop].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 // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n ? any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T\n","// Utilities\nimport { propsFactory } from '@/util/propsFactory'\n\n// Types\nimport type { PropType, StyleValue } from 'vue'\n\nexport type ClassValue = any\n\nexport interface ComponentProps {\n class?: ClassValue\n style: StyleValue | undefined\n}\n\n// Composables\nexport const makeComponentProps = propsFactory({\n class: [String, Array] as PropType<ClassValue>,\n style: {\n type: [String, Array, Object] as PropType<StyleValue>,\n default: null,\n },\n}, 'component')\n","export const IN_BROWSER = typeof window !== 'undefined'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\n","// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} 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\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\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\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 refElement<T extends object | undefined> (obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement {\n return obj && '$el' in obj\n ? obj.$el as HTMLElement\n : obj as HTMLElement\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: Record<string, string> = 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 extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\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\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [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 ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nexport function only<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, include: U[]): Pick<T, U> {\n const clone = {} as T\n\n include.forEach(prop => clone[prop] = obj[prop])\n\n return clone\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\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\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 getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\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 padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\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 arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const 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, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(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 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 if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\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 function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\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\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[]\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n","// Utilities\nimport { includes } from '@/util/helpers'\n\nconst block = ['top', 'bottom'] as const\nconst inline = ['start', 'end', 'left', 'right'] 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: 'left' | 'right' | 'center' }\n | { side: 'left' | 'right', align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor, isRtl: boolean) {\n let [side, align] = anchor.split(' ') as [Tblock | Tinline | 'center', Tblock | Tinline | 'center' | undefined]\n if (!align) {\n align =\n includes(block, side) ? 'start'\n : includes(inline, side) ? 'top'\n : 'center'\n }\n\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl),\n } as ParsedAnchor\n}\n\nexport function toPhysical (str: 'center' | Tblock | Tinline, isRtl: boolean) {\n if (str === 'start') return isRtl ? 'right' : 'left'\n if (str === 'end') return isRtl ? 'left' : 'right'\n return str\n}\n\nexport function flipSide (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\nexport function flipAlign (anchor: ParsedAnchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.align],\n } as ParsedAnchor\n}\n\nexport function flipCorner (anchor: ParsedAnchor) {\n return {\n side: anchor.align,\n align: anchor.side,\n } as ParsedAnchor\n}\n\nexport function getAxis (anchor: ParsedAnchor) {\n return includes(block, anchor.side) ? 'y' : 'x'\n}\n","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\nexport function getOverflow (a: Box, b: Box) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n }\n}\n","// Utilities\nimport { 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 + 1\n const h = sy ? rect.height / sy : el.offsetHeight + 1\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n\nexport function animate (\n el: Element,\n keyframes: Keyframe[] | PropertyIndexedKeyframes | null,\n options?: number | KeyframeAnimationOptions\n) {\n if (typeof el.animate === 'undefined') return { finished: Promise.resolve() }\n\n let animation: Animation\n try {\n animation = el.animate(keyframes, options)\n } catch (err) {\n return { finished: Promise.resolve() }\n }\n\n if (typeof animation.finished === 'undefined') {\n (animation as any).finished = new Promise(resolve => {\n animation.onfinish = () => {\n resolve(animation)\n }\n })\n }\n\n return animation\n}\n","// Utilities\nimport { eventName, isOn } from '@/util/helpers'\n\nconst handlers = new WeakMap<HTMLElement, Set<[string, () => void]>>()\n\nexport function bindProps (el: HTMLElement, props: Record<string, any>) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k)\n const handler = handlers.get(el)\n if (props[k] == null) {\n handler?.forEach(v => {\n const [n, fn] = v\n if (n === name) {\n el.removeEventListener(name, fn)\n handler.delete(v)\n }\n })\n } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {\n el.addEventListener(name, props[k])\n const _handler = handler || new Set()\n _handler.add([name, props[k]])\n if (!handlers.has(el)) handlers.set(el, _handler)\n }\n } else {\n if (props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, props[k])\n }\n }\n })\n}\n\nexport function unbindProps (el: HTMLElement, props: Record<string, any>) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k)\n const handler = handlers.get(el)\n handler?.forEach(v => {\n const [n, fn] = v\n if (n === name) {\n el.removeEventListener(name, fn)\n handler.delete(v)\n }\n })\n } else {\n el.removeAttribute(k)\n }\n })\n}\n","/* eslint-disable no-console */\n\n// Utilities\nimport { warn } from 'vue'\n\nexport function consoleWarn (message: string): void {\n warn(`Vuetify: ${message}`)\n}\n\nexport function consoleError (message: string): void {\n warn(`Vuetify error: ${message}`)\n}\n\nexport function deprecate (original: string, replacement: string | string[]) {\n replacement = Array.isArray(replacement)\n ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'`\n : `'${replacement}'`\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`)\n}\nexport function breaking (original: string, replacement: string) {\n // warn(`[Vuetify 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`)\n}\nexport function removed (original: string) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n","// Types\nimport 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 { clamp } from '@/util/helpers'\n\n// Types\nimport type { RGB, XYZ } from '../colorUtils'\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): RGB {\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 // Rescale back to [0, 255]\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 return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n }\n}\n\nexport function toXYZ ({ r, g, b }: RGB): 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 r = transform(r / 255)\n g = transform(g / 255)\n b = transform(b / 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","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, has, padEnd } from './helpers'\nimport * as CIELAB from '@/util/color/transformCIELAB'\nimport * as sRGB from '@/util/color/transformSRGB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | HSV | RGB | HSL\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/\nconst mappers = {\n rgb: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n rgba: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n hsl: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsla: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsv: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n hsva: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const { groups } = color.match(cssColorRe)!\n const { fn, values } = groups as { fn: keyof typeof mappers, values: string }\n const realValues = values.split(/,\\s*/)\n .map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100\n } else {\n return parseFloat(v)\n }\n }) as [number, number, number, number?]\n\n return mappers[fn](...realValues)\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color))\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color)\n }\n }\n\n throw new TypeError(`Invalid color: ${color == null ? color : (String(color) || (color as any).constructor.name)}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\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\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\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\nexport function HSLtoRGB (hsla: HSL): RGB {\n return HSVtoRGB(HSLtoHSV(hsla))\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\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 HSVtoHSL (hsva: HSV): HSL {\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 HSLtoHSV (hsl: HSL): HSV {\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 RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(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(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\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(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\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\nexport function darken (value: RGB, amount: number): RGB {\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 = parseColor(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 { effectScope, onScopeDispose, watch } from 'vue'\n\n// Types\nimport type { EffectScope, WatchSource } from 'vue'\n\nexport function useToggleScope (source: WatchSource<boolean>, fn: (reset: () => void) => void) {\n let scope: EffectScope | undefined\n function start () {\n scope = effectScope()\n scope.run(() => fn.length\n ? fn(() => { scope?.stop(); start() })\n : (fn as any)()\n )\n }\n\n watch(source, active => {\n if (active && !scope) {\n start()\n } else if (!active) {\n scope?.stop()\n scope = undefined\n }\n }, { immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n","// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue'\nimport { getCurrentInstance, injectSelf, mergeDeep, toKebabCase } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref, VNode } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type DefaultsInstance = undefined | {\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 injectDefaults () {\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 disabled?: MaybeRef<boolean | undefined>\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | string | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = injectDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const disabled = unref(options?.disabled)\n\n if (disabled) return injectedDefaults.value\n\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' in properties)) {\n break\n }\n\n properties = properties.prev\n }\n\n if (properties && typeof root === 'string' && root in properties) {\n properties = mergeDeep(mergeDeep(properties, { prev: properties }), properties[root])\n }\n\n return properties\n }\n\n return properties.prev\n ? mergeDeep(properties.prev, properties)\n : properties\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n}\n\nexport function internalUseDefaults (\n props: Record<string, any> = {},\n name?: string,\n defaults = injectDefaults()\n) {\n const vm = getCurrentInstance('useDefaults')\n\n name = name ?? vm.type.name ?? vm.type.__name\n if (!name) {\n throw new Error('[Vuetify] Could not determine component name')\n }\n\n const componentDefaults = computed(() => defaults.value?.[props._as ?? name])\n const _props = new Proxy(props, {\n get (target, prop) {\n const propValue = Reflect.get(target, prop)\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter(v => v != null)\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue\n }\n return propValue\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n })\n\n function provideSubDefaults () {\n // If subcomponent defaults are provided, override any\n // subcomponents provided by the component's setup function.\n // This uses injectSelf so must be done after the original setup to work.\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(\n injectSelf(DefaultsSymbol)?.value ?? {},\n _subcomponentDefaults.value\n ))\n })\n }\n\n return { props: _props, provideSubDefaults }\n}\n\nexport function useDefaults<T extends Record<string, any>> (props: T, name?: string): T\nexport function useDefaults (props?: undefined, name?: string): Record<string, any>\nexport function useDefaults (\n props: Record<string, any> = {},\n name?: string,\n) {\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, name)\n provideSubDefaults()\n return _props\n}\n","// Composables\nimport { injectDefaults, internalUseDefaults } from '@/composables/defaults'\n\n// Utilities\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { pick } from '@/util/helpers'\nimport { propsFactory } from '@/util/propsFactory'\n\n// Types\nimport type {\n AllowedComponentProps,\n ComponentCustomProps,\n ComponentInjectOptions,\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentOptionsWithoutProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n ObjectEmitsOptions,\n SlotsType,\n VNode,\n VNodeChild,\n VNodeProps,\n} from 'vue'\n\n// No props\nexport function defineComponent<\n Props = {},\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 = {},\n EE extends string = string,\n I extends {} = {},\n II extends string = string,\n S extends SlotsType = {},\n>(\n options: ComponentOptionsWithoutProps<\n Props,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n I,\n II,\n S\n >\n): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE>\n\n// Object Props\nexport function defineComponent<\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 = {},\n EE extends string = string,\n I extends {} = {},\n II extends string = string,\n S extends SlotsType = {},\n>(\n options: ComponentOptionsWithObjectProps<\n PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n I,\n II,\n S\n >\n): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE> & FilterPropsOptions<PropsOptions>\n\n// Implementation\nexport 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.props = propsFactory(options.props ?? {}, options.name)()\n const propKeys = Object.keys(options.props)\n options.filterProps = function filterProps (props: Record<string, any>) {\n return pick(props, propKeys, ['class', 'style'])\n }\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const defaults = injectDefaults()\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx)\n\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, props._as ?? options.name, defaults)\n\n const setupBindings = options._setup(_props, ctx)\n\n provideSubDefaults()\n\n return setupBindings\n }\n }\n\n return options\n}\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<\n U extends RawSlots,\n T = MakeInternalSlots<U>\n> = {\n $children?: (\n | VNodeChild\n | (T extends { default: infer V } ? V : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}\n\ntype RawSlots = Record<string, unknown>\ntype Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild\ntype VueSlot<T> = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[]\ntype MakeInternalSlots<T extends RawSlots> = {\n [K in keyof T]: Slot<T[K]>\n}\ntype MakeSlots<T extends RawSlots> = {\n [K in keyof T]: VueSlot<T[K]>\n}\n\nexport type GenericProps<Props, Slots extends Record<string, unknown>> = {\n $props: Props & SlotsToProps<Slots>\n $slots: MakeSlots<Slots>\n}\n\ntype DefineComponentWithGenericProps<T extends (new (props: Record<string, any>, slots: RawSlots) => {\n $props?: Record<string, any>\n})> = <\n PropsOptions extends Readonly<ComponentObjectPropsOptions>,\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 extends ComponentInjectOptions = {},\n II extends string = string,\n // Slots extends RawSlots = ConstructorParameters<T> extends [any, infer SS extends RawSlots | undefined] ? Exclude<SS, undefined> : {},\n Slots extends RawSlots = ConstructorParameters<T>[1],\n S extends SlotsType = SlotsType<Partial<MakeSlots<Slots>>>,\n III = InstanceType<T>,\n P = III extends Record<'$props', any>\n ? Omit<PropsOptions, keyof III['$props']>\n : PropsOptions,\n Base = DefineComponent<\n P,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : III extends Record<'$props', any> ? Omit<E, ToListeners<keyof III['$props']>> : E,\n EE,\n PublicProps,\n ExtractPropTypes<P> & ({} extends E ? {} : EmitsToProps<E>),\n ExtractDefaultPropTypes<P>,\n S\n >\n>(\n options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>\n) => Base & T & FilterPropsOptions<PropsOptions>\n\ntype DefineComponentWithSlots<Slots extends RawSlots> = <\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 extends ComponentInjectOptions = {},\n II extends string = string,\n S extends SlotsType = SlotsType<Partial<MakeSlots<Slots>>>,\n>(\n options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>\n) => DefineComponent<\n ExtractPropTypes<PropsOptions> & SlotsToProps<Slots>,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E,\n EE,\n PublicProps,\n ExtractPropTypes<PropsOptions> & SlotsToProps<Slots> & ({} extends E ? {} : EmitsToProps<E>),\n ExtractDefaultPropTypes<PropsOptions>,\n S\n> & FilterPropsOptions<PropsOptions>\n\n// No argument - simple default slot\nexport function genericComponent (exposeDefaults?: boolean): DefineComponentWithSlots<{ default: never }>\n\n// Generic constructor argument - generic props and slots\nexport function genericComponent<T extends (new (props: Record<string, any>, slots: any) => {\n $props?: Record<string, any>\n})> (exposeDefaults?: boolean): DefineComponentWithGenericProps<T>\n\n// Slots argument - simple slots\nexport function genericComponent<\n Slots extends RawSlots\n> (exposeDefaults?: boolean): DefineComponentWithSlots<Slots>\n\n// Implementation\nexport function genericComponent (exposeDefaults = true) {\n return (options: any) => ((exposeDefaults ? defineComponent : _defineComponent) as any)(options)\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n\ntype EmitsToProps<T extends EmitsOptions> = T extends string[]\n ? {\n [K in string & `on${Capitalize<T[number]>}`]?: (...args: any[]) => any\n }\n : T extends ObjectEmitsOptions\n ? {\n [K in string &\n `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}`\n ? T[Uncapitalize<C>] extends null\n ? (...args: any[]) => any\n : (\n ...args: T[Uncapitalize<C>] extends (...args: infer P) => any\n ? P\n : never\n ) => any\n : never\n }\n : {}\n\ntype PublicProps =\n & VNodeProps\n & AllowedComponentProps\n & ComponentCustomProps\n\n// Adds a filterProps method to the component options\nexport interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {\n filterProps<\n T extends Partial<Props>,\n U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>\n > (props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>]\n}\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { camelize, capitalize, h } from 'vue'\nimport { genericComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return genericComponent()({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n\n ...makeComponentProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return h(props.tag, {\n class: [klass, props.class],\n style: props.style,\n }, slots.default?.())\n }\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/helpers'\n\n// Types\nimport type { ComponentInternalInstance } from 'vue'\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 const vm = getCurrentInstance(name).type\n\n return toKebabCase(vm?.aliasName || vm?.name)\n}\n\nlet _uid = 0\nlet _map = new WeakMap<ComponentInternalInstance, number>()\nexport function getUid () {\n const vm = getCurrentInstance('getUid')\n\n if (_map.has(vm)) return _map.get(vm)!\n else {\n const uid = _uid++\n _map.set(vm, uid)\n return uid\n }\n}\ngetUid.reset = () => {\n _uid = 0\n _map = new WeakMap()\n}\n","export function getScrollParent (el?: HTMLElement, includeHidden = false) {\n while (el) {\n if (includeHidden ? isPotentiallyScrollable(el) : hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: Element | null, stopAt?: Element | null) {\n const elements: HTMLElement[] = []\n\n if (stopAt && el && !stopAt.contains(el)) return elements\n\n while (el) {\n if (hasScrollbar(el)) elements.push(el as HTMLElement)\n if (el === stopAt) break\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\nfunction isPotentiallyScrollable (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['scroll', 'auto'].includes(style.overflowY)\n}\n","// Utilities\nimport { getCurrentInstance } from '@/util/getCurrentInstance'\n\n// Types\nimport type { InjectionKey } from 'vue'\n\nexport function injectSelf<T>(key: InjectionKey<T> | string): T | undefined\nexport function injectSelf (key: InjectionKey<any> | string) {\n const { provides } = getCurrentInstance('injectSelf')\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n return undefined\n}\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","// 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","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport { refElement } from '@/util'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type { DeepReadonly, Ref } from 'vue'\n\ninterface ResizeState {\n resizeRef: Ref<HTMLElement | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback, box: 'content' | 'border' = 'content'): ResizeState {\n const resizeRef = ref<HTMLElement>()\n const contentRect = ref<DOMRectReadOnly>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n if (box === 'content') {\n contentRect.value = entries[0].contentRect\n } else {\n contentRect.value = entries[0].target.getBoundingClientRect()\n }\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(refElement(oldValue))\n contentRect.value = undefined\n }\n\n if (newValue) observer.observe(refElement(newValue))\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n }\n}\n","// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n provide,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ninterface Layer {\n top: number\n bottom: number\n left: number\n right: number\n}\n\ninterface LayoutItem extends Layer {\n id: string\n size: number\n position: Position\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<CSSProperties>\n layoutItemScrimStyles: Ref<CSSProperties>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainRect: Ref<Layer>\n mainStyles: Ref<CSSProperties>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\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 order: {\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('[Vuetify] Could not find injected layout')\n\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles,\n }\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = shallowRef(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n): { id: string, layer: Layer }[] => {\n let previousLayer: Layer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\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\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\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 uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer\n })\n\n const mainStyles = computed<CSSProperties>(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.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 const position = positions.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n position: position!.value,\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, order)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed<CSSProperties>(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (!isMounted.value) return styles\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`[Vuetify] 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 return {\n ...styles,\n height:\n isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width:\n !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n }\n })\n\n const layoutItemScrimStyles = computed<CSSProperties>(() => ({\n zIndex: zIndex.value - 1,\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n position: parentLayout ? 'relative' as const : undefined,\n overflow: parentLayout ? 'hidden' : undefined,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\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 dateRangeInput: {\n divider: 'to',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Cancel',\n range: {\n title: 'Select dates',\n header: 'Enter dates',\n },\n title: 'Select date',\n header: 'Enter date',\n input: {\n placeholder: 'Enter date',\n },\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 input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n otp: 'Please enter OTP character {0}',\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: 'Go to page {0}',\n currentPage: 'Page {0}, Current page',\n first: 'First page',\n last: 'Last page',\n },\n },\n stepper: {\n next: 'Next',\n prev: 'Previous',\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n loading: 'Loading...',\n infiniteScroll: {\n loadMore: 'Load more',\n empty: 'No more',\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 defaultRtl = {\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: true,\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","// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype InnerVal<T> = T extends any[] ? Readonly<T> : T\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 const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue) as Ref<Props[Prop]>\n const kebabProp = toKebabCase(prop)\n const checkKebab = kebabProp !== prop\n\n const isControlled = checkKebab\n ? computed(() => {\n void props[prop]\n return !!(\n (vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) &&\n (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`))\n )\n })\n : computed(() => {\n void props[prop]\n return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`))\n })\n\n useToggleScope(() => !isControlled.value, () => {\n watch(() => props[prop], val => {\n internal.value = val\n })\n })\n\n const model = computed({\n get (): any {\n const externalValue = props[prop]\n return transformIn(isControlled.value ? externalValue : internal.value)\n },\n set (internalValue) {\n const newValue = transformOut(internalValue)\n const value = toRaw(isControlled.value ? props[prop] : internal.value)\n if (value === newValue || transformIn(value) === internalValue) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, newValue)\n },\n }) as any as Ref<InnerVal<Inner>> & { readonly externalValue: Props[Prop] }\n\n Object.defineProperty(model, 'externalValue', {\n get: () => isControlled.value ? props[prop] : internal.value,\n })\n\n return model\n}\n","// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { ref, shallowRef, watch } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\n// Locales\nimport en from '@/locale/en'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\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\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop, props[prop] ?? provided.value)\n\n // TODO: Remove when defaultValue works\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = provided.value\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (state: { current: Ref<string>, fallback: Ref<string>, messages: Ref<LocaleMessages> }) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', state.current)\n const fallback = useProvided(props, 'fallback', state.fallback)\n const messages = useProvided(props, 'messages', state.messages)\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n }\n}\n\nexport function createVuetifyAdapter (options?: LocaleOptions): LocaleInstance {\n const current = shallowRef(options?.locale ?? 'en')\n const fallback = shallowRef(options?.fallback ?? 'en')\n const messages = ref({ en, ...options?.messages })\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n}\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { defaultRtl } from '@/locale'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n messages?: LocaleMessages\n locale?: string\n fallback?: string\n adapter?: LocaleInstance\n}\n\nexport interface LocaleInstance {\n name: string\n messages: Ref<LocaleMessages>\n current: Ref<string>\n fallback: Ref<string>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n provide: (props: LocaleOptions) => LocaleInstance\n}\n\nexport const LocaleSymbol: InjectionKey<LocaleInstance & RtlInstance> = Symbol.for('vuetify:locale')\n\nfunction isLocaleInstance (obj: any): obj is LocaleInstance {\n return obj.name != null\n}\n\nexport function createLocale (options?: LocaleOptions & RtlOptions) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options)\n const rtl = createRtl(i18n, options)\n\n return { ...i18n, ...rtl }\n}\n\nexport function useLocale () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return locale\n}\n\nexport function provideLocale (props: LocaleOptions & RtlProps) {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const i18n = locale.provide(props)\n const rtl = provideRtl(i18n, locale.rtl, props)\n\n const data = { ...i18n, ...rtl }\n\n provide(LocaleSymbol, data)\n\n return data\n}\n\n// RTL\n\nexport interface RtlOptions {\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Ref<Record<string, boolean>>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n const rtl = ref<Record<string, boolean>>(options?.rtl ?? defaultRtl)\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (locale: LocaleInstance, rtl: RtlInstance['rtl'], props: RtlProps): RtlInstance {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false)\n\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function useRtl () {\n const locale = inject(LocaleSymbol)\n\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return { isRtl: locale.isRtl, rtlClasses: locale.rtlClasses }\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// Types\nimport type { RGB } from '@/util'\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: RGB, background: RGB) {\n // Linearize sRGB\n const Rtxt = (text.r / 255) ** mainTRC\n const Gtxt = (text.g / 255) ** mainTRC\n const Btxt = (text.b / 255) ** mainTRC\n\n const Rbg = (background.r / 255) ** mainTRC\n const Gbg = (background.g / 255) ** mainTRC\n const Bbg = (background.b / 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 {\n computed,\n inject,\n provide,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n lighten,\n mergeDeep,\n parseColor,\n propsFactory,\n RGBtoHex,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { HeadClient } from '@vueuse/head'\nimport type { App, DeepReadonly, InjectionKey, Ref } from 'vue'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\nexport type ThemeOptions = false | {\n cspNonce?: string\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\ninterface InternalThemeOptions {\n cspNonce?: string\n isDisabled: boolean\n defaultTheme: string\n variations: false | VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\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 ThemeInstance {\n readonly isDisabled: boolean\n readonly themes: Ref<Record<string, InternalThemeDefinition>>\n\n readonly name: Readonly<Ref<string>>\n readonly current: DeepReadonly<Ref<InternalThemeDefinition>>\n readonly computedThemes: DeepReadonly<Ref<Record<string, InternalThemeDefinition>>>\n\n readonly themeClasses: Readonly<Ref<string | undefined>>\n readonly styles: Readonly<Ref<string>>\n\n readonly global: {\n readonly name: Ref<string>\n readonly current: DeepReadonly<Ref<InternalThemeDefinition>>\n }\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: Exclude<ThemeOptions, false> = {\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 'theme-kbd': '#212529',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#F5F5F5',\n 'theme-on-code': '#000000',\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': 1,\n 'medium-emphasis-opacity': 0.70,\n 'disabled-opacity': 0.50,\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 'theme-kbd': '#212529',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#343434',\n 'theme-on-code': '#CCCCCC',\n },\n },\n },\n}\n\nfunction parseThemeOptions (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes: Record<string, InternalThemeDefinition> = {}\n for (const [key, theme] of Object.entries(options.themes ?? {})) {\n const defaultTheme = theme.dark || key === 'dark'\n ? defaultThemeOptions.themes?.dark\n : defaultThemeOptions.themes?.light\n themes[key] = mergeDeep(defaultTheme, theme) as InternalThemeDefinition\n }\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (options?: ThemeOptions): ThemeInstance & { install: (app: App) => void } {\n const parsedOptions = parseThemeOptions(options)\n const name = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n\n const computedThemes = computed(() => {\n const acc: Record<string, InternalThemeDefinition> = {}\n for (const [name, original] of Object.entries(themes.value)) {\n const theme: InternalThemeDefinition = acc[name] = {\n ...original,\n colors: {\n ...original.colors,\n },\n }\n\n if (parsedOptions.variations) {\n for (const name of parsedOptions.variations.colors) {\n const color = theme.colors[name]\n\n if (!color) continue\n\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(parsedOptions.variations[variation], 1)) {\n theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount))\n }\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 = parseColor(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(parseColor(0), colorVal))\n const whiteContrast = Math.abs(APCAcontrast(parseColor(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\n return acc\n })\n const current = computed(() => computedThemes.value[name.value])\n\n const styles = computed(() => {\n const lines: string[] = []\n\n if (current.value.dark) {\n createCssClass(lines, ':root', ['color-scheme: dark'])\n }\n\n createCssClass(lines, ':root', genCssVariables(current.value))\n\n for (const [themeName, theme] of Object.entries(computedThemes.value)) {\n createCssClass(lines, `.v-theme--${themeName}`, [\n `color-scheme: ${theme.dark ? 'dark' : 'normal'}`,\n ...genCssVariables(theme),\n ])\n }\n\n const bgLines: string[] = []\n const fgLines: string[] = []\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 createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`])\n } else {\n createCssClass(bgLines, `.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background-color: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ])\n createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`])\n createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`])\n }\n }\n\n lines.push(...bgLines, ...fgLines)\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function getHead () {\n return {\n style: [{\n children: styles.value,\n id: 'vuetify-theme-stylesheet',\n nonce: parsedOptions.cspNonce || false as never,\n }],\n }\n }\n\n function install (app: App) {\n if (parsedOptions.isDisabled) return\n\n const head = app._context.provides.usehead as HeadClient | undefined\n if (head) {\n if (head.push) {\n const entry = head.push(getHead)\n if (IN_BROWSER) {\n watch(styles, () => { entry.patch(getHead) })\n }\n } else {\n if (IN_BROWSER) {\n head.addHeadObjs(computed(getHead))\n watchEffect(() => head.updateDOM())\n } else {\n head.addHeadObjs(getHead())\n }\n }\n } else {\n let styleEl = IN_BROWSER\n ? document.getElementById('vuetify-theme-stylesheet')\n : null\n\n if (IN_BROWSER) {\n watch(styles, updateStyles, { immediate: true })\n } else {\n updateStyles()\n }\n\n function updateStyles () {\n if (typeof document !== 'undefined' && !styleEl) {\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n if (parsedOptions.cspNonce) el.setAttribute('nonce', parsedOptions.cspNonce)\n\n styleEl = el\n document.head.appendChild(styleEl)\n }\n\n if (styleEl) styleEl.innerHTML = styles.value\n }\n }\n }\n\n const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`)\n\n return {\n install,\n isDisabled: parsedOptions.isDisabled,\n name,\n themes,\n current,\n computedThemes,\n themeClasses,\n styles,\n global: {\n name,\n current,\n },\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 name = computed<string>(() => {\n return props.theme ?? theme?.name.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n name,\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\nfunction createCssClass (lines: string[], selector: string, content: string[]) {\n lines.push(\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n )\n}\n\nfunction genCssVariables (theme: InternalThemeDefinition) {\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 = parseColor(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 for (const [key, value] of Object.entries(theme.variables)) {\n const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n variables.push(`--v-${key}: ${rgb ?? value}`)\n }\n\n return variables\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n}, 'VApp')\n\nexport const VApp = genericComponent()({\n name: 'VApp',\n\n props: makeVAppProps(),\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n layoutStyles.value,\n props.style,\n ]}\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 { 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","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVToolbarTitleProps = propsFactory({\n text: String,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VToolbarTitle')\n\nexport type VToolbarTitleSlots = {\n default: never\n text: never\n}\n\nexport const VToolbarTitle = genericComponent<VToolbarTitleSlots>()({\n name: 'VToolbarTitle',\n\n props: makeVToolbarTitleProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n <props.tag\n class={[\n 'v-toolbar-title',\n props.class,\n ]}\n style={ props.style }\n >\n { hasText && (\n <div class=\"v-toolbar-title__placeholder\">\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType<typeof VToolbarTitle>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { FunctionalComponent, PropType } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n disabled: Boolean,\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: String,\n origin: String,\n}, 'transition')\n\nexport function createCssTransition (\n name: string,\n origin?: string,\n mode?: string\n) {\n return genericComponent()({\n name,\n\n props: makeTransitionProps({\n mode,\n origin,\n }),\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: HTMLElement) {\n if (props.origin) {\n el.style.transformOrigin = props.origin\n }\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 }\n\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.group ? undefined : { mode: props.mode }),\n ...(props.disabled ? {} : functions),\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 genericComponent()({\n name,\n\n props: {\n mode: {\n type: String as PropType<'in-out' | 'out-in' | 'default'>,\n default: mode,\n },\n disabled: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...(props.disabled ? {} : 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","// Utilities\nimport { Transition } from 'vue'\nimport {\n acceleratedEasing,\n animate,\n deceleratedEasing,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDialogTransitionProps = propsFactory({\n target: Object as PropType<HTMLElement>,\n}, 'v-dialog-transition')\n\nexport const VDialogTransition = genericComponent()({\n name: 'VDialogTransition',\n\n props: makeVDialogTransitionProps(),\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n ;(el as HTMLElement).style.visibility = 'hidden'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n ;(el as HTMLElement).style.visibility = ''\n\n const { x, y, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n {},\n ], {\n duration: 225 * speed,\n easing: deceleratedEasing,\n })\n getChildren(el)?.forEach(el => {\n animate(el, [\n { opacity: 0 },\n { opacity: 0, offset: 0.33 },\n {},\n ], {\n duration: 225 * 2 * speed,\n easing: standardEasing,\n })\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, sx, sy, speed } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = animate(el, [\n {},\n { transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`, opacity: 0 },\n ], {\n duration: 125 * speed,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n getChildren(el)?.forEach(el => {\n animate(el, [\n {},\n { opacity: 0, offset: 0.2 },\n { opacity: 0 },\n ], {\n duration: 125 * 2 * speed,\n easing: standardEasing,\n })\n })\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\n/** Animatable children (card, sheet, list) */\nfunction getChildren (el: Element) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children\n return els && [...els]\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 const tsx = targetBox.width / elBox.width\n const tsy = targetBox.height / elBox.height\n const maxs = Math.max(1, tsx, tsy)\n const sx = tsx / maxs || 0\n const sy = tsy / maxs || 0\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = (elBox.width * elBox.height) / (window.innerWidth * window.innerHeight)\n const speed = asa > 0.12\n ? Math.min(1.5, (asa - 0.12) * 10 + 1)\n : 1\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed,\n }\n}\n\nexport type VDialogTransition = InstanceType<typeof VDialogTransition>\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\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\nexport type VFabTransition = InstanceType<typeof VFabTransition>\nexport type VDialogBottomTransition = InstanceType<typeof VDialogBottomTransition>\nexport type VDialogTopTransition = InstanceType<typeof VDialogTopTransition>\nexport type VFadeTransition = InstanceType<typeof VFadeTransition>\nexport type VScaleTransition = InstanceType<typeof VScaleTransition>\nexport type VScrollXTransition = InstanceType<typeof VScrollXTransition>\nexport type VScrollXReverseTransition = InstanceType<typeof VScrollXReverseTransition>\nexport type VScrollYTransition = InstanceType<typeof VScrollYTransition>\nexport type VScrollYReverseTransition = InstanceType<typeof VScrollYReverseTransition>\nexport type VSlideXTransition = InstanceType<typeof VSlideXTransition>\nexport type VSlideXReverseTransition = InstanceType<typeof VSlideXReverseTransition>\nexport type VSlideYTransition = InstanceType<typeof VSlideYTransition>\nexport type VSlideYReverseTransition = InstanceType<typeof VSlideYReverseTransition>\nexport type VExpandTransition = InstanceType<typeof VExpandTransition>\nexport type VExpandXTransition = InstanceType<typeof VExpandXTransition>\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { toRefs } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport const makeVDefaultsProviderProps = propsFactory({\n defaults: Object as PropType<DefaultsOptions>,\n disabled: Boolean,\n reset: [Number, String],\n root: [Boolean, String],\n scoped: Boolean,\n}, 'VDefaultsProvider')\n\nexport const VDefaultsProvider = genericComponent(false)({\n name: 'VDefaultsProvider',\n\n props: makeVDefaultsProviderProps(),\n\n setup (props, { slots }) {\n const { defaults, disabled, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n disabled,\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VDefaultsProvider = InstanceType<typeof VDefaultsProvider>\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 { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: never\n additional: never\n}\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 makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: String,\n inline: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VResponsive')\n\nexport const VResponsive = genericComponent<VResponsiveSlots>()({\n name: 'VResponsive',\n\n props: makeVResponsiveProps(),\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <div\n class={[\n 'v-responsive',\n { 'v-responsive--inline': props.inline },\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n\n { slots.additional?.() }\n\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType<typeof VResponsive>\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 | boolean | 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 disabled?: boolean\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, disabled, ...rest } = props\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string'\n ? { name: disabled ? '' : transition }\n : customProps as any,\n rest as any,\n { disabled }),\n slots\n )\n}\n","// Utilities\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\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 = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\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 type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\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\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'VImg')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<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 || 0),\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 watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\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\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\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\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 let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\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 timer = window.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 = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\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 = () => (\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={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\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 = () => {\n if (!slots.error) return null\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 = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(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 const [responsiveProps] = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n { ...responsiveProps }\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 >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\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, isRef } 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 border = isRef(props) ? props.value : props.border\n const classes: string[] = []\n\n if (border === true || border === '') {\n classes.push(`${name}--border`)\n } else if (\n typeof border === 'string' ||\n border === 0\n ) {\n for (const value of String(border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { destructComputed, 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 return destructComputed(() => {\n const classes: string[] = []\n const styles: CSSProperties = {}\n\n if (colors.value.background) {\n if (isCssColor(colors.value.background)) {\n styles.backgroundColor = colors.value.background\n } else {\n classes.push(`bg-${colors.value.background}`)\n }\n }\n\n if (colors.value.text) {\n if (isCssColor(colors.value.text)) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n } else {\n classes.push(`text-${colors.value.text}`)\n }\n }\n\n return { colorClasses: classes, colorStyles: styles }\n })\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, 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","// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n","// Utilities\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { clamp, consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport interface ScrollProps {\n scrollTarget?: string\n scrollThreshold?: string | number\n}\n\nexport interface ThresholdMetCallbackData {\n isScrollingUp: boolean\n currentThreshold: number\n savedScroll: Ref<number>\n}\n\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String,\n },\n scrollThreshold: {\n type: [String, Number],\n default: 300,\n },\n}, 'scroll')\n\nexport interface ScrollArguments {\n canScroll?: Readonly<Ref<boolean>>\n}\n\nexport function useScroll (\n props: ScrollProps,\n args: ScrollArguments = {},\n) {\n const { canScroll } = args\n let previousScroll = 0\n const target = ref<Element | Window | null>(null)\n const currentScroll = shallowRef(0)\n const savedScroll = shallowRef(0)\n const currentThreshold = shallowRef(0)\n const isScrollActive = shallowRef(false)\n const isScrollingUp = shallowRef(false)\n\n const scrollThreshold = computed(() => {\n return Number(props.scrollThreshold)\n })\n\n /**\n * 1: at top\n * 0: at threshold\n */\n const scrollRatio = computed(() => {\n return clamp(((scrollThreshold.value - currentScroll.value) / scrollThreshold.value) || 0)\n })\n\n const onScroll = () => {\n const targetEl = target.value\n\n if (!targetEl || (canScroll && !canScroll.value)) return\n\n previousScroll = currentScroll.value\n currentScroll.value = ('window' in targetEl) ? targetEl.pageYOffset : targetEl.scrollTop\n\n isScrollingUp.value = currentScroll.value < previousScroll\n currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value)\n }\n\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value\n })\n\n watch(isScrollActive, () => {\n savedScroll.value = 0\n })\n\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window\n\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`)\n return\n }\n\n if (newTarget === target.value) return\n\n target.value?.removeEventListener('scroll', onScroll)\n target.value = newTarget\n target.value.addEventListener('scroll', onScroll, { passive: true })\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll)\n })\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, { immediate: true })\n\n return {\n scrollThreshold,\n currentScroll,\n currentThreshold,\n isScrollActive,\n scrollRatio,\n\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll,\n }\n}\n","// Utilities\nimport { computed, onMounted, readonly, shallowRef } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = shallowRef(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, isBooted: readonly(isBooted) }\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n}, 'VAppBar')\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: makeVAppBarProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n // fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n // behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0\n\n const height = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (scrollBehavior.value.hide) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n })\n })\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const [toolbarProps] = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\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\n// typeof allowedDensities[number] evalutes to any\n// when generating api types for whatever reason.\nexport type Density = null | 'default' | 'comfortable' | 'compact'\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","// 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 = [\n 'elevated',\n 'flat',\n 'tonal',\n 'outlined',\n 'text',\n 'plain',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <span key=\"overlay\" class={ `${name}__overlay` } /> }\n\n <span key=\"underlay\" class={ `${name}__underlay` } />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'elevated',\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 { variant, color } = unref(props)\n return {\n [['elevated', 'flat'].includes(variant) ? '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 { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\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'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBtnGroupProps = propsFactory({\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n}, 'VBtnGroup')\n\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n\n props: makeVBtnGroupProps(),\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 density: toRef(props, 'density'),\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 props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n )\n })\n },\n})\n\nexport type VBtnGroup = InstanceType<typeof VBtnGroup>\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\nexport interface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface 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<Readonly<number[]>>\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 getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\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\nexport interface GroupItemProps extends ExtractPropTypes<ReturnType<typeof makeGroupItemProps>> {\n 'onGroup:selected': ((val: { value: boolean }) => void) | undefined\n}\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 id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\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 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 watch(isSelected, value => {\n vm.emit('group:selected', { value })\n })\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 key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\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, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\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 isSelected &&\n props.mandatory &&\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 !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (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: GroupProvide = {\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 getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids: number[] = []\n\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value))\n const itemByIndex = items[value]\n\n if (item?.value != null) {\n ids.push(item.id)\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id)\n }\n })\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values: unknown[] = []\n\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id)\n if (~itemIndex) {\n const item = items[itemIndex]\n values.push(item.value != null ? item.value : itemIndex)\n }\n })\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { makeVBtnGroupProps, VBtnGroup } from '@/components/VBtnGroup/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\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\ntype VBtnToggleSlots = {\n default: DefaultBtnToggleSlot\n}\n\nexport const makeVBtnToggleProps = propsFactory({\n ...makeVBtnGroupProps(),\n ...makeGroupProps(),\n}, 'VBtnToggle')\n\nexport const VBtnToggle = genericComponent<VBtnToggleSlots>()({\n name: 'VBtnToggle',\n\n props: makeVBtnToggleProps(),\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 const [btnGroupProps] = VBtnGroup.filterProps(props)\n\n return (\n <VBtnGroup\n class={[\n 'v-btn-toggle',\n props.class,\n ]}\n { ...btnGroupProps }\n style={ props.style }\n >\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot)}\n </VBtnGroup>\n )\n })\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n\nexport type VBtnToggle = InstanceType<typeof VBtnToggle>\n","// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Utilities\nimport { h } from 'vue'\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 sortAsc: 'mdi-arrow-up',\n sortDesc: 'mdi-arrow-down',\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 calendar: 'mdi-calendar',\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","// Icons\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { computed, inject, unref } from 'vue'\nimport { defineComponent, genericComponent, mergeDeep, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue =\n | string\n | (string | [path: string, opacity: number])[]\n | JSXComponent\nexport const IconValue = [String, Function, Object, Array] as PropType<IconValue>\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 sortAsc: IconValue\n sortDesc: 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 calendar: 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<Required<IconOptions>> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue,\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 = genericComponent()({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props, { slots }) {\n return () => {\n const Icon = props.icon as JSXComponent\n return (\n <props.tag>\n { props.icon ? <Icon /> : slots.default?.() }\n </props.tag>\n )\n }\n },\n})\nexport type VComponentIcon = InstanceType<typeof VComponentIcon>\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 { Array.isArray(props.icon)\n ? props.icon.map(path => (\n Array.isArray(path)\n ? <path d={ path[0] as string } fill-opacity={ path[1] }></path>\n : <path d={ path as string }></path>\n ))\n : <path d={ props.icon as string }></path>\n }\n </svg>\n </props.tag>\n )\n }\n },\n})\nexport type VSvgIcon = InstanceType<typeof VSvgIcon>\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})\nexport type VLigatureIcon = InstanceType<typeof VLigatureIcon>\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})\nexport type VClassIcon = InstanceType<typeof VClassIcon>\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport function createIcons (options?: IconOptions) {\n return mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases: {\n ...aliases,\n /* eslint-disable max-len */\n vuetify: [\n 'M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z',\n ['M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z', 0.6],\n ],\n 'vuetify-outline': 'svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z',\n /* eslint-enable max-len */\n },\n }, options)\n}\n\nexport const useIcon = (props: Ref<IconValue | undefined>) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData = computed<IconInstance>(() => {\n const iconAlias = unref(props)\n\n if (!iconAlias) return { component: VComponentIcon }\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof icon === 'string') {\n icon = icon.trim()\n\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)]\n }\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (Array.isArray(icon)) {\n return {\n component: VSvgIcon,\n icon,\n }\n } else 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","// Utilities\nimport { convertToUnit, destructComputed, getCurrentInstanceName, includes, 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 return destructComputed(() => {\n let sizeClasses\n let sizeStyles\n if (includes(predefinedSizes, props.size)) {\n sizeClasses = `${name}--size-${props.size}`\n } else if (props.size) {\n sizeStyles = {\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }\n }\n return { sizeClasses, sizeStyles }\n })\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, Text, toRef } from 'vue'\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'VIcon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = ref<string>()\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(computed(() => slotIcon.value || props.icon))\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ attrs.onClick ? 'button' : undefined }\n aria-hidden={ !attrs.onClick }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n","// Utilities\nimport { onBeforeUnmount, ref, shallowRef, watch } from 'vue'\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback, options?: IntersectionObserverInit) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = shallowRef(false)\n\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n }, options)\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\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVProgressCircularProps = propsFactory({\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 ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n}, 'VProgressCircular')\n\ntype VProgressCircularSlots = {\n default: { value: number }\n}\n\nexport const VProgressCircular = genericComponent<VProgressCircularSlots>()({\n name: 'VProgressCircular',\n\n props: makeVProgressCircularProps(),\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const root = ref<HTMLElement>()\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 const { resizeRef, contentRect } = useResizeObserver()\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\n ? Number(props.size)\n : contentRect.value\n ? contentRect.value.width\n : 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 watchEffect(() => {\n intersectionRef.value = root.value\n resizeRef.value = root.value\n })\n\n useRender(() => (\n <props.tag\n ref={ root }\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 props.class,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n props.style,\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\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 return {}\n },\n})\n\nexport type VProgressCircular = InstanceType<typeof VProgressCircular>\n","// Composables\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { parseAnchor, propsFactory } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType } from 'vue'\nimport type { Anchor } from '@/util'\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n} as const\n\nexport interface LocationProps {\n location: Anchor | undefined\n}\n\nexport const makeLocationProps = propsFactory({\n location: String as PropType<Anchor>,\n}, 'location')\n\nexport function useLocation (props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl()\n\n const locationStyles = computed(() => {\n if (!props.location) return {}\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1\n ? props.location\n : `${props.location} center` as Anchor,\n isRtl.value\n )\n\n function getOffset (side: string) {\n return offset\n ? offset(side)\n : 0\n }\n\n const styles = {} as CSSProperties\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`\n else styles[side] = 0\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`\n else styles[align] = 0\n } else {\n if (side === 'center') styles.top = styles.left = '50%'\n else {\n styles[({\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top',\n } as const)[side]] = '50%'\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)',\n }[side]\n }\n\n return styles\n })\n\n return { locationStyles }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, Transition } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\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 ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(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 useRender(() => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\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 rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...locationStyles.value,\n },\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\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 key=\"stream\"\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 return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\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, SetupContext } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\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<{\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","// Utilities\nimport { computed } from 'vue'\nimport { 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 position: Position | undefined\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const positionClasses = computed(() => {\n return props.position ? `${name}--${props.position}` : undefined\n })\n\n return { positionClasses }\n}\n","// Utilities\nimport {\n computed,\n nextTick,\n onScopeDispose,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\nimport { getCurrentInstance, hasEvent, IN_BROWSER, propsFactory } from '@/util'\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 UseLinkOptions,\n} from 'vue-router'\nimport type { EventProp } from '@/util'\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 | undefined\n replace: boolean | undefined\n to: RouteLocationRaw | undefined\n exact: boolean | undefined\n}\n\nexport interface LinkListeners {\n onClick?: EventProp | undefined\n onClickOnce?: EventProp | undefined\n}\n\nexport interface 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 & LinkListeners, 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 || hasEvent(attrs, 'click') || hasEvent(props, 'click')\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 UseLinkOptions) : undefined\n\n return {\n isLink,\n isClickable,\n route: link?.route,\n navigate: link?.navigate,\n isActive: link && computed(() => props.exact ? link.isExactActive?.value : link.isActive?.value),\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 exact: Boolean,\n}, 'router')\n\nlet inTransition = false\nexport function useBackButton (router: Router | undefined, cb: (next: NavigationGuardNext) => void) {\n let popped = false\n let removeBefore: (() => void) | undefined\n let removeAfter: (() => void) | undefined\n\n if (IN_BROWSER) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate)\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next())\n } else {\n popped ? cb(next) : next()\n }\n inTransition = true\n })\n removeAfter = router?.afterEach(() => {\n inTransition = false\n })\n })\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate)\n removeBefore?.()\n removeAfter?.()\n })\n }\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Utilities\nimport { nextTick, watch } from 'vue'\n\n// Types\nimport type { UseLink } from './router'\n\nexport function useSelectLink (link: UseLink, select?: (value: boolean, e?: Event) => void) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive && select) {\n nextTick(() => {\n select(true)\n })\n }\n }, {\n immediate: true,\n })\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: 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\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 stop?: 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 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 }, 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\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 if (animation.parentNode?.parentNode === el) 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[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = 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 rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!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?._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 if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\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: RippleDirectiveBinding) {\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: RippleDirectiveBinding) {\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 = {\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 { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\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 { IconValue } from '@/composables/icons'\nimport { makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { useSelectLink } from '@/composables/selectLink'\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 { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VBtnSlots = {\n default: never\n prepend: never\n append: never\n loader: never\n}\n\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object] as PropType<boolean | IconValue>,\n prependIcon: IconValue,\n appendIcon: IconValue,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VBtn')\n\nexport const VBtn = genericComponent<VBtnSlots>()({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: makeVBtnProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\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 { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active\n }\n\n if (link.isLink.value) {\n return link.isActive?.value\n }\n\n return group?.isSelected.value\n })\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border)\n })\n const valueAttr = computed(() => {\n if (props.value === undefined) return undefined\n\n return Object(props.value) === props.value\n ? JSON.stringify(props.value, null, 0) : props.value\n })\n\n function onClick (e: MouseEvent) {\n if (\n isDisabled.value ||\n (link.isLink.value && (\n e.metaKey ||\n e.ctrlKey ||\n e.shiftKey ||\n (e.button !== 0) ||\n attrs.target === '_blank'\n ))\n ) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n useSelectLink(link, group?.select)\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasPrepend = !!(props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendIcon || slots.append)\n const hasIcon = !!(props.icon && props.icon !== true)\n const hasColor = (\n (group?.isSelected.value && (!link.isLink.value || link.isActive?.value)) ||\n (!group || link.isActive?.value)\n )\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': isActive.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--loading': props.loading,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n locationStyles.value,\n sizeStyles.value,\n props.style,\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={ onClick }\n value={ valueAttr.value }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && hasPrepend && (\n <span key=\"prepend\" class=\"v-btn__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.prependIcon }\n defaults={{\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </span>\n )}\n\n <span class=\"v-btn__content\" data-no-activator=\"\">\n { (!slots.default && hasIcon) ? (\n <VIcon\n key=\"content-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !hasIcon }\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default?.() ?? props.text }\n </VDefaultsProvider>\n )}\n </span>\n\n { !props.icon && hasAppend && (\n <span key=\"append\" class=\"v-btn__append\">\n { !slots.append ? (\n <VIcon\n key=\"append-icon\"\n icon={ props.appendIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </span>\n )}\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n size=\"23\"\n width=\"2\"\n />\n )}\n </span>\n )}\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VBtnSlots } from '@/components/VBtn/VBtn'\n\nexport const makeVAppBarNavIconProps = propsFactory({\n ...makeVBtnProps({\n icon: '$menu',\n variant: 'text' as const,\n }),\n}, 'VAppBarNavIcon')\n\nexport const VAppBarNavIcon = genericComponent<VBtnSlots>()({\n name: 'VAppBarNavIcon',\n\n props: makeVAppBarNavIconProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VBtn\n { ...props }\n class={[\n 'v-app-bar-nav-icon',\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VAppBarNavIcon = InstanceType<typeof VAppBarNavIcon>\n","// Components\nimport { makeVToolbarTitleProps, VToolbarTitle } from '@/components/VToolbar/VToolbarTitle'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { VToolbarTitleSlots } from '@/components/VToolbar/VToolbarTitle'\n\nexport const VAppBarTitle = genericComponent<VToolbarTitleSlots>()({\n name: 'VAppBarTitle',\n\n props: makeVToolbarTitleProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VToolbarTitle\n { ...props }\n class=\"v-app-bar-title\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VAppBarTitle = InstanceType<typeof VAppBarTitle>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VAlertTitle = createSimpleFunctional('v-alert-title')\n\nexport type VAlertTitle = InstanceType<typeof VAlertTitle>\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } 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 makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\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: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\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 variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(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 { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'borderColor'))\n const { t } = useLocale()\n\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ icon.value }\n size={ props.prominent ? 44 : 28 }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{\n VIcon: {\n density: props.density,\n icon: icon.value,\n size: props.prominent ? 44 : 28,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLabelProps = propsFactory({\n text: String,\n clickable: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VLabel')\n\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n\n props: makeVLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--clickable': props.clickable,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n ))\n\n return {}\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { computed, onScopeDispose, provide, toRef } from 'vue'\nimport { deepEqual, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n modelValue: Ref<any>\n forceUpdate: () => void\n onForceUpdate: (fn: () => void) => void\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\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 modelValue: null,\n type: String,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps(),\n}, 'SelectionControlGroup')\n\nexport const makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: 'VSelectionControl',\n }),\n}, 'VSelectionControlGroup')\n\nexport const VSelectionControlGroup = genericComponent()({\n name: 'VSelectionControlGroup',\n\n props: makeVSelectionControlGroupProps(),\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 const updateHandlers = new Set<() => void>()\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach(fn => fn())\n },\n onForceUpdate: cb => {\n updateHandlers.add(cb)\n onScopeDispose(() => {\n updateHandlers.delete(cb)\n })\n },\n })\n\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n density: toRef(props, 'density'),\n error: toRef(props, 'error'),\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 ripple: toRef(props, 'ripple'),\n type: toRef(props, 'type'),\n valueComparator: toRef(props, 'valueComparator'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-selection-control-group',\n { 'v-selection-control-group--inline': props.inline },\n props.class,\n ]}\n style={ props.style }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots.default?.() }\n </div>\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 { makeSelectionControlGroupProps, VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, nextTick, ref, shallowRef } from 'vue'\nimport {\n filterInputAttrs,\n genericComponent,\n getUid,\n matchesSelector,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { CSSProperties, ExtractPropTypes, Ref, WritableComputedRef } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport type VSelectionControlSlots = {\n default: never\n label: { label: string | undefined, props: Record<string, unknown> }\n input: SelectionControlSlot\n}\n\nexport const makeVSelectionControlProps = propsFactory({\n label: String,\n trueValue: null,\n falseValue: null,\n value: null,\n\n ...makeComponentProps(),\n ...makeSelectionControlGroupProps(),\n}, 'VSelectionControl')\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeVSelectionControlProps>> & {\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 !!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 if (props.readonly) return\n\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(() => model.value ? props.trueIcon : props.falseIcon)\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: VSelectionControlSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeVSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n group,\n densityClasses,\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 = shallowRef(false)\n const isFocusVisible = shallowRef(false)\n const input = ref<HTMLInputElement>()\n\n group?.onForceUpdate(() => {\n if (input.value) {\n input.value.checked = model.value\n }\n })\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') !== false) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n function onInput (e: Event) {\n if (props.readonly && group) {\n nextTick(() => group.forceUpdate())\n }\n model.value = (e.target as HTMLInputElement).checked\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 [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\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': props.inline,\n },\n densityClasses.value,\n props.class,\n ]}\n { ...rootAttrs }\n style={ props.style }\n >\n <div\n class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon key=\"icon\" icon={ icon.value } /> }\n\n <input\n ref={ input }\n checked={ model.value }\n disabled={ !!(props.readonly || props.disabled) }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n onInput={ onInput }\n aria-disabled={ !!(props.readonly || props.disabled) }\n type={ props.type }\n value={ trueValue.value }\n name={ props.name }\n aria-checked={ props.type === 'checkbox' ? model.value : undefined }\n { ...inputAttrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n textColorStyles,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n } as SelectionControlSlot)}\n </div>\n </div>\n\n { label && (\n <VLabel for={ id.value } clickable>\n { label }\n </VLabel>\n )}\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n","// Components\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn',\n }),\n}, 'VCheckboxBtn')\n\nexport const VCheckboxBtn = genericComponent<VSelectionControlSlots>()({\n name: 'VCheckboxBtn',\n\n props: makeVCheckboxBtnProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n\n function onChange (v: any) {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n useRender(() => (\n <VSelectionControl\n { ...props }\n v-model={ model.value }\n class={[\n 'v-checkbox-btn',\n props.class,\n ]}\n style={ props.style }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VCheckboxBtn = InstanceType<typeof VCheckboxBtn>\n","// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\n\ntype names = 'clear' | 'prepend' | 'append' | 'appendInner' | 'prependInner'\n\ntype EventProp<T = (...args: any[]) => any> = T | T[]\ntype InputIconProps<T extends names> = {\n label: string | undefined\n} & {\n [K in `${T}Icon`]: IconValue | undefined\n} & {\n [K in `onClick:${T}`]: EventProp | undefined\n}\n\ntype Listeners<T extends {}, U = keyof T> = U extends `onClick:${infer V extends names}` ? V : never\n\nexport function useInputIcon<T extends {}, K extends names = Listeners<T>> (props: T & InputIconProps<K>) {\n const { t } = useLocale()\n\n function InputIcon ({ name }: { name: Extract<names, K> }) {\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendInner: 'appendAction',\n clear: 'clear',\n }[name]\n const listener = props[`onClick:${name}`]\n const label = listener && localeKey\n ? t(`$vuetify.input.${localeKey}`, props.label ?? '')\n : undefined\n\n return (\n <VIcon\n icon={ props[`${name}Icon`] }\n aria-label={ label }\n onClick={ listener }\n />\n )\n }\n\n return { InputIcon }\n}\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { Component, PropType } from 'vue'\n\nexport type VMessageSlot = {\n message: string\n}\n\nexport type VMessagesSlots = {\n message: VMessageSlot\n}\n\nexport const makeVMessagesProps = propsFactory({\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition as Component,\n leaveAbsolute: true,\n group: true,\n },\n }),\n}, 'VMessages')\n\nexport const VMessages = genericComponent<VMessagesSlots>()({\n name: 'VMessages',\n\n props: makeVMessagesProps(),\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.messages))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n useRender(() => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n props.class,\n ]}\n style={[\n textColorStyles.value,\n props.style,\n ]}\n role=\"alert\"\n aria-live=\"polite\"\n >\n { props.active && (\n messages.value.map((message, i) => (\n <div\n class=\"v-messages__message\"\n key={ `${i}-${messages.value}` }\n >\n { slots.message ? slots.message({ message }) : message }\n </div>\n ))\n )}\n </MaybeTransition>\n ))\n\n return {}\n },\n})\n\nexport type VMessages = InstanceType<typeof VMessages>\n","// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface FocusProps {\n focused: boolean\n 'onUpdate:focused': ((focused: boolean) => any) | undefined\n}\n\n// Composables\nexport const makeFocusProps = propsFactory({\n focused: Boolean,\n 'onUpdate:focused': EventProp<[boolean]>(),\n}, 'focus')\n\nexport function useFocus (\n props: FocusProps,\n name = getCurrentInstanceName()\n) {\n const isFocused = useProxiedModel(props, 'focused')\n const focusClasses = computed(() => {\n return ({\n [`${name}--focused`]: isFocused.value,\n })\n })\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { focusClasses, isFocused, focus, blur }\n}\n","// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { ValidationProps } from './validation'\n\nexport interface FormProvide {\n register: (item: {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n }) => void\n unregister: (id: number | string) => void\n update: (id: number | string, isValid: boolean | null, errorMessages: string[]) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n isValid: Ref<boolean | null>\n validateOn: Ref<FormProps['validateOn']>\n}\n\nexport interface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n isValid: boolean | null\n errorMessages: string[]\n}\n\nexport interface FieldValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport interface FormValidationResult {\n valid: boolean\n errors: FieldValidationResult[]\n}\n\nexport interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult> {}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n validateOn: ValidationProps['validateOn']\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n validateOn: {\n type: String as PropType<FormProps['validateOn']>,\n default: 'input',\n },\n}, 'form')\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 = shallowRef(false)\n const items = ref<FormField[]>([])\n const errors = ref<FieldValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errors.value = []\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 errors.value = results\n isValidating.value = false\n\n return { valid, errors: errors.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n }\n\n watch(items, () => {\n let valid = 0\n let invalid = 0\n const results = []\n\n for (const item of items.value) {\n if (item.isValid === false) {\n invalid++\n results.push({\n id: item.id,\n errorMessages: item.errorMessages,\n })\n } else if (item.isValid === true) valid++\n }\n\n errors.value = results\n model.value =\n invalid > 0 ? false\n : valid === items.value.length ? true\n : null\n }, { deep: true })\n\n provide(FormKey, {\n register: ({ id, validate, reset, resetValidation }) => {\n if (items.value.some(item => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`)\n }\n\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n isValid: null,\n errorMessages: [],\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n update: (id, isValid, errorMessages) => {\n const found = items.value.find(item => item.id === id)\n\n if (!found) return\n\n found.isValid = isValid\n found.errorMessages = errorMessages\n },\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validateOn: toRef(props, 'validateOn'),\n })\n\n return {\n errors,\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { makeFocusProps } from '@/composables/focus'\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, shallowRef, unref, watch } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type ValidationResult = string | boolean\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\ntype ValidateOnValue = 'blur' | 'input' | 'submit'\n\nexport interface ValidationProps {\n disabled: boolean | null\n error: boolean\n errorMessages: string | readonly string[]\n focused: boolean\n maxErrors: string | number\n name: string | undefined\n label: string | undefined\n readonly: boolean | null\n rules: readonly ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n validateOn?: ValidateOnValue | `${ValidateOnValue} lazy` | `lazy ${ValidateOnValue}` | 'lazy'\n validationValue: any\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n label: String,\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n rules: {\n type: Array as PropType<readonly ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n validateOn: String as PropType<ValidationProps['validateOn']>,\n validationValue: null,\n\n ...makeFocusProps(),\n}, 'validation')\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n id: MaybeRef<string | number> = getUid(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue)\n const form = useForm()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = shallowRef(true)\n const isDirty = computed(() => !!(\n wrapInArray(model.value === '' ? null : model.value).length ||\n wrapInArray(validationModel.value === '' ? null : validationModel.value).length\n ))\n const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value))\n const errorMessages = computed(() => {\n return props.errorMessages.length\n ? wrapInArray(props.errorMessages).slice(0, Math.max(0, +props.maxErrors))\n : internalErrorMessages.value\n })\n const validateOn = computed(() => {\n let value = (props.validateOn ?? form?.validateOn.value) || 'input'\n if (value === 'lazy') value = 'input lazy'\n const set = new Set(value?.split(' ') ?? [])\n\n return {\n blur: set.has('blur') || set.has('input'),\n input: set.has('input'),\n submit: set.has('submit'),\n lazy: set.has('lazy'),\n }\n })\n const isValid = computed(() => {\n if (props.error || props.errorMessages.length) return false\n if (!props.rules.length) return true\n if (isPristine.value) {\n return internalErrorMessages.value.length || validateOn.value.lazy ? null : true\n } else {\n return !internalErrorMessages.value.length\n }\n })\n const isValidating = shallowRef(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? unref(id))\n\n onBeforeMount(() => {\n form?.register({\n id: uid.value,\n validate,\n reset,\n resetValidation,\n })\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n onMounted(async () => {\n if (!validateOn.value.lazy) {\n await validate(true)\n }\n form?.update(uid.value, isValid.value, errorMessages.value)\n })\n\n useToggleScope(() => validateOn.value.input, () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n validate()\n } else if (props.focused) {\n const unwatch = watch(() => props.focused, val => {\n if (!val) validate()\n\n unwatch()\n })\n }\n })\n })\n\n useToggleScope(() => validateOn.value.blur, () => {\n watch(() => props.focused, val => {\n if (!val) validate()\n })\n })\n\n watch(isValid, () => {\n form?.update(uid.value, isValid.value, errorMessages.value)\n })\n\n function reset () {\n model.value = null\n nextTick(resetValidation)\n }\n\n function resetValidation () {\n isPristine.value = true\n if (!validateOn.value.lazy) {\n validate(true)\n } else {\n internalErrorMessages.value = []\n }\n }\n\n async function validate (silent = false) {\n const results = []\n\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(validationModel.value)\n\n if (result === true) continue\n\n if (result !== false && 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 internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = silent\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\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 { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<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 makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<VInputSlots>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n },\n densityClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VCheckboxSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline']),\n}, 'VCheckbox')\n\nexport const VCheckbox = genericComponent<VCheckboxSlots>()({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: makeVCheckboxProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n 'update:focused': (focused: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `checkbox-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [checkboxProps, _2] = VCheckboxBtn.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-checkbox',\n props.class,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <VCheckboxBtn\n { ...checkboxProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-model={ model.value }\n onFocus={ focus }\n onBlur={ blur }\n v-slots={ slots }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\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// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAvatar')\n\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n >\n { props.image\n ? (<VImg key=\"image\" src={ props.image } alt=\"\" cover />)\n : props.icon\n ? (<VIcon key=\"icon\" icon={ props.icon } />)\n : slots.default?.()\n }\n\n { genOverlays(false, 'v-avatar') }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VChipGroup.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { deepEqual, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const makeVChipGroupProps = propsFactory({\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeComponentProps(),\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChipGroup')\n\ntype VChipGroupSlots = {\n default: {\n isSelected: (id: number) => boolean\n select: (id: number, value: boolean) => void\n next: () => void\n prev: () => void\n selected: readonly number[]\n }\n}\n\nexport const VChipGroup = genericComponent<VChipGroupSlots>()({\n name: 'VChipGroup',\n\n props: makeVChipGroupProps(),\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, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n })}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n","/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\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 { EventProp, genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VChipSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean\n }\n label: never\n prepend: never\n append: never\n close: never\n filter: never\n}\n\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n}, 'VChip')\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: makeVChipProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasColor = !group || group.isSelected.value\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.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n props.class,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n props.style,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition key=\"filter\">\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { !slots.filter ? (\n <VIcon\n key=\"filter-icon\"\n icon={ props.filterIcon }\n />\n ) : (\n <VDefaultsProvider\n key=\"filter-defaults\"\n disabled={ !props.filterIcon }\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n v-slots:default={ slots.filter }\n />\n )}\n </div>\n </VExpandXTransition>\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-chip__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n icon={ props.prependIcon }\n start\n />\n )}\n\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n image={ props.prependAvatar }\n start\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n start: true,\n },\n VIcon: {\n icon: props.prependIcon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-chip__content\">\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-chip__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n end\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n end\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n end: true,\n image: props.appendAvatar,\n },\n VIcon: {\n end: true,\n icon: props.appendIcon,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n\n { hasClose && (\n <div\n key=\"close\"\n class=\"v-chip__close\"\n { ...closeProps.value }\n >\n { !slots.close ? (\n <VIcon\n key=\"close-icon\"\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n v-slots:default={ slots.close }\n />\n )}\n </div>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","// Utilities\nimport { computed, inject, provide, shallowRef } 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, shallowRef(-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: shallowRef(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: shallowRef(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: unknown\n value: boolean\n opened: Set<unknown>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown>\n\nexport type OpenSelectStrategyFn = (data: {\n id: unknown\n value: boolean\n opened: Set<unknown>\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Set<unknown> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<unknown>()\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 select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ 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 select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: unknown[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n","/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue'\n\nexport type SelectStrategyFn = (data: {\n id: unknown\n value: boolean\n selected: Map<unknown, 'on' | 'off' | 'indeterminate'>\n children: Map<unknown, unknown[]>\n parents: Map<unknown, unknown>\n event?: Event\n}) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: readonly unknown[] | undefined,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => Map<unknown, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<unknown, 'on' | 'off' | 'indeterminate'>,\n children: Map<unknown, unknown[]>,\n parents: Map<unknown, unknown>,\n) => unknown[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n id = toRaw(id)\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 1 && on[0] === id) return selected\n }\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: 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\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n id = toRaw(id)\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id)\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n id = toRaw(id)\n const original = new Map(selected)\n\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 // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as unknown[])\n if (on.length === 0) return original\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 = 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: (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\n return strategy\n}\n","// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategyFn } from './selectStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: readonly unknown[] | undefined\n opened: readonly unknown[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: unknown[]) => void) | undefined\n 'onUpdate:opened': ((val: unknown[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n opened: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as PropType<SelectStrategy>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: Array as PropType<readonly unknown[]>,\n selected: Array as PropType<readonly unknown[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\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 function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n selected,\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 },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\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 openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\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 newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\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(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useList } from './list'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VListGroupSlots = {\n default: never\n activator: { isOpen: boolean, props: Record<string, unknown> }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const makeVListGroupProps = propsFactory({\n /* @deprecated */\n activeColor: String,\n baseColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n title: String,\n value: null,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListGroup')\n\nexport const VListGroup = genericComponent<VListGroupSlots>()({\n name: 'VListGroup',\n\n props: makeVListGroupProps(),\n\n setup (props, { slots }) {\n const { isOpen, open, id: _id } = useNestedItem(toRef(props, 'value'), true)\n const id = computed(() => `v-list-group--id-${String(_id.value)}`)\n const list = useList()\n const { isBooted } = useSsrBoot()\n\n function onClick (e: Event) {\n open(!isOpen.value, e)\n }\n\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value,\n }))\n\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon)\n const activatorDefaults = computed(() => ({\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n baseColor: props.baseColor,\n color: props.color,\n prependIcon: props.prependIcon || (props.subgroup && toggleIcon.value),\n appendIcon: props.appendIcon || (!props.subgroup && toggleIcon.value),\n title: props.title,\n value: props.value,\n },\n }))\n\n useRender(() => (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n 'v-list-group--fluid': props.fluid,\n 'v-list-group--subgroup': props.subgroup,\n 'v-list-group--open': isOpen.value,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { slots.activator && (\n <VDefaultsProvider defaults={ activatorDefaults.value }>\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen: isOpen.value }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n )}\n\n <MaybeTransition transition={{ component: VExpandTransition }} disabled={ !isBooted.value }>\n <div class=\"v-list-group__items\" role=\"group\" aria-labelledby={ id.value } v-show={ isOpen.value }>\n { slots.default?.() }\n </div>\n </MaybeTransition>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VListGroup = InstanceType<typeof VListGroup>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n\nexport type VListItemSubtitle = InstanceType<typeof VListItemSubtitle>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n\nexport type VListItemTitle = InstanceType<typeof VListItemTitle>\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useNestedItem } from '@/composables/nested/nested'\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, watch } from 'vue'\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ntype ListItemSlot = {\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string | number | boolean\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string | number | boolean\n}\n\nexport type VListItemSlots = {\n prepend: ListItemSlot\n append: ListItemSlot\n default: ListItemSlot\n title: ListItemTitleSlot\n subtitle: ListItemSubtitleSlot\n}\n\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n link: {\n type: Boolean,\n default: undefined,\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: [String, Number, Boolean],\n title: [String, Number, Boolean],\n value: null,\n\n onClick: EventProp<[MouseEvent]>(),\n onClickOnce: EventProp<[MouseEvent]>(),\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VListItem')\n\nexport const VListItem = genericComponent<VListItemSlots>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: makeVListItemProps(),\n\n emits: {\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value === undefined ? link.href.value : props.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent, openOnSelect } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() =>\n props.active !== false &&\n (props.active || link.isActive?.value || isSelected.value)\n )\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value || (props.value != null && !!list))\n )\n\n const roundedProps = computed(() => props.rounded || props.nav)\n const color = computed(() => props.color ?? props.activeColor)\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant,\n }))\n\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n\n if (val) {\n openOnSelect(val)\n }\n }, { immediate: true })\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(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n } satisfies ListItemSlot))\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (isGroupActivator || !isClickable.value) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n list?.updateHasPrepend(hasPrepend)\n\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color'])\n }\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.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: props.activeClass && isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n href={ link.href.value }\n tabindex={ isClickable.value ? (list ? -2 : 0) : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ isClickable.value && props.ripple }\n >\n { genOverlays(isClickable.value || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-list-item__prepend\">\n { !slots.prepend ? (\n <>\n { props.prependAvatar && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n image={ props.prependAvatar }\n />\n )}\n\n { props.prependIcon && (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ props.prependIcon }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n VListItemAction: {\n start: true,\n },\n }}\n >\n { slots.prepend?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n <div class=\"v-list-item__content\" data-no-activator=\"\">\n { hasTitle && (\n <VListItemTitle key=\"title\">\n { slots.title?.({ title: props.title }) ?? props.title }\n </VListItemTitle>\n )}\n\n { hasSubtitle && (\n <VListItemSubtitle key=\"subtitle\">\n { slots.subtitle?.({ subtitle: props.subtitle }) ?? props.subtitle }\n </VListItemSubtitle>\n )}\n\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-list-item__append\">\n { !slots.append ? (\n <>\n { props.appendIcon && (\n <VIcon\n key=\"append-icon\"\n density={ props.density }\n icon={ props.appendIcon }\n />\n )}\n\n { props.appendAvatar && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n image={ props.appendAvatar }\n />\n )}\n </>\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n VListItemAction: {\n end: true,\n },\n }}\n >\n { slots.append?.(slotProps.value) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVListSubheaderProps = propsFactory({\n color: String,\n inset: Boolean,\n sticky: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListSubheader')\n\nexport const VListSubheader = genericComponent()({\n name: 'VListSubheader',\n\n props: makeVListSubheaderProps(),\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const hasText = !!(slots.default || props.title)\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 props.class,\n ]}\n style={[\n { textColorStyles },\n props.style,\n ]}\n >\n { hasText && (\n <div class=\"v-list-subheader__text\">\n { slots.default?.() ?? props.title }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VListSubheader = InstanceType<typeof VListSubheader>\n","// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\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 useRender(() => (\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 textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n props.style,\n ]}\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 return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n","// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '../VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType<readonly InternalListItem[]>,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader { ...itemProps } />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const [listGroupProps, _1] = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ props: { ...itemProps, ...activatorProps } })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { deepEqual, getPropertyFromItem, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> {\n title: string\n value: any\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n raw: T\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? pick(item, ['children'])[1]\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const array: ListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n return useTransformItems(items, value => transformItem(props, value))\n}\n\nexport function useTransformItems <T extends { value: unknown }> (items: Ref<T[]>, transform: (value: unknown) => T) {\n function transformIn (value: any[]): T[] {\n return value\n // When the model value is null, returns an InternalItem based on null\n // only if null is one of the items\n .filter(v => v !== null || items.value.some(item => item.value === null))\n .map(v => {\n const existingItem = items.value.find(item => deepEqual(v, item.value))\n // Nullish existingItem means value is a custom input value from combobox\n // In this case, use transformItem to create an InternalItem based on value\n return existingItem ?? transform(v)\n })\n }\n\n function transformOut (value: T[]) {\n return value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport { focusChild, genericComponent, getPropertyFromItem, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true ? pick(item, ['children'])[1] : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nfunction useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\nexport const VList = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (val: unknown[]) => true,\n 'update:opened': (val: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\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 } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ (props.disabled || isFocused.value) ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n\nexport type VListImg = InstanceType<typeof VListImg>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVListItemActionProps = propsFactory({\n start: Boolean,\n end: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListItemAction')\n\nexport const VListItemAction = genericComponent()({\n name: 'VListItemAction',\n\n props: makeVListItemActionProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <props.tag\n class={[\n 'v-list-item-action',\n {\n 'v-list-item-action--start': props.start,\n 'v-list-item-action--end': props.end,\n },\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VListItemAction = InstanceType<typeof VListItemAction>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVListItemMediaProps = propsFactory({\n start: Boolean,\n end: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VListItemMedia')\n\nexport const VListItemMedia = genericComponent()({\n name: 'VListItemMedia',\n\n props: makeVListItemMediaProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.start,\n 'v-list-item-media--end': props.end,\n },\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VListItemMedia = InstanceType<typeof VListItemMedia>\n","// Types\nimport type { ParsedAnchor } from '@/util'\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 === 'left' ? 0\n : align === 'center' ? box.width / 2\n : align === 'right' ? 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 === 'left' || anchor.side === 'right') {\n const { side, align } = anchor\n\n const x: number =\n side === 'left' ? 0\n : side === 'right' ? 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","// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, watch } from 'vue'\nimport { anchorToPoint, getOffset } from './util/point'\nimport {\n clamp,\n consoleError,\n convertToUnit,\n destructComputed,\n flipAlign,\n flipCorner,\n flipSide,\n getAxis,\n getScrollParents,\n IN_BROWSER,\n isFixedPosition,\n nullifyTransforms,\n parseAnchor,\n propsFactory,\n} from '@/util'\nimport { Box, getOverflow } from '@/util/box'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { Anchor } from '@/util'\n\nexport interface LocationStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n isRtl: Ref<boolean>\n}\n\ntype LocationStrategyFn = (\n data: LocationStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n) => undefined | { updateLocation: (e: Event) => void }\n\nconst locationStrategies = {\n static: staticLocationStrategy, // specific viewport position, usually centered\n connected: connectedLocationStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n locationStrategy: keyof typeof locationStrategies | LocationStrategyFn\n location: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string | number[]\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makeLocationStrategyProps = propsFactory({\n locationStrategy: {\n type: [String, Function] as PropType<StrategyProps['locationStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in locationStrategies,\n },\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String, Array] as PropType<StrategyProps['offset']>,\n}, 'VOverlay-location-strategies')\n\nexport function useLocationStrategies (\n props: StrategyProps,\n data: LocationStrategyData\n) {\n const contentStyles = ref({})\n const updateLocation = ref<(e: Event) => void>()\n\n if (IN_BROWSER) {\n useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {\n watch(() => props.locationStrategy, reset)\n onScopeDispose(() => {\n updateLocation.value = undefined\n })\n\n if (typeof props.locationStrategy === 'function') {\n updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation\n } else {\n updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation\n }\n })\n\n window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n window.removeEventListener('resize', onResize)\n updateLocation.value = undefined\n })\n }\n\n function onResize (e: Event) {\n updateLocation.value?.(e)\n }\n\n return {\n contentStyles,\n updateLocation,\n }\n}\n\nfunction staticLocationStrategy () {\n // TODO\n}\n\n/** Get size of element ignoring max-width/max-height */\nfunction getIntrinsicSize (el: HTMLElement, isRtl: boolean) {\n // const scrollables = new Map<Element, [number, number]>()\n // el.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 = el.style.maxWidth\n // const initialMaxHeight = el.style.maxHeight\n // el.style.removeProperty('max-width')\n // el.style.removeProperty('max-height')\n\n if (isRtl) {\n el.style.removeProperty('left')\n } else {\n el.style.removeProperty('right')\n }\n\n /* eslint-disable-next-line sonarjs/prefer-immediate-return */\n const contentBox = nullifyTransforms(el)\n\n if (isRtl) {\n contentBox.x += parseFloat(el.style.right || 0)\n } else {\n contentBox.x -= parseFloat(el.style.left || 0)\n }\n contentBox.y -= parseFloat(el.style.top || 0)\n\n // el.style.maxWidth = initialMaxWidth\n // el.style.maxHeight = initialMaxHeight\n // scrollables.forEach((position, el) => {\n // el.scrollTo(...position)\n // })\n\n return contentBox\n}\n\nfunction connectedLocationStrategy (data: LocationStrategyData, 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 top: 0,\n [data.isRtl.value ? 'right' : 'left']: 0,\n })\n }\n\n const { preferredAnchor, preferredOrigin } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value)\n const parsedOrigin =\n props.origin === 'overlap' ? parsedAnchor\n : props.origin === 'auto' ? flipSide(parsedAnchor)\n : parseAnchor(props.origin, data.isRtl.value)\n\n // Some combinations of props may produce an invalid origin\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin),\n }\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin,\n }\n }\n })\n\n const [minWidth, minHeight, maxWidth, maxHeight] =\n (['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const).map(key => {\n return computed(() => {\n const val = parseFloat(props[key]!)\n return isNaN(val) ? Infinity : val\n })\n })\n\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat)\n if (offset.length < 2) offset.push(0)\n return offset\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0]\n })\n\n let observe = false\n const observer = new ResizeObserver(() => {\n if (observe) updateLocation()\n })\n\n watch([data.activatorEl, data.contentEl], ([newActivatorEl, newContentEl], [oldActivatorEl, oldContentEl]) => {\n if (oldActivatorEl) observer.unobserve(oldActivatorEl)\n if (newActivatorEl) observer.observe(newActivatorEl)\n\n if (oldContentEl) observer.unobserve(oldContentEl)\n if (newContentEl) observer.observe(newContentEl)\n }, {\n immediate: true,\n })\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n\n // eslint-disable-next-line max-statements\n function updateLocation () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n if (!data.activatorEl.value || !data.contentEl.value) return\n\n const targetBox = data.activatorEl.value.getBoundingClientRect()\n const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value)\n const scrollParents = getScrollParents(data.contentEl.value)\n const viewportMargin = 12\n\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement)\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0)\n contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0)\n }\n }\n\n const viewport = scrollParents.reduce<Box>((box: Box | undefined, el) => {\n const rect = el.getBoundingClientRect()\n const scrollBox = new Box({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n })\n\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top),\n })\n }\n return scrollBox\n }, undefined!)\n viewport.x += viewportMargin\n viewport.y += viewportMargin\n viewport.width -= viewportMargin * 2\n viewport.height -= viewportMargin * 2\n\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value,\n }\n\n function checkOverflow (_placement: typeof placement) {\n const box = new Box(contentBox)\n const targetPoint = anchorToPoint(_placement.anchor, targetBox)\n const contentPoint = anchorToPoint(_placement.origin, box)\n\n let { x, y } = getOffset(targetPoint, contentPoint)\n\n switch (_placement.anchor.side) {\n case 'top': y -= offset.value[0]; break\n case 'bottom': y += offset.value[0]; break\n case 'left': x -= offset.value[0]; break\n case 'right': x += offset.value[0]; break\n }\n\n switch (_placement.anchor.align) {\n case 'top': y -= offset.value[1]; break\n case 'bottom': y += offset.value[1]; break\n case 'left': x -= offset.value[1]; break\n case 'right': x += offset.value[1]; break\n }\n\n box.x += x\n box.y += y\n\n box.width = Math.min(box.width, maxWidth.value)\n box.height = Math.min(box.height, maxHeight.value)\n\n const overflows = getOverflow(box, viewport)\n\n return { overflows, x, y }\n }\n\n let x = 0; let y = 0\n const available = { x: 0, y: 0 }\n const flipped = { x: false, y: false }\n let resets = -1\n while (true) {\n if (resets++ > 10) {\n consoleError('Infinite loop detected in connectedLocationStrategy')\n break\n }\n\n const { x: _x, y: _y, overflows } = checkOverflow(placement)\n\n x += _x\n y += _y\n\n contentBox.x += _x\n contentBox.y += _y\n\n // flip\n {\n const axis = getAxis(placement.anchor)\n const hasOverflowX = overflows.x.before || overflows.x.after\n const hasOverflowY = overflows.y.before || overflows.y.after\n\n let reset = false\n ;['x', 'y'].forEach(key => {\n if (\n (key === 'x' && hasOverflowX && !flipped.x) ||\n (key === 'y' && hasOverflowY && !flipped.y)\n ) {\n const newPlacement = { anchor: { ...placement.anchor }, origin: { ...placement.origin } }\n const flip = key === 'x'\n ? axis === 'y' ? flipAlign : flipSide\n : axis === 'y' ? flipSide : flipAlign\n newPlacement.anchor = flip(newPlacement.anchor)\n newPlacement.origin = flip(newPlacement.origin)\n const { overflows: newOverflows } = checkOverflow(newPlacement)\n if (\n (newOverflows[key].before <= overflows[key].before &&\n newOverflows[key].after <= overflows[key].after) ||\n (newOverflows[key].before + newOverflows[key].after <\n (overflows[key].before + overflows[key].after) / 2)\n ) {\n placement = newPlacement\n reset = flipped[key] = true\n }\n }\n })\n if (reset) continue\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before\n contentBox.x += overflows.x.before\n }\n if (overflows.x.after) {\n x -= overflows.x.after\n contentBox.x -= overflows.x.after\n }\n if (overflows.y.before) {\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n if (overflows.y.after) {\n y -= overflows.y.after\n contentBox.y -= overflows.y.after\n }\n\n // size\n {\n const overflows = getOverflow(contentBox, viewport)\n available.x = viewport.width - overflows.x.before - overflows.x.after\n available.y = viewport.height - overflows.y.before - overflows.y.after\n\n x += overflows.x.before\n contentBox.x += overflows.x.before\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n\n break\n }\n\n const axis = getAxis(placement.anchor)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: data.isRtl.value ? undefined : convertToUnit(pixelRound(x)),\n right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : undefined,\n minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),\n maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),\n maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value))),\n })\n\n return {\n available,\n contentBox,\n }\n }\n\n watch(\n () => [\n preferredAnchor.value,\n preferredOrigin.value,\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateLocation(),\n )\n\n nextTick(() => {\n const result = updateLocation()\n\n // TODO: overflowing content should only require a single updateLocation call\n // Icky hack to make sure the content is positioned consistently\n if (!result) return\n const { available, contentBox } = result\n if (contentBox.height > available.y) {\n requestAnimationFrame(() => {\n updateLocation()\n requestAnimationFrame(() => {\n updateLocation()\n })\n })\n }\n })\n\n return { updateLocation }\n}\n\nfunction pixelRound (val: number) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio\n}\n\nfunction pixelCeil (val: number) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\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 { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\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 updateLocation: Ref<((e: Event) => void) | undefined>\n}\n\ntype ScrollStrategyFn = (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) => void\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\nexport interface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn\n contained: boolean | undefined\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}, 'VOverlay-scroll-strategies')\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.active && scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope!)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!)\n }\n })\n })\n\n onScopeDispose(() => {\n scope?.stop()\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, props: StrategyProps) {\n const offsetParent = data.root.value?.offsetParent\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value, props.contained ? offsetParent : undefined),\n ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined),\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)(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-body-scroll-x', convertToUnit(-el.scrollLeft))\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop))\n\n if (el !== document.documentElement) {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n }\n\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'))\n\n el.style.removeProperty('--v-body-scroll-x')\n el.style.removeProperty('--v-body-scroll-y')\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n\n el.scrollLeft = -x\n el.scrollTop = -y\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) {\n let slow = false\n let raf = -1\n let ric = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updateLocation.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n ric = (typeof requestIdleCallback === 'undefined' ? (cb: Function) => cb() : requestIdleCallback)(() => {\n scope.run(() => {\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\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric)\n cancelAnimationFrame(raf)\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","// Types\nimport type { InjectionKey } from 'vue'\n\ninterface MenuProvide {\n register (): void\n unregister (): void\n closeParents (): void\n}\n\nexport const VMenuSymbol: InjectionKey<MenuProvide> = Symbol.for('vuetify:v-menu')\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","// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n refElement,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\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 closeOnContentClick: boolean\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 closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\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 (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (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.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value)\n })\n })\n\n const vm = getCurrentInstance('useActivator')\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\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 bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n activator = el\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","// Utilities\nimport { inject, reactive, shallowRef, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nexport type Breakpoint = typeof breakpoints[number]\n\nexport type DisplayBreakpoint = 'xs' | Breakpoint\n\nexport type DisplayThresholds = {\n [key in DisplayBreakpoint]: 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 type SSROptions = boolean | {\n clientWidth: number\n clientHeight?: number\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: Ref<boolean>\n sm: Ref<boolean>\n md: Ref<boolean>\n lg: Ref<boolean>\n xl: Ref<boolean>\n xxl: Ref<boolean>\n smAndUp: Ref<boolean>\n mdAndUp: Ref<boolean>\n lgAndUp: Ref<boolean>\n xlAndUp: Ref<boolean>\n smAndDown: Ref<boolean>\n mdAndDown: Ref<boolean>\n lgAndDown: Ref<boolean>\n xlAndDown: Ref<boolean>\n name: Ref<DisplayBreakpoint>\n height: Ref<number>\n width: Ref<number>\n mobile: Ref<boolean>\n mobileBreakpoint: Ref<number | DisplayBreakpoint>\n platform: Ref<DisplayPlatform>\n thresholds: Ref<DisplayThresholds>\n\n /** @internal */\n ssr: boolean\n\n update (): void\n}\n\nexport const DisplaySymbol: InjectionKey<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\nfunction getClientWidth (ssr?: SSROptions) {\n return IN_BROWSER && !ssr\n ? window.innerWidth\n : (typeof ssr === 'object' && ssr.clientWidth) || 0\n}\n\nfunction getClientHeight (ssr?: SSROptions) {\n return IN_BROWSER && !ssr\n ? window.innerHeight\n : (typeof ssr === 'object' && ssr.clientHeight) || 0\n}\n\nfunction getPlatform (ssr?: SSROptions): DisplayPlatform {\n const userAgent = IN_BROWSER && !ssr\n ? window.navigator.userAgent\n : '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\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: userAgent === 'ssr',\n }\n}\n\nexport function createDisplay (options?: DisplayOptions, ssr?: SSROptions): DisplayInstance {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = shallowRef(getClientHeight(ssr))\n const platform = shallowRef(getPlatform(ssr))\n const state = reactive({} as DisplayInstance)\n const width = shallowRef(getClientWidth(ssr))\n\n function updateSize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n function update () {\n updateSize()\n platform.value = getPlatform()\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 = width.value < breakpointValue\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.value\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, { passive: true })\n }\n\n return { ...toRefs(state), update, ssr: !!ssr }\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","// Composables\nimport { useDisplay } from '@/composables/display'\n\n// Utilities\nimport { onMounted, shallowRef } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\nexport function useHydration () {\n if (!IN_BROWSER) return shallowRef(false)\n\n const { ssr } = useDisplay()\n\n if (ssr) {\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n return isMounted\n } else {\n return shallowRef(true)\n }\n}\n","// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = shallowRef(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","// Utilities\nimport { getCurrentInstance } from '@/util'\n\nexport function useScopeId () {\n const vm = getCurrentInstance('useScopeId')\n\n const scopeId = vm!.vnode.scopeId\n\n return { scopeId: scopeId ? { [scopeId]: '' } : undefined }\n}\n","// Composables\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, inject, onScopeDispose, provide, reactive, readonly, shallowRef, toRaw, watchEffect } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nconst StackSymbol: InjectionKey<StackProvide> = Symbol.for('vuetify:stack')\n\ninterface StackProvide {\n activeChildren: Set<number>\n}\n\nconst globalStack = reactive<[uid: number, zIndex: number][]>([])\n\nexport function useStack (\n isActive: Readonly<Ref<boolean>>,\n zIndex: Readonly<Ref<string | number>>,\n disableGlobalStack: boolean\n) {\n const vm = getCurrentInstance('useStack')\n const createStackEntry = !disableGlobalStack\n\n const parent = inject(StackSymbol, undefined)\n const stack: StackProvide = reactive({\n activeChildren: new Set<number>(),\n })\n provide(StackSymbol, stack)\n\n const _zIndex = shallowRef(+zIndex.value)\n useToggleScope(isActive, () => {\n const lastZIndex = globalStack.at(-1)?.[1]\n _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value\n\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value])\n }\n\n parent?.activeChildren.add(vm.uid)\n\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = toRaw(globalStack).findIndex(v => v[0] === vm.uid)\n globalStack.splice(idx, 1)\n }\n\n parent?.activeChildren.delete(vm.uid)\n })\n })\n\n const globalTop = shallowRef(true)\n if (createStackEntry) {\n watchEffect(() => {\n const _isTop = globalStack.at(-1)?.[0] === vm.uid\n setTimeout(() => globalTop.value = _isTop)\n })\n }\n\n const localTop = computed(() => !stack.activeChildren.size)\n\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: computed(() => ({ zIndex: _zIndex.value })),\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 let container = targetElement.querySelector(':scope > .v-overlay-container')\n\n if (!container) {\n container = document.createElement('div')\n container.className = 'v-overlay-container'\n targetElement.appendChild(container)\n }\n\n return container\n })\n\n return { teleportTarget }\n}\n","// Utilities\nimport { attachedRoot } from '@/util'\n\n// Types\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: false,\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 { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\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 = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any> }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = 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 { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents } = useActivator(props, { isActive, isTop: localTop })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updateLocation,\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 && globalTop.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' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\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(contentEl.value, [\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 }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\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 props.class,\n ]}\n style={[\n stackStyles.value,\n { top: convertToUnit(top.value) },\n props.style,\n ]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={ () => { onAfterLeave(); emit('afterLeave') } }\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 { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Types\nimport type { ComponentPublicInstance, Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nconst Refs = Symbol('Forwarded refs')\n\n/** Omit properties starting with P */\ntype OmitPrefix<T, P extends string> = [Extract<keyof T, `${P}${any}`>] extends [never] ? T : Omit<T, `${P}${any}`>\n\ntype OmitProps<T> = T extends { $props: any } ? Omit<T, keyof T['$props']> : T\n\nfunction getDescriptor (obj: any, key: PropertyKey) {\n let currentObj = obj\n while (currentObj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key)\n if (descriptor) return descriptor\n currentObj = Object.getPrototypeOf(currentObj)\n }\n return undefined\n}\n\nexport function forwardRefs<T extends {}, U extends Ref<HTMLElement | Omit<ComponentPublicInstance, '$emit' | '$slots'> | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnionToIntersection<{ [K in keyof U]: OmitPrefix<OmitProps<NonNullable<UnwrapRef<U[K]>>>, '$'> }[number]> {\n (target as any)[Refs] = refs\n\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('__')) return\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n const val = Reflect.get(ref.value, key)\n return typeof val === 'function'\n ? val.bind(ref.value)\n : val\n }\n }\n },\n has (target, key) {\n if (Reflect.has(target, key)) {\n return true\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('__')) return false\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return true\n }\n }\n return false\n },\n set (target, key, value) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value)\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('__')) return false\n\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.set(ref.value, key, value)\n }\n }\n\n return false\n },\n getOwnPropertyDescriptor (target, key) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, key)\n if (descriptor) return descriptor\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('__')) return\n\n // Check each ref's own properties\n for (const ref of refs) {\n if (!ref.value) continue\n const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined)\n if (descriptor) return descriptor\n }\n\n // Recursive search up each ref's prototype\n for (const ref of refs) {\n const childRefs = ref.value && (ref.value as any)[Refs]\n if (!childRefs) continue\n const queue = childRefs.slice()\n while (queue.length) {\n const ref = queue.shift()\n const descriptor = getDescriptor(ref.value, key)\n if (descriptor) return descriptor\n const childRefs = ref.value && (ref.value as any)[Refs]\n if (childRefs) queue.push(...childRefs)\n }\n }\n\n return undefined\n },\n }) as any\n}\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport { focusableChildren, focusChild, genericComponent, getNextElement, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents () {\n setTimeout(() => {\n if (!openChildren.value) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\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 // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside () {\n parent?.closeParents()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab') {\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\n\nexport const makeVCounterProps = propsFactory({\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: { component: VSlideYTransition as Component },\n }),\n}, 'VCounter')\n\nexport type VCounterSlot = {\n counter: string\n max: string | number | undefined\n value: string | number | undefined\n}\n\ntype VCounterSlots = {\n default: VCounterSlot\n}\n\nexport const VCounter = genericComponent<VCounterSlots>()({\n name: 'VCounter',\n\n functional: true,\n\n props: makeVCounterProps(),\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n useRender(() => (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class={[\n 'v-counter',\n props.class,\n ]}\n style={ props.style }\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 return {}\n },\n})\n\nexport type VCounter = InstanceType<typeof VCounter>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n\n ...makeComponentProps(),\n}, 'VFieldLabel')\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: makeVFieldLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n props.class,\n ]}\n style={ props.style }\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<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: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n error: Boolean,\n flat: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\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 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: never\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: 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 { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\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\n requestAnimationFrame(() => {\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 style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...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 }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\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\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n ...slotProps.value,\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--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--flat': props.flat,\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--no-label': !label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n props.style,\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={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n )}\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot)}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\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 for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\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 const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style')\n return pick(attrs, keys)\n}\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\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 modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\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 unknown 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 const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\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 vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n ) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = VInput.filterProps(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 'v-text-field--plain-underlined': ['plain', 'underlined'].includes(props.variant),\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default ? (\n <>\n { slots.default() }\n { inputNode }\n </>\n ) : cloneVNode(inputNode)\n }\n </div>\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport const makeVVirtualScrollItemProps = propsFactory({\n renderless: Boolean,\n\n ...makeComponentProps(),\n}, 'VVirtualScrollItem')\n\nexport const VVirtualScrollItem = genericComponent<new <Renderless extends boolean = false>(\n props: {\n renderless?: Renderless\n },\n slots: {\n default: Renderless extends true ? {\n itemRef: Ref<HTMLElement | undefined>\n } : never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScrollItem',\n\n inheritAttrs: false,\n\n props: makeVVirtualScrollItemProps(),\n\n emits: {\n 'update:height': (height: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { resizeRef, contentRect } = useResizeObserver(undefined, 'border')\n\n watch(() => contentRect.value?.height, height => {\n if (height != null) emit('update:height', height)\n })\n\n useRender(() => props.renderless ? (\n <>\n { slots.default?.({ itemRef: resizeRef }) }\n </>\n ) : (\n <div\n ref={ resizeRef }\n class={[\n 'v-virtual-scroll__item',\n props.class,\n ]}\n style={ props.style }\n { ...attrs }\n >\n { (slots.default as any)?.() }\n </div>\n ))\n },\n})\n","// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, ref, shallowRef, watch, watchEffect } from 'vue'\nimport {\n clamp,\n createRange,\n propsFactory,\n} from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nconst UP = -1\nconst DOWN = 1\n\ntype VirtualProps = {\n itemHeight?: number | string\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: 48,\n },\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>, offset?: Ref<number>) {\n const first = shallowRef(0)\n const baseItemHeight = shallowRef(props.itemHeight)\n const itemHeight = computed({\n get: () => parseInt(baseItemHeight.value ?? 0, 10),\n set (val) {\n baseItemHeight.value = val\n },\n })\n const containerRef = ref<HTMLElement>()\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const display = useDisplay()\n\n const sizeMap = new Map<any, number>()\n let sizes = Array.from<number | null>({ length: items.value.length })\n const visibleItems = computed(() => {\n const height = (\n !contentRect.value || containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value.height\n ) - (offset?.value ?? 0)\n return Math.ceil((height / itemHeight.value) * 1.7 + 1)\n })\n\n function handleItemResize (index: number, height: number) {\n itemHeight.value = Math.max(itemHeight.value, height)\n sizes[index] = height\n sizeMap.set(items.value[index], height)\n }\n\n function calculateOffset (index: number) {\n return sizes.slice(0, index)\n .reduce((acc, val) => acc! + (val || itemHeight.value), 0)!\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n const end = items.value.length\n\n let middle = 0\n let middleOffset = 0\n while (middleOffset < scrollTop && middle < end) {\n middleOffset += sizes[middle++] || itemHeight.value\n }\n\n return middle - 1\n }\n\n let lastScrollTop = 0\n function handleScroll () {\n if (!containerRef.value || !contentRect.value) return\n\n const height = contentRect.value.height - 56\n const scrollTop = containerRef.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop + height / 2)\n const buffer = Math.round(visibleItems.value / 3)\n const firstIndex = midPointIndex - buffer\n const lastIndex = first.value + (buffer * 2) - 1\n if (direction === UP && midPointIndex <= lastIndex) {\n first.value = clamp(firstIndex, 0, items.value.length)\n } else if (direction === DOWN && midPointIndex >= lastIndex) {\n first.value = clamp(firstIndex, 0, items.value.length - visibleItems.value)\n }\n\n lastScrollTop = scrollTop\n }\n\n function scrollToIndex (index: number) {\n if (!containerRef.value) return\n\n const offset = calculateOffset(index)\n containerRef.value.scrollTop = offset\n }\n\n const last = computed(() => Math.min(items.value.length, first.value + visibleItems.value))\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => ({\n raw: item,\n index: index + first.value,\n }))\n })\n const paddingTop = computed(() => calculateOffset(first.value))\n const paddingBottom = computed(() => calculateOffset(items.value.length) - calculateOffset(last.value))\n\n watch(() => items.value.length, () => {\n sizes = createRange(items.value.length).map(() => itemHeight.value)\n sizeMap.forEach((height, item) => {\n const index = items.value.indexOf(item)\n if (index === -1) {\n sizeMap.delete(item)\n } else {\n sizes[index] = height\n }\n })\n })\n\n return {\n containerRef,\n computedItems,\n itemHeight,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleItemResize,\n }\n}\n","// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array as PropType<readonly unknown[]>,\n default: () => ([]),\n },\n renderless: Boolean,\n\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VVirtualScroll')\n\nexport const VVirtualScroll = genericComponent<new <T, Renderless extends boolean = false>(\n props: {\n items?: readonly T[]\n renderless?: Renderless\n },\n slots: {\n default: VVirtualScrollSlot<T> & (Renderless extends true ? {\n itemRef: Ref<HTMLElement | undefined>\n } : {})\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const vm = getCurrentInstance('VVirtualScroll')\n const { dimensionStyles } = useDimension(props)\n const {\n containerRef,\n handleScroll,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems,\n } = useVirtual(props, toRef(props, 'items'))\n\n useToggleScope(() => props.renderless, () => {\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el as HTMLElement, true)\n containerRef.value?.addEventListener('scroll', handleScroll)\n })\n onScopeDispose(() => {\n containerRef.value?.removeEventListener('scroll', handleScroll)\n })\n })\n\n useRender(() => {\n const children = computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.index }\n renderless={ props.renderless }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slotProps => slots.default?.({ item: item.raw, index: item.index, ...slotProps }) }\n </VVirtualScrollItem>\n ))\n\n return props.renderless ? (\n <>\n <div class=\"v-virtual-scroll__spacer\" style={{ paddingTop: convertToUnit(paddingTop.value) }} />\n { children }\n <div class=\"v-virtual-scroll__spacer\" style={{ paddingBottom: convertToUnit(paddingBottom.value) }} />\n </>\n ) : (\n <div\n ref={ containerRef }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScroll={ handleScroll }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { children }\n </div>\n </div>\n )\n })\n\n return {\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n","// Utilities\nimport { shallowRef, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { VList } from '@/components/VList'\nimport type { VTextField } from '@/components/VTextField'\n\nexport function useScrolling (listRef: Ref<VList | undefined>, textFieldRef: Ref<VTextField | undefined>) {\n const isScrolling = shallowRef(false)\n let scrollTimeout: number\n function onListScroll (e: Event) {\n cancelAnimationFrame(scrollTimeout)\n isScrolling.value = true\n scrollTimeout = requestAnimationFrame(() => {\n scrollTimeout = requestAnimationFrame(() => {\n isScrolling.value = false\n })\n })\n }\n async function finishScrolling () {\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise(resolve => requestAnimationFrame(resolve))\n await new Promise<void>(resolve => {\n if (isScrolling.value) {\n const stop = watch(isScrolling, () => {\n stop()\n resolve()\n })\n } else resolve()\n })\n }\n async function onListKeydown (e: KeyboardEvent) {\n if (e.key === 'Tab') {\n textFieldRef.value?.focus()\n }\n\n if (!['PageDown', 'PageUp', 'Home', 'End'].includes(e.key)) return\n const el: HTMLElement = listRef.value?.$el\n if (!el) return\n\n if (e.key === 'Home' || e.key === 'End') {\n el.scrollTo({\n top: e.key === 'Home' ? 0 : el.scrollHeight,\n behavior: 'smooth',\n })\n }\n\n await finishScrolling()\n\n const children = el.querySelectorAll(':scope > :not(.v-virtual-scroll__spacer)')\n\n if (e.key === 'PageDown' || e.key === 'Home') {\n const top = el.getBoundingClientRect().top\n for (const child of children) {\n if (child.getBoundingClientRect().top >= top) {\n (child as HTMLElement).focus()\n break\n }\n }\n } else {\n const bottom = el.getBoundingClientRect().bottom\n for (const child of [...children].reverse()) {\n if (child.getBoundingClientRect().bottom <= bottom) {\n (child as HTMLElement).focus()\n break\n }\n }\n }\n }\n\n return { onListScroll, onListKeydown }\n}\n","// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, ref, shallowRef } from 'vue'\nimport { deepEqual, genericComponent, getPropertyFromItem, matchesSelector, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { Component, PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n itemColor: String,\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\nexport const VSelect = genericComponent<new <\n T extends readonly any[],\n Item = T extends readonly (infer U)[] ? U : never,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (val: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => {\n const itemRawValue = getPropertyFromItem(item.raw, props.itemValue)\n const modelRawValue = getPropertyFromItem(v.raw, props.itemValue)\n\n if (itemRawValue === undefined || modelRawValue === undefined) return false\n\n return props.returnObject\n ? props.valueComparator(itemRawValue, modelRawValue)\n : props.valueComparator(item.value, v.value)\n }) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const isFocused = shallowRef(false)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !selections.value.some(s => s === item))\n }\n return items.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ))\n\n const listRef = ref<VList>()\n const { onListScroll, onListKeydown } = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n }\n\n if (props.multiple || !checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n }\n }\n function select (item: ListItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\n }\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onScrollPassive={ onListScroll }\n tabindex=\"-1\"\n color={ props.itemColor ?? props.color }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll renderless items={ displayItems.value }>\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n onClick: () => select(item),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps }>\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-select__menu-icon\"\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n","/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, ref, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - match without highlight\n * - single match (index), length already known\n * - single match (start, end)\n * - multiple matches (start, end), probably shouldn't overlap\n */\nexport type FilterMatch = boolean | number | [number, number] | [number, number][]\nexport type FilterFunction = (value: string, query: string, item?: any) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase())\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: any[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatch> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if (query && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(item)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(item as any, key, item)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match\n else defaultMatches[key] = match\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = match\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends { value: unknown }> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => any\n }\n) {\n const filteredItems: Ref<T[]> = ref([])\n const filteredMatches: Ref<Map<unknown, Record<string, FilterMatch>>> = ref(new Map())\n const transformedItems = computed(() => options?.transform ? unref(items).map(options?.transform) : unref(items))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: props.customKeyFilter,\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n","// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, getPropertyFromItem, matchesSelector, noop, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction highlightResult (text: string, matches: FilterMatch | undefined, length: number) {\n if (matches == null) return text\n\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VAutocomplete')\n\nexport const VAutocomplete = genericComponent<new <\n T extends readonly any[],\n Item = T extends readonly (infer U)[] ? U : never,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (val: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VAutocomplete',\n\n props: makeVAutocompleteProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:search': (val: any) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const selectionIndex = shallowRef(-1)\n const color = computed(() => vTextFieldRef.value?.color)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => {\n const itemRawValue = getPropertyFromItem(item.raw, props.itemValue)\n const modelRawValue = getPropertyFromItem(v.raw, props.itemValue)\n\n if (itemRawValue === undefined || modelRawValue === undefined) return false\n\n return props.returnObject\n ? props.valueComparator(itemRawValue, modelRawValue)\n : props.valueComparator(item.value, v.value)\n }) || v\n })\n })\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ))\n\n const listRef = ref<VList>()\n const { onListScroll, onListKeydown } = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (\n selectionIndex.value > -1 ||\n ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)\n ) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key)) {\n select(filteredItems.value[0])\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n const originalSelectionIndex = selectionIndex.value\n\n if (selection.value) select(selection.value)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value?.length, search.value?.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n }\n\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n\n function onChange (e: Event) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === (e.target as HTMLInputElement).value)\n if (item) {\n select(item)\n }\n }\n }\n\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple)) model.value = []\n }\n\n const isSelecting = shallowRef(false)\n\n function select (item: ListItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n\n isSelecting.value = true\n\n search.value = item.title\n\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return\n\n if (val) {\n isSelecting.value = true\n search.value = props.multiple ? '' : String(selections.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n if (!props.multiple && !search.value) model.value = []\n else if (\n highlightFirst.value &&\n !listHasFocus.value &&\n !selections.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(displayItems.value[0])\n }\n menu.value = false\n search.value = ''\n selectionIndex.value = -1\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n onInput={ onInput }\n onChange={ onChange }\n class={[\n 'v-autocomplete',\n `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`,\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!slots.selection,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ props.readonly }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onScrollPassive={ onListScroll }\n tabindex=\"-1\"\n color={ props.itemColor ?? props.color }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll renderless items={ displayItems.value }>\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps }>\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-autocomplete__selection',\n index === selectionIndex.value && [\n 'v-autocomplete__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-autocomplete__menu-icon\"\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\nexport type VBadgeSlots = {\n default: never\n badge: never\n}\n\nexport const makeVBadgeProps = propsFactory({\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: IconValue,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\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\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top end' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n}, 'VBadge')\n\nexport const VBadge = genericComponent<VBadgeSlots>()({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: makeVBadgeProps(),\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { t } = useLocale()\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n const { themeClasses } = useTheme()\n\n const { locationStyles } = useLocation(props, true, side => {\n const base = props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n\n return base + (\n ['top', 'bottom'].includes(side) ? +(props.offsetY ?? 0)\n : ['left', 'right'].includes(side) ? +(props.offsetX ?? 0)\n : 0\n )\n })\n\n useRender(() => {\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 props.class,\n ]}\n { ...attrs }\n style={ props.style }\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 themeClasses.value,\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n props.inline ? {} : locationStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label={ t(props.label, value) }\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 : content\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBannerActionsProps = propsFactory({\n color: String,\n density: String,\n\n ...makeComponentProps(),\n}, 'VBannerActions')\n\nexport const VBannerActions = genericComponent()({\n name: 'VBannerActions',\n\n props: makeVBannerActionsProps(),\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: props.color,\n density: props.density,\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-banner-actions',\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VBannerActions = InstanceType<typeof VBannerActions>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n\nexport type VBannerText = InstanceType<typeof VBannerText>\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerText } from './VBannerText'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeLocationProps, useLocation } from '@/composables/location'\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 { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VBannerSlots = {\n default: never\n prepend: never\n text: never\n actions: never\n}\n\nexport const makeVBannerProps = propsFactory({\n avatar: String,\n color: String,\n icon: IconValue,\n lines: String as PropType<'one' | 'two' | 'three'>,\n stacked: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VBanner')\n\nexport const VBanner = genericComponent<VBannerSlots>()({\n name: 'VBanner',\n\n props: makeVBannerProps(),\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { mobile } = useDisplay()\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n const { themeClasses } = provideTheme(props)\n\n const color = toRef(props, 'color')\n const density = toRef(props, 'density')\n\n provideDefaults({ VBannerActions: { color, density } })\n\n useRender(() => {\n const hasText = !!(props.text || slots.text)\n const hasPrependMedia = !!(props.avatar || props.icon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--stacked': props.stacked || mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: !!props.lines,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n themeClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"banner\"\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-banner__prepend\">\n { !slots.prepend ? (\n <VAvatar\n key=\"prepend-avatar\"\n color={ color.value }\n density={ density.value }\n icon={ props.icon }\n image={ props.avatar }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n color: color.value,\n density: density.value,\n icon: props.icon,\n image: props.avatar,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-banner__content\">\n { hasText && (\n <VBannerText key=\"text\">\n { slots.text?.() ?? props.text }\n </VBannerText>\n )}\n\n { slots.default?.() }\n </div>\n\n { slots.actions && (\n <VBannerActions key=\"actions\" 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// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBottomNavigationProps = propsFactory({\n bgColor: String,\n color: String,\n grow: Boolean,\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 active: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n}, 'VBottomNavigation')\n\nexport const VBottomNavigation = genericComponent()({\n name: 'VBottomNavigation',\n\n props: makeVBottomNavigationProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = toRef(props, 'active')\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ssrBootStyles.value,\n props.style,\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 return {}\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBreadcrumbsDividerProps = propsFactory({\n divider: [Number, String],\n\n ...makeComponentProps(),\n}, 'VBreadcrumbsDivider')\n\nexport const VBreadcrumbsDivider = genericComponent()({\n name: 'VBreadcrumbsDivider',\n\n props: makeVBreadcrumbsDividerProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <li\n class={[\n 'v-breadcrumbs-divider',\n props.class,\n ]}\n style={ props.style }\n >\n { slots?.default?.() ?? props.divider }\n </li>\n ))\n\n return {}\n },\n})\n\nexport type VBreadcrumbsDivider = InstanceType<typeof VBreadcrumbsDivider>\n","// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBreadcrumbsItemProps = propsFactory({\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n title: String,\n\n ...makeComponentProps(),\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n}, 'VBreadcrumbsItem')\n\nexport const VBreadcrumbsItem = genericComponent()({\n name: 'VBreadcrumbsItem',\n\n props: makeVBreadcrumbsItemProps(),\n\n setup (props, { slots, attrs }) {\n const link = useLink(props, attrs)\n const isActive = computed(() => props.active || link.isActive?.value)\n const color = computed(() => isActive.value ? props.activeColor : props.color)\n\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n props.class,\n ]}\n style={[\n textColorStyles.value,\n props.style,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n >\n { !link.isLink.value ? slots.default?.() ?? props.title : (\n <a\n class=\"v-breadcrumbs-item--link\"\n href={ link.href.value }\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ link.navigate }\n >\n { slots.default?.() ?? props.title }\n </a>\n )}\n </props.tag>\n )\n })\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\nimport type { GenericProps } from '@/util'\n\nexport type BreadcrumbItem = string | (Partial<LinkProps> & {\n title: string\n disabled?: boolean\n})\n\nexport const makeVBreadcrumbsProps = propsFactory({\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: IconValue,\n items: {\n type: Array as PropType<readonly BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n}, 'VBreadcrumbs')\n\nexport const VBreadcrumbs = genericComponent<new <T extends BreadcrumbItem>(\n props: {\n items?: T[]\n },\n slots: {\n prepend: never\n title: { item: T, index: number }\n divider: { item: T, index: number }\n default: never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBreadcrumbs',\n\n props: makeVBreadcrumbsProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBreadcrumbsDivider: {\n divider: toRef(props, 'divider'),\n },\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor: toRef(props, 'activeColor'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n },\n })\n\n const items = computed(() => props.items.map(item => {\n return typeof item === 'string' ? { item: { title: item }, raw: item } : { item, raw: item }\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.icon)\n\n return (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <li key=\"prepend\" class=\"v-breadcrumbs__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n start\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n icon: props.icon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </li>\n )}\n\n { items.value.map(({ item, raw }, index, array) => (\n <>\n <VBreadcrumbsItem\n key={ item.title }\n disabled={ index >= array.length - 1 }\n { ...item }\n v-slots={{\n default: slots.title ? () => slots.title?.({ item: raw, index }) : undefined,\n }}\n />\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider\n v-slots={{\n default: slots.divider ? () => slots.divider?.({ item: raw, index }) : undefined,\n }}\n />\n )}\n </>\n ))}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VCardActions = genericComponent()({\n name: 'VCardActions',\n\n props: makeComponentProps(),\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-card-actions',\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VCardActions = InstanceType<typeof VCardActions>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n\nexport type VCardSubtitle = InstanceType<typeof VCardSubtitle>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n\nexport type VCardTitle = InstanceType<typeof VCardTitle>\n","// Components\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardTitle } from './VCardTitle'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VCardItemSlots = {\n default: never\n prepend: never\n append: never\n title: never\n subtitle: never\n}\n\nexport const makeCardItemProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: String,\n title: String,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n}, 'VCardItem')\n\nexport const VCardItem = genericComponent<VCardItemSlots>()({\n name: 'VCardItem',\n\n props: makeCardItemProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon)\n const hasAppend = !!(hasAppendMedia || slots.append)\n const hasTitle = !!(props.title || slots.title)\n const hasSubtitle = !!(props.subtitle || slots.subtitle)\n\n return (\n <div\n class={[\n 'v-card-item',\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-card-item__prepend\">\n { !slots.prepend ? (\n hasPrependMedia && (\n <VAvatar\n key=\"prepend-avatar\"\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n )\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-card-item__content\">\n { hasTitle && (\n <VCardTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VCardTitle>\n )}\n\n { hasSubtitle && (\n <VCardSubtitle key=\"subtitle\">\n { slots.subtitle?.() ?? props.subtitle }\n </VCardSubtitle>\n )}\n\n { slots.default?.() }\n </div>\n\n { hasAppend && (\n <div key=\"append\" class=\"v-card-item__append\">\n { !slots.append ? (\n hasAppendMedia && (\n <VAvatar\n key=\"append-avatar\"\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n )\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !hasAppendMedia }\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n }}\n v-slots:default={ slots.append }\n />\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCardItem = InstanceType<typeof VCardItem>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n\nexport type VCardText = InstanceType<typeof VCardText>\n","/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VCardActions } from './VCardActions'\nimport { VCardItem } from './VCardItem'\nimport { VCardText } from './VCardText'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeLocationProps, useLocation } from '@/composables/location'\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 { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCardItemSlots } from './VCardItem'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined,\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n subtitle: String,\n text: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'elevated' } as const),\n}, 'VCard')\n\nexport type VCardSlots = VCardItemSlots & {\n default: never\n actions: never\n text: never\n loader: LoaderSlotProps\n image: never\n item: never\n}\n\nexport const VCard = genericComponent<VCardSlots>()({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: makeVCardProps(),\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 { loaderClasses } = useLoader(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || link.isClickable.value)\n )\n\n useRender(() => {\n const Tag = 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 hasImage = !!(slots.image || props.image)\n const hasCardItem = hasHeader || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\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.value,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n loaderClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n href={ link.href.value }\n onClick={ isClickable.value && link.navigate }\n v-ripple={ isClickable.value && props.ripple }\n tabindex={ props.disabled ? -1 : undefined }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-card__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <LoaderSlot\n name=\"v-card\"\n active={ !!props.loading }\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n v-slots={{ default: slots.loader }}\n />\n\n { hasCardItem && (\n <VCardItem\n key=\"item\"\n prependAvatar={ props.prependAvatar }\n prependIcon={ props.prependIcon }\n title={ props.title }\n subtitle={ props.subtitle }\n appendAvatar={ props.appendAvatar }\n appendIcon={ props.appendIcon }\n >\n {{\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append,\n }}\n </VCardItem>\n )}\n\n { hasText && (\n <VCardText key=\"text\">\n { slots.text?.() ?? props.text }\n </VCardText>\n )}\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n )}\n\n { genOverlays(isClickable.value, 'v-card') }\n </Tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Utilities\nimport { keys } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n} from 'vue'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchData) => void\n left?: (wrapper: TouchData) => void\n right?: (wrapper: TouchData) => void\n up?: (wrapper: TouchData) => void\n down?: (wrapper: TouchData) => void\n}\n\nexport interface TouchData {\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 type TouchWrapper = TouchHandlers & TouchData\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 = {\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 { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\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\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n ariaLabel: string\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 makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\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 as PropType<'horizontal' | 'vertical'>,\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 type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<VWindowSlots>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: makeVWindowProps(),\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 = shallowRef(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 = shallowRef(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 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 start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\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 props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n","// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VWindowSlots } from '@/components/VWindow/VWindow'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const makeVCarouselProps = propsFactory({\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: IconValue,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => Number(value) > 0,\n },\n progress: [Boolean, String],\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n\n ...makeVWindowProps({\n continuous: true,\n mandatory: 'force' as const,\n showArrows: true,\n }),\n}, 'VCarousel')\n\ntype VCarouselSlots = VWindowSlots & {\n item: {\n props: Record<string, any>\n item: {\n id: number\n value: unknown\n disabled: boolean | undefined\n }\n }\n}\n\nexport const VCarousel = genericComponent<VCarouselSlots>()({\n name: 'VCarousel',\n\n props: makeVCarouselProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<typeof VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000)\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => {\n const [windowProps] = VWindow.filterProps(props)\n\n return (\n <VWindow\n ref={ windowRef }\n { ...windowProps }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n props.class,\n ]}\n style={[\n { height: convertToUnit(props.height) },\n props.style,\n ]}\n >\n {{\n default: slots.default,\n additional: ({ group }: { group: GroupProvide }) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item, index) => {\n const props = {\n id: `carousel-item-${item.id}`,\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),\n class: [group.isSelected(item.id) && 'v-btn--active'],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n })}\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n )\n })\n\n return {}\n },\n})\n\nexport type VCarousel = InstanceType<typeof VCarousel>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport Touch from '@/directives/touch'\n\n// Utilities\nimport { computed, inject, nextTick, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VWindowGroupSymbol, VWindowSymbol } from './VWindow'\n\nexport const makeVWindowItemProps = propsFactory({\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n\n ...makeComponentProps(),\n ...makeGroupItemProps(),\n ...makeLazyProps(),\n}, 'VWindowItem')\n\nexport const VWindowItem = genericComponent()({\n name: 'VWindowItem',\n\n directives: {\n Touch,\n },\n\n props: makeVWindowItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const window = inject(VWindowSymbol)\n const groupItem = useGroupItem(props, VWindowGroupSymbol)\n const { isBooted } = useSsrBoot()\n\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow')\n\n const isTransitioning = shallowRef(false)\n const hasTransition = computed(() => isBooted.value && (\n window.isReversed.value\n ? props.reverseTransition !== false\n : props.transition !== false\n ))\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 useRender(() => (\n <MaybeTransition transition={ transition.value } disabled={ !isBooted.value }>\n <div\n class={[\n 'v-window-item',\n groupItem.selectedClass.value,\n props.class,\n ]}\n style={ props.style }\n v-show={ groupItem.isSelected.value }\n >\n { hasContent.value && slots.default?.() }\n </div>\n </MaybeTransition>\n ))\n\n return { groupItem }\n },\n})\n\nexport type VWindowItem = InstanceType<typeof VWindowItem>\n","// Components\nimport { makeVImgProps, VImg } from '@/components/VImg/VImg'\nimport { makeVWindowItemProps, VWindowItem } from '@/components/VWindow/VWindowItem'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VImgSlots } from '@/components/VImg/VImg'\n\nexport const makeVCarouselItemProps = propsFactory({\n ...makeVImgProps(),\n ...makeVWindowItemProps(),\n}, 'VCarouselItem')\n\nexport const VCarouselItem = genericComponent<VImgSlots>()({\n name: 'VCarouselItem',\n\n inheritAttrs: false,\n\n props: makeVCarouselItemProps(),\n\n setup (props, { slots, attrs }) {\n useRender(() => {\n const [imgProps] = VImg.filterProps(props)\n const [windowItemProps] = VWindowItem.filterProps(props)\n\n return (\n <VWindowItem\n class=\"v-carousel-item\"\n { ...windowItemProps }\n >\n <VImg\n { ...attrs }\n { ...imgProps }\n v-slots={ slots }\n />\n </VWindowItem>\n )\n })\n },\n})\n\nexport type VCarouselItem = InstanceType<typeof VCarouselItem>\n","// Styles\nimport './VCode.sass'\n\n// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n\nexport type VCode = InstanceType<typeof VCode>\n","// Styles\nimport './VColorPickerCanvas.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerCanvasProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeComponentProps(),\n}, 'VColorPickerCanvas')\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: makeVColorPickerCanvasProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = shallowRef(false)\n const isOutsideUpdate = shallowRef(false)\n const dotPosition = ref({ x: 0, y: 0 })\n\n const dotStyles = computed(() => {\n const { x, y } = dotPosition.value\n const radius = parseInt(props.dotSize, 10) / 2\n\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`,\n }\n })\n\n const canvasRef = ref<HTMLCanvasElement | null>()\n const canvasWidth = shallowRef(parseFloat(props.width))\n const canvasHeight = shallowRef(parseFloat(props.height))\n const { resizeRef } = useResizeObserver(entries => {\n if (!resizeRef.value?.offsetParent) return\n\n const { width, height } = entries[0].contentRect\n\n canvasWidth.value = width\n canvasHeight.value = height\n })\n\n function updateDotPosition (x: number, y: number, rect: DOMRect) {\n const { left, top, width, height } = rect\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height),\n }\n }\n\n function handleClick (e: MouseEvent) {\n if (props.disabled || !canvasRef.value) return\n\n updateDotPosition(e.clientX, e.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseDown (e: MouseEvent | TouchEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (props.disabled) return\n\n isInteracting.value = true\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n window.addEventListener('touchmove', handleMouseMove)\n window.addEventListener('touchend', handleMouseUp)\n }\n\n function handleMouseMove (e: MouseEvent | TouchEvent) {\n if (props.disabled || !canvasRef.value) return\n\n isInteracting.value = true\n\n const coords = getEventCoordinates(e)\n\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseUp () {\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n window.removeEventListener('touchmove', handleMouseMove)\n window.removeEventListener('touchend', handleMouseUp)\n }\n\n watch(dotPosition, () => {\n if (isOutsideUpdate.value) {\n isOutsideUpdate.value = false\n return\n }\n\n if (!canvasRef.value) return\n\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,\n v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,\n a: props.color?.a ?? 1,\n })\n })\n\n function updateCanvas () {\n if (!canvasRef.value) return\n\n const canvas = canvasRef.value\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n watch(() => props.color?.h, updateCanvas, { immediate: true })\n watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {\n updateCanvas()\n dotPosition.value = {\n x: dotPosition.value.x * newVal[0] / oldVal[0],\n y: dotPosition.value.y * newVal[1] / oldVal[1],\n }\n }, { flush: 'post' })\n\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n isOutsideUpdate.value = true\n\n dotPosition.value = props.color ? {\n x: props.color.s * canvasWidth.value,\n y: (1 - props.color.v) * canvasHeight.value,\n } : { x: 0, y: 0 }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n useRender(() => (\n <div\n ref={ resizeRef }\n class={[\n 'v-color-picker-canvas',\n props.class,\n ]}\n style={ props.style }\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ canvasWidth.value }\n height={ canvasHeight.value }\n />\n { props.color && (\n <div\n class={[\n 'v-color-picker-canvas__dot',\n {\n 'v-color-picker-canvas__dot--disabled': props.disabled,\n },\n ]}\n style={ dotStyles.value }\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerCanvas = InstanceType<typeof VColorPickerCanvas>\n","// Utilities\nimport {\n HexToHSV,\n HSLtoHSV,\n HSVtoHex,\n HSVtoHSL,\n HSVtoRGB,\n RGBtoHSV,\n} from '@/util/colorUtils'\nimport { has } from '@/util/helpers'\n\n// Types\nimport type { HSL, HSV, RGB } from '@/util/colorUtils'\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: HSV, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVtoHex(color)\n\n if (color.a === 1) return hex.slice(0, 7)\n else return hex\n }\n\n if (typeof input === 'object') {\n let converted\n\n if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color)\n else if (has(input, ['h', 's', 'v'])) converted = color\n\n return stripAlpha(converted, !has(input, ['a']) && color.a === 1)\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n\nexport const nullColor = { h: 0, s: 0, v: 1, a: 1 }\n\nexport type ColorPickerMode = {\n inputProps: Record<string, unknown>\n inputs: {\n [key: string]: any\n getValue: (color: any) => number | string\n getColor: (color: any, v: string) => any\n }[]\n from: (color: any) => HSV\n to: (color: HSV) => any\n}\n\nconst rgba: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'R',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.r),\n getColor: (c: RGB, v: string): RGB => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.g),\n getColor: (c: RGB, v: string): RGB => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGB) => Math.round(c.b),\n getColor: (c: RGB, v: string): RGB => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: ({ a }: RGB) => a != null ? Math.round(a * 100) / 100 : 1,\n getColor: (c: RGB, v: string): RGB => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVtoRGB,\n from: RGBtoHSV,\n}\n\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3),\n}\n\nconst hsla: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'H',\n max: 360,\n step: 1,\n getValue: (c: HSL) => Math.round(c.h),\n getColor: (c: HSL, v: string): HSL => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSL) => Math.round(c.s * 100) / 100,\n getColor: (c: HSL, v: string): HSL => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSL) => Math.round(c.l * 100) / 100,\n getColor: (c: HSL, v: string): HSL => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: ({ a }: HSL) => a != null ? Math.round(a * 100) / 100 : 1,\n getColor: (c: HSL, v: string): HSL => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVtoHSL,\n from: HSLtoHSV,\n}\n\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3),\n}\n\nconst hexa: ColorPickerMode = {\n inputProps: {\n type: 'text',\n },\n inputs: [\n {\n label: 'HEXA',\n getValue: (c: string) => c,\n getColor: (c: string, v: string) => v,\n },\n ],\n to: HSVtoHex,\n from: HexToHSV,\n}\n\nconst hex = {\n ...hexa,\n inputs: [\n {\n label: 'HEX',\n getValue: (c: string) => c.slice(0, 7),\n getColor: (c: string, v: string) => v,\n },\n ],\n}\n\nexport const modes = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa,\n} satisfies Record<string, ColorPickerMode>\n","// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { computed } from 'vue'\nimport { modes, nullColor } from './util'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input { ...rest } />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n\n ...makeComponentProps(),\n}, 'VColorPickerEdit')\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: makeVColorPickerEditProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? nullColor, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-edit',\n props.class,\n ]}\n style={ props.style }\n >\n { inputs.value?.map(props => (\n <VColorPickerInput { ...props } />\n ))}\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n }}\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n","/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef } from 'vue'\nimport { clamp, createRange, getDecimals, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\nexport type 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 | null | undefined>\n elevation: Ref<number | 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 | null | 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<readonly number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\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: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n error: Boolean,\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\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 ticks: {\n type: [Array, Object] as PropType<readonly number[] | Record<number, 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\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'Slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\ntype SliderData = {\n value: number\n}\n\nexport const useSteps = (props: SliderProps) => {\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(() => Math.max(getDecimals(step.value), getDecimals(min.value)))\n\n function roundValue (value: string | number) {\n value = parseFloat(value)\n\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 return { min, max, step, decimals, roundValue }\n}\n\nexport const useSlider = ({\n props,\n steps,\n onSliderStart,\n onSliderMove,\n onSliderEnd,\n getActiveThumb,\n}: {\n props: SliderProps\n steps: ReturnType<typeof useSteps>\n onSliderEnd: (data: SliderData) => void\n onSliderStart: (data: SliderData) => void\n onSliderMove: (data: SliderData) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = toRef(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\n const { min, max, step, decimals, roundValue } = steps\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.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = shallowRef(false)\n\n const startOffset = shallowRef(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\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 || horizontalDirection.value === 'rtl') clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n onSliderEnd({ value: parseMouseMove(e) })\n\n mousePressed.value = 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 startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n onSliderMove({ value: parseMouseMove(e) })\n }\n\n onSliderStart({ value: parseMouseMove(e) })\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n onSliderMove({ value: 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 handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.removeEventListener('touchend', onSliderTouchend as EventListener)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.addEventListener('touchend', onSliderTouchend as EventListener, { 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 showTicks = toRef(props, 'showTicks')\n const parsedTicks = computed<Tick[]>(() => {\n if (!showTicks.value) return []\n\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: parseFloat(key),\n position: position(parseFloat(key)),\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 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 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 { VSliderSymbol } from './slider'\nimport { VScaleTransition } from '../transitions'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VSliderThumbSlots = {\n 'thumb-label': { modelValue: number }\n}\n\nexport const makeVSliderThumbProps = propsFactory({\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 ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n ...makeComponentProps(),\n}, 'VSliderThumb')\n\nexport const VSliderThumb = genericComponent<VSliderThumbSlots>()({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: makeVSliderThumbProps(),\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n const { rtlClasses } = useRtl()\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 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 = horizontalDirection.value === 'rtl' ? [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 useRender(() => {\n const positionPercentage = convertToUnit((vertical.value || isReversed.value) ? 100 - props.position : props.position, '%')\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 props.class,\n rtlClasses.value,\n ]}\n style={[\n {\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n },\n props.style,\n ]}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\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={[props.ripple, 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 return {}\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 { makeComponentProps } from '@/composables/component'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Tick } from './slider'\n\nexport type VSliderTrackSlots = {\n 'tick-label': { tick: Tick, index: number }\n}\n\nexport const makeVSliderTrackProps = propsFactory({\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n\n ...makeComponentProps(),\n}, 'VSliderTrack')\n\nexport const VSliderTrack = genericComponent<VSliderTrackSlots>()({\n name: 'VSliderTrack',\n\n props: makeVSliderTrackProps(),\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 color,\n horizontalDirection,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\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 if (!showTicks.value) return []\n\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined\n\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 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\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 useRender(() => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n props.class,\n ]}\n style={[\n {\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 props.style,\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 return {}\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeSliderProps, useSlider, useSteps } from './slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSlots } from '@/components/VInput/VInput'\n\nexport type VSliderSlots = VInputSlots & {\n label: VInputSlot\n 'tick-label': never\n 'thumb-label': never\n}\n\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n}, 'VSlider')\n\nexport const VSlider = genericComponent<VSliderSlots>()({\n name: 'VSlider',\n\n props: makeVSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n start: (value: number) => true,\n end: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const thumbContainerRef = ref()\n const { rtlClasses } = useRtl()\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n value => {\n return steps.roundValue(value == null ? steps.min.value : value)\n },\n )\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 steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const roundedValue = roundValue(value)\n model.value = roundedValue\n emit('end', roundedValue)\n },\n onSliderMove: ({ value }) => model.value = roundValue(value),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\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 rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n id={ slotProps.id.value }\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\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 aria-describedby={ messagesId.value }\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 return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { nullColor } from './util'\nimport { defineComponent, HSVtoCSS, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n","const red = Object.freeze({\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: '#ffffff00',\n})\n\nexport default Object.freeze({\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades,\n})\n","// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport {\n convertToUnit,\n deepEqual,\n defineComponent,\n getContrast,\n parseColor,\n propsFactory,\n RGBtoCSS,\n RGBtoHSV,\n useRender,\n} from '@/util'\nimport colors from '@/util/colors'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerSwatchesProps = propsFactory({\n swatches: {\n type: Array as PropType<DeepReadonly<Color[][]>>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSV | null>,\n maxHeight: [Number, String],\n\n ...makeComponentProps(),\n}, 'VColorPickerSwatches')\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: makeVColorPickerSwatchesProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-swatches',\n props.class,\n ]}\n style={[\n { maxHeight: convertToUnit(props.maxHeight) },\n props.style,\n ]}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const rgba = parseColor(color)\n const hsva = RGBtoHSV(rgba)\n const background = RGBtoCSS(rgba)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={ () => hsva && emit('update:color', hsva) }\n >\n <div style={{ background }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={ getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerSwatches = InstanceType<typeof VColorPickerSwatches>\n","// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLocationProps, useLocation } from '@/composables/location'\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 { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVSheetProps = propsFactory({\n color: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VSheet')\n\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n\n props: makeVSheetProps(),\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 { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n useRender(() => (\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 props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSheet = InstanceType<typeof VSheet>\n","// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, ref } from 'vue'\nimport { extractColor, modes, nullColor } from './util'\nimport { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from '@/util'\n\n// Types\nimport type { DeepReadonly, PropType } from 'vue'\nimport type { Color, HSV } from '@/util'\n\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String as PropType<keyof typeof modes>,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<readonly (keyof typeof modes)[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<DeepReadonly<Color[][]>>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n\n ...omit(makeVSheetProps({ width: 300 }), [\n 'height',\n 'location',\n 'minHeight',\n 'maxHeight',\n 'minWidth',\n 'maxWidth',\n ]),\n}, 'VColorPicker')\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: makeVColorPickerProps(),\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: keyof typeof modes) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSV | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n if (v == null || v === '') return null\n\n let c: HSV\n try {\n c = RGBtoHSV(parseColor(v as any))\n } catch (err) {\n consoleWarn(err as any)\n return null\n }\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n const { rtlClasses } = useRtl()\n\n const updateColor = (hsva: HSV) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => {\n const [sheetProps] = VSheet.filterProps(props)\n\n return (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n },\n props.style,\n ]}\n { ...sheetProps }\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n )}\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n )}\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n )}\n </div>\n )}\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n )}\n </VSheet>\n )\n })\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n","// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VTextField } from '@/components/VTextField'\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { transformItem, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, getPropertyFromItem, noop, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { FilterMatch } from '@/composables/filter'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction highlightResult (text: string, matches: FilterMatch | undefined, length: number) {\n if (matches == null) return text\n\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = string | ([T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any))\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVComboboxProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n delimiters: Array as PropType<readonly string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true, returnObject: true }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VCombobox')\n\nexport const VCombobox = genericComponent<new <\n T extends readonly any[],\n Item = T extends readonly (infer U)[] ? U : never,\n ReturnObject extends boolean = true,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (val: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCombobox',\n\n props: makeVComboboxProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n 'update:search': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const selectionIndex = shallowRef(-1)\n let cleared = false\n const color = computed(() => vTextFieldRef.value?.color)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const _search = shallowRef(!props.multiple ? model.value[0]?.title ?? '' : '')\n const search = computed<string>({\n get: () => {\n return _search.value\n },\n set: val => {\n _search.value = val\n if (!props.multiple) {\n model.value = [transformItem(props, val)]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select(transformItem(props, v))\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n\n isPristine.value = !val\n },\n })\n watch(_search, value => {\n if (cleared) {\n // wait for clear to finish, VTextField sets _search to null\n // then search computed triggers and updates _search to ''\n nextTick(() => (cleared = false))\n } else if (isFocused.value && !menu.value) {\n menu.value = true\n }\n\n emit('update:search', value)\n })\n watch(model, value => {\n if (!props.multiple) {\n _search.value = value[0]?.title ?? ''\n }\n })\n\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => {\n const itemRawValue = getPropertyFromItem(item.raw, props.itemValue)\n const modelRawValue = getPropertyFromItem(v.raw, props.itemValue)\n\n if (itemRawValue === undefined || modelRawValue === undefined) return false\n\n return props.returnObject\n ? props.valueComparator(itemRawValue, modelRawValue)\n : props.valueComparator(item.value, v.value)\n }) || v\n })\n })\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !selections.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const selection = computed(() => selections.value[selectionIndex.value])\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ))\n\n const listRef = ref<VList>()\n const { onListScroll, onListKeydown } = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n cleared = true\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (\n selectionIndex.value > -1 ||\n ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)\n ) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key)) {\n select(filteredItems.value[0])\n }\n\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n const originalSelectionIndex = selectionIndex.value\n\n if (selection.value) select(selection.value)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter' && search.value) {\n select(transformItem(props, search.value))\n search.value = ''\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n function select (item: ListItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n\n search.value = ''\n } else {\n model.value = [item]\n _search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple)) model.value = []\n }\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, (val, oldVal) => {\n if (val || val === oldVal) return\n\n selectionIndex.value = -1\n menu.value = false\n\n if (\n highlightFirst.value &&\n !listHasFocus.value &&\n !selections.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(displayItems.value[0])\n } else if (props.multiple && search.value) {\n model.value = [...model.value, transformItem(props, search.value)]\n search.value = ''\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selection-slot': !!slots.selection,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ props.readonly }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-combobox__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onScrollPassive={ onListScroll }\n tabindex=\"-1\"\n color={ props.itemColor ?? props.color }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll renderless items={ displayItems.value }>\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps }>\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-combobox__selection',\n index === selectionIndex.value && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-combobox__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { (!props.hideNoData || props.items.length) && props.menuIcon ? (\n <VIcon\n class=\"v-combobox__menu-icon\"\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n\n ...makeVOverlayProps({\n origin: 'center center' as const,\n scrollStrategy: 'block' as const,\n transition: { component: VDialogTransition as Component },\n zIndex: 2400,\n }),\n}, 'VDialog')\n\nexport const VDialog = genericComponent<OverlaySlots>()({\n name: 'VDialog',\n\n props: makeVDialogProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\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 // We're the topmost dialog\n overlay.value?.globalTop &&\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 ) {\n const focusable = focusableChildren(overlay.value.contentEl)\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 const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }, props.activatorProps)\n )\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n aria-modal=\"true\"\n activatorProps={ activatorProps.value }\n role=\"dialog\"\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VDialog\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } 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\n\ntype Variant = typeof allowedVariants[number]\n\nexport const makeVExpansionPanelsProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n ...makeGroupProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n color: toRef(props, 'color'),\n },\n VExpansionPanelTitle: {\n readonly: toRef(props, 'readonly'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTextProps = propsFactory({\n ...makeComponentProps(),\n ...makeLazyProps(),\n}, 'VExpansionPanelText')\n\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n\n props: makeVExpansionPanelTextProps(),\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 useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class={[\n 'v-expansion-panel-text',\n props.class,\n ]}\n style={ props.style }\n v-show={ expansionPanel.isSelected.value }\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 return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n","// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\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 collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span 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 </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n","// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps } from '@/composables/lazy'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLazyProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - 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 selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n provideDefaults({\n VExpansionPanelText: {\n eager: toRef(props, 'eager'),\n },\n })\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\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': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n key=\"title\"\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n expandIcon={ props.expandIcon }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText key=\"text\">\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & {\n counter: never\n selection: {\n fileNames: string[]\n totalBytes: number\n totalBytesReadable: string\n }\n}\n\nexport const makeVFileInputProps = propsFactory({\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({ prependIcon: '$file' }),\n\n modelValue: {\n type: Array as PropType<File[]>,\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}, 'VFileInput')\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: makeVFileInputProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\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 const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.active\n ))\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onClickPrepend (e: MouseEvent) {\n onControlClick(e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n callEvent(props['onClick:clear'], e)\n })\n }\n\n watch(model, newValue => {\n const hasModelReset = !Array.isArray(newValue) || !newValue.length\n\n if (hasModelReset && inputRef.value) {\n inputRef.value.value = ''\n }\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = VInput.filterProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-file-input',\n {\n 'v-text-field--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n onClick:prepend={ onClickPrepend }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n if (isReadonly.value) e.preventDefault()\n\n onFocus()\n }}\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && (\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 )}\n </div>\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ !!model.value?.length }\n value={ counterValue.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\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 { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const makeVFormProps = propsFactory({\n ...makeComponentProps(),\n ...makeFormProps(),\n}, 'VForm')\n\ntype VFormSlots = {\n default: ReturnType<typeof createForm>\n}\n\nexport const VForm = genericComponent<VFormSlots>()({\n name: 'VForm',\n\n props: makeVFormProps(),\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => 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 const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class={[\n 'v-form',\n props.class,\n ]}\n style={ props.style }\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VContainer')\n\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n\n props: makeVContainerProps(),\n\n setup (props, { slots }) {\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType<typeof VContainer>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { breakpoints } from '@/composables/display'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { Prop, PropType } from 'vue'\nimport type { Breakpoint } from '@/composables/display'\n\ntype BreakpointOffset = `offset${Capitalize<Breakpoint>}`\ntype BreakpointOrder = `order${Capitalize<Breakpoint>}`\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<Breakpoint, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n const offsetKey = ('offset' + capitalize(val)) as BreakpointOffset\n props[offsetKey] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<BreakpointOffset, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n const orderKey = ('order' + capitalize(val)) as BreakpointOrder\n props[orderKey] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<BreakpointOrder, 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\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'] as const\n\nexport const makeVColProps = propsFactory({\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 as PropType<typeof ALIGN_SELF_VALUES[number]>,\n default: null,\n validator: (str: any) => ALIGN_SELF_VALUES.includes(str),\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VCol')\n\nexport const VCol = genericComponent()({\n name: 'VCol',\n\n props: makeVColProps(),\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: [\n classes.value,\n props.class,\n ],\n style: props.style,\n }, slots.default?.())\n },\n})\n\nexport type VCol = InstanceType<typeof VCol>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { breakpoints } from '@/composables/display'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { Prop, PropType } from 'vue'\nimport type { Breakpoint } from '@/composables/display'\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\ntype BreakpointAlign = `align${Capitalize<Breakpoint>}`\ntype BreakpointJustify = `justify${Capitalize<Breakpoint>}`\ntype BreakpointAlignContent = `alignContent${Capitalize<Breakpoint>}`\n\nconst SPACE = ['space-between', 'space-around', 'space-evenly'] as const\n\nfunction makeRowProps <\n Name extends BreakpointAlign | BreakpointJustify | BreakpointAlignContent,\n Type,\n> (prefix: string, def: () => Prop<Type, null>) {\n return breakpoints.reduce((props, val) => {\n const prefixKey = prefix + capitalize(val) as Name\n props[prefixKey] = def()\n return props\n }, {} as Record<Name, Prop<Type, null>>)\n}\n\nconst ALIGN_VALUES = [...ALIGNMENT, 'baseline', 'stretch'] as const\ntype AlignValue = typeof ALIGN_VALUES[number]\nconst alignValidator = (str: any) => ALIGN_VALUES.includes(str)\nconst alignProps = makeRowProps<BreakpointAlign, AlignValue>('align', () => ({\n type: String as PropType<AlignValue>,\n default: null,\n validator: alignValidator,\n}))\n\nconst JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE] as const\ntype JustifyValue = typeof JUSTIFY_VALUES[number]\nconst justifyValidator = (str: any) => JUSTIFY_VALUES.includes(str)\nconst justifyProps = makeRowProps<BreakpointJustify, JustifyValue>('justify', () => ({\n type: String as PropType<JustifyValue>,\n default: null,\n validator: justifyValidator,\n}))\n\nconst ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, 'stretch'] as const\ntype AlignContentValue = typeof ALIGN_CONTENT_VALUES[number]\nconst alignContentValidator = (str: any) => ALIGN_CONTENT_VALUES.includes(str)\nconst alignContentProps = makeRowProps<BreakpointAlignContent, AlignContentValue>('alignContent', () => ({\n type: String as PropType<AlignContentValue>,\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 makeVRowProps = propsFactory({\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String as PropType<typeof ALIGN_VALUES[number]>,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String as PropType<typeof ALIGN_CONTENT_VALUES[number]>,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String as PropType<typeof ALIGN_CONTENT_VALUES[number]>,\n default: null,\n validator: alignContentValidator,\n },\n\n ...alignContentProps,\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VRow')\n\nexport const VRow = genericComponent()({\n name: 'VRow',\n\n props: makeVRowProps(),\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: [\n 'v-row',\n classes.value,\n props.class,\n ],\n style: props.style,\n }, slots.default?.())\n },\n})\n\nexport type VRow = InstanceType<typeof VRow>\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n\nexport type VSpacer = InstanceType<typeof VSpacer>\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { genericComponent, propsFactory } from '@/util'\n\ntype VHoverSlots = {\n default: {\n isHovering: boolean | undefined\n props: Record<string, unknown>\n }\n}\n\nexport const makeVHoverProps = propsFactory({\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n}, 'VHover')\n\nexport const VHover = genericComponent<VHoverSlots>()({\n name: 'VHover',\n\n props: makeVHoverProps(),\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\nexport type VHover = InstanceType<typeof VHover>\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const makeVItemGroupProps = propsFactory({\n ...makeComponentProps(),\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VItemGroup')\n\ntype VItemGroupSlots = {\n default: {\n isSelected: (id: number) => boolean\n select: (id: number, value: boolean) => void\n next: () => void\n prev: () => void\n selected: readonly number[]\n }\n}\n\nexport const VItemGroup = genericComponent<VItemGroupSlots>()({\n name: 'VItemGroup',\n\n props: makeVItemGroupProps(),\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 props.class,\n ]}\n style={ props.style }\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 { VItemGroupSymbol } from './VItemGroup'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\ntype VItemSlots = {\n default: {\n isSelected: boolean | undefined\n selectedClass: boolean | (string | undefined)[] | undefined\n select: ((value: boolean) => void) | undefined\n toggle: (() => void) | undefined\n value: unknown\n disabled: boolean | undefined\n }\n}\n\nexport const VItem = genericComponent<VItemSlots>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\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","// Styles\nimport './VKbd.sass'\n\n// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n\nexport type VKbd = InstanceType<typeof VKbd>\n","// Styles\nimport './VLayout.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLayoutProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps(),\n}, 'VLayout')\n\nexport const VLayout = genericComponent()({\n name: 'VLayout',\n\n props: makeVLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n layoutClasses.value,\n props.class,\n ]}\n style={[\n layoutStyles.value,\n props.style,\n ]}\n >\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 { makeComponentProps } from '@/composables/component'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVLayoutItemProps = propsFactory({\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\n ...makeComponentProps(),\n ...makeLayoutItemProps(),\n}, 'VLayoutItem')\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: makeVLayoutItemProps(),\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n props.class,\n ]}\n style={[\n layoutItemStyles.value,\n props.style,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n\nexport type VLayoutItem = InstanceType<typeof VLayoutItem>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVLazyProps = propsFactory({\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 ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n}, 'VLazy')\n\nexport const VLazy = genericComponent()({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: makeVLazyProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\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 useRender(() => (\n <props.tag\n class={[\n 'v-lazy',\n props.class,\n ]}\n v-intersect={[\n {\n handler: onIntersect,\n options: props.options,\n },\n null,\n isActive.value ? [] : ['once'],\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition } appear>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VLazy = InstanceType<typeof VLazy>\n","// Styles\nimport './VLocaleProvider.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideLocale } from '@/composables/locale'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLocaleProviderProps = propsFactory({\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeComponentProps(),\n}, 'VLocaleProvider')\n\nexport const VLocaleProvider = genericComponent()({\n name: 'VLocaleProvider',\n\n props: makeVLocaleProviderProps(),\n\n setup (props, { slots }) {\n const { rtlClasses } = provideLocale(props)\n\n useRender(() => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VLocaleProvider = InstanceType<typeof VLocaleProvider>\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps({ tag: 'main' }),\n}, 'VMain')\n\nexport const VMain = genericComponent()({\n name: 'VMain',\n\n props: makeVMainProps(),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n useRender(() => (\n <props.tag\n class={[\n 'v-main',\n { 'v-main--scrollable': props.scrollable },\n props.class,\n ]}\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { props.scrollable\n ? (\n <div class=\"v-main__scroller\">\n { slots.default?.() }\n </div>\n )\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VMain = InstanceType<typeof VMain>\n","// Utilities\nimport { computed, onBeforeUnmount, onMounted, shallowRef, watch } from 'vue'\nimport { convertToUnit } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ninterface StickyProps {\n rootEl: Ref<HTMLElement | undefined>\n isSticky: Ref<boolean>\n layoutItemStyles: Ref<CSSProperties>\n}\n\nexport function useSticky ({ rootEl, isSticky, layoutItemStyles }: StickyProps) {\n const isStuck = shallowRef<boolean | 'top' | 'bottom'>(false)\n const stuckPosition = shallowRef(0)\n\n const stickyStyles = computed(() => {\n const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value\n return [\n isSticky.value ? { top: 'auto', bottom: 'auto', height: undefined } : undefined,\n isStuck.value\n ? { [side]: convertToUnit(stuckPosition.value) }\n : { top: layoutItemStyles.value.top },\n ]\n })\n\n onMounted(() => {\n watch(isSticky, val => {\n if (val) {\n window.addEventListener('scroll', onScroll, { passive: true })\n } else {\n window.removeEventListener('scroll', onScroll)\n }\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('scroll', onScroll)\n })\n\n let lastScrollTop = 0\n function onScroll () {\n const direction = lastScrollTop > window.scrollY ? 'up' : 'down'\n const rect = rootEl.value!.getBoundingClientRect()\n const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0)\n const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop)\n const bottom =\n rect.height +\n Math.max(stuckPosition.value, layoutTop) -\n window.scrollY -\n window.innerHeight\n const bodyScroll = parseFloat(getComputedStyle(rootEl.value!).getPropertyValue('--v-body-scroll-y')) || 0\n\n if (rect.height < window.innerHeight - layoutTop) {\n isStuck.value = 'top'\n stuckPosition.value = layoutTop\n } else if (\n (direction === 'up' && isStuck.value === 'bottom') ||\n (direction === 'down' && isStuck.value === 'top')\n ) {\n stuckPosition.value = window.scrollY + rect.top - bodyScroll\n isStuck.value = true\n } else if (direction === 'down' && bottom <= 0) {\n stuckPosition.value = 0\n isStuck.value = 'bottom'\n } else if (direction === 'up' && top <= 0) {\n if (!bodyScroll) {\n stuckPosition.value = rect.top + top\n isStuck.value = 'top'\n } else if (isStuck.value !== 'top') {\n stuckPosition.value = -top + bodyScroll + layoutTop\n isStuck.value = 'top'\n }\n }\n\n lastScrollTop = window.scrollY\n }\n\n return { isStuck, stickyStyles }\n}\n","// Utilities\nimport { 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","// Composables\nimport { useVelocity } from '@/composables/touch'\n\n// Utilities\nimport { computed, onBeforeUnmount, onMounted, shallowRef } from 'vue'\n\n// Types\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' | 'top' | '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(() => ['left', 'right'].includes(position.value))\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = shallowRef(false)\n const dragProgress = shallowRef(0)\n const offset = shallowRef(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 === 'top' ? 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 === 'top' ? (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 === 'top' ? touchY < 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 === 'top' ? touchY < 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 top: 'down',\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 === 'top' ? `translateY(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 { useSticky } from './sticky'\nimport { useTouch } from './touch'\nimport { useRtl } from '@/composables'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, shallowRef, toRef, Transition, watch } from 'vue'\nimport { genericComponent, propsFactory, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string | undefined\n}\n\nexport type VNavigationDrawerSlots = {\n default: never\n prepend: never\n append: never\n image: VNavigationDrawerImageSlot\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const makeVNavigationDrawerProps = propsFactory({\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n}, 'VNavigationDrawer')\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: makeVNavigationDrawerProps(),\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\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 const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n const { scopeId } = useScopeId()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = shallowRef(false)\n\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 location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\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\n const { layoutItemStyles, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n function onMouseenter () {\n isHovering.value = true\n }\n function onMouseleave () {\n isHovering.value = false\n }\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\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--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n props.style,\n ]}\n { ...scopeId }\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" 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) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n { ...scopeId }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = useHydration()\n\n return () => show.value && slots.default?.()\n },\n})\n\nexport type VNoSsr = InstanceType<typeof VNoSsr>\n","// Utilities\nimport { onBeforeUpdate, ref } from 'vue'\n\n// Types\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","// Styles\nimport './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { useDisplay } from '@/composables'\nimport { makeBorderProps } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRefs } from '@/composables/refs'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, nextTick, shallowRef, toRef } from 'vue'\nimport { createRange, genericComponent, keyValues, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\ntype ItemSlot = {\n isActive: boolean\n key: string | number\n page: string\n props: Record<string, any>\n}\n\ntype ControlSlot = {\n icon: IconValue\n onClick: (e: Event) => void\n disabled: boolean\n ariaLabel: string\n ariaDisabled: boolean\n}\n\nexport type VPaginationSlots = {\n item: ItemSlot\n first: ControlSlot\n prev: ControlSlot\n next: ControlSlot\n last: ControlSlot\n}\n\nexport const makeVPaginationProps = propsFactory({\n activeColor: String,\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start as number,\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: IconValue,\n default: '$first',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n lastIcon: {\n type: IconValue,\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 ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VPagination')\n\nexport const VPagination = genericComponent<VPaginationSlots>()({\n name: 'VPagination',\n\n props: makeVPaginationProps(),\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 { width } = useDisplay()\n const maxButtons = shallowRef(-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 > *') as HTMLElement\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth =\n firstItem.offsetWidth +\n parseFloat(getComputedStyle(firstItem).marginRight) * 2\n\n maxButtons.value = getMax(totalWidth, 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 parseInt(props.totalVisible, 10)\n else if (maxButtons.value >= 0) return maxButtons.value\n return getMax(width.value, 58)\n })\n\n function getMax (totalWidth: number, itemWidth: number) {\n const minButtons = props.showFirstLastPage ? 5 : 3\n return Math.max(0, Math.floor(\n // Round to two decimal places to avoid floating point errors\n +((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)\n ))\n }\n\n const range = computed(() => {\n if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return []\n\n if (totalVisible.value <= 1) return [page.value]\n\n if (length.value <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const even = totalVisible.value % 2 === 0\n const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2)\n const left = even ? middle : middle + 1\n const right = length.value - middle\n\n if (left - page.value >= 0) {\n return [...createRange(Math.max(1, totalVisible.value - 1), start.value), props.ellipsis, length.value]\n } else if (page.value - right >= (even ? 1 : 0)) {\n const rangeLength = totalVisible.value - 1\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 - 3)\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 VPaginationBtn: {\n color: toRef(props, 'color'),\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n rounded: toRef(props, 'rounded'),\n elevation: toRef(props, 'elevation'),\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 key: `ellipsis-${index}`,\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 key: item,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || +props.length < 2,\n color: isActive ? props.activeColor : props.color,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),\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 useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\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 key=\"first\" class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first!) : (\n <VBtn _as=\"VPaginationBtn\" { ...controls.value.first } />\n )}\n </li>\n )}\n\n <li key=\"prev\" class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn _as=\"VPaginationBtn\" { ...controls.value.prev } />\n )}\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ item.key }\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 _as=\"VPaginationBtn\" { ...item.props }>{ item.page }</VBtn>\n )}\n </li>\n ))}\n\n <li\n key=\"next\"\n class=\"v-pagination__next\"\n data-test=\"v-pagination-next\"\n >\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn _as=\"VPaginationBtn\" { ...controls.value.next } />\n )}\n </li>\n\n { props.showFirstLastPage && (\n <li\n key=\"last\"\n class=\"v-pagination__last\"\n data-test=\"v-pagination-last\"\n >\n { slots.last ? slots.last(controls.value.last!) : (\n <VBtn _as=\"VPaginationBtn\" { ...controls.value.last } />\n )}\n </li>\n )}\n </ul>\n </props.tag>\n ))\n\n return {}\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 { useDisplay } from '@/composables'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { clamp, genericComponent, getScrollParent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VImgSlots } from '@/components/VImg/VImg'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const makeVParallaxProps = propsFactory({\n scale: {\n type: [Number, String],\n default: 0.5,\n },\n\n ...makeComponentProps(),\n}, 'VParallax')\n\nexport const VParallax = genericComponent<VImgSlots>()({\n name: 'VParallax',\n\n props: makeVParallaxProps(),\n\n setup (props, { slots }) {\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n const { resizeRef, contentRect } = useResizeObserver()\n const { height: displayHeight } = useDisplay()\n\n const root = ref<VImg>()\n\n watchEffect(() => {\n intersectionRef.value = resizeRef.value = root.value?.$el\n })\n\n let scrollParent: Element | Document\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document : 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 watch(displayHeight, onScroll)\n watch(() => contentRect.value?.height, onScroll)\n\n const scale = computed(() => {\n return 1 - clamp(+props.scale)\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 scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight\n const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop\n const top = intersectionRef.value!.getBoundingClientRect().top + scrollPos\n const height = contentRect.value!.height\n\n const center = top + (height - scrollHeight) / 2\n const translate = floor((scrollPos - center) * scale.value)\n const sizeScale = Math.max(1, (scale.value * (scrollHeight - height) + height) / height)\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${sizeScale})`)\n })\n }\n\n useRender(() => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n props.class,\n ]}\n style={ props.style }\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Components\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport const makeVRadioProps = propsFactory({\n ...makeVSelectionControlProps({\n falseIcon: '$radioOff',\n trueIcon: '$radioOn',\n }),\n}, 'VRadio')\n\nexport const VRadio = genericComponent<VSelectionControlSlots>()({\n name: 'VRadio',\n\n props: makeVRadioProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n { ...props }\n class={[\n 'v-radio',\n props.class,\n ]}\n style={ props.style }\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 { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControl } from '@/components/VSelectionControl'\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport type VRadioGroupSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n\n trueIcon: {\n type: IconValue,\n default: '$radioOn',\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n}, 'VRadioGroup')\n\nexport const VRadioGroup = genericComponent<VRadioGroupSlots>()({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: makeVRadioGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n const model = useProxiedModel(props, 'modelValue')\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [controlProps, _2] = VSelectionControl.filterProps(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={[\n 'v-radio-group',\n props.class,\n ]}\n style={ props.style }\n { ...inputAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <>\n { label && (\n <VLabel id={ id.value }>\n { label }\n </VLabel>\n )}\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n defaultsTarget=\"VRadio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n aria-labelledby={ label ? id.value : undefined }\n multiple={ false }\n { ...controlAttrs }\n v-model={ model.value }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRadioGroup = InstanceType<typeof VRadioGroup>\n","// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { getOffset, makeSliderProps, useSlider, useSteps } from '@/components/VSlider/slider'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const makeVRangeSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<readonly (string | number)[]>,\n default: () => ([0, 0]),\n },\n}, 'VRangeSlider')\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: makeVRangeSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n end: (value: [number, number]) => true,\n start: (value: [number, number]) => true,\n },\n\n setup (props, { slots, emit }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n const { rtlClasses } = useRtl()\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 steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr?.length) return [0, 0]\n\n return arr.map(value => steps.roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n trackContainerRef,\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const newValue: [number, number] = activeThumbRef.value === startThumbRef.value?.$el\n ? [value, model.value[1]]\n : [model.value[0], value]\n\n if (!props.strict && newValue[0] < newValue[1]) {\n model.value = newValue\n }\n\n emit('end', model.value)\n },\n onSliderMove: ({ value }) => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = value > 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(value, stop), stop]\n } else {\n model.value = [start, Math.max(start, value)]\n }\n },\n getActiveThumb,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\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 rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\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 aria-describedby={ messagesId.value }\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 aria-describedby={ messagesId.value }\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 return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { clamp, createRange, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: IconValue\n color?: string\n props: Record<string, unknown>\n rating: number\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\ntype VRatingSlots = {\n item: VRatingItemSlot\n 'item-label': VRatingItemLabelSlot\n}\n\nexport const makeVRatingProps = propsFactory({\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: IconValue,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: IconValue,\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, String],\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 ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VRating')\n\nexport const VRating = genericComponent<VRatingSlots>()({\n name: 'VRating',\n\n props: makeVRatingProps(),\n\n emits: {\n 'update:modelValue': (value: number | string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length))\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 = shallowRef(-1)\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = normalizedValue.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 onClick () {\n if (props.disabled || props.readonly) return\n rating.value = normalizedValue.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onClick,\n }\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, 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 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 onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n onClick={ onClick }\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[index],\n props: btnProps,\n value,\n index,\n rating: normalizedValue.value,\n })\n : (\n <VBtn\n aria-label={ t(props.itemAriaLabel, value, props.length) }\n { ...btnProps }\n />\n )\n }\n </label>\n\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ normalizedValue.value === value }\n tabindex={ -1 }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n function createLabel (labelProps: { value: number, index: number, label?: string }) {\n if (slots['item-label']) return slots['item-label'](labelProps)\n\n if (labelProps.label) return <span>{ labelProps.label }</span>\n\n return <span> </span>\n }\n\n useRender(() => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\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 props.class,\n ]}\n style={ props.style }\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 && props.itemLabelPosition === 'top'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n <div class=\"v-rating__item\">\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 {\n hasLabels && props.itemLabelPosition === 'bottom'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n </div>\n ))}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","export function bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset ({\n selectedElement,\n containerSize,\n contentSize,\n isRtl,\n currentScrollOffset,\n isHorizontal,\n}: {\n selectedElement: HTMLElement\n containerSize: number\n contentSize: number\n isRtl: boolean\n currentScrollOffset: number\n isHorizontal: boolean\n}): number {\n const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight\n const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop\n const adjustedOffsetStart = isRtl && isHorizontal ? (contentSize - offsetStart - clientSize) : offsetStart\n\n const totalSize = containerSize + currentScrollOffset\n const itemOffset = clientSize + adjustedOffsetStart\n const additionalOffset = clientSize * 0.4\n\n if (adjustedOffsetStart <= currentScrollOffset) {\n currentScrollOffset = Math.max(adjustedOffsetStart - additionalOffset, 0)\n } else if (totalSize <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalSize - itemOffset - additionalOffset), contentSize - containerSize)\n }\n\n return currentScrollOffset\n}\n\nexport function calculateCenteredOffset ({\n selectedElement,\n containerSize,\n contentSize,\n isRtl,\n isHorizontal,\n}: {\n selectedElement: HTMLElement\n containerSize: number\n contentSize: number\n isRtl: boolean\n isHorizontal: boolean\n}): number {\n const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight\n const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop\n\n const offsetCentered = isRtl && isHorizontal\n ? contentSize - offsetStart - clientSize / 2 - containerSize / 2\n : offsetStart + clientSize / 2 - containerSize / 2\n\n return Math.min(contentSize - containerSize, Math.max(0, offsetCentered))\n}\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useDisplay } from '@/composables'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, shallowRef, watch } from 'vue'\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\ninterface SlideGroupSlot {\n next: GroupProvide['next']\n prev: GroupProvide['prev']\n select: GroupProvide['select']\n isSelected: GroupProvide['isSelected']\n}\n\ntype VSlideGroupSlots = {\n default: SlideGroupSlot\n prev: SlideGroupSlot\n next: SlideGroupSlot\n}\n\nexport const makeVSlideGroupProps = propsFactory({\n centerActive: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n}, 'VSlideGroup')\n\nexport const VSlideGroup = genericComponent<VSlideGroupSlots>()({\n name: 'VSlideGroup',\n\n props: makeVSlideGroupProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = shallowRef(false)\n const scrollOffset = shallowRef(0)\n const containerSize = shallowRef(0)\n const contentSize = shallowRef(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n if (IN_BROWSER) {\n let frame = -1\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n }\n\n if (firstSelectedIndex.value >= 0 && contentRef.value) {\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n }\n })\n })\n }\n\n const disableTransition = shallowRef(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n startOffset = sign * scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n scrollOffset.value = sign * (startOffset + startTouch - e.touches[0][sizeProperty])\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n if (!containerRef.value) return\n\n containerRef.value[isHorizontal.value ? 'scrollLeft' : 'scrollTop'] = 0\n }\n\n const isFocused = shallowRef(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (isHorizontal.value) {\n if (e.key === 'ArrowRight') {\n focus(isRtl.value ? 'prev' : 'next')\n } else if (e.key === 'ArrowLeft') {\n focus(isRtl.value ? 'next' : 'prev')\n }\n } else {\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n }\n }\n\n if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n const focusable = focusableChildren(contentRef.value)\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const newAbsoluteOffset = scrollOffset.value + (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = clamp(newAbsoluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n // This adds friction when scrolling the 'wrong' way when at max offset\n let scrollAmount = scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n // This adds friction when scrolling the 'wrong' way when at min offset\n if (scrollOffset.value <= 0) {\n scrollAmount = bias(-scrollOffset.value)\n }\n\n const sign = isRtl.value && isHorizontal.value ? -1 : 1\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${sign * scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return Math.abs(scrollOffset.value) > 0\n })\n\n const hasNext = computed(() => {\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n props.class,\n ]}\n style={ props.style }\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n key=\"prev\"\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ isRtl.value ? props.nextIcon : props.prevIcon }></VIcon>\n </VFadeTransition>\n )}\n </div>\n )}\n\n <div\n key=\"container\"\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n key=\"next\"\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ isRtl.value ? props.prevIcon : props.nextIcon }></VIcon>\n </VFadeTransition>\n )}\n </div>\n )}\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\n\n// Utilities\nimport { VSlideGroupSymbol } from './VSlideGroup'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { UnwrapRef } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\ntype VSlideGroupItemSlots = {\n default: {\n isSelected: UnwrapRef<GroupItemProvide['isSelected']>\n select: GroupItemProvide['select']\n toggle: GroupItemProvide['toggle']\n selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>\n }\n}\n\nexport const VSlideGroupItem = genericComponent<VSlideGroupItemSlots>()({\n name: 'VSlideGroupItem',\n\n props: makeGroupItemProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n\nexport type VSlideGroupItem = InstanceType<typeof VSlideGroupItem>\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { mergeProps, onMounted, ref, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\ntype VSnackbarSlots = {\n activator: { isActive: boolean, props: Record<string, any> }\n default: never\n actions: never\n}\n\nexport const makeVSnackbarProps = propsFactory({\n multiLine: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition',\n }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy']),\n}, 'VSnackbar')\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: makeVSnackbarProps(),\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n\n const overlay = ref<VOverlay>()\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n contentProps={ mergeProps({\n class: [\n 'v-snackbar__wrapper',\n themeClasses.value,\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ],\n style: [\n locationStyles.value,\n colorStyles.value,\n ],\n onPointerenter,\n onPointerleave: startTimeout,\n }, overlayProps.contentProps)}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n _disableGlobalStack\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n { genOverlays(false, 'v-snackbar') }\n\n { slots.default && (\n <div\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions() }\n </div>\n </VDefaultsProvider>\n )}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type VSwitchSlots =\n & VInputSlots\n & VSelectionControlSlots\n & { loader: LoaderSlotProps }\n\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeVSelectionControlProps(),\n}, 'VSwitch')\n\nexport const VSwitch = genericComponent<VSwitchSlots>()({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: makeVSwitchProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': () => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n const { loaderClasses } = useLoader(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\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] = VInput.filterProps(props)\n const [controlProps, _2] = VSelectionControl.filterProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick (e: Event) {\n e.stopPropagation()\n e.preventDefault()\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 props.class,\n ]}\n style={ props.style }\n { ...inputAttrs }\n { ...inputProps }\n id={ id.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n v-model={ model.value }\n id={ id.value }\n aria-describedby={ messagesId.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n onFocus={ focus }\n onBlur={ blur }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses, textColorStyles }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\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 { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVSystemBarProps = propsFactory({\n color: String,\n height: [Number, String],\n window: Boolean,\n\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VSystemBar')\n\nexport const VSystemBar = genericComponent()({\n name: 'VSystemBar',\n\n props: makeVSystemBarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => props.height ?? (props.window ? 32 : 24))\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: shallowRef('top'),\n layoutSize: height,\n elementSize: height,\n active: computed(() => true),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSystemBar = InstanceType<typeof VSystemBar>\n","// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VTabsSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-tabs')\n","// Styles\nimport './VTab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, shallowRef } from 'vue'\nimport { VTabsSymbol } from './shared'\nimport { animate, genericComponent, omit, propsFactory, standardEasing, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVTabProps = propsFactory({\n fixed: Boolean,\n\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...omit(makeVBtnProps({\n selectedClass: 'v-tab--selected',\n variant: 'text' as const,\n }), [\n 'active',\n 'block',\n 'flat',\n 'location',\n 'position',\n 'symbol',\n ]),\n}, 'VTab')\n\nexport const VTab = genericComponent()({\n name: 'VTab',\n\n props: makeVTabProps(),\n\n setup (props, { slots, attrs }) {\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n const isSelected = shallowRef(false)\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n\n function updateSlider ({ value }: { value: boolean }) {\n isSelected.value = value\n\n if (value) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n animate(nextEl, {\n backgroundColor: [color, 'currentcolor'],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n 'none',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n }\n\n useRender(() => {\n const [btnProps] = VBtn.filterProps(props)\n\n return (\n <VBtn\n symbol={ VTabsSymbol }\n ref={ rootEl }\n class={[\n 'v-tab',\n props.class,\n ]}\n style={ props.style }\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n active={ false }\n block={ props.fixed }\n maxWidth={ props.fixed ? 300 : undefined }\n rounded={ 0 }\n { ...btnProps }\n { ...attrs }\n onGroup:selected={ updateSlider }\n >\n { slots.default?.() ?? props.text }\n\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n )}\n </VBtn>\n )\n })\n\n return {}\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VTab } from './VTab'\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTabsSymbol } from './shared'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: readonly TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const makeVTabsProps = propsFactory({\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<readonly TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n sliderColor: String,\n\n ...makeVSlideGroupProps({ mandatory: 'force' as const }),\n ...makeDensityProps(),\n ...makeTagProps(),\n}, 'VTabs')\n\nexport const VTabs = genericComponent()({\n name: 'VTabs',\n\n props: makeVTabsProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n useRender(() => {\n const [slideGroupProps] = VSlideGroup.filterProps(props)\n\n return (\n <VSlideGroup\n { ...slideGroupProps }\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n { '--v-tabs-height': convertToUnit(props.height) },\n backgroundColorStyles.value,\n props.style,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n >\n { slots.default ? slots.default() : parsedItems.value.map(item => (\n <VTab { ...item } key={ item.title } />\n ))}\n </VSlideGroup>\n )\n })\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VTableSlots = {\n default: never\n top: never\n bottom: never\n wrapper: never\n}\n\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTable')\n\nexport const VTable = genericComponent<VTableSlots>()({\n name: 'VTable',\n\n props: makeVTableProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n useRender(() => (\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 'v-table--hover': props.hover,\n },\n themeClasses.value,\n densityClasses.value,\n props.class,\n ]}\n style={ props.style }\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 ) : slots.wrapper?.()}\n\n { slots.bottom?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VTable = InstanceType<typeof VTable>\n","// Styles\nimport './VTextarea.sass'\nimport '../VTextField/VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { VField } from '@/components/VField'\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { callEvent, clamp, convertToUnit, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport const makeVTextareaProps = propsFactory({\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 modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextarea')\n\ntype VTextareaSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n counter: VCounterSlot\n}\n\nexport const VTextarea = genericComponent<VTextareaSlots>()({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: makeVTextareaProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\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 string | number\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 vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const controlHeight = shallowRef('')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLTextAreaElement\n model.value = el.value\n if (props.modelModifiers?.trim) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n const rows = ref(+props.rows)\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n watchEffect(() => {\n if (!props.autoGrow) rows.value = +props.rows\n })\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value || !vFieldRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n const fieldStyle = getComputedStyle(vFieldRef.value.$el)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-input-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 = Math.max(\n parseFloat(props.rows) * lineHeight + padding,\n parseFloat(fieldStyle.getPropertyValue('--v-input-control-height'))\n )\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n const newHeight = clamp(height ?? 0, minHeight, maxHeight)\n rows.value = Math.floor((newHeight - padding) / lineHeight)\n\n controlHeight.value = convertToUnit(newHeight)\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n watch(() => props.density, 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 hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = VInput.filterProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-textarea v-text-field',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n 'v-text-field--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ rows.value === 1 && !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n style={{\n '--v-textarea-control-height': controlHeight.value,\n }}\n onClick={ onControlClick }\n onMousedown={ onControlMousedown }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n centerAffix={ rows.value === 1 && !isPlainOrUnderlined.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n value={ model.value }\n onInput={ onInput }\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 name={ props.name }\n onFocus={ onFocus }\n onBlur={ blur }\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-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory } from '@/util'\n\nexport const makeVThemeProviderProps = propsFactory({\n withBackground: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n}, 'VThemeProvider')\n\nexport const VThemeProvider = genericComponent()({\n name: 'VThemeProvider',\n\n props: makeVThemeProviderProps(),\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\n class={[\n 'v-theme-provider',\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n\nexport type VThemeProvider = InstanceType<typeof VThemeProvider>\n","// Styles\nimport './VTimeline.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'start' | 'end' | undefined\nexport type TimelineAlign = 'center' | 'start'\nexport type TimelineTruncateLine = 'start' | 'end' | 'both' | undefined\n\nexport const makeVTimelineProps = propsFactory({\n align: {\n type: String,\n default: 'center',\n validator: (v: any) => ['center', 'start'].includes(v),\n } as Prop<TimelineAlign>,\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n justify: {\n type: String,\n default: 'auto',\n validator: (v: any) => ['auto', 'center'].includes(v),\n },\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 validator: (v: any) => ['start', 'end', 'both'].includes(v),\n } as Prop<TimelineTruncateLine>,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTimeline')\n\nexport const VTimeline = genericComponent()({\n name: 'VTimeline',\n\n props: makeVTimelineProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { rtlClasses } = useRtl()\n\n provideDefaults({\n VTimelineDivider: {\n lineColor: toRef(props, 'lineColor'),\n },\n VTimelineItem: {\n density: toRef(props, 'density'),\n lineInset: toRef(props, 'lineInset'),\n },\n })\n\n const sideClasses = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n const truncateClasses = computed(() => {\n const classes = [\n 'v-timeline--truncate-line-start',\n 'v-timeline--truncate-line-end',\n ]\n\n switch (props.truncateLine) {\n case 'both': return classes\n case 'start': return classes[0]\n case 'end': return classes[1]\n default: return null\n }\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n `v-timeline--align-${props.align}`,\n `v-timeline--justify-${props.justify}`,\n truncateClasses.value,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n },\n themeClasses.value,\n densityClasses.value,\n sideClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VTimeline = InstanceType<typeof VTimeline>\n","// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVTimelineDividerProps = propsFactory({\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n icon: IconValue,\n iconColor: String,\n lineColor: String,\n\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n}, 'VTimelineDivider')\n\nexport const VTimelineDivider = genericComponent()({\n name: 'VTimelineDivider',\n\n props: makeVTimelineDividerProps(),\n\n setup (props, { slots }) {\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n const {\n backgroundColorClasses: lineColorClasses,\n backgroundColorStyles: lineColorStyles,\n } = useBackgroundColor(toRef(props, 'lineColor'))\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n props.class,\n ]}\n style={ props.style }\n >\n <div\n class={[\n 'v-timeline-divider__before',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n\n { !props.hideDot && (\n <div\n key=\"dot\"\n class={[\n 'v-timeline-divider__dot',\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n backgroundColorClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { !slots.default ? (\n <VIcon\n key=\"icon\"\n color={ props.iconColor }\n icon={ props.icon }\n size={ props.size }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n color: props.iconColor,\n icon: props.icon,\n size: props.size,\n },\n }}\n v-slots:default={ slots.default }\n />\n )}\n </div>\n </div>\n )}\n\n <div\n class={[\n 'v-timeline-divider__after',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { ref, shallowRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport type VTimelineItemSlots = {\n default: never\n icon: never\n opposite: never\n}\n\nexport const makeVTimelineItemProps = propsFactory({\n density: String as PropType<'default' | 'compact'>,\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: IconValue,\n iconColor: String,\n lineInset: [Number, String],\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n}, 'VTimelineItem')\n\nexport const VTimelineItem = genericComponent<VTimelineItemSlots>()({\n name: 'VTimelineItem',\n\n props: makeVTimelineItemProps(),\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = shallowRef(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 useRender(() => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n props.class,\n ]}\n style={[\n {\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0),\n },\n props.style,\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 { props.density !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VTimelineItem = InstanceType<typeof VTimelineItem>\n","// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVToolbarItemsProps = propsFactory({\n ...makeComponentProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VToolbarItems')\n\nexport const VToolbarItems = genericComponent()({\n name: 'VToolbarItems',\n\n props: makeVToolbarItemsProps(),\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n height: 'inherit',\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-toolbar-items',\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, mergeProps, ref } from 'vue'\nimport { genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVTooltipProps = propsFactory({\n id: String,\n text: String,\n\n ...omit(makeVOverlayProps({\n closeOnBack: false,\n location: 'end' as const,\n locationStrategy: 'connected' as const,\n eager: true,\n minWidth: 0,\n offset: 10,\n openOnClick: false,\n openOnHover: true,\n origin: 'auto' as const,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: false,\n }), [\n 'absolute',\n 'persistent',\n ]),\n}, 'VTooltip')\n\nexport const VTooltip = genericComponent<OverlaySlots>()({\n name: 'VTooltip',\n\n props: makeVTooltipProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const location = computed(() => {\n return props.location.split(' ').length > 1\n ? props.location\n : props.location + ' center' as StrategyProps['location']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.location.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 const activatorProps = computed(() =>\n mergeProps({\n 'aria-describedby': id.value,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-tooltip',\n props.class,\n ]}\n style={ props.style }\n id={ id.value }\n { ...overlayProps }\n v-model={ isActive.value }\n transition={ transition.value }\n absolute\n location={ location.value }\n origin={ origin.value }\n persistent\n role=\"tooltip\"\n activatorProps={ activatorProps.value }\n _disableGlobalStack\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport type VValidationSlots = {\n default: ReturnType<typeof useValidation>\n}\n\nexport const VValidation = genericComponent<VValidationSlots>()({\n name: 'VValidation',\n\n props: makeValidationProps(),\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\nexport type VValidation = InstanceType<typeof VValidation>\n","// Types\nimport type { DirectiveBinding } 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 = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","// Types\nimport 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","// Types\nimport 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 { createRange } from '@/util'\n\n// Types\nimport type { DateAdapter } from '../DateAdapter'\n\nconst firstDay: Record<string, number> = {\n '001': 1,\n AD: 1,\n AE: 6,\n AF: 6,\n AG: 0,\n AI: 1,\n AL: 1,\n AM: 1,\n AN: 1,\n AR: 1,\n AS: 0,\n AT: 1,\n AU: 1,\n AX: 1,\n AZ: 1,\n BA: 1,\n BD: 0,\n BE: 1,\n BG: 1,\n BH: 6,\n BM: 1,\n BN: 1,\n BR: 0,\n BS: 0,\n BT: 0,\n BW: 0,\n BY: 1,\n BZ: 0,\n CA: 0,\n CH: 1,\n CL: 1,\n CM: 1,\n CN: 1,\n CO: 0,\n CR: 1,\n CY: 1,\n CZ: 1,\n DE: 1,\n DJ: 6,\n DK: 1,\n DM: 0,\n DO: 0,\n DZ: 6,\n EC: 1,\n EE: 1,\n EG: 6,\n ES: 1,\n ET: 0,\n FI: 1,\n FJ: 1,\n FO: 1,\n FR: 1,\n GB: 1,\n 'GB-alt-variant': 0,\n GE: 1,\n GF: 1,\n GP: 1,\n GR: 1,\n GT: 0,\n GU: 0,\n HK: 0,\n HN: 0,\n HR: 1,\n HU: 1,\n ID: 0,\n IE: 1,\n IL: 0,\n IN: 0,\n IQ: 6,\n IR: 6,\n IS: 1,\n IT: 1,\n JM: 0,\n JO: 6,\n JP: 0,\n KE: 0,\n KG: 1,\n KH: 0,\n KR: 0,\n KW: 6,\n KZ: 1,\n LA: 0,\n LB: 1,\n LI: 1,\n LK: 1,\n LT: 1,\n LU: 1,\n LV: 1,\n LY: 6,\n MC: 1,\n MD: 1,\n ME: 1,\n MH: 0,\n MK: 1,\n MM: 0,\n MN: 1,\n MO: 0,\n MQ: 1,\n MT: 0,\n MV: 5,\n MX: 0,\n MY: 1,\n MZ: 0,\n NI: 0,\n NL: 1,\n NO: 1,\n NP: 0,\n NZ: 1,\n OM: 6,\n PA: 0,\n PE: 0,\n PH: 0,\n PK: 0,\n PL: 1,\n PR: 0,\n PT: 0,\n PY: 0,\n QA: 6,\n RE: 1,\n RO: 1,\n RS: 1,\n RU: 1,\n SA: 0,\n SD: 6,\n SE: 1,\n SG: 0,\n SI: 1,\n SK: 1,\n SM: 1,\n SV: 0,\n SY: 6,\n TH: 0,\n TJ: 1,\n TM: 1,\n TR: 1,\n TT: 0,\n TW: 0,\n UA: 1,\n UM: 0,\n US: 0,\n UY: 1,\n UZ: 1,\n VA: 1,\n VE: 0,\n VI: 0,\n VN: 1,\n WS: 0,\n XK: 1,\n YE: 0,\n ZA: 0,\n ZW: 0,\n}\n\nfunction getWeekArray (date: Date, locale: string) {\n const weeks = []\n let currentWeek = []\n const firstDayOfMonth = startOfMonth(date)\n const lastDayOfMonth = endOfMonth(date)\n const firstDayWeekIndex = firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()]\n const lastDayWeekIndex = lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()]\n\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i))\n currentWeek.push(adjacentDay)\n }\n\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i)\n\n // Add the day to the current week\n currentWeek.push(day)\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek)\n currentWeek = []\n }\n }\n\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() + i)\n currentWeek.push(adjacentDay)\n }\n\n weeks.push(currentWeek)\n\n return weeks\n}\n\nfunction startOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nfunction endOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nfunction parseLocalDate (value: string): Date {\n const parts = value.split('-').map(Number)\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2])\n}\n\nconst _YYYMMDD = /([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))/\n\nfunction date (value?: any): Date | null {\n if (value == null) return new Date()\n\n if (value instanceof Date) return value\n\n if (typeof value === 'string') {\n let parsed\n\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value)\n } else {\n parsed = Date.parse(value)\n }\n\n if (!isNaN(parsed)) return new Date(parsed)\n }\n\n return null\n}\n\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2)\n\nfunction getWeekdays (locale: string) {\n const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()]\n\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000)\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i)\n return new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(weekday)\n })\n}\n\nfunction format (value: Date, formatString: string, locale: string): string {\n const date = new Date(value)\n\n let options: Intl.DateTimeFormatOptions = {}\n switch (formatString) {\n case 'fullDateWithWeekday':\n options = { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }\n break\n case 'normalDateWithWeekday':\n options = { weekday: 'short', day: 'numeric', month: 'short' }\n break\n case 'keyboardDate':\n options = {}\n break\n case 'monthAndDate':\n options = { month: 'long', day: 'numeric' }\n break\n case 'monthAndYear':\n options = { month: 'long', year: 'numeric' }\n break\n case 'dayOfMonth':\n options = { day: 'numeric' }\n break\n default:\n options = { timeZone: 'UTC', timeZoneName: 'short' }\n }\n\n return new Intl.DateTimeFormat(locale, options).format(date)\n}\n\nfunction addDays (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + amount)\n return d\n}\n\nfunction addMonths (date: Date, amount: number) {\n const d = new Date(date)\n d.setMonth(d.getMonth() + amount)\n return d\n}\n\nfunction getYear (date: Date) {\n return date.getFullYear()\n}\n\nfunction getMonth (date: Date) {\n return date.getMonth()\n}\n\nfunction startOfYear (date: Date) {\n return new Date(date.getFullYear(), 0, 1)\n}\nfunction endOfYear (date: Date) {\n return new Date(date.getFullYear(), 11, 31)\n}\n\nfunction isWithinRange (date: Date, range: [Date, Date]) {\n return isAfter(date, range[0]) && isBefore(date, range[1])\n}\n\nfunction isValid (date: any) {\n const d = new Date(date)\n\n return d instanceof Date && !isNaN(d.getTime())\n}\n\nfunction isAfter (date: Date, comparing: Date) {\n return date.getTime() > comparing.getTime()\n}\n\nfunction isBefore (date: Date, comparing: Date) {\n return date.getTime() < comparing.getTime()\n}\n\nfunction isEqual (date: Date, comparing: Date) {\n return date.getTime() === comparing.getTime()\n}\n\nfunction isSameDay (date: Date, comparing: Date) {\n return date.getDate() === comparing.getDate() &&\n date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameMonth (date: Date, comparing: Date) {\n return date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction getDiff (date: Date, comparing: Date | string, unit?: string) {\n const d = new Date(date)\n const c = new Date(comparing)\n\n if (unit === 'month') {\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12\n }\n\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24))\n}\n\nfunction setYear (date: Date, year: number) {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\nexport class VuetifyDateAdapter implements DateAdapter<Date> {\n locale: string\n\n constructor (options: { locale: string }) {\n this.locale = options.locale\n }\n\n date (value?: any) {\n return date(value)\n }\n\n toJsDate (date: Date) {\n return date\n }\n\n addDays (date: Date, amount: number) {\n return addDays(date, amount)\n }\n\n addMonths (date: Date, amount: number) {\n return addMonths(date, amount)\n }\n\n getWeekArray (date: Date) {\n return getWeekArray(date, this.locale)\n }\n\n startOfMonth (date: Date) {\n return startOfMonth(date)\n }\n\n endOfMonth (date: Date) {\n return endOfMonth(date)\n }\n\n format (date: Date, formatString: string) {\n return format(date, formatString, this.locale)\n }\n\n isEqual (date: Date, comparing: Date) {\n return isEqual(date, comparing)\n }\n\n isValid (date: any) {\n return isValid(date)\n }\n\n isWithinRange (date: Date, range: [Date, Date]) {\n return isWithinRange(date, range)\n }\n\n isAfter (date: Date, comparing: Date) {\n return isAfter(date, comparing)\n }\n\n isBefore (date: Date, comparing: Date) {\n return !isAfter(date, comparing) && !isEqual(date, comparing)\n }\n\n isSameDay (date: Date, comparing: Date) {\n return isSameDay(date, comparing)\n }\n\n isSameMonth (date: Date, comparing: Date) {\n return isSameMonth(date, comparing)\n }\n\n setYear (date: Date, year: number) {\n return setYear(date, year)\n }\n\n getDiff (date: Date, comparing: Date | string, unit?: string) {\n return getDiff(date, comparing, unit)\n }\n\n getWeekdays () {\n return getWeekdays(this.locale)\n }\n\n getYear (date: Date) {\n return getYear(date)\n }\n\n getMonth (date: Date) {\n return getMonth(date)\n }\n\n startOfYear (date: Date) {\n return startOfYear(date)\n }\n\n endOfYear (date: Date) {\n return endOfYear(date)\n }\n}\n","// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { inject, reactive, watch } from 'vue'\nimport { mergeDeep, propsFactory } from '@/util'\n\n// Adapters\nimport { VuetifyDateAdapter } from './adapters/vuetify'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { DateAdapter } from './DateAdapter'\n\nexport interface DateInstance<T> extends DateAdapter<T> {\n locale?: any\n}\n\nexport type InternalDateOptions<T = any> = {\n adapter: (new (options: { locale: any }) => DateInstance<T>) | DateInstance<T>\n formats?: Record<string, string>\n locale: Record<string, any>\n}\n\nexport type DateOptions<T = any> = Partial<InternalDateOptions<T>>\n\nexport const DateAdapterSymbol: InjectionKey<InternalDateOptions> = Symbol.for('vuetify:date-adapter')\n\nexport interface DateProps {\n displayDate: any\n hideAdjacentMonths: boolean\n modelValue: readonly any[]\n}\n\nexport function createDate (options?: DateOptions) {\n return mergeDeep({\n adapter: VuetifyDateAdapter,\n locale: {\n af: 'af-ZA',\n // ar: '', # not the same value for all variants\n bg: 'bg-BG',\n ca: 'ca-ES',\n ckb: '',\n cs: '',\n de: 'de-DE',\n el: 'el-GR',\n en: 'en-US',\n // es: '', # not the same value for all variants\n et: 'et-EE',\n fa: 'fa-IR',\n fi: 'fi-FI',\n // fr: '', #not the same value for all variants\n hr: 'hr-HR',\n hu: 'hu-HU',\n he: 'he-IL',\n id: 'id-ID',\n it: 'it-IT',\n ja: 'ja-JP',\n ko: 'ko-KR',\n lv: 'lv-LV',\n lt: 'lt-LT',\n nl: 'nl-NL',\n no: 'nn-NO',\n pl: 'pl-PL',\n pt: 'pt-PT',\n ro: 'ro-RO',\n ru: 'ru-RU',\n sk: 'sk-SK',\n sl: 'sl-SI',\n srCyrl: 'sr-SP',\n srLatn: 'sr-SP',\n sv: 'sv-SE',\n th: 'th-TH',\n tr: 'tr-TR',\n az: 'az-AZ',\n uk: 'uk-UA',\n vi: 'vi-VN',\n zhHans: 'zh-CN',\n zhHant: 'zh-TW',\n },\n }, options)\n}\n\n// TODO: revisit this after it starts being implemented\nexport const makeDateProps = propsFactory({\n displayDate: {\n type: Object as PropType<Date>,\n default: new Date(),\n },\n hideAdjacentMonths: Boolean,\n modelValue: {\n type: null as unknown as PropType<readonly any[]>,\n default: () => [],\n },\n}, 'date')\n\nexport function useDate () {\n const date = inject(DateAdapterSymbol)\n const locale = useLocale()\n\n if (!date) throw new Error('[Vuetify] Could not find injected date')\n\n const instance = reactive(typeof date.adapter === 'function'\n // eslint-disable-next-line new-cap\n ? new date.adapter({ locale: date.locale?.[locale.current.value] ?? locale.current.value })\n : date.adapter)\n\n watch(locale.current, value => {\n const newLocale = date.locale ? date.locale[value] : value\n instance.locale = newLocale ?? instance.locale\n })\n\n return instance\n}\n\nexport function toIso (adapter: DateAdapter<any>, value: any) {\n const date = adapter.toJsDate(value)\n return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`\n}\n\nfunction getMondayOfFirstWeekOfYear (year: number) {\n return new Date(year, 0, 1)\n}\n\n// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024\nexport function getWeek (adapter: DateAdapter<any>, value: any) {\n const date = adapter.toJsDate(value)\n let year = date.getFullYear()\n let d1w1 = getMondayOfFirstWeekOfYear(year)\n\n if (date < d1w1) {\n year = year - 1\n d1w1 = getMondayOfFirstWeekOfYear(year)\n } else {\n const tv = getMondayOfFirstWeekOfYear(year + 1)\n if (date >= tv) {\n year = year + 1\n d1w1 = tv\n }\n }\n\n const diffTime = Math.abs(date.getTime() - d1w1.getTime())\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24))\n\n return Math.floor(diffDays / 7) + 1\n}\n","// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { createDate, DateAdapterSymbol } from '@/labs/date/date'\n\n// Utilities\nimport { nextTick, reactive } from 'vue'\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { DateOptions } from '@/labs/date'\n\nexport * from './composables'\nexport type { DateOptions, DateInstance } from '@/labs/date'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateAdapterSymbol, date)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\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, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction 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","/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["propsFactory","props","source","defaults","Object","keys","reduce","obj","prop","isObjectDefinition","Array","isArray","definition","type","default","makeComponentProps","class","String","style","IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","getNestedValue","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","createRange","start","arguments","from","v","k","convertToUnit","str","unit","isNaN","isFinite","Number","isObject","refElement","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","exclude","found","create","rest","some","RegExp","test","omit","clone","forEach","filterInputAttrs","attrs","wrapInArray","clamp","min","max","Math","getDecimals","trimmedStr","toString","trim","includes","indexOf","padEnd","char","repeat","chunk","size","chunked","index","push","substr","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","target","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","map","node","Fragment","children","flat","toKebabCase","cache","get","kebab","toLowerCase","set","Map","findChildrenWithProvide","vnode","child","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","slice","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","reactive","computed","watchEffect","flush","toRefs","arr","onRE","isOn","eventName","propName","EventProp","Function","hasEvent","name","capitalize","callEvent","handler","_len2","args","_key2","h","focusableChildren","el","filterByTabIndex","targets","s","join","querySelectorAll","getNextElement","elements","location","condition","_el","idx","document","activeElement","inc","offsetParent","focusChild","focusable","contains","focus","at","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","err","block","inline","parseAnchor","anchor","isRtl","side","align","toPhysical","flipSide","center","top","bottom","flipAlign","flipCorner","getAxis","Box","_ref","x","y","width","height","getOverflow","before","after","nullifyTransforms","rect","getBoundingClientRect","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","to","transformOrigin","parseFloat","w","offsetWidth","offsetHeight","animate","keyframes","options","finished","Promise","resolve","animation","onfinish","handlers","bindProps","n","fn","removeEventListener","addEventListener","_handler","Set","add","removeAttribute","setAttribute","unbindProps","consoleWarn","message","warn","consoleError","deprecate","original","replacement","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","fromXYZ","xyz","transformedY","toXYZ","lab","Ln","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","rgb","matrix","round","r","g","isCssColor","color","cssColorRe","mappers","rgba","hsl","l","HSLtoRGB","hsla","hsv","HSVtoRGB","hsva","parseColor","groups","match","realValues","endsWith","hex","int","parseInt","HexToRGB","HSLtoHSV","TypeError","f","RGBtoHSV","HSVtoHSL","sprime","RGBtoCSS","HSVtoCSS","toHex","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","lighten","amount","CIELAB","sRGB","darken","getLuma","getContrast","first","second","l1","l2","light","dark","useToggleScope","scope","effectScope","run","stop","watch","active","immediate","onScopeDispose","DefaultsSymbol","Symbol","for","createDefaults","ref","injectDefaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","disabled","unref","scoped","reset","root","properties","prev","len","Infinity","provide","propIsDefined","internalUseDefaults","vm","getCurrentInstance","__name","componentDefaults","_as","_props","Proxy","propValue","Reflect","filter","global","_subcomponentDefaults","shallowRef","subComponents","entries","fromEntries","provideSubDefaults","injectSelf","useDefaults","defineComponent","_setup","setup","propKeys","filterProps","ctx","setupBindings","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","camelize","slots","attachedRoot","getRootNode","parentNode","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","aliasName","_uid","_map","getUid","uid","getScrollParent","includeHidden","isPotentiallyScrollable","hasScrollbar","parentElement","scrollingElement","getScrollParents","stopAt","nodeType","Node","ELEMENT_NODE","overflowY","scrollHeight","clientHeight","isFixedPosition","position","useRender","render","useResizeObserver","callback","box","resizeRef","contentRect","observer","ResizeObserver","onBeforeUnmount","disconnect","newValue","oldValue","unobserve","observe","readonly","VuetifyLayoutKey","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","order","absolute","useLayout","layout","getLayoutItem","mainRect","mainStyles","useLayoutItem","id","isKeptAlive","onDeactivated","onActivated","layoutItemStyles","layoutItemScrimStyles","register","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","layers","layer","createLayout","parentLayout","rootZIndex","registered","priorities","disabledTransitions","computedOverlaps","overlap","topPosition","bottomPosition","topAmount","bottomAmount","uniquePriorities","sort","items","transitionsEnabled","transition","find","rootVm","isMounted","onMounted","layoutSize","elementSize","disableTransitions","instances","instanceIndex","splice","findIndex","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","layoutClasses","layoutStyles","overflow","layoutRef","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","stepper","rating","loading","infiniteScroll","loadMore","empty","defaultRtl","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","useProxiedModel","defaultValue","transformIn","transformOut","internal","kebabProp","checkKebab","isControlled","model","externalValue","internalValue","toRaw","emit","defineProperty","LANG_PREFIX","params","createTranslateFunction","current","messages","_len","_key","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","useProvided","provided","createProvideFunction","state","createVuetifyAdapter","locale","LocaleSymbol","isLocaleInstance","createLocale","i18n","adapter","rtl","createRtl","useLocale","provideLocale","provideRtl","data","rtlClasses","useRtl","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","surface","primary","secondary","error","info","success","warning","variables","parseThemeOptions","isDisabled","createTheme","parsedOptions","computedThemes","acc","variation","onColor","colorVal","blackContrast","whiteContrast","lines","createCssClass","genCssVariables","themeName","bgLines","fgLines","flatMap","getHead","nonce","cspNonce","install","app","head","_context","usehead","entry","patch","addHeadObjs","updateDOM","styleEl","getElementById","updateStyles","createElement","appendChild","innerHTML","themeClasses","provideTheme","newTheme","useTheme","content","line","lightOverlay","darkOverlay","makeVAppProps","VApp","_createVNode","makeTagProps","makeVToolbarTitleProps","VToolbarTitle","hasText","makeTransitionProps","group","hideOnLeave","leaveAbsolute","mode","origin","createCssTransition","functions","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","TransitionGroup","Transition","css","createJavascriptTransition","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","onEnter","initialStyle","offset","classList","requestAnimationFrame","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","remove","makeVDialogTransitionProps","VDialogTransition","pointerEvents","visibility","done","speed","getDimensions","opacity","duration","easing","getChildren","then","removeProperty","onBeforeLeave","_mergeProps","els","querySelector","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","offsetX","offsetY","tsx","tsy","maxs","asa","innerWidth","innerHeight","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","makeVDefaultsProviderProps","VDefaultsProvider","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","paddingBottom","makeVResponsiveProps","contentClass","VResponsive","additional","validator","MaybeTransition","customProps","mergeProps","mounted","binding","modifiers","IntersectionObserver","_observe","instance","$","isIntersecting","quiet","init","once","unmounted","Intersect","makeVImgProps","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","VImg","directives","intersect","emits","loadstart","load","currentSrc","image","naturalWidth","naturalHeight","normalisedSrc","aspect","oldVal","pollForSize","onBeforeMount","lazyImg","Image","nextTick","complete","onError","onLoad","getSrc","img","timer","timeout","poll","clearTimeout","imgHeight","imgWidth","setTimeout","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","__error","__gradient","backgroundImage","isBooted","responsiveProps","_withDirectives","_Fragment","_resolveDirective","makeBorderProps","border","useBorder","borderClasses","isRef","classes","useColor","backgroundColor","caretColor","colorClasses","colorStyles","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","makeElevationProps","elevation","useElevation","elevationClasses","makeRoundedProps","rounded","useRounded","roundedClasses","allowedDensities","makeVToolbarProps","collapse","density","extended","extensionHeight","floating","VToolbar","toRef","isExtended","extension","contentHeight","VBtn","variant","hasTitle","hasImage","VTabs","prepend","append","makeScrollProps","scrollTarget","scrollThreshold","useScroll","canScroll","previousScroll","currentScroll","savedScroll","currentThreshold","isScrollActive","isScrollingUp","scrollRatio","onScroll","targetEl","pageYOffset","scrollTop","newTarget","passive","useSsrBoot","ssrBootStyles","makeVAppBarProps","scrollBehavior","modelValue","VAppBar","vToolbarRef","isActive","behavior","hide","inverted","elevate","fadeImage","isCollapsed","isFlat","toolbarProps","makeDensityProps","useDensity","densityClasses","allowedVariants","genOverlays","isClickable","makeVariantProps","useVariant","variantClasses","makeVBtnGroupProps","divided","VBtnGroup","makeGroupProps","multiple","mandatory","selectedClass","makeGroupItemProps","useGroupItem","injectKey","required","description","isSelected","toggle","select","useGroup","isUnmounted","selected","getIds","getValues","groupVm","unwrapped","forceMandatoryValue","step","currentId","currentIndex","newIndex","newItem","getItemIndex","ids","itemByIndex","itemIndex","VBtnToggleSymbol","makeVBtnToggleProps","VBtnToggle","btnGroupProps","aliases","checkboxOn","checkboxOff","checkboxIndeterminate","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","file","plus","minus","mdi","VClassIcon","IconValue","IconSymbol","makeIconProps","icon","VComponentIcon","Icon","VSvgIcon","inheritAttrs","VLigatureIcon","defaultSets","svg","createIcons","defaultSet","sets","vuetify","useIcon","icons","iconData","iconAlias","iconSetName","setName","iconName","iconSet","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","makeVIconProps","VIcon","slotIcon","slotValue","Text","onClick","fontSize","useIntersectionObserver","intersectionRef","makeVProgressCircularProps","bgColor","indeterminate","rotate","VProgressCircular","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","normalizedValue","diameter","strokeWidth","strokeDashOffset","oppositeMap","makeLocationProps","useLocation","opposite","locationStyles","getOffset","makeVProgressLinearProps","bgOpacity","bufferValue","clickable","reverse","stream","striped","roundedBar","VProgressLinear","progress","barColorClasses","barColorStyles","normalizedBuffer","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","useLoader","loaderClasses","LoaderSlot","positionValues","makePositionProps","usePosition","positionClasses","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","link","route","navigate","exact","isExactActive","makeRouterProps","inTransition","useBackButton","router","cb","popped","removeBefore","removeAfter","onPopstate","beforeEach","afterEach","replaced","useSelectLink","stopSymbol","DELAY_RIPPLE","webkitTransform","isTouchEvent","isKeyboardEvent","calculate","localX","localY","radius","scale","_ripple","circle","clientWidth","sqrt","centerX","centerY","ripples","show","enabled","container","className","dataset","previousPosition","activated","performance","now","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","updated","Ripple","makeVBtnProps","symbol","prependIcon","appendIcon","stacked","ripple","isElevated","valueAttr","JSON","stringify","metaKey","ctrlKey","shiftKey","button","Tag","hasPrepend","hasAppend","hasIcon","hasColor","loader","makeVAppBarNavIconProps","VAppBarNavIcon","VAppBarTitle","VAlertTitle","allowedTypes","makeVAlertProps","borderColor","closable","closeIcon","closeLabel","prominent","VAlert","variantProps","closeProps","hasClose","makeVLabelProps","VLabel","VSelectionControlGroupSymbol","makeSelectionControlGroupProps","defaultsTarget","falseIcon","trueIcon","valueComparator","makeVSelectionControlGroupProps","VSelectionControlGroup","updateHandlers","forceUpdate","onForceUpdate","makeVSelectionControlProps","label","trueValue","falseValue","useSelectionControl","isMultiple","currentValue","newVal","VSelectionControl","isFocused","isFocusVisible","checked","onFocus","onBlur","onInput","rootAttrs","inputAttrs","makeVCheckboxBtnProps","indeterminateIcon","VCheckboxBtn","onChange","$event","useInputIcon","InputIcon","localeKey","prependInner","appendInner","listener","makeVMessagesProps","VMessages","makeFocusProps","focused","useFocus","focusClasses","blur","FormKey","makeFormProps","fastFail","validateOn","createForm","isReadonly","isValidating","errors","validate","results","valid","itemErrorMessages","errorMessages","resetValidation","invalid","isValid","deep","update","useForm","makeValidationProps","maxErrors","rules","validationValue","useValidation","validationModel","form","internalErrorMessages","isPristine","isDirty","submit","lazy","validationClasses","unwatch","silent","rule","result","console","makeVInputProps","centerAffix","hideDetails","hint","persistentHint","direction","VInput","messagesId","slotProps","hasMessages","hasDetails","details","makeVCheckboxProps","VCheckbox","controlAttrs","inputProps","_1","checkboxProps","_2","makeVAvatarProps","VAvatar","VChipGroupSymbol","makeVChipGroupProps","column","VChipGroup","VChip","makeVChipProps","activeClass","appendAvatar","draggable","filterIcon","pill","prependAvatar","onClickOnce","click","onKeyDown","preventDefault","hasAppendMedia","hasFilter","hasPrependMedia","_vShow","ListKey","createList","parent","updateHasPrepend","useList","singleOpenStrategy","open","opened","parents","newOpened","multipleOpenStrategy","listOpenStrategy","_ref3","independentSelectStrategy","strategy","on","in","independentSingleSelectStrategy","parentStrategy","singleSelected","leafSelectStrategy","_ref4","leafSingleSelectStrategy","_ref5","classicSelectStrategy","_ref6","childrenIds","everySelected","cid","noneSelected","_ref7","VNestedSymbol","emptyNested","openOnSelect","selectedValues","makeNestedProps","selectStrategy","openStrategy","useNested","getPath","unshift","nested","parentId","isGroup","list","event","newSelected","useNestedItem","uidSymbol","computedId","isOpen","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator","VListGroupActivator","_","makeVListGroupProps","activeColor","baseColor","collapseIcon","expandIcon","fluid","VListGroup","_id","activatorProps","toggleIcon","activatorDefaults","VListItem","activator","VListItemSubtitle","VListItemTitle","makeVListItemProps","nav","subtitle","roundedProps","lineClasses","hasSubtitle","VListItemAction","makeVListSubheaderProps","inset","sticky","VListSubheader","makeVDividerProps","thickness","vertical","VDivider","dividerStyles","role","makeVListChildrenProps","VListChildren","itemProps","raw","subheader","slotsWithItem","listGroupProps","makeItemsProps","itemTitle","itemValue","itemChildren","returnObject","transformItem","transformItems","array","useItems","useTransformItems","existingItem","isPrimitive","itemType","useListItems","makeVListProps","VList","contentRef","onFocusin","onFocusout","relatedTarget","onKeydown","VListImg","makeVListItemActionProps","makeVListItemMediaProps","VListItemMedia","elementToViewport","point","anchorToPoint","locationStrategies","static","staticLocationStrategy","connected","connectedLocationStrategy","makeLocationStrategyProps","locationStrategy","useLocationStrategies","contentStyles","updateLocation","onResize","getIntrinsicSize","contentBox","activatorFixed","activatorEl","assign","preferredAnchor","preferredOrigin","parsedAnchor","parsedOrigin","contentEl","newActivatorEl","newContentEl","oldActivatorEl","oldContentEl","scrollParents","viewportMargin","documentElement","viewport","scrollBox","placement","checkOverflow","_placement","targetPoint","contentPoint","overflows","available","flipped","resets","_x","_y","axis","hasOverflowX","hasOverflowY","newPlacement","flip","newOverflows","pixelRound","pixelCeil","devicePixelRatio","ceil","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","none","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","bindScroll","scrollElements","contained","scrollbarWidth","scrollableParent","scrollLeft","slow","ric","time","requestIdleCallback","cancelIdleCallback","VMenuSymbol","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","makeActivatorProps","openOnClick","openOnHover","openOnFocus","closeOnContentClick","useActivator","isTop","isHovered","firstEnter","availableEvents","stopPropagation","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","activatorEvents","events","contentEvents","closeParents","scrimEvents","activatorRef","_useActivator","getActivator","unbindActivatorProps","bindActivatorProps","hasAttribute","breakpoints","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","ssr","getClientHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","touch","createDisplay","platform","updateSize","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","useDisplay","display","useHydration","makeLazyProps","useLazy","hasContent","useScopeId","scopeId","StackSymbol","globalStack","useStack","disableGlobalStack","createStackEntry","stack","activeChildren","_zIndex","lastZIndex","globalTop","_isTop","localTop","stackStyles","useTeleport","teleportTarget","_target","targetElement","body","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","ClickOutside","onMousedown","Scrim","makeVOverlayProps","attach","closeOnBack","contentProps","noClickAnimation","persistent","scrim","VOverlay","_disableGlobalStack","afterLeave","scrimColor","onClickOutside","animateClick","scrollParent","Teleport","Refs","getDescriptor","currentObj","descriptor","getOwnPropertyDescriptor","getPrototypeOf","forwardRefs","bind","setupState","childRefs","queue","makeVMenuProps","VMenu","overlay","openChildren","onFocusIn","nextElement","tabIndex","onActivatorKeydown","overlayProps","ΨopenChildren","makeVCounterProps","VCounter","functional","makeVFieldLabelProps","VFieldLabel","makeVFieldProps","appendInnerIcon","clearable","clearIcon","dirty","persistentClear","prependInnerIcon","singleLine","VField","hasLabel","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","targetRect","targetWidth","targetStyle","transitionDuration","isOutlined","hasClear","filterFieldProps","activeTypes","makeVTextFieldProps","autofocus","counterValue","persistentPlaceholder","persistentCounter","suffix","modelModifiers","VTextField","maxlength","onIntersect","vInputRef","vFieldRef","inputRef","onControlMousedown","onControlClick","onClear","caretPosition","selectionStart","selectionEnd","hasCounter","fieldProps","fieldClass","inputNode","cloneVNode","makeVVirtualScrollItemProps","renderless","VVirtualScrollItem","itemRef","UP","DOWN","makeVirtualProps","itemHeight","useVirtual","baseItemHeight","containerRef","sizeMap","visibleItems","handleItemResize","calculateOffset","calculateMidPointIndex","middle","middleOffset","lastScrollTop","handleScroll","midPointIndex","firstIndex","lastIndex","scrollToIndex","computedItems","paddingTop","makeVVirtualScrollProps","VVirtualScroll","useScrolling","listRef","textFieldRef","isScrolling","scrollTimeout","onListScroll","finishScrolling","onListKeydown","scrollTo","makeSelectProps","chips","closableChips","hideNoData","hideSelected","menuIcon","menuProps","openOnClear","itemColor","makeVSelectProps","VSelect","vTextFieldRef","vMenuRef","_menu","transformed","selections","itemRawValue","modelRawValue","selection","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","menuDisabled","onMousedownControl","KEYBOARD_LOOKUP_THRESHOLD","checkPrintable","isPrintableChar","noModifier","altKey","onModelUpdate","hasChips","chip","hasList","textFieldProps","onChipClose","_createTextVNode","defaultFilter","query","toLocaleLowerCase","makeFilterProps","customFilter","customKeyFilter","filterKeys","filterMode","noFilter","filterItems","customFiltersLength","loop","customMatches","defaultMatches","keyFilter","defaultMatchesLength","customMatchesLength","useFilter","filteredItems","filteredMatches","transformedItems","_query","strQuery","originalItems","_filteredItems","_filteredMatches","getMatches","highlightResult","makeVAutocompleteProps","autoSelectFirst","search","VAutocomplete","listHasFocus","selectionIndex","filteredItem","highlightFirst","selectFirst","onMousedownMenuIcon","originalSelectionIndex","setSelectionRange","onUpdateModelValue","isSelecting","makeVBadgeProps","bordered","dot","textColor","VBadge","badgeAttrs","makeVBannerActionsProps","VBannerActions","VBannerText","makeVBannerProps","avatar","VBanner","actions","makeVBottomNavigationProps","grow","VBottomNavigation","makeVBreadcrumbsDividerProps","VBreadcrumbsDivider","makeVBreadcrumbsItemProps","VBreadcrumbsItem","makeVBreadcrumbsProps","VBreadcrumbs","VCardActions","VCardSubtitle","VCardTitle","makeCardItemProps","VCardItem","VCardText","makeVCardProps","hover","VCard","hasHeader","hasCardItem","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","changedTouches","originalEvent","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","_touchHandlers","Touch","VWindowSymbol","VWindowGroupSymbol","makeVWindowProps","continuous","nextIcon","prevIcon","showArrows","VWindow","rootRef","isRtlReverse","transitionCount","transitionHeight","activeIndex","itemsLength","canMoveBack","canMoveForward","arrows","prevProps","nextProps","touchOptions","makeVCarouselProps","cycle","delimiterIcon","hideDelimiters","hideDelimiterBackground","interval","verticalDelimiters","VCarousel","windowRef","slideTimeout","restartTimeout","startTimeout","windowProps","makeVWindowItemProps","reverseTransition","VWindowItem","groupItem","isTransitioning","hasTransition","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnterTransition","makeVCarouselItemProps","VCarouselItem","imgProps","windowItemProps","VCode","makeVColorPickerCanvasProps","dotSize","VColorPickerCanvas","hue","isInteracting","isOutsideUpdate","dotPosition","dotStyles","canvasRef","canvasWidth","canvasHeight","updateDotPosition","handleMouseDown","handleMouseMove","handleMouseUp","coords","updateCanvas","canvas","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","stripAlpha","extractColor","converted","nullColor","inputs","getValue","getColor","hexa","modes","VColorPickerInput","makeVColorPickerEditProps","m","VColorPickerEdit","enabledModes","mi","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","ticks","tickSize","trackColor","trackFillColor","trackSize","useSteps","decimals","roundValue","clamped","useSlider","steps","onSliderStart","onSliderMove","onSliderEnd","getActiveThumb","horizontalDirection","hd","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","handleStop","handleStart","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","makeVSliderThumbProps","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","increase","multiplier","positionPercentage","makeVSliderTrackProps","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","directionValue","makeVSliderProps","VSlider","thumbContainerRef","roundedValue","trackStop","makeVColorPickerPreviewProps","hideAlpha","VColorPickerPreview","red","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","white","transparent","makeVColorPickerSwatchesProps","swatches","parseDefaultColors","VColorPickerSwatches","swatch","makeVSheetProps","VSheet","makeVColorPickerProps","hideCanvas","hideSliders","hideInputs","showSwatches","swatchesMaxHeight","VColorPicker","lastPickedColor","currentColor","updateColor","sheetProps","makeVComboboxProps","delimiters","VCombobox","cleared","_search","makeVDialogProps","fullscreen","retainFocus","scrollable","VDialog","firstElement","lastElement","preventScroll","VExpansionPanelSymbol","makeVExpansionPanelsProps","VExpansionPanels","variantClass","VExpansionPanel","VExpansionPanelTitle","makeVExpansionPanelTextProps","VExpansionPanelText","expansionPanel","makeVExpansionPanelTitleProps","hideActions","expanded","makeVExpansionPanelProps","selectedIndices","isBeforeSelected","selectedIndex","isAfterSelected","makeVFileInputProps","counterSizeString","counterString","showSize","VFileInput","files","totalBytes","totalBytesReadable","fileNames","fileCount","onClickPrepend","hasModelReset","makeVFooterProps","VFooter","autoHeight","makeVFormProps","VForm","formRef","onReset","onSubmit","_e","ready","catch","finally","defaultPrevented","makeVContainerProps","VContainer","breakpointProps","offsetProps","offsetKey","orderProps","orderKey","propMap","col","breakpointClass","breakpoint","ALIGN_SELF_VALUES","makeVColProps","cols","alignSelf","VCol","hasColClasses","ALIGNMENT","SPACE","makeRowProps","def","prefixKey","ALIGN_VALUES","alignValidator","alignProps","JUSTIFY_VALUES","justifyValidator","justifyProps","ALIGN_CONTENT_VALUES","alignContentValidator","alignContentProps","justify","alignContent","classMap","makeVRowProps","dense","noGutters","VRow","VSpacer","makeVHoverProps","VHover","isHovering","VItemGroupSymbol","makeVItemGroupProps","VItemGroup","VItem","VKbd","makeVLayoutProps","VLayout","makeVLayoutItemProps","VLayoutItem","makeVLazyProps","VLazy","makeVLocaleProviderProps","VLocaleProvider","makeVMainProps","VMain","useSticky","rootEl","isSticky","isStuck","stuckPosition","stickyStyles","scrollY","layoutTop","bodyScroll","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","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","locations","makeVNavigationDrawerProps","disableResizeWatcher","disableRouteWatcher","expandOnHover","permanent","rail","railWidth","temporary","VNavigationDrawer","currentRoute","scrimStyles","VNoSsr","useRefs","onBeforeUpdate","updateRef","makeVPaginationProps","totalVisible","firstIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","VPagination","maxButtons","firstItem","totalWidth","itemWidth","marginRight","getMax","minButtons","floor","MAX_SAFE_INTEGER","even","rangeLength","rangeStart","setValue","VPaginationBtn","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","makeVParallaxProps","VParallax","displayHeight","Document","scrollPos","translate","sizeScale","makeVRadioProps","VRadio","makeVRadioGroupProps","VRadioGroup","controlProps","makeVRangeSliderProps","strict","VRangeSlider","startThumbRef","stopThumbRef","stopOffset","makeVRatingProps","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","VRating","increments","hoverIndex","itemState","isFilled","isFullIcon","eventState","VRatingItem","showStar","btnProps","createLabel","labelProps","bias","calculateUpdatedOffset","selectedElement","containerSize","contentSize","currentScrollOffset","clientSize","offsetStart","adjustedOffsetStart","totalSize","itemOffset","additionalOffset","calculateCenteredOffset","offsetCentered","VSlideGroupSymbol","makeVSlideGroupProps","centerActive","VSlideGroup","isOverflowing","scrollOffset","containerRect","firstSelectedIndex","lastSelectedIndex","disableTransition","startTouch","maxScrollOffset","composedPath","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","newAbsoluteOffset","scrollAmount","willChange","hasAffixes","hasPrev","hasNext","VSlideGroupItem","slideGroupItem","makeVSnackbarProps","multiLine","VSnackbar","activeTimeout","onPointerenter","onPointerleave","makeVSwitchProps","VSwitch","update:modelValue","loaderColor","control","makeVSystemBarProps","VSystemBar","VTabsSymbol","makeVTabProps","fixed","sliderColor","hideSlider","VTab","sliderColorClasses","sliderColorStyles","sliderEl","updateSlider","prevEl","nextEl","prevBox","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","initialScale","sigma","fill","parseItems","makeVTabsProps","alignTabs","fixedTabs","parsedItems","slideGroupProps","makeVTableProps","fixedHeader","fixedFooter","VTable","makeVTextareaProps","autoGrow","noResize","rows","maxRows","VTextarea","controlHeight","textareaRef","sizerRef","calculateInputHeight","fieldStyle","padding","lineHeight","newHeight","_vModelText","makeVThemeProviderProps","withBackground","VThemeProvider","makeVTimelineProps","lineInset","lineThickness","lineColor","truncateLine","VTimeline","VTimelineDivider","VTimelineItem","sideClasses","truncateClasses","makeVTimelineDividerProps","dotColor","fillDot","hideDot","iconColor","lineColorClasses","lineColorStyles","makeVTimelineItemProps","hideOpposite","dotRef","makeVToolbarItemsProps","VToolbarItems","makeVTooltipProps","VTooltip","VValidation","validation","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","firstDay","AD","AE","AF","AG","AI","AL","AM","AN","AR","AS","AT","AU","AX","AZ","BA","BD","BE","BG","BH","BM","BN","BR","BS","BT","BW","BY","BZ","CA","CH","CL","CM","CN","CO","CR","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ES","ET","FI","FJ","FO","FR","GB","GE","GF","GP","GR","GT","GU","HK","HN","HR","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KR","KW","KZ","LA","LB","LI","LK","LT","LU","LV","LY","MC","MD","ME","MH","MK","MM","MN","MO","MQ","MT","MV","MX","MY","MZ","NI","NL","NO","NP","NZ","OM","PA","PE","PH","PK","PL","PR","PT","PY","QA","RE","RO","RS","RU","SA","SD","SE","SG","SI","SK","SM","SV","SY","TH","TJ","TM","TR","TT","TW","UA","UM","US","UY","UZ","VA","VE","VI","VN","WS","XK","YE","ZA","ZW","getWeekArray","date","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","firstDayWeekIndex","getDay","lastDayWeekIndex","adjacentDay","setDate","getDate","day","getFullYear","getMonth","parseLocalDate","parts","_YYYMMDD","parsed","parse","sundayJanuarySecond2000","getWeekdays","daysFromSunday","weekday","DateTimeFormat","formatString","month","year","timeZone","timeZoneName","addDays","addMonths","setMonth","getYear","startOfYear","endOfYear","isWithinRange","isAfter","isBefore","comparing","isEqual","isSameDay","isSameMonth","getDiff","setYear","setFullYear","VuetifyDateAdapter","toJsDate","DateAdapterSymbol","createDate","createVuetify","blueprint","components","$nuxt","hook","mount","__VUE_OPTIONS_API__","mixin","$vuetify","call","version","appContext","_createVuetify"],"mappings":"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,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACL,EAAA,gBAAgB,EAAE,CAAC;AACnBC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,CAAC;A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"}
|