1234567 |
- {
- "version": 3,
- "sources": ["../../vuetify/src/composables/display.ts", "../../vuetify/src/composables/proxiedModel.ts", "../../vuetify/src/locale/adapters/vuetify.ts", "../../vuetify/src/composables/locale.ts", "../../vuetify/src/util/color/APCA.ts", "../../vuetify/src/composables/theme.ts", "../../vuetify/src/labs/date/adapters/vuetify.ts", "../../vuetify/src/labs/date/date.ts", "../../vuetify/src/composables/layout.ts", "../../vuetify/src/framework.ts"],
- "sourcesContent": ["// 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 { 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", "// 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 { 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", "// 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"],
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EO,IAAMA,gBAA+CC,OAAOC,IAAI,iBAAiB;AAExF,IAAMC,wBAAwC;EAC5CC,kBAAkB;EAClBC,YAAY;IACVC,IAAI;IACJC,IAAI;IACJC,IAAI;IACJC,IAAI;IACJC,IAAI;IACJC,KAAK;EACP;AACF;AAEA,IAAMC,sBAAsB,WAAqD;AAAA,MAApDC,UAAuBC,UAAAC,SAAA,KAAAD,UAAA,CAAA,MAAAE,SAAAF,UAAA,CAAA,IAAGX;AACrD,SAAOc,UAAUd,uBAAuBU,OAAO;AACjD;AAEA,SAASK,eAAgBC,KAAkB;AACzC,SAAOC,cAAc,CAACD,MAClBE,OAAOC,aACN,OAAOH,QAAQ,YAAYA,IAAII,eAAgB;AACtD;AAEA,SAASC,gBAAiBL,KAAkB;AAC1C,SAAOC,cAAc,CAACD,MAClBE,OAAOI,cACN,OAAON,QAAQ,YAAYA,IAAIO,gBAAiB;AACvD;AAEA,SAASC,YAAaR,KAAmC;AACvD,QAAMS,YAAYR,cAAc,CAACD,MAC7BE,OAAOQ,UAAUD,YACjB;AAEJ,WAASE,MAAOC,QAAgB;AAC9B,WAAOC,QAAQJ,UAAUE,MAAMC,MAAM,CAAC;EACxC;AAEA,QAAME,UAAUH,MAAM,UAAU;AAChC,QAAMI,MAAMJ,MAAM,mBAAmB;AACrC,QAAMK,UAAUL,MAAM,UAAU;AAChC,QAAMM,WAAWN,MAAM,WAAW;AAClC,QAAMO,SAASP,MAAM,SAAS;AAC9B,QAAMQ,OAAOR,MAAM,OAAO;AAC1B,QAAMS,UAAUT,MAAM,UAAU;AAChC,QAAMU,QAAQV,MAAM,QAAQ;AAC5B,QAAMW,MAAMX,MAAM,MAAM;AACxB,QAAMY,MAAMZ,MAAM,MAAM;AACxB,QAAMa,QAAQb,MAAM,QAAQ;AAE5B,SAAO;IACLG;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC,OAAOC;IACP1B,KAAKS,cAAc;EACrB;AACF;AAEO,SAASkB,cAAejC,SAA0BM,KAAmC;AAC1F,QAAM;IAAEd;IAAYD;EAAiB,IAAIQ,oBAAoBC,OAAO;AAEpE,QAAMkC,SAASC,WAAWxB,gBAAgBL,GAAG,CAAC;AAC9C,QAAM8B,WAAWD,WAAWrB,YAAYR,GAAG,CAAC;AAC5C,QAAM+B,QAAQC,SAAS,CAAC,CAAC;AACzB,QAAMC,QAAQJ,WAAW9B,eAAeC,GAAG,CAAC;AAE5C,WAASkC,aAAc;AACrBN,WAAOO,QAAQ9B,gBAAe;AAC9B4B,UAAME,QAAQpC,eAAc;EAC9B;AACA,WAASqC,SAAU;AACjBF,eAAU;AACVJ,aAASK,QAAQ3B,YAAW;EAC9B;AAGA6B,cAAY,MAAM;AAChB,UAAMlD,KAAK8C,MAAME,QAAQjD,WAAWE;AACpC,UAAMA,KAAK6C,MAAME,QAAQjD,WAAWG,MAAM,CAACF;AAC3C,UAAME,KAAK4C,MAAME,QAAQjD,WAAWI,MAAM,EAAEF,MAAMD;AAClD,UAAMG,KAAK2C,MAAME,QAAQjD,WAAWK,MAAM,EAAEF,MAAMD,MAAMD;AACxD,UAAMI,KAAK0C,MAAME,QAAQjD,WAAWM,OAAO,EAAEF,MAAMD,MAAMD,MAAMD;AAC/D,UAAMK,MAAMyC,MAAME,SAASjD,WAAWM;AACtC,UAAM8C,OACJnD,KAAK,OACHC,KAAK,OACLC,KAAK,OACLC,KAAK,OACLC,KAAK,OACL;AACJ,UAAMgD,kBAAkB,OAAOtD,qBAAqB,WAAWA,mBAAmBC,WAAWD,gBAAgB;AAC7G,UAAMuD,SAASP,MAAME,QAAQI;AAE7BR,UAAM5C,KAAKA;AACX4C,UAAM3C,KAAKA;AACX2C,UAAM1C,KAAKA;AACX0C,UAAMzC,KAAKA;AACXyC,UAAMxC,KAAKA;AACXwC,UAAMvC,MAAMA;AACZuC,UAAMU,UAAU,CAACtD;AACjB4C,UAAMW,UAAU,EAAEvD,MAAMC;AACxB2C,UAAMY,UAAU,EAAExD,MAAMC,MAAMC;AAC9B0C,UAAMa,UAAU,EAAEzD,MAAMC,MAAMC,MAAMC;AACpCyC,UAAMc,YAAY,EAAExD,MAAMC,MAAMC,MAAMC;AACtCuC,UAAMe,YAAY,EAAExD,MAAMC,MAAMC;AAChCuC,UAAMgB,YAAY,EAAExD,MAAMC;AAC1BuC,UAAMiB,YAAY,CAACxD;AACnBuC,UAAMO,OAAOA;AACbP,UAAMH,SAASA,OAAOO;AACtBJ,UAAME,QAAQA,MAAME;AACpBJ,UAAMS,SAASA;AACfT,UAAM9C,mBAAmBA;AACzB8C,UAAMD,WAAWA,SAASK;AAC1BJ,UAAM7C,aAAaA;EACrB,CAAC;AAED,MAAIe,YAAY;AACdC,WAAO+C,iBAAiB,UAAUf,YAAY;MAAEgB,SAAS;IAAK,CAAC;EACjE;AAEA,SAAO;IAAE,GAAGC,OAAOpB,KAAK;IAAGK;IAAQpC,KAAK,CAAC,CAACA;EAAI;AAChD;AAEO,SAASoD,aAAc;AAC5B,QAAMC,UAAUC,OAAOzE,aAAa;AAEpC,MAAI,CAACwE;AAAS,UAAM,IAAIE,MAAM,0CAA0C;AAExE,SAAOF;AACT;;;AC5MO,SAASG,gBAKdC,OACAC,MACAC,cAGA;AAAA,MAFAC,cAA2CC,UAAAC,SAAA,KAAAD,UAAA,CAAA,MAAAE,SAAAF,UAAA,CAAA,IAAIG,OAAWA;AAAC,MAC3DC,eAA2CJ,UAAAC,SAAA,KAAAD,UAAA,CAAA,MAAAE,SAAAF,UAAA,CAAA,IAAIG,OAAWA;AAE1D,QAAME,KAAKC,mBAAmB,iBAAiB;AAC/C,QAAMC,WAAWC,IAAIZ,MAAMC,IAAI,MAAMK,SAAYN,MAAMC,IAAI,IAAIC,YAAY;AAC3E,QAAMW,YAAYC,YAAYb,IAAI;AAClC,QAAMc,aAAaF,cAAcZ;AAEjC,QAAMe,eAAeD,aACjBE,SAAS,MAAM;AA9BrB;AA+BM,SAAKjB,MAAMC,IAAI;AACf,WAAO,CAAC,KACLQ,QAAGS,MAAMlB,UAATS,mBAAgBU,eAAelB,YAASQ,QAAGS,MAAMlB,UAATS,mBAAgBU,eAAeN,mBACvEJ,QAAGS,MAAMlB,UAATS,mBAAgBU,eAAgB,YAAWlB,IAAK,UAAMQ,QAAGS,MAAMlB,UAATS,mBAAgBU,eAAgB,YAAWN,SAAU;EAEhH,CAAC,IACCI,SAAS,MAAM;AArCrB;AAsCM,SAAKjB,MAAMC,IAAI;AACf,WAAO,CAAC,IAAEQ,QAAGS,MAAMlB,UAATS,mBAAgBU,eAAelB,YAASQ,QAAGS,MAAMlB,UAATS,mBAAgBU,eAAgB,YAAWlB,IAAK;EACpG,CAAC;AAEHmB,iBAAe,MAAM,CAACJ,aAAaK,OAAO,MAAM;AAC9CC,UAAM,MAAMtB,MAAMC,IAAI,GAAGsB,SAAO;AAC9BZ,eAASU,QAAQE;IACnB,CAAC;EACH,CAAC;AAED,QAAMC,QAAQP,SAAS;IACrBQ,MAAY;AACV,YAAMC,gBAAgB1B,MAAMC,IAAI;AAChC,aAAOE,YAAYa,aAAaK,QAAQK,gBAAgBf,SAASU,KAAK;IACxE;IACAM,IAAKC,eAAe;AAClB,YAAMC,WAAWrB,aAAaoB,aAAa;AAC3C,YAAMP,QAAQS,MAAMd,aAAaK,QAAQrB,MAAMC,IAAI,IAAIU,SAASU,KAAK;AACrE,UAAIA,UAAUQ,YAAY1B,YAAYkB,KAAK,MAAMO,eAAe;AAC9D;MACF;AACAjB,eAASU,QAAQQ;AACjBpB,+BAAIsB,KAAM,UAAS9B,IAAK,IAAG4B;IAC7B;EACF,CAAC;AAEDG,SAAOC,eAAeT,OAAO,iBAAiB;IAC5CC,KAAKA,MAAMT,aAAaK,QAAQrB,MAAMC,IAAI,IAAIU,SAASU;EACzD,CAAC;AAED,SAAOG;AACT;;;ACvDA,IAAMU,cAAc;AAEpB,IAAMC,UAAUA,CAACC,KAAaC,WAAsB;AAClD,SAAOD,IAAID,QAAQ,cAAc,CAACG,OAAeC,UAAkB;AACjE,WAAOC,OAAOH,OAAO,CAACE,KAAK,CAAC;EAC9B,CAAC;AACH;AAEA,IAAME,0BAA0BA,CAC9BC,SACAC,UACAC,aACG;AACH,SAAO,SAACC,KAAsC;AAAA,aAAAC,OAAAC,UAAAC,QAAtBX,SAAM,IAAAY,MAAAH,OAAA,IAAAA,OAAA,IAAA,CAAA,GAAAI,OAAA,GAAAA,OAAAJ,MAAAI,QAAA;AAANb,aAAMa,OAAA,CAAA,IAAAH,UAAAG,IAAA;IAAA;AAC5B,QAAI,CAACL,IAAIM,WAAWjB,WAAW,GAAG;AAChC,aAAOC,QAAQU,KAAKR,MAAM;IAC5B;AAEA,UAAMe,WAAWP,IAAIV,QAAQD,aAAa,EAAE;AAC5C,UAAMmB,gBAAgBX,QAAQY,SAASV,SAASU,MAAMZ,QAAQY,KAAK;AACnE,UAAMC,iBAAiBZ,SAASW,SAASV,SAASU,MAAMX,SAASW,KAAK;AAEtE,QAAIlB,MAAcoB,qBAAqBH,eAAeD,UAAU,IAAI;AAEpE,QAAI,CAAChB,KAAK;AACRqB,kBAAa,oBAAmBZ,GAAI,mBAAkBH,QAAQY,KAAM,2BAA0B;AAC9FlB,YAAMoB,qBAAqBD,gBAAgBH,UAAU,IAAI;IAC3D;AAEA,QAAI,CAAChB,KAAK;AACRsB,mBAAc,oBAAmBb,GAAI,yBAAwB;AAC7DT,YAAMS;IACR;AAEA,QAAI,OAAOT,QAAQ,UAAU;AAC3BsB,mBAAc,oBAAmBb,GAAI,0BAAyB;AAC9DT,YAAMS;IACR;AAEA,WAAOV,QAAQC,KAAKC,MAAM;EAC5B;AACF;AAEA,SAASsB,qBAAsBjB,SAAsBC,UAAuB;AAC1E,SAAO,CAACW,OAAeM,YAAuC;AAC5D,UAAMC,eAAe,IAAIC,KAAKC,aAAa,CAACrB,QAAQY,OAAOX,SAASW,KAAK,GAAGM,OAAO;AAEnF,WAAOC,aAAaG,OAAOV,KAAK;EAClC;AACF;AAEA,SAASW,YAAiBC,OAAYC,MAAcC,UAAkB;AACpE,QAAMC,WAAWC,gBAAgBJ,OAAOC,MAAMD,MAAMC,IAAI,KAAKC,SAASd,KAAK;AAG3Ee,WAASf,QAAQY,MAAMC,IAAI,KAAKC,SAASd;AAEzCiB,QAAMH,UAAUI,OAAK;AACnB,QAAIN,MAAMC,IAAI,KAAK,MAAM;AACvBE,eAASf,QAAQc,SAASd;IAC5B;EACF,CAAC;AAED,SAAOe;AACT;AAEA,SAASI,sBAAuBC,OAAuF;AACrH,SAAQR,WAAyC;AAC/C,UAAMxB,UAAUuB,YAAYC,OAAO,UAAUQ,MAAMhC,OAAO;AAC1D,UAAMC,WAAWsB,YAAYC,OAAO,YAAYQ,MAAM/B,QAAQ;AAC9D,UAAMC,WAAWqB,YAAYC,OAAO,YAAYQ,MAAM9B,QAAQ;AAE9D,WAAO;MACL+B,MAAM;MACNjC;MACAC;MACAC;MACAgC,GAAGnC,wBAAwBC,SAASC,UAAUC,QAAQ;MACtDiC,GAAGlB,qBAAqBjB,SAASC,QAAQ;MACzCmC,SAASL,sBAAsB;QAAE/B;QAASC;QAAUC;MAAS,CAAC;IAChE;EACF;AACF;AAEO,SAASmC,qBAAsBnB,SAAyC;AAC7E,QAAMlB,UAAUsC,YAAWpB,mCAASqB,WAAU,IAAI;AAClD,QAAMtC,WAAWqC,YAAWpB,mCAASjB,aAAY,IAAI;AACrD,QAAMC,WAAWsC,IAAI;IAAEC;IAAI,GAAGvB,mCAAShB;EAAS,CAAC;AAEjD,SAAO;IACL+B,MAAM;IACNjC;IACAC;IACAC;IACAgC,GAAGnC,wBAAwBC,SAASC,UAAUC,QAAQ;IACtDiC,GAAGlB,qBAAqBjB,SAASC,QAAQ;IACzCmC,SAASL,sBAAsB;MAAE/B;MAASC;MAAUC;IAAS,CAAC;EAChE;AACF;;;ACnFO,IAAMwC,eAA2DC,OAAOC,IAAI,gBAAgB;AAEnG,SAASC,iBAAkBC,KAAiC;AAC1D,SAAOA,IAAIC,QAAQ;AACrB;AAEO,SAASC,aAAcC,SAAsC;AAClE,QAAMC,QAAOD,mCAASE,YAAWN,iBAAiBI,mCAASE,OAAO,IAAIF,mCAASE,UAAUC,qBAAqBH,OAAO;AACrH,QAAMI,MAAMC,UAAUJ,MAAMD,OAAO;AAEnC,SAAO;IAAE,GAAGC;IAAM,GAAGG;EAAI;AAC3B;AAEO,SAASE,YAAa;AAC3B,QAAMC,SAASC,OAAOf,YAAY;AAElC,MAAI,CAACc;AAAQ,UAAM,IAAIE,MAAM,mDAAmD;AAEhF,SAAOF;AACT;AAiCO,IAAMG,YAAuCC,OAAOC,IAAI,aAAa;AAErE,SAASC,UAAWC,MAAsBC,SAAmC;AAClF,QAAMC,MAAMC,KAA6BF,mCAASC,QAAOE,UAAU;AACnE,QAAMC,QAAQC,SAAS,MAAMJ,IAAIK,MAAMP,KAAKQ,QAAQD,KAAK,KAAK,KAAK;AAEnE,SAAO;IACLF;IACAH;IACAO,YAAYH,SAAS,MAAO,gBAAeD,MAAME,QAAQ,QAAQ,KAAM,EAAC;EAC1E;AACF;AAYO,SAASG,SAAU;AACxB,QAAMC,SAASC,OAAOC,YAAY;AAElC,MAAI,CAACF;AAAQ,UAAM,IAAIG,MAAM,gDAAgD;AAE7E,SAAO;IAAEC,OAAOJ,OAAOI;IAAOC,YAAYL,OAAOK;EAAW;AAC9D;;;AC9FA,IAAMC,UAAU;AAEhB,IAAMC,MAAM;AACZ,IAAMC,MAAM;AACZ,IAAMC,MAAM;AAOZ,IAAMC,SAAS;AACf,IAAMC,UAAU;AAChB,IAAMC,SAAS;AACf,IAAMC,QAAQ;AAId,IAAMC,UAAU;AAChB,IAAMC,UAAU;AAChB,IAAMC,YAAY;AAClB,IAAMC,WAAW;AACjB,IAAMC,WAAW;AACjB,IAAMC,cAAc;AACpB,IAAMC,cAAc;AACpB,IAAMC,cAAc;AACpB,IAAMC,SAAS;AAER,SAASC,aAAcC,MAAWC,YAAiB;AAExD,QAAMC,QAAQF,KAAKG,IAAI,QAAQrB;AAC/B,QAAMsB,QAAQJ,KAAKK,IAAI,QAAQvB;AAC/B,QAAMwB,QAAQN,KAAKO,IAAI,QAAQzB;AAE/B,QAAM0B,OAAOP,WAAWE,IAAI,QAAQrB;AACpC,QAAM2B,OAAOR,WAAWI,IAAI,QAAQvB;AACpC,QAAM4B,OAAOT,WAAWM,IAAI,QAAQzB;AAGpC,MAAI6B,OAAQT,OAAOnB,MAAQqB,OAAOpB,MAAQsB,OAAOrB;AACjD,MAAI2B,MAAOJ,MAAMzB,MAAQ0B,MAAMzB,MAAQ0B,MAAMzB;AAI7C,MAAI0B,QAAQrB;AAASqB,aAASrB,UAAUqB,SAASpB;AACjD,MAAIqB,OAAOtB;AAASsB,YAAQtB,UAAUsB,QAAQrB;AAG9C,MAAIsB,KAAKC,IAAIF,MAAMD,IAAI,IAAInB;AAAW,WAAO;AAI7C,MAAIuB;AACJ,MAAIH,MAAMD,MAAM;AAId,UAAMK,QAASJ,OAAO1B,SAAWyB,QAAQxB,WAAYM;AAOrDsB,qBACGC,OAAOlB,SAAU,IACfkB,OAAOrB,cAAeqB,OAAOA,OAAOpB,cAAcC,cACnDmB,OAAOnB;EACb,OAAO;AAIL,UAAMmB,QAASJ,OAAOvB,QAAUsB,QAAQvB,UAAWM;AAEnDqB,qBACGC,OAAO,CAAClB,SAAU,IAChBkB,OAAO,CAACrB,cAAeqB,OAAOA,OAAOpB,cAAcC,cACpDmB,OAAOnB;EACb;AAEA,SAAOkB,iBAAiB;AAC1B;;;ACGO,IAAME,cAA2CC,OAAOC,IAAI,eAAe;AAE3E,IAAMC,iBAAiBC,aAAa;EACzCC,OAAOC;AACT,GAAG,OAAO;AAEV,IAAMC,sBAAoD;EACxDC,cAAc;EACdC,YAAY;IAAEC,QAAQ,CAAA;IAAIC,SAAS;IAAGC,QAAQ;EAAE;EAChDC,QAAQ;IACNC,OAAO;MACLC,MAAM;MACNL,QAAQ;QACNM,YAAY;QACZC,SAAS;QACT,mBAAmB;QACnB,sBAAsB;QACtBC,SAAS;QACT,oBAAoB;QACpBC,WAAW;QACX,sBAAsB;QACtBC,OAAO;QACPC,MAAM;QACNC,SAAS;QACTC,SAAS;MACX;MACAC,WAAW;QACT,gBAAgB;QAChB,kBAAkB;QAClB,yBAAyB;QACzB,2BAA2B;QAC3B,oBAAoB;QACpB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,mBAAmB;QACnB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,iBAAiB;MACnB;IACF;IACAT,MAAM;MACJA,MAAM;MACNL,QAAQ;QACNM,YAAY;QACZC,SAAS;QACT,mBAAmB;QACnB,sBAAsB;QACtBC,SAAS;QACT,oBAAoB;QACpBC,WAAW;QACX,sBAAsB;QACtBC,OAAO;QACPC,MAAM;QACNC,SAAS;QACTC,SAAS;MACX;MACAC,WAAW;QACT,gBAAgB;QAChB,kBAAkB;QAClB,yBAAyB;QACzB,2BAA2B;QAC3B,oBAAoB;QACpB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,mBAAmB;QACnB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,iBAAiB;MACnB;IACF;EACF;AACF;AAEA,SAASC,oBAAsF;AAvL/F;AAuL+F,MAAnEC,UAAqBC,UAAAC,SAAA,KAAAD,UAAA,CAAA,MAAAE,SAAAF,UAAA,CAAA,IAAGpB;AAClD,MAAI,CAACmB;AAAS,WAAO;MAAE,GAAGnB;MAAqBuB,YAAY;IAAK;AAEhE,QAAMjB,SAAkD,CAAC;AACzD,aAAW,CAACkB,KAAK1B,KAAK,KAAK2B,OAAOC,QAAQP,QAAQb,UAAU,CAAC,CAAC,GAAG;AAC/D,UAAML,eAAeH,MAAMU,QAAQgB,QAAQ,UACvCxB,yBAAoBM,WAApBN,mBAA4BQ,QAC5BR,yBAAoBM,WAApBN,mBAA4BO;AAChCD,WAAOkB,GAAG,IAAIG,UAAU1B,cAAcH,KAAK;EAC7C;AAEA,SAAO6B,UACL3B,qBACA;IAAE,GAAGmB;IAASb;EAAO,CAAC;AAE1B;AAGO,SAASsB,YAAaT,SAAyE;AACpG,QAAMU,gBAAgBX,kBAAkBC,OAAO;AAC/C,QAAMW,OAAOC,IAAIF,cAAc5B,YAAY;AAC3C,QAAMK,SAASyB,IAAIF,cAAcvB,MAAM;AAEvC,QAAM0B,iBAAiBC,SAAS,MAAM;AACpC,UAAMC,MAA+C,CAAC;AACtD,eAAW,CAACJ,OAAMK,QAAQ,KAAKV,OAAOC,QAAQpB,OAAO8B,KAAK,GAAG;AAC3D,YAAMtC,QAAiCoC,IAAIJ,KAAI,IAAI;QACjD,GAAGK;QACHhC,QAAQ;UACN,GAAGgC,SAAShC;QACd;MACF;AAEA,UAAI0B,cAAc3B,YAAY;AAC5B,mBAAW4B,SAAQD,cAAc3B,WAAWC,QAAQ;AAClD,gBAAMkC,QAAQvC,MAAMK,OAAO2B,KAAI;AAE/B,cAAI,CAACO;AAAO;AAEZ,qBAAWC,aAAc,CAAC,WAAW,QAAQ,GAAa;AACxD,kBAAMC,KAAKD,cAAc,YAAYlC,UAAUC;AAC/C,uBAAWmC,UAAUC,YAAYZ,cAAc3B,WAAWoC,SAAS,GAAG,CAAC,GAAG;AACxExC,oBAAMK,OAAQ,GAAE2B,KAAK,IAAGQ,SAAU,IAAGE,MAAO,EAAC,IAAIE,SAASH,GAAGI,WAAWN,KAAK,GAAGG,MAAM,CAAC;YACzF;UACF;QACF;MACF;AAEA,iBAAWH,SAASZ,OAAOmB,KAAK9C,MAAMK,MAAM,GAAG;AAC7C,YAAI,YAAY0C,KAAKR,KAAK,KAAKvC,MAAMK,OAAQ,MAAKkC,KAAM,EAAC;AAAG;AAE5D,cAAMS,UAAW,MAAKT,KAAM;AAC5B,cAAMU,WAAWJ,WAAW7C,MAAMK,OAAOkC,KAAK,CAAC;AAE/C,cAAMW,gBAAgBC,KAAKC,IAAIC,aAAaR,WAAW,CAAC,GAAGI,QAAQ,CAAC;AACpE,cAAMK,gBAAgBH,KAAKC,IAAIC,aAAaR,WAAW,QAAQ,GAAGI,QAAQ,CAAC;AAY3EjD,cAAMK,OAAO2C,OAAO,IAAIM,gBAAgBH,KAAKI,IAAIL,eAAe,EAAE,IAAI,SAAS;MACjF;IACF;AAEA,WAAOd;EACT,CAAC;AACD,QAAMoB,UAAUrB,SAAS,MAAMD,eAAeI,MAAMN,KAAKM,KAAK,CAAC;AAE/D,QAAMmB,SAAStB,SAAS,MAAM;AAC5B,UAAMuB,QAAkB,CAAA;AAExB,QAAIF,QAAQlB,MAAM5B,MAAM;AACtBiD,qBAAeD,OAAO,SAAS,CAAC,oBAAoB,CAAC;IACvD;AAEAC,mBAAeD,OAAO,SAASE,gBAAgBJ,QAAQlB,KAAK,CAAC;AAE7D,eAAW,CAACuB,WAAW7D,KAAK,KAAK2B,OAAOC,QAAQM,eAAeI,KAAK,GAAG;AACrEqB,qBAAeD,OAAQ,aAAYG,SAAU,IAAG,CAC7C,iBAAgB7D,MAAMU,OAAO,SAAS,QAAS,IAChD,GAAGkD,gBAAgB5D,KAAK,CAAC,CAC1B;IACH;AAEA,UAAM8D,UAAoB,CAAA;AAC1B,UAAMC,UAAoB,CAAA;AAE1B,UAAM1D,SAAS,IAAI2D,IAAIrC,OAAOsC,OAAO/B,eAAeI,KAAK,EAAE4B,QAAQlE,WAAS2B,OAAOmB,KAAK9C,MAAMK,MAAM,CAAC,CAAC;AACtG,eAAWqB,OAAOrB,QAAQ;AACxB,UAAI,YAAY0C,KAAKrB,GAAG,GAAG;AACzBiC,uBAAeI,SAAU,IAAGrC,GAAI,IAAG,CAAE,4BAA2BA,GAAI,eAAc,CAAC;MACrF,OAAO;AACLiC,uBAAeG,SAAU,OAAMpC,GAAI,IAAG,CACnC,+CAA8CA,GAAI,wBAClD,uCAAsCA,GAAI,iBAC1C,+BAA8BA,GAAI,eAAc,CAClD;AACDiC,uBAAeI,SAAU,SAAQrC,GAAI,IAAG,CAAE,4BAA2BA,GAAI,eAAc,CAAC;AACxFiC,uBAAeI,SAAU,WAAUrC,GAAI,IAAG,CAAE,mCAAkCA,GAAI,GAAE,CAAC;MACvF;IACF;AAEAgC,UAAMS,KAAK,GAAGL,SAAS,GAAGC,OAAO;AAEjC,WAAOL,MAAMU,IAAI,CAACC,KAAKC,MAAMA,MAAM,IAAID,MAAO,OAAMA,GAAI,EAAC,EAAEE,KAAK,EAAE;EACpE,CAAC;AAED,WAASC,UAAW;AAClB,WAAO;MACLC,OAAO,CAAC;QACNC,UAAUjB,OAAOnB;QACjBqC,IAAI;QACJC,OAAO7C,cAAc8C,YAAY;MACnC,CAAC;IACH;EACF;AAEA,WAASC,QAASC,KAAU;AAC1B,QAAIhD,cAAcN;AAAY;AAE9B,UAAMuD,OAAOD,IAAIE,SAASC,SAASC;AACnC,QAAIH,MAAM;AACR,UAAIA,KAAKb,MAAM;AACb,cAAMiB,QAAQJ,KAAKb,KAAKK,OAAO;AAC/B,YAAIa,YAAY;AACdC,gBAAM7B,QAAQ,MAAM;AAAE2B,kBAAMG,MAAMf,OAAO;UAAE,CAAC;QAC9C;MACF,OAAO;AACL,YAAIa,YAAY;AACdL,eAAKQ,YAAYrD,SAASqC,OAAO,CAAC;AAClCiB,sBAAY,MAAMT,KAAKU,UAAS,CAAE;QACpC,OAAO;AACLV,eAAKQ,YAAYhB,QAAO,CAAE;QAC5B;MACF;IACF,OAAO;AAWL,UAASmB,eAAT,WAAyB;AACvB,YAAI,OAAOC,aAAa,eAAe,CAACC,SAAS;AAC/C,gBAAMC,KAAKF,SAASG,cAAc,OAAO;AACzCD,aAAGE,OAAO;AACVF,aAAGnB,KAAK;AACR,cAAI5C,cAAc8C;AAAUiB,eAAGG,aAAa,SAASlE,cAAc8C,QAAQ;AAE3EgB,oBAAUC;AACVF,mBAASZ,KAAKkB,YAAYL,OAAO;QACnC;AAEA,YAAIA;AAASA,kBAAQM,YAAY1C,OAAOnB;MAC1C;AAtBA,UAAIuD,UAAUR,aACVO,SAASQ,eAAe,0BAA0B,IAClD;AAEJ,UAAIf,YAAY;AACdC,cAAM7B,QAAQkC,cAAc;UAAEU,WAAW;QAAK,CAAC;MACjD,OAAO;AACLV,qBAAY;MACd;IAeF;EACF;AAEA,QAAMW,eAAenE,SAAS,MAAMJ,cAAcN,aAAaD,SAAa,YAAWQ,KAAKM,KAAM,EAAC;AAEnG,SAAO;IACLwC;IACArD,YAAYM,cAAcN;IAC1BO;IACAxB;IACAgD;IACAtB;IACAoE;IACA7C;IACA8C,QAAQ;MACNvE;MACAwB;IACF;EACF;AACF;AA0BO,SAASgD,WAAY;AAC1BC,qBAAmB,UAAU;AAE7B,QAAMC,QAAQC,OAAOC,aAAa,IAAI;AAEtC,MAAI,CAACF;AAAO,UAAM,IAAIG,MAAM,wCAAwC;AAEpE,SAAOH;AACT;AAEA,SAASI,eAAgBC,OAAiBC,UAAkBC,SAAmB;AAC7EF,QAAMG,KACH,GAAEF,QAAS;GACZ,GAAGC,QAAQE,IAAIC,UAAS,KAAIA,IAAK;CAAI,GACrC,KAAK;AAET;AAEA,SAASC,gBAAiBX,OAAgC;AACxD,QAAMY,eAAeZ,MAAMa,OAAO,IAAI;AACtC,QAAMC,cAAcd,MAAMa,OAAO,IAAI;AAErC,QAAME,YAAsB,CAAA;AAC5B,aAAW,CAACC,KAAKC,KAAK,KAAKC,OAAOC,QAAQnB,MAAMoB,MAAM,GAAG;AACvD,UAAMC,MAAMC,WAAWL,KAAK;AAC5BF,cAAUP,KAAM,aAAYQ,GAAI,KAAIK,IAAIE,CAAE,IAAGF,IAAIG,CAAE,IAAGH,IAAII,CAAE,EAAC;AAC7D,QAAI,CAACT,IAAIU,WAAW,KAAK,GAAG;AAC1BX,gBAAUP,KAAM,aAAYQ,GAAI,wBAAuBW,QAAQV,KAAK,IAAI,OAAOL,eAAeE,WAAY,EAAC;IAC7G;EACF;AAEA,aAAW,CAACE,KAAKC,KAAK,KAAKC,OAAOC,QAAQnB,MAAMe,SAAS,GAAG;AAC1D,UAAMa,QAAQ,OAAOX,UAAU,YAAYA,MAAMS,WAAW,GAAG,IAAIJ,WAAWL,KAAK,IAAIY;AACvF,UAAMR,MAAMO,QAAS,GAAEA,MAAML,CAAE,KAAIK,MAAMJ,CAAE,KAAII,MAAMH,CAAE,KAAII;AAC3Dd,cAAUP,KAAM,OAAMQ,GAAI,KAAIK,OAAOJ,KAAM,EAAC;EAC9C;AAEA,SAAOF;AACT;;;AC1aA,IAAMe,WAAmC;EACvC,OAAO;EACPC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJ,kBAAkB;EAClBC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJC,IAAI;EACJ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",
- "names": ["DisplaySymbol", "Symbol", "for", "defaultDisplayOptions", "mobileBreakpoint", "thresholds", "xs", "sm", "md", "lg", "xl", "xxl", "parseDisplayOptions", "options", "arguments", "length", "undefined", "mergeDeep", "getClientWidth", "ssr", "IN_BROWSER", "window", "innerWidth", "clientWidth", "getClientHeight", "innerHeight", "clientHeight", "getPlatform", "userAgent", "navigator", "match", "regexp", "Boolean", "android", "ios", "cordova", "electron", "chrome", "edge", "firefox", "opera", "win", "mac", "linux", "touch", "SUPPORTS_TOUCH", "createDisplay", "height", "shallowRef", "platform", "state", "reactive", "width", "updateSize", "value", "update", "watchEffect", "name", "breakpointValue", "mobile", "smAndUp", "mdAndUp", "lgAndUp", "xlAndUp", "smAndDown", "mdAndDown", "lgAndDown", "xlAndDown", "addEventListener", "passive", "toRefs", "useDisplay", "display", "inject", "Error", "useProxiedModel", "props", "prop", "defaultValue", "transformIn", "arguments", "length", "undefined", "v", "transformOut", "vm", "getCurrentInstance", "internal", "ref", "kebabProp", "toKebabCase", "checkKebab", "isControlled", "computed", "vnode", "hasOwnProperty", "useToggleScope", "value", "watch", "val", "model", "get", "externalValue", "set", "internalValue", "newValue", "toRaw", "emit", "Object", "defineProperty", "LANG_PREFIX", "replace", "str", "params", "match", "index", "String", "createTranslateFunction", "current", "fallback", "messages", "key", "_len", "arguments", "length", "Array", "_key", "startsWith", "shortKey", "currentLocale", "value", "fallbackLocale", "getObjectValueByPath", "consoleWarn", "consoleError", "createNumberFunction", "options", "numberFormat", "Intl", "NumberFormat", "format", "useProvided", "props", "prop", "provided", "internal", "useProxiedModel", "watch", "v", "createProvideFunction", "state", "name", "t", "n", "provide", "createVuetifyAdapter", "shallowRef", "locale", "ref", "en", "LocaleSymbol", "Symbol", "for", "isLocaleInstance", "obj", "name", "createLocale", "options", "i18n", "adapter", "createVuetifyAdapter", "rtl", "createRtl", "useLocale", "locale", "inject", "Error", "RtlSymbol", "Symbol", "for", "createRtl", "i18n", "options", "rtl", "ref", "defaultRtl", "isRtl", "computed", "value", "current", "rtlClasses", "useRtl", "locale", "inject", "LocaleSymbol", "Error", "isRtl", "rtlClasses", "mainTRC", "Rco", "Gco", "Bco", "normBG", "normTXT", "revTXT", "revBG", "blkThrs", "blkClmp", "deltaYmin", "scaleBoW", "scaleWoB", "loConThresh", "loConFactor", "loConOffset", "loClip", "APCAcontrast", "text", "background", "Rtxt", "r", "Gtxt", "g", "Btxt", "b", "Rbg", "Gbg", "Bbg", "Ytxt", "Ybg", "Math", "abs", "outputContrast", "SAPC", "ThemeSymbol", "Symbol", "for", "makeThemeProps", "propsFactory", "theme", "String", "defaultThemeOptions", "defaultTheme", "variations", "colors", "lighten", "darken", "themes", "light", "dark", "background", "surface", "primary", "secondary", "error", "info", "success", "warning", "variables", "parseThemeOptions", "options", "arguments", "length", "undefined", "isDisabled", "key", "Object", "entries", "mergeDeep", "createTheme", "parsedOptions", "name", "ref", "computedThemes", "computed", "acc", "original", "value", "color", "variation", "fn", "amount", "createRange", "RGBtoHex", "parseColor", "keys", "test", "onColor", "colorVal", "blackContrast", "Math", "abs", "APCAcontrast", "whiteContrast", "min", "current", "styles", "lines", "createCssClass", "genCssVariables", "themeName", "bgLines", "fgLines", "Set", "values", "flatMap", "push", "map", "str", "i", "join", "getHead", "style", "children", "id", "nonce", "cspNonce", "install", "app", "head", "_context", "provides", "usehead", "entry", "IN_BROWSER", "watch", "patch", "addHeadObjs", "watchEffect", "updateDOM", "updateStyles", "document", "styleEl", "el", "createElement", "type", "setAttribute", "appendChild", "innerHTML", "getElementById", "immediate", "themeClasses", "global", "useTheme", "getCurrentInstance", "theme", "inject", "ThemeSymbol", "Error", "createCssClass", "lines", "selector", "content", "push", "map", "line", "genCssVariables", "lightOverlay", "dark", "darkOverlay", "variables", "key", "value", "Object", "entries", "colors", "rgb", "parseColor", "r", "g", "b", "startsWith", "getLuma", "color", "undefined", "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", "locale", "weeks", "currentWeek", "firstDayOfMonth", "startOfMonth", "lastDayOfMonth", "endOfMonth", "firstDayWeekIndex", "getDay", "slice", "toUpperCase", "lastDayWeekIndex", "i", "adjacentDay", "Date", "setDate", "getDate", "push", "day", "getFullYear", "getMonth", "length", "parseLocalDate", "value", "parts", "split", "map", "Number", "_YYYMMDD", "parsed", "test", "parse", "isNaN", "sundayJanuarySecond2000", "getWeekdays", "daysFromSunday", "createRange", "weekday", "Intl", "DateTimeFormat", "format", "formatString", "options", "month", "year", "timeZone", "timeZoneName", "addDays", "amount", "d", "addMonths", "setMonth", "getYear", "startOfYear", "endOfYear", "isWithinRange", "range", "isAfter", "isBefore", "isValid", "getTime", "comparing", "isEqual", "isSameDay", "isSameMonth", "getDiff", "unit", "c", "Math", "floor", "setYear", "setFullYear", "VuetifyDateAdapter", "constructor", "toJsDate", "DateAdapterSymbol", "Symbol", "for", "createDate", "options", "mergeDeep", "adapter", "VuetifyDateAdapter", "locale", "af", "bg", "ca", "ckb", "cs", "de", "el", "en", "et", "fa", "fi", "hr", "hu", "he", "id", "it", "ja", "ko", "lv", "lt", "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", "srCyrl", "srLatn", "sv", "th", "tr", "az", "uk", "vi", "zhHans", "zhHant", "makeDateProps", "propsFactory", "displayDate", "type", "Object", "default", "Date", "hideAdjacentMonths", "Boolean", "modelValue", "VuetifyLayoutKey", "Symbol", "for", "VuetifyLayoutItemKey", "makeLayoutProps", "propsFactory", "overlaps", "type", "Array", "default", "fullHeight", "Boolean", "makeLayoutItemProps", "name", "String", "order", "Number", "absolute", "useLayout", "layout", "inject", "VuetifyLayoutKey", "Error", "getLayoutItem", "mainRect", "mainStyles", "createVuetify", "vuetify", "arguments", "length", "undefined", "blueprint", "rest", "options", "mergeDeep", "aliases", "components", "directives", "defaults", "createDefaults", "display", "createDisplay", "ssr", "theme", "createTheme", "icons", "createIcons", "locale", "createLocale", "date", "createDate", "install", "app", "key", "directive", "component", "defineComponent", "name", "aliasName", "provide", "DefaultsSymbol", "DisplaySymbol", "ThemeSymbol", "IconSymbol", "LocaleSymbol", "DateAdapterSymbol", "IN_BROWSER", "$nuxt", "hook", "update", "mount", "vm", "nextTick", "getUid", "reset", "__VUE_OPTIONS_API__", "mixin", "computed", "$vuetify", "reactive", "inject", "call", "version", "$", "provides", "parent", "vnode", "appContext"]
- }
|