@vuetify/nightly 3.9.0-next.2025-07-12 → 3.9.0-next.2025-07-25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -4
- package/dist/json/attributes.json +2240 -2240
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +180 -180
- package/dist/json/web-types.json +4090 -4090
- package/dist/vuetify-labs.cjs +4 -4
- package/dist/vuetify-labs.css +5502 -5500
- package/dist/vuetify-labs.d.ts +65 -65
- package/dist/vuetify-labs.esm.js +4 -4
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +4 -4
- package/dist/vuetify-labs.min.css +3 -3
- package/dist/vuetify.cjs +4 -4
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3662 -3660
- package/dist/vuetify.d.ts +65 -65
- package/dist/vuetify.esm.js +4 -4
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +4 -4
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +4 -4
- package/dist/vuetify.min.js.map +1 -1
- package/lib/composables/theme.js +1 -1
- package/lib/composables/theme.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +65 -65
- package/lib/framework.js +1 -1
- package/lib/styles/generic/_colors.scss +3 -1
- package/lib/styles/generic/_layers.scss +1 -1
- package/lib/styles/main.css +4 -2
- package/package.json +1 -1
package/lib/composables/theme.js
CHANGED
@@ -248,7 +248,7 @@ export function createTheme(options) {
|
|
248
248
|
createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);
|
249
249
|
}
|
250
250
|
}
|
251
|
-
lines.push(...bgLines, ...fgLines);
|
251
|
+
lines.push('@layer background {\n', ...bgLines.map(v => ` ${v}`), '}\n', '@layer foreground {\n', ...fgLines.map(v => ` ${v}`), '}\n');
|
252
252
|
}
|
253
253
|
return '@layer vuetify.theme {\n' + lines.map(v => ` ${v}`).join('') + '\n}';
|
254
254
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"theme.js","names":["computed","getCurrentScope","inject","onScopeDispose","provide","ref","shallowRef","toRef","watch","watchEffect","consoleWarn","createRange","darken","deprecate","getCurrentInstance","getForeground","getLuma","IN_BROWSER","lighten","mergeDeep","parseColor","propsFactory","RGBtoHex","SUPPORTS_MATCH_MEDIA","ThemeSymbol","Symbol","for","makeThemeProps","theme","String","genDefaults","defaultTheme","prefix","variations","colors","themes","light","dark","background","surface","primary","secondary","error","info","success","warning","variables","stylesheetId","scoped","unimportant","utilities","parseThemeOptions","options","arguments","length","undefined","defaults","isDisabled","key","Object","entries","createCssClass","lines","selector","content","scope","push","getScopedSelector","map","line","genCssVariables","lightOverlay","darkOverlay","value","rgb","r","g","b","startsWith","color","genVariation","name","object","variation","fn","amount","genVariations","variationColors","genOnColors","onColors","keys","onColor","colorVal","scopeSelector","upsertStyles","id","cspNonce","styles","styleEl","getOrCreateStyleElement","innerHTML","style","document","getElementById","createElement","type","setAttribute","head","appendChild","createTheme","parsedOptions","_name","systemName","get","set","val","computedThemes","acc","original","current","important","themeName","bgLines","fgLines","Set","values","flatMap","v","join","themeClasses","themeNames","media","window","matchMedia","updateSystemName","matches","addEventListener","passive","removeEventListener","install","app","_context","provides","usehead","getHead","textContent","nonce","entry","patch","addHeadObjs","updateDOM","updateStyles","immediate","change","includes","cycle","themeArray","currentIndex","indexOf","nextIndex","toggle","globalName","Proxy","target","prop","Reflect","global","provideTheme","props","Error","newTheme","useTheme"],"sources":["../../src/composables/theme.ts"],"sourcesContent":["// Utilities\nimport {\n computed,\n getCurrentScope,\n inject,\n onScopeDispose,\n provide,\n ref,\n shallowRef,\n toRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n consoleWarn,\n createRange,\n darken,\n deprecate,\n getCurrentInstance,\n getForeground,\n getLuma,\n IN_BROWSER,\n lighten,\n mergeDeep,\n parseColor,\n propsFactory,\n RGBtoHex,\n SUPPORTS_MATCH_MEDIA,\n} from '@/util'\n\n// Types\nimport type { VueHeadClient } from '@unhead/vue/client'\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?: 'light' | 'dark' | 'system' | string & {}\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n stylesheetId?: string\n scope?: string\n unimportant?: boolean\n}\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\ninterface InternalThemeOptions {\n cspNonce?: string\n isDisabled: boolean\n defaultTheme: 'light' | 'dark' | 'system' | string & {}\n prefix: string\n variations: false | VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n stylesheetId: string\n scope?: string\n scoped: boolean\n unimportant: boolean\n utilities: boolean\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 change: (themeName: string) => void\n cycle: (themeArray?: string[]) => void\n toggle: (themeArray?: [string, string]) => void\n\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 readonly prefix: string\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\nfunction genDefaults () {\n return {\n defaultTheme: 'system',\n prefix: 'v-',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-bright': '#FFFFFF',\n 'surface-light': '#EEEEEE',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#1867C0',\n 'primary-darken-1': '#1F5592',\n secondary: '#48A9A6',\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': '#EEEEEE',\n 'theme-on-kbd': '#000000',\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-bright': '#ccbfd6',\n 'surface-light': '#424242',\n 'surface-variant': '#c8c8c8',\n 'on-surface-variant': '#000000',\n primary: '#2196F3',\n 'primary-darken-1': '#277CC1',\n secondary: '#54B6B2',\n 'secondary-darken-1': '#48A9A6',\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': '#424242',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#343434',\n 'theme-on-code': '#CCCCCC',\n },\n },\n },\n stylesheetId: 'vuetify-theme-stylesheet',\n scoped: false,\n unimportant: true,\n utilities: true,\n }\n}\n\nfunction parseThemeOptions (options: ThemeOptions = genDefaults()): InternalThemeOptions {\n const defaults = genDefaults()\n\n if (!options) return { ...defaults, isDisabled: true } as any\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 ? defaults.themes?.dark\n : defaults.themes?.light\n themes[key] = mergeDeep(defaultTheme, theme) as InternalThemeDefinition\n }\n\n return mergeDeep(\n defaults,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\nfunction createCssClass (lines: string[], selector: string, content: string[], scope?: string) {\n lines.push(\n `${getScopedSelector(selector, scope)} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n )\n}\n\nfunction genCssVariables (theme: InternalThemeDefinition, prefix: string) {\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(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--${prefix}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(`--${prefix}${key}: ${rgb ?? value}`)\n }\n\n return variables\n}\n\nfunction genVariation (name: string, color: string, variations: VariationsOptions | false) {\n const object: Record<string, string> = {}\n if (variations) {\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations[variation], 1)) {\n object[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount))\n }\n }\n }\n return object\n}\n\nfunction genVariations (colors: InternalThemeDefinition['colors'], variations: VariationsOptions | false) {\n if (!variations) return {}\n\n let variationColors = {}\n for (const name of variations.colors) {\n const color = colors[name]\n\n if (!color) continue\n\n variationColors = {\n ...variationColors,\n ...genVariation(name, color, variations),\n }\n }\n return variationColors\n}\n\nfunction genOnColors (colors: InternalThemeDefinition['colors']) {\n const onColors = {} as InternalThemeDefinition['colors']\n\n for (const color of Object.keys(colors)) {\n if (color.startsWith('on-') || colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = parseColor(colors[color])\n\n onColors[onColor] = getForeground(colorVal)\n }\n\n return onColors\n}\n\nfunction getScopedSelector (selector: string, scope?: string) {\n if (!scope) return selector\n\n const scopeSelector = `:where(${scope})`\n\n return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`\n}\n\nfunction upsertStyles (id: string, cspNonce: string | undefined, styles: string) {\n const styleEl = getOrCreateStyleElement(id, cspNonce)\n\n if (!styleEl) return\n\n styleEl.innerHTML = styles\n}\n\nfunction getOrCreateStyleElement (id: string, cspNonce?: string) {\n if (!IN_BROWSER) return null\n\n let style = document.getElementById(id) as HTMLStyleElement | null\n\n if (!style) {\n style = document.createElement('style')\n style.id = id\n style.type = 'text/css'\n\n if (cspNonce) style.setAttribute('nonce', cspNonce)\n\n document.head.appendChild(style)\n }\n\n return style\n}\n\n// Composables\nexport function createTheme (options?: ThemeOptions): ThemeInstance & { install: (app: App) => void } {\n const parsedOptions = parseThemeOptions(options)\n const _name = shallowRef(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const systemName = shallowRef('light')\n\n const name = computed({\n get () {\n return _name.value === 'system' ? systemName.value : _name.value\n },\n set (val: string) {\n _name.value = val\n },\n })\n\n const computedThemes = computed(() => {\n const acc: Record<string, InternalThemeDefinition> = {}\n for (const [name, original] of Object.entries(themes.value)) {\n const colors = {\n ...original.colors,\n ...genVariations(original.colors, parsedOptions.variations),\n }\n\n acc[name] = {\n ...original,\n colors: {\n ...colors,\n ...genOnColors(colors),\n },\n }\n }\n return acc\n })\n\n const current = toRef(() => computedThemes.value[name.value])\n\n const styles = computed(() => {\n const lines: string[] = []\n const important = parsedOptions.unimportant ? '' : ' !important'\n const scoped = parsedOptions.scoped ? parsedOptions.prefix : ''\n\n if (current.value?.dark) {\n createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope)\n }\n\n createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope)\n\n for (const [themeName, theme] of Object.entries(computedThemes.value)) {\n createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [\n `color-scheme: ${theme.dark ? 'dark' : 'normal'}`,\n ...genCssVariables(theme, parsedOptions.prefix),\n ], parsedOptions.scope)\n }\n\n if (parsedOptions.utilities) {\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 (key.startsWith('on-')) {\n createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope)\n } else {\n createCssClass(bgLines, `.${scoped}bg-${key}`, [\n `--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`,\n `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`,\n `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`,\n ], parsedOptions.scope)\n createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope)\n createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope)\n }\n }\n\n lines.push(...bgLines, ...fgLines)\n }\n\n return '@layer vuetify.theme {\\n' + lines.map(v => ` ${v}`).join('') + '\\n}'\n })\n\n const themeClasses = toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`)\n const themeNames = toRef(() => Object.keys(computedThemes.value))\n\n if (SUPPORTS_MATCH_MEDIA) {\n const media = window.matchMedia('(prefers-color-scheme: dark)')\n\n function updateSystemName () {\n systemName.value = media.matches ? 'dark' : 'light'\n }\n\n updateSystemName()\n\n media.addEventListener('change', updateSystemName, { passive: true })\n\n if (getCurrentScope()) {\n onScopeDispose(() => {\n media.removeEventListener('change', updateSystemName)\n })\n }\n }\n\n function install (app: App) {\n if (parsedOptions.isDisabled) return\n\n const head = app._context.provides.usehead as HeadClient & VueHeadClient<any> | undefined\n if (head) {\n function getHead () {\n return {\n style: [{\n textContent: styles.value,\n id: parsedOptions.stylesheetId,\n nonce: parsedOptions.cspNonce || false as never,\n }],\n }\n }\n\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(toRef(getHead))\n watchEffect(() => head.updateDOM())\n } else {\n head.addHeadObjs(getHead())\n }\n }\n } else {\n if (IN_BROWSER) {\n watch(styles, updateStyles, { immediate: true })\n } else {\n updateStyles()\n }\n\n function updateStyles () {\n upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value)\n }\n }\n }\n\n function change (themeName: string) {\n if (!themeNames.value.includes(themeName)) {\n consoleWarn(`Theme \"${themeName}\" not found on the Vuetify theme instance`)\n return\n }\n\n name.value = themeName\n }\n\n function cycle (themeArray: string[] = themeNames.value) {\n const currentIndex = themeArray.indexOf(name.value)\n const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length\n\n change(themeArray[nextIndex])\n }\n\n function toggle (themeArray: [string, string] = ['light', 'dark']) {\n cycle(themeArray)\n }\n\n const globalName = new Proxy(name, {\n get (target, prop) {\n return Reflect.get(target, prop)\n },\n set (target, prop, val) {\n if (prop === 'value') {\n deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`)\n }\n return Reflect.set(target, prop, val)\n },\n })\n\n return {\n install,\n change,\n cycle,\n toggle,\n isDisabled: parsedOptions.isDisabled,\n name,\n themes,\n current,\n computedThemes,\n prefix: parsedOptions.prefix,\n themeClasses,\n styles,\n global: {\n name: globalName,\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 = toRef(() => props.theme ?? theme.name.value)\n const current = toRef(() => theme.themes.value[name.value])\n\n const themeClasses = toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n name,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n"],"mappings":"AAAA;AACA,SACEA,QAAQ,EACRC,eAAe,EACfC,MAAM,EACNC,cAAc,EACdC,OAAO,EACPC,GAAG,EACHC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,WAAW,QACN,KAAK;AAAA,SAEVC,WAAW,EACXC,WAAW,EACXC,MAAM,EACNC,SAAS,EACTC,kBAAkB,EAClBC,aAAa,EACbC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRC,oBAAoB,4BAGtB;AA4FA,OAAO,MAAMC,WAAwC,GAAGC,MAAM,CAACC,GAAG,CAAC,eAAe,CAAC;AAEnF,OAAO,MAAMC,cAAc,GAAGN,YAAY,CAAC;EACzCO,KAAK,EAAEC;AACT,CAAC,EAAE,OAAO,CAAC;AAEX,SAASC,WAAWA,CAAA,EAAI;EACtB,OAAO;IACLC,YAAY,EAAE,QAAQ;IACtBC,MAAM,EAAE,IAAI;IACZC,UAAU,EAAE;MAAEC,MAAM,EAAE,EAAE;MAAEhB,OAAO,EAAE,CAAC;MAAEN,MAAM,EAAE;IAAE,CAAC;IACjDuB,MAAM,EAAE;MACNC,KAAK,EAAE;QACLC,IAAI,EAAE,KAAK;QACXH,MAAM,EAAE;UACNI,UAAU,EAAE,SAAS;UACrBC,OAAO,EAAE,SAAS;UAClB,gBAAgB,EAAE,SAAS;UAC3B,eAAe,EAAE,SAAS;UAC1B,iBAAiB,EAAE,SAAS;UAC5B,oBAAoB,EAAE,SAAS;UAC/BC,OAAO,EAAE,SAAS;UAClB,kBAAkB,EAAE,SAAS;UAC7BC,SAAS,EAAE,SAAS;UACpB,oBAAoB,EAAE,SAAS;UAC/BC,KAAK,EAAE,SAAS;UAChBC,IAAI,EAAE,SAAS;UACfC,OAAO,EAAE,SAAS;UAClBC,OAAO,EAAE;QACX,CAAC;QACDC,SAAS,EAAE;UACT,cAAc,EAAE,SAAS;UACzB,gBAAgB,EAAE,IAAI;UACtB,uBAAuB,EAAE,IAAI;UAC7B,yBAAyB,EAAE,IAAI;UAC/B,kBAAkB,EAAE,IAAI;UACxB,cAAc,EAAE,IAAI;UACpB,eAAe,EAAE,IAAI;UACrB,eAAe,EAAE,IAAI;UACrB,kBAAkB,EAAE,IAAI;UACxB,mBAAmB,EAAE,IAAI;UACzB,iBAAiB,EAAE,IAAI;UACvB,iBAAiB,EAAE,IAAI;UACvB,WAAW,EAAE,SAAS;UACtB,cAAc,EAAE,SAAS;UACzB,YAAY,EAAE,SAAS;UACvB,eAAe,EAAE;QACnB;MACF,CAAC;MACDT,IAAI,EAAE;QACJA,IAAI,EAAE,IAAI;QACVH,MAAM,EAAE;UACNI,UAAU,EAAE,SAAS;UACrBC,OAAO,EAAE,SAAS;UAClB,gBAAgB,EAAE,SAAS;UAC3B,eAAe,EAAE,SAAS;UAC1B,iBAAiB,EAAE,SAAS;UAC5B,oBAAoB,EAAE,SAAS;UAC/BC,OAAO,EAAE,SAAS;UAClB,kBAAkB,EAAE,SAAS;UAC7BC,SAAS,EAAE,SAAS;UACpB,oBAAoB,EAAE,SAAS;UAC/BC,KAAK,EAAE,SAAS;UAChBC,IAAI,EAAE,SAAS;UACfC,OAAO,EAAE,SAAS;UAClBC,OAAO,EAAE;QACX,CAAC;QACDC,SAAS,EAAE;UACT,cAAc,EAAE,SAAS;UACzB,gBAAgB,EAAE,IAAI;UACtB,uBAAuB,EAAE,CAAC;UAC1B,yBAAyB,EAAE,IAAI;UAC/B,kBAAkB,EAAE,IAAI;UACxB,cAAc,EAAE,IAAI;UACpB,eAAe,EAAE,IAAI;UACrB,eAAe,EAAE,IAAI;UACrB,kBAAkB,EAAE,IAAI;UACxB,mBAAmB,EAAE,IAAI;UACzB,iBAAiB,EAAE,IAAI;UACvB,iBAAiB,EAAE,IAAI;UACvB,WAAW,EAAE,SAAS;UACtB,cAAc,EAAE,SAAS;UACzB,YAAY,EAAE,SAAS;UACvB,eAAe,EAAE;QACnB;MACF;IACF,CAAC;IACDC,YAAY,EAAE,0BAA0B;IACxCC,MAAM,EAAE,KAAK;IACbC,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACb,CAAC;AACH;AAEA,SAASC,iBAAiBA,CAAA,EAA+D;EAAA,IAA7DC,OAAqB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGvB,WAAW,CAAC,CAAC;EAC/D,MAAM0B,QAAQ,GAAG1B,WAAW,CAAC,CAAC;EAE9B,IAAI,CAACsB,OAAO,EAAE,OAAO;IAAE,GAAGI,QAAQ;IAAEC,UAAU,EAAE;EAAK,CAAC;EAEtD,MAAMtB,MAA+C,GAAG,CAAC,CAAC;EAC1D,KAAK,MAAM,CAACuB,GAAG,EAAE9B,KAAK,CAAC,IAAI+B,MAAM,CAACC,OAAO,CAACR,OAAO,CAACjB,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;IAC/D,MAAMJ,YAAY,GAAGH,KAAK,CAACS,IAAI,IAAIqB,GAAG,KAAK,MAAM,GAC7CF,QAAQ,CAACrB,MAAM,EAAEE,IAAI,GACrBmB,QAAQ,CAACrB,MAAM,EAAEC,KAAK;IAC1BD,MAAM,CAACuB,GAAG,CAAC,GAAGvC,SAAS,CAACY,YAAY,EAAEH,KAAK,CAA4B;EACzE;EAEA,OAAOT,SAAS,CACdqC,QAAQ,EACR;IAAE,GAAGJ,OAAO;IAAEjB;EAAO,CACvB,CAAC;AACH;AAEA,SAAS0B,cAAcA,CAAEC,KAAe,EAAEC,QAAgB,EAAEC,OAAiB,EAAEC,KAAc,EAAE;EAC7FH,KAAK,CAACI,IAAI,CACR,GAAGC,iBAAiB,CAACJ,QAAQ,EAAEE,KAAK,CAAC,MAAM,EAC3C,GAAGD,OAAO,CAACI,GAAG,CAACC,IAAI,IAAI,KAAKA,IAAI,KAAK,CAAC,EACtC,KACF,CAAC;AACH;AAEA,SAASC,eAAeA,CAAE1C,KAA8B,EAAEI,MAAc,EAAE;EACxE,MAAMuC,YAAY,GAAG3C,KAAK,CAACS,IAAI,GAAG,CAAC,GAAG,CAAC;EACvC,MAAMmC,WAAW,GAAG5C,KAAK,CAACS,IAAI,GAAG,CAAC,GAAG,CAAC;EAEtC,MAAMS,SAAmB,GAAG,EAAE;EAC9B,KAAK,MAAM,CAACY,GAAG,EAAEe,KAAK,CAAC,IAAId,MAAM,CAACC,OAAO,CAAChC,KAAK,CAACM,MAAM,CAAC,EAAE;IACvD,MAAMwC,GAAG,GAAGtD,UAAU,CAACqD,KAAK,CAAC;IAC7B3B,SAAS,CAACoB,IAAI,CAAC,KAAKlC,MAAM,SAAS0B,GAAG,KAAKgB,GAAG,CAACC,CAAC,IAAID,GAAG,CAACE,CAAC,IAAIF,GAAG,CAACG,CAAC,EAAE,CAAC;IACrE,IAAI,CAACnB,GAAG,CAACoB,UAAU,CAAC,KAAK,CAAC,EAAE;MAC1BhC,SAAS,CAACoB,IAAI,CAAC,KAAKlC,MAAM,SAAS0B,GAAG,wBAAwB1C,OAAO,CAACyD,KAAK,CAAC,GAAG,IAAI,GAAGF,YAAY,GAAGC,WAAW,EAAE,CAAC;IACrH;EACF;EAEA,KAAK,MAAM,CAACd,GAAG,EAAEe,KAAK,CAAC,IAAId,MAAM,CAACC,OAAO,CAAChC,KAAK,CAACkB,SAAS,CAAC,EAAE;IAC1D,MAAMiC,KAAK,GAAG,OAAON,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACK,UAAU,CAAC,GAAG,CAAC,GAAG1D,UAAU,CAACqD,KAAK,CAAC,GAAGlB,SAAS;IAChG,MAAMmB,GAAG,GAAGK,KAAK,GAAG,GAAGA,KAAK,CAACJ,CAAC,KAAKI,KAAK,CAACH,CAAC,KAAKG,KAAK,CAACF,CAAC,EAAE,GAAGtB,SAAS;IACpET,SAAS,CAACoB,IAAI,CAAC,KAAKlC,MAAM,GAAG0B,GAAG,KAAKgB,GAAG,IAAID,KAAK,EAAE,CAAC;EACtD;EAEA,OAAO3B,SAAS;AAClB;AAEA,SAASkC,YAAYA,CAAEC,IAAY,EAAEF,KAAa,EAAE9C,UAAqC,EAAE;EACzF,MAAMiD,MAA8B,GAAG,CAAC,CAAC;EACzC,IAAIjD,UAAU,EAAE;IACd,KAAK,MAAMkD,SAAS,IAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAY;MACxD,MAAMC,EAAE,GAAGD,SAAS,KAAK,SAAS,GAAGjE,OAAO,GAAGN,MAAM;MACrD,KAAK,MAAMyE,MAAM,IAAI1E,WAAW,CAACsB,UAAU,CAACkD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;QAC1DD,MAAM,CAAC,GAAGD,IAAI,IAAIE,SAAS,IAAIE,MAAM,EAAE,CAAC,GAAG/D,QAAQ,CAAC8D,EAAE,CAAChE,UAAU,CAAC2D,KAAK,CAAC,EAAEM,MAAM,CAAC,CAAC;MACpF;IACF;EACF;EACA,OAAOH,MAAM;AACf;AAEA,SAASI,aAAaA,CAAEpD,MAAyC,EAAED,UAAqC,EAAE;EACxG,IAAI,CAACA,UAAU,EAAE,OAAO,CAAC,CAAC;EAE1B,IAAIsD,eAAe,GAAG,CAAC,CAAC;EACxB,KAAK,MAAMN,IAAI,IAAIhD,UAAU,CAACC,MAAM,EAAE;IACpC,MAAM6C,KAAK,GAAG7C,MAAM,CAAC+C,IAAI,CAAC;IAE1B,IAAI,CAACF,KAAK,EAAE;IAEZQ,eAAe,GAAG;MAChB,GAAGA,eAAe;MAClB,GAAGP,YAAY,CAACC,IAAI,EAAEF,KAAK,EAAE9C,UAAU;IACzC,CAAC;EACH;EACA,OAAOsD,eAAe;AACxB;AAEA,SAASC,WAAWA,CAAEtD,MAAyC,EAAE;EAC/D,MAAMuD,QAAQ,GAAG,CAAC,CAAsC;EAExD,KAAK,MAAMV,KAAK,IAAIpB,MAAM,CAAC+B,IAAI,CAACxD,MAAM,CAAC,EAAE;IACvC,IAAI6C,KAAK,CAACD,UAAU,CAAC,KAAK,CAAC,IAAI5C,MAAM,CAAC,MAAM6C,KAAK,EAAE,CAAC,EAAE;IAEtD,MAAMY,OAAO,GAAG,MAAMZ,KAAK,EAAoB;IAC/C,MAAMa,QAAQ,GAAGxE,UAAU,CAACc,MAAM,CAAC6C,KAAK,CAAC,CAAC;IAE1CU,QAAQ,CAACE,OAAO,CAAC,GAAG5E,aAAa,CAAC6E,QAAQ,CAAC;EAC7C;EAEA,OAAOH,QAAQ;AACjB;AAEA,SAAStB,iBAAiBA,CAAEJ,QAAgB,EAAEE,KAAc,EAAE;EAC5D,IAAI,CAACA,KAAK,EAAE,OAAOF,QAAQ;EAE3B,MAAM8B,aAAa,GAAG,UAAU5B,KAAK,GAAG;EAExC,OAAOF,QAAQ,KAAK,OAAO,GAAG8B,aAAa,GAAG,GAAGA,aAAa,IAAI9B,QAAQ,EAAE;AAC9E;AAEA,SAAS+B,YAAYA,CAAEC,EAAU,EAAEC,QAA4B,EAAEC,MAAc,EAAE;EAC/E,MAAMC,OAAO,GAAGC,uBAAuB,CAACJ,EAAE,EAAEC,QAAQ,CAAC;EAErD,IAAI,CAACE,OAAO,EAAE;EAEdA,OAAO,CAACE,SAAS,GAAGH,MAAM;AAC5B;AAEA,SAASE,uBAAuBA,CAAEJ,EAAU,EAAEC,QAAiB,EAAE;EAC/D,IAAI,CAAC/E,UAAU,EAAE,OAAO,IAAI;EAE5B,IAAIoF,KAAK,GAAGC,QAAQ,CAACC,cAAc,CAACR,EAAE,CAA4B;EAElE,IAAI,CAACM,KAAK,EAAE;IACVA,KAAK,GAAGC,QAAQ,CAACE,aAAa,CAAC,OAAO,CAAC;IACvCH,KAAK,CAACN,EAAE,GAAGA,EAAE;IACbM,KAAK,CAACI,IAAI,GAAG,UAAU;IAEvB,IAAIT,QAAQ,EAAEK,KAAK,CAACK,YAAY,CAAC,OAAO,EAAEV,QAAQ,CAAC;IAEnDM,QAAQ,CAACK,IAAI,CAACC,WAAW,CAACP,KAAK,CAAC;EAClC;EAEA,OAAOA,KAAK;AACd;;AAEA;AACA,OAAO,SAASQ,WAAWA,CAAEzD,OAAsB,EAAmD;EACpG,MAAM0D,aAAa,GAAG3D,iBAAiB,CAACC,OAAO,CAAC;EAChD,MAAM2D,KAAK,GAAGzG,UAAU,CAACwG,aAAa,CAAC/E,YAAY,CAAC;EACpD,MAAMI,MAAM,GAAG9B,GAAG,CAACyG,aAAa,CAAC3E,MAAM,CAAC;EACxC,MAAM6E,UAAU,GAAG1G,UAAU,CAAC,OAAO,CAAC;EAEtC,MAAM2E,IAAI,GAAGjF,QAAQ,CAAC;IACpBiH,GAAGA,CAAA,EAAI;MACL,OAAOF,KAAK,CAACtC,KAAK,KAAK,QAAQ,GAAGuC,UAAU,CAACvC,KAAK,GAAGsC,KAAK,CAACtC,KAAK;IAClE,CAAC;IACDyC,GAAGA,CAAEC,GAAW,EAAE;MAChBJ,KAAK,CAACtC,KAAK,GAAG0C,GAAG;IACnB;EACF,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAGpH,QAAQ,CAAC,MAAM;IACpC,MAAMqH,GAA4C,GAAG,CAAC,CAAC;IACvD,KAAK,MAAM,CAACpC,IAAI,EAAEqC,QAAQ,CAAC,IAAI3D,MAAM,CAACC,OAAO,CAACzB,MAAM,CAACsC,KAAK,CAAC,EAAE;MAC3D,MAAMvC,MAAM,GAAG;QACb,GAAGoF,QAAQ,CAACpF,MAAM;QAClB,GAAGoD,aAAa,CAACgC,QAAQ,CAACpF,MAAM,EAAE4E,aAAa,CAAC7E,UAAU;MAC5D,CAAC;MAEDoF,GAAG,CAACpC,IAAI,CAAC,GAAG;QACV,GAAGqC,QAAQ;QACXpF,MAAM,EAAE;UACN,GAAGA,MAAM;UACT,GAAGsD,WAAW,CAACtD,MAAM;QACvB;MACF,CAAC;IACH;IACA,OAAOmF,GAAG;EACZ,CAAC,CAAC;EAEF,MAAME,OAAO,GAAGhH,KAAK,CAAC,MAAM6G,cAAc,CAAC3C,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC;EAE7D,MAAMwB,MAAM,GAAGjG,QAAQ,CAAC,MAAM;IAC5B,MAAM8D,KAAe,GAAG,EAAE;IAC1B,MAAM0D,SAAS,GAAGV,aAAa,CAAC7D,WAAW,GAAG,EAAE,GAAG,aAAa;IAChE,MAAMD,MAAM,GAAG8D,aAAa,CAAC9D,MAAM,GAAG8D,aAAa,CAAC9E,MAAM,GAAG,EAAE;IAE/D,IAAIuF,OAAO,CAAC9C,KAAK,EAAEpC,IAAI,EAAE;MACvBwB,cAAc,CAACC,KAAK,EAAE,OAAO,EAAE,CAAC,oBAAoB,CAAC,EAAEgD,aAAa,CAAC7C,KAAK,CAAC;IAC7E;IAEAJ,cAAc,CAACC,KAAK,EAAE,OAAO,EAAEQ,eAAe,CAACiD,OAAO,CAAC9C,KAAK,EAAEqC,aAAa,CAAC9E,MAAM,CAAC,EAAE8E,aAAa,CAAC7C,KAAK,CAAC;IAEzG,KAAK,MAAM,CAACwD,SAAS,EAAE7F,KAAK,CAAC,IAAI+B,MAAM,CAACC,OAAO,CAACwD,cAAc,CAAC3C,KAAK,CAAC,EAAE;MACrEZ,cAAc,CAACC,KAAK,EAAE,IAAIgD,aAAa,CAAC9E,MAAM,UAAUyF,SAAS,EAAE,EAAE,CACnE,iBAAiB7F,KAAK,CAACS,IAAI,GAAG,MAAM,GAAG,QAAQ,EAAE,EACjD,GAAGiC,eAAe,CAAC1C,KAAK,EAAEkF,aAAa,CAAC9E,MAAM,CAAC,CAChD,EAAE8E,aAAa,CAAC7C,KAAK,CAAC;IACzB;IAEA,IAAI6C,aAAa,CAAC5D,SAAS,EAAE;MAC3B,MAAMwE,OAAiB,GAAG,EAAE;MAC5B,MAAMC,OAAiB,GAAG,EAAE;MAE5B,MAAMzF,MAAM,GAAG,IAAI0F,GAAG,CAACjE,MAAM,CAACkE,MAAM,CAACT,cAAc,CAAC3C,KAAK,CAAC,CAACqD,OAAO,CAAClG,KAAK,IAAI+B,MAAM,CAAC+B,IAAI,CAAC9D,KAAK,CAACM,MAAM,CAAC,CAAC,CAAC;MACvG,KAAK,MAAMwB,GAAG,IAAIxB,MAAM,EAAE;QACxB,IAAIwB,GAAG,CAACoB,UAAU,CAAC,KAAK,CAAC,EAAE;UACzBjB,cAAc,CAAC8D,OAAO,EAAE,IAAIjE,GAAG,EAAE,EAAE,CAAC,oBAAoBoD,aAAa,CAAC9E,MAAM,SAAS0B,GAAG,KAAK8D,SAAS,EAAE,CAAC,EAAEV,aAAa,CAAC7C,KAAK,CAAC;QACjI,CAAC,MAAM;UACLJ,cAAc,CAAC6D,OAAO,EAAE,IAAI1E,MAAM,MAAMU,GAAG,EAAE,EAAE,CAC7C,KAAKoD,aAAa,CAAC9E,MAAM,mCAAmC8E,aAAa,CAAC9E,MAAM,SAAS0B,GAAG,sBAAsB,EAClH,+BAA+BoD,aAAa,CAAC9E,MAAM,SAAS0B,GAAG,KAAK8D,SAAS,EAAE,EAC/E,oBAAoBV,aAAa,CAAC9E,MAAM,YAAY0B,GAAG,KAAK8D,SAAS,EAAE,CACxE,EAAEV,aAAa,CAAC7C,KAAK,CAAC;UACvBJ,cAAc,CAAC8D,OAAO,EAAE,IAAI3E,MAAM,QAAQU,GAAG,EAAE,EAAE,CAAC,oBAAoBoD,aAAa,CAAC9E,MAAM,SAAS0B,GAAG,KAAK8D,SAAS,EAAE,CAAC,EAAEV,aAAa,CAAC7C,KAAK,CAAC;UAC7IJ,cAAc,CAAC8D,OAAO,EAAE,IAAI3E,MAAM,UAAUU,GAAG,EAAE,EAAE,CAAC,KAAKoD,aAAa,CAAC9E,MAAM,uBAAuB8E,aAAa,CAAC9E,MAAM,SAAS0B,GAAG,GAAG,CAAC,EAAEoD,aAAa,CAAC7C,KAAK,CAAC;QAChK;MACF;MAEAH,KAAK,CAACI,IAAI,CAAC,GAAGwD,OAAO,EAAE,GAAGC,OAAO,CAAC;IACpC;IAEA,OAAO,0BAA0B,GAAG7D,KAAK,CAACM,GAAG,CAAC2D,CAAC,IAAI,KAAKA,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK;EAC/E,CAAC,CAAC;EAEF,MAAMC,YAAY,GAAG1H,KAAK,CAAC,MAAMuG,aAAa,CAACrD,UAAU,GAAGF,SAAS,GAAG,GAAGuD,aAAa,CAAC9E,MAAM,UAAUiD,IAAI,CAACR,KAAK,EAAE,CAAC;EACtH,MAAMyD,UAAU,GAAG3H,KAAK,CAAC,MAAMoD,MAAM,CAAC+B,IAAI,CAAC0B,cAAc,CAAC3C,KAAK,CAAC,CAAC;EAEjE,IAAIlD,oBAAoB,EAAE;IACxB,MAAM4G,KAAK,GAAGC,MAAM,CAACC,UAAU,CAAC,8BAA8B,CAAC;IAE/D,SAASC,gBAAgBA,CAAA,EAAI;MAC3BtB,UAAU,CAACvC,KAAK,GAAG0D,KAAK,CAACI,OAAO,GAAG,MAAM,GAAG,OAAO;IACrD;IAEAD,gBAAgB,CAAC,CAAC;IAElBH,KAAK,CAACK,gBAAgB,CAAC,QAAQ,EAAEF,gBAAgB,EAAE;MAAEG,OAAO,EAAE;IAAK,CAAC,CAAC;IAErE,IAAIxI,eAAe,CAAC,CAAC,EAAE;MACrBE,cAAc,CAAC,MAAM;QACnBgI,KAAK,CAACO,mBAAmB,CAAC,QAAQ,EAAEJ,gBAAgB,CAAC;MACvD,CAAC,CAAC;IACJ;EACF;EAEA,SAASK,OAAOA,CAAEC,GAAQ,EAAE;IAC1B,IAAI9B,aAAa,CAACrD,UAAU,EAAE;IAE9B,MAAMkD,IAAI,GAAGiC,GAAG,CAACC,QAAQ,CAACC,QAAQ,CAACC,OAAsD;IACzF,IAAIpC,IAAI,EAAE;MACR,SAASqC,OAAOA,CAAA,EAAI;QAClB,OAAO;UACL3C,KAAK,EAAE,CAAC;YACN4C,WAAW,EAAEhD,MAAM,CAACxB,KAAK;YACzBsB,EAAE,EAAEe,aAAa,CAAC/D,YAAY;YAC9BmG,KAAK,EAAEpC,aAAa,CAACd,QAAQ,IAAI;UACnC,CAAC;QACH,CAAC;MACH;MAEA,IAAIW,IAAI,CAACzC,IAAI,EAAE;QACb,MAAMiF,KAAK,GAAGxC,IAAI,CAACzC,IAAI,CAAC8E,OAAO,CAAC;QAChC,IAAI/H,UAAU,EAAE;UACdT,KAAK,CAACyF,MAAM,EAAE,MAAM;YAAEkD,KAAK,CAACC,KAAK,CAACJ,OAAO,CAAC;UAAC,CAAC,CAAC;QAC/C;MACF,CAAC,MAAM;QACL,IAAI/H,UAAU,EAAE;UACd0F,IAAI,CAAC0C,WAAW,CAAC9I,KAAK,CAACyI,OAAO,CAAC,CAAC;UAChCvI,WAAW,CAAC,MAAMkG,IAAI,CAAC2C,SAAS,CAAC,CAAC,CAAC;QACrC,CAAC,MAAM;UACL3C,IAAI,CAAC0C,WAAW,CAACL,OAAO,CAAC,CAAC,CAAC;QAC7B;MACF;IACF,CAAC,MAAM;MACL,IAAI/H,UAAU,EAAE;QACdT,KAAK,CAACyF,MAAM,EAAEsD,YAAY,EAAE;UAAEC,SAAS,EAAE;QAAK,CAAC,CAAC;MAClD,CAAC,MAAM;QACLD,YAAY,CAAC,CAAC;MAChB;MAEA,SAASA,YAAYA,CAAA,EAAI;QACvBzD,YAAY,CAACgB,aAAa,CAAC/D,YAAY,EAAE+D,aAAa,CAACd,QAAQ,EAAEC,MAAM,CAACxB,KAAK,CAAC;MAChF;IACF;EACF;EAEA,SAASgF,MAAMA,CAAEhC,SAAiB,EAAE;IAClC,IAAI,CAACS,UAAU,CAACzD,KAAK,CAACiF,QAAQ,CAACjC,SAAS,CAAC,EAAE;MACzC/G,WAAW,CAAC,UAAU+G,SAAS,2CAA2C,CAAC;MAC3E;IACF;IAEAxC,IAAI,CAACR,KAAK,GAAGgD,SAAS;EACxB;EAEA,SAASkC,KAAKA,CAAA,EAA2C;IAAA,IAAzCC,UAAoB,GAAAvG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG6E,UAAU,CAACzD,KAAK;IACrD,MAAMoF,YAAY,GAAGD,UAAU,CAACE,OAAO,CAAC7E,IAAI,CAACR,KAAK,CAAC;IACnD,MAAMsF,SAAS,GAAGF,YAAY,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAACA,YAAY,GAAG,CAAC,IAAID,UAAU,CAACtG,MAAM;IAElFmG,MAAM,CAACG,UAAU,CAACG,SAAS,CAAC,CAAC;EAC/B;EAEA,SAASC,MAAMA,CAAA,EAAoD;IAAA,IAAlDJ,UAA4B,GAAAvG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,OAAO,EAAE,MAAM,CAAC;IAC/DsG,KAAK,CAACC,UAAU,CAAC;EACnB;EAEA,MAAMK,UAAU,GAAG,IAAIC,KAAK,CAACjF,IAAI,EAAE;IACjCgC,GAAGA,CAAEkD,MAAM,EAAEC,IAAI,EAAE;MACjB,OAAOC,OAAO,CAACpD,GAAG,CAACkD,MAAM,EAAEC,IAAI,CAAC;IAClC,CAAC;IACDlD,GAAGA,CAAEiD,MAAM,EAAEC,IAAI,EAAEjD,GAAG,EAAE;MACtB,IAAIiD,IAAI,KAAK,OAAO,EAAE;QACpBvJ,SAAS,CAAC,6BAA6BsG,GAAG,EAAE,EAAE,iBAAiBA,GAAG,IAAI,CAAC;MACzE;MACA,OAAOkD,OAAO,CAACnD,GAAG,CAACiD,MAAM,EAAEC,IAAI,EAAEjD,GAAG,CAAC;IACvC;EACF,CAAC,CAAC;EAEF,OAAO;IACLwB,OAAO;IACPc,MAAM;IACNE,KAAK;IACLK,MAAM;IACNvG,UAAU,EAAEqD,aAAa,CAACrD,UAAU;IACpCwB,IAAI;IACJ9C,MAAM;IACNoF,OAAO;IACPH,cAAc;IACdpF,MAAM,EAAE8E,aAAa,CAAC9E,MAAM;IAC5BiG,YAAY;IACZhC,MAAM;IACNqE,MAAM,EAAE;MACNrF,IAAI,EAAEgF,UAAU;MAChB1C;IACF;EACF,CAAC;AACH;AAEA,OAAO,SAASgD,YAAYA,CAAEC,KAAyB,EAAE;EACvD1J,kBAAkB,CAAC,cAAc,CAAC;EAElC,MAAMc,KAAK,GAAG1B,MAAM,CAACsB,WAAW,EAAE,IAAI,CAAC;EAEvC,IAAI,CAACI,KAAK,EAAE,MAAM,IAAI6I,KAAK,CAAC,wCAAwC,CAAC;EAErE,MAAMxF,IAAI,GAAG1E,KAAK,CAAC,MAAMiK,KAAK,CAAC5I,KAAK,IAAIA,KAAK,CAACqD,IAAI,CAACR,KAAK,CAAC;EACzD,MAAM8C,OAAO,GAAGhH,KAAK,CAAC,MAAMqB,KAAK,CAACO,MAAM,CAACsC,KAAK,CAACQ,IAAI,CAACR,KAAK,CAAC,CAAC;EAE3D,MAAMwD,YAAY,GAAG1H,KAAK,CAAC,MAAMqB,KAAK,CAAC6B,UAAU,GAAGF,SAAS,GAAG,GAAG3B,KAAK,CAACI,MAAM,UAAUiD,IAAI,CAACR,KAAK,EAAE,CAAC;EAEtG,MAAMiG,QAAuB,GAAG;IAC9B,GAAG9I,KAAK;IACRqD,IAAI;IACJsC,OAAO;IACPU;EACF,CAAC;EAED7H,OAAO,CAACoB,WAAW,EAAEkJ,QAAQ,CAAC;EAE9B,OAAOA,QAAQ;AACjB;AAEA,OAAO,SAASC,QAAQA,CAAA,EAAI;EAC1B7J,kBAAkB,CAAC,UAAU,CAAC;EAE9B,MAAMc,KAAK,GAAG1B,MAAM,CAACsB,WAAW,EAAE,IAAI,CAAC;EAEvC,IAAI,CAACI,KAAK,EAAE,MAAM,IAAI6I,KAAK,CAAC,wCAAwC,CAAC;EAErE,OAAO7I,KAAK;AACd","ignoreList":[]}
|
1
|
+
{"version":3,"file":"theme.js","names":["computed","getCurrentScope","inject","onScopeDispose","provide","ref","shallowRef","toRef","watch","watchEffect","consoleWarn","createRange","darken","deprecate","getCurrentInstance","getForeground","getLuma","IN_BROWSER","lighten","mergeDeep","parseColor","propsFactory","RGBtoHex","SUPPORTS_MATCH_MEDIA","ThemeSymbol","Symbol","for","makeThemeProps","theme","String","genDefaults","defaultTheme","prefix","variations","colors","themes","light","dark","background","surface","primary","secondary","error","info","success","warning","variables","stylesheetId","scoped","unimportant","utilities","parseThemeOptions","options","arguments","length","undefined","defaults","isDisabled","key","Object","entries","createCssClass","lines","selector","content","scope","push","getScopedSelector","map","line","genCssVariables","lightOverlay","darkOverlay","value","rgb","r","g","b","startsWith","color","genVariation","name","object","variation","fn","amount","genVariations","variationColors","genOnColors","onColors","keys","onColor","colorVal","scopeSelector","upsertStyles","id","cspNonce","styles","styleEl","getOrCreateStyleElement","innerHTML","style","document","getElementById","createElement","type","setAttribute","head","appendChild","createTheme","parsedOptions","_name","systemName","get","set","val","computedThemes","acc","original","current","important","themeName","bgLines","fgLines","Set","values","flatMap","v","join","themeClasses","themeNames","media","window","matchMedia","updateSystemName","matches","addEventListener","passive","removeEventListener","install","app","_context","provides","usehead","getHead","textContent","nonce","entry","patch","addHeadObjs","updateDOM","updateStyles","immediate","change","includes","cycle","themeArray","currentIndex","indexOf","nextIndex","toggle","globalName","Proxy","target","prop","Reflect","global","provideTheme","props","Error","newTheme","useTheme"],"sources":["../../src/composables/theme.ts"],"sourcesContent":["// Utilities\nimport {\n computed,\n getCurrentScope,\n inject,\n onScopeDispose,\n provide,\n ref,\n shallowRef,\n toRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n consoleWarn,\n createRange,\n darken,\n deprecate,\n getCurrentInstance,\n getForeground,\n getLuma,\n IN_BROWSER,\n lighten,\n mergeDeep,\n parseColor,\n propsFactory,\n RGBtoHex,\n SUPPORTS_MATCH_MEDIA,\n} from '@/util'\n\n// Types\nimport type { VueHeadClient } from '@unhead/vue/client'\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?: 'light' | 'dark' | 'system' | string & {}\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n stylesheetId?: string\n scope?: string\n unimportant?: boolean\n}\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\ninterface InternalThemeOptions {\n cspNonce?: string\n isDisabled: boolean\n defaultTheme: 'light' | 'dark' | 'system' | string & {}\n prefix: string\n variations: false | VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n stylesheetId: string\n scope?: string\n scoped: boolean\n unimportant: boolean\n utilities: boolean\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 change: (themeName: string) => void\n cycle: (themeArray?: string[]) => void\n toggle: (themeArray?: [string, string]) => void\n\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 readonly prefix: string\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\nfunction genDefaults () {\n return {\n defaultTheme: 'system',\n prefix: 'v-',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-bright': '#FFFFFF',\n 'surface-light': '#EEEEEE',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#1867C0',\n 'primary-darken-1': '#1F5592',\n secondary: '#48A9A6',\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': '#EEEEEE',\n 'theme-on-kbd': '#000000',\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-bright': '#ccbfd6',\n 'surface-light': '#424242',\n 'surface-variant': '#c8c8c8',\n 'on-surface-variant': '#000000',\n primary: '#2196F3',\n 'primary-darken-1': '#277CC1',\n secondary: '#54B6B2',\n 'secondary-darken-1': '#48A9A6',\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': '#424242',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#343434',\n 'theme-on-code': '#CCCCCC',\n },\n },\n },\n stylesheetId: 'vuetify-theme-stylesheet',\n scoped: false,\n unimportant: true,\n utilities: true,\n }\n}\n\nfunction parseThemeOptions (options: ThemeOptions = genDefaults()): InternalThemeOptions {\n const defaults = genDefaults()\n\n if (!options) return { ...defaults, isDisabled: true } as any\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 ? defaults.themes?.dark\n : defaults.themes?.light\n themes[key] = mergeDeep(defaultTheme, theme) as InternalThemeDefinition\n }\n\n return mergeDeep(\n defaults,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\nfunction createCssClass (lines: string[], selector: string, content: string[], scope?: string) {\n lines.push(\n `${getScopedSelector(selector, scope)} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n )\n}\n\nfunction genCssVariables (theme: InternalThemeDefinition, prefix: string) {\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(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--${prefix}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(`--${prefix}${key}: ${rgb ?? value}`)\n }\n\n return variables\n}\n\nfunction genVariation (name: string, color: string, variations: VariationsOptions | false) {\n const object: Record<string, string> = {}\n if (variations) {\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations[variation], 1)) {\n object[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount))\n }\n }\n }\n return object\n}\n\nfunction genVariations (colors: InternalThemeDefinition['colors'], variations: VariationsOptions | false) {\n if (!variations) return {}\n\n let variationColors = {}\n for (const name of variations.colors) {\n const color = colors[name]\n\n if (!color) continue\n\n variationColors = {\n ...variationColors,\n ...genVariation(name, color, variations),\n }\n }\n return variationColors\n}\n\nfunction genOnColors (colors: InternalThemeDefinition['colors']) {\n const onColors = {} as InternalThemeDefinition['colors']\n\n for (const color of Object.keys(colors)) {\n if (color.startsWith('on-') || colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = parseColor(colors[color])\n\n onColors[onColor] = getForeground(colorVal)\n }\n\n return onColors\n}\n\nfunction getScopedSelector (selector: string, scope?: string) {\n if (!scope) return selector\n\n const scopeSelector = `:where(${scope})`\n\n return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`\n}\n\nfunction upsertStyles (id: string, cspNonce: string | undefined, styles: string) {\n const styleEl = getOrCreateStyleElement(id, cspNonce)\n\n if (!styleEl) return\n\n styleEl.innerHTML = styles\n}\n\nfunction getOrCreateStyleElement (id: string, cspNonce?: string) {\n if (!IN_BROWSER) return null\n\n let style = document.getElementById(id) as HTMLStyleElement | null\n\n if (!style) {\n style = document.createElement('style')\n style.id = id\n style.type = 'text/css'\n\n if (cspNonce) style.setAttribute('nonce', cspNonce)\n\n document.head.appendChild(style)\n }\n\n return style\n}\n\n// Composables\nexport function createTheme (options?: ThemeOptions): ThemeInstance & { install: (app: App) => void } {\n const parsedOptions = parseThemeOptions(options)\n const _name = shallowRef(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const systemName = shallowRef('light')\n\n const name = computed({\n get () {\n return _name.value === 'system' ? systemName.value : _name.value\n },\n set (val: string) {\n _name.value = val\n },\n })\n\n const computedThemes = computed(() => {\n const acc: Record<string, InternalThemeDefinition> = {}\n for (const [name, original] of Object.entries(themes.value)) {\n const colors = {\n ...original.colors,\n ...genVariations(original.colors, parsedOptions.variations),\n }\n\n acc[name] = {\n ...original,\n colors: {\n ...colors,\n ...genOnColors(colors),\n },\n }\n }\n return acc\n })\n\n const current = toRef(() => computedThemes.value[name.value])\n\n const styles = computed(() => {\n const lines: string[] = []\n const important = parsedOptions.unimportant ? '' : ' !important'\n const scoped = parsedOptions.scoped ? parsedOptions.prefix : ''\n\n if (current.value?.dark) {\n createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope)\n }\n\n createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope)\n\n for (const [themeName, theme] of Object.entries(computedThemes.value)) {\n createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [\n `color-scheme: ${theme.dark ? 'dark' : 'normal'}`,\n ...genCssVariables(theme, parsedOptions.prefix),\n ], parsedOptions.scope)\n }\n\n if (parsedOptions.utilities) {\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 (key.startsWith('on-')) {\n createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope)\n } else {\n createCssClass(bgLines, `.${scoped}bg-${key}`, [\n `--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`,\n `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`,\n `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`,\n ], parsedOptions.scope)\n createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope)\n createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope)\n }\n }\n\n lines.push(\n '@layer background {\\n',\n ...bgLines.map(v => ` ${v}`),\n '}\\n',\n '@layer foreground {\\n',\n ...fgLines.map(v => ` ${v}`),\n '}\\n',\n )\n }\n\n return '@layer vuetify.theme {\\n' + lines.map(v => ` ${v}`).join('') + '\\n}'\n })\n\n const themeClasses = toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`)\n const themeNames = toRef(() => Object.keys(computedThemes.value))\n\n if (SUPPORTS_MATCH_MEDIA) {\n const media = window.matchMedia('(prefers-color-scheme: dark)')\n\n function updateSystemName () {\n systemName.value = media.matches ? 'dark' : 'light'\n }\n\n updateSystemName()\n\n media.addEventListener('change', updateSystemName, { passive: true })\n\n if (getCurrentScope()) {\n onScopeDispose(() => {\n media.removeEventListener('change', updateSystemName)\n })\n }\n }\n\n function install (app: App) {\n if (parsedOptions.isDisabled) return\n\n const head = app._context.provides.usehead as HeadClient & VueHeadClient<any> | undefined\n if (head) {\n function getHead () {\n return {\n style: [{\n textContent: styles.value,\n id: parsedOptions.stylesheetId,\n nonce: parsedOptions.cspNonce || false as never,\n }],\n }\n }\n\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(toRef(getHead))\n watchEffect(() => head.updateDOM())\n } else {\n head.addHeadObjs(getHead())\n }\n }\n } else {\n if (IN_BROWSER) {\n watch(styles, updateStyles, { immediate: true })\n } else {\n updateStyles()\n }\n\n function updateStyles () {\n upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value)\n }\n }\n }\n\n function change (themeName: string) {\n if (!themeNames.value.includes(themeName)) {\n consoleWarn(`Theme \"${themeName}\" not found on the Vuetify theme instance`)\n return\n }\n\n name.value = themeName\n }\n\n function cycle (themeArray: string[] = themeNames.value) {\n const currentIndex = themeArray.indexOf(name.value)\n const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length\n\n change(themeArray[nextIndex])\n }\n\n function toggle (themeArray: [string, string] = ['light', 'dark']) {\n cycle(themeArray)\n }\n\n const globalName = new Proxy(name, {\n get (target, prop) {\n return Reflect.get(target, prop)\n },\n set (target, prop, val) {\n if (prop === 'value') {\n deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`)\n }\n return Reflect.set(target, prop, val)\n },\n })\n\n return {\n install,\n change,\n cycle,\n toggle,\n isDisabled: parsedOptions.isDisabled,\n name,\n themes,\n current,\n computedThemes,\n prefix: parsedOptions.prefix,\n themeClasses,\n styles,\n global: {\n name: globalName,\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 = toRef(() => props.theme ?? theme.name.value)\n const current = toRef(() => theme.themes.value[name.value])\n\n const themeClasses = toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n name,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.9.0-next.2025-07-
|
19
|
+
export const version = "3.9.0-next.2025-07-25";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2578,39 +2578,46 @@ declare module 'vue' {
|
|
2578
2578
|
}
|
2579
2579
|
export interface GlobalComponents {
|
2580
2580
|
VApp: typeof import('vuetify/components')['VApp']
|
2581
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2582
2581
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2583
2582
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2584
2583
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2585
2584
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2586
2585
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2587
2586
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2587
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
2588
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2588
2589
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2589
2590
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2590
2591
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2591
2592
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2592
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
2593
2593
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2594
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2594
2595
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2595
2596
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2596
2597
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2597
2598
|
VBtn: typeof import('vuetify/components')['VBtn']
|
2598
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2599
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2600
2599
|
VCard: typeof import('vuetify/components')['VCard']
|
2601
2600
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2602
2601
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2603
2602
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2604
2603
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2605
2604
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2606
|
-
|
2607
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2605
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2608
2606
|
VChip: typeof import('vuetify/components')['VChip']
|
2609
2607
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2608
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2609
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2610
2610
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2611
2611
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2612
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2612
2613
|
VCode: typeof import('vuetify/components')['VCode']
|
2613
2614
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2615
|
+
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2616
|
+
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2617
|
+
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2618
|
+
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2619
|
+
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2620
|
+
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2614
2621
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2615
2622
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2616
2623
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2618,39 +2625,31 @@ declare module 'vue' {
|
|
2618
2625
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2619
2626
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2620
2627
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2621
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2622
|
-
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2623
|
-
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2624
|
-
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2625
|
-
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2626
|
-
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2627
|
-
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2628
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
2629
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2630
|
-
VFab: typeof import('vuetify/components')['VFab']
|
2631
2628
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2632
2629
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2633
2630
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2634
2631
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2635
2632
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2636
|
-
|
2633
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2634
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2635
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2636
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2637
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2637
2638
|
VField: typeof import('vuetify/components')['VField']
|
2638
2639
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2639
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2640
2640
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2641
2641
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2642
2642
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2643
2643
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2644
2644
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2645
2645
|
VImg: typeof import('vuetify/components')['VImg']
|
2646
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
2647
2646
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2648
2647
|
VInput: typeof import('vuetify/components')['VInput']
|
2649
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
2650
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
2651
|
-
VMain: typeof import('vuetify/components')['VMain']
|
2652
2648
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2653
2649
|
VItem: typeof import('vuetify/components')['VItem']
|
2650
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2651
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2652
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2654
2653
|
VList: typeof import('vuetify/components')['VList']
|
2655
2654
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2656
2655
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2660,76 +2659,77 @@ declare module 'vue' {
|
|
2660
2659
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2661
2660
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2662
2661
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2663
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
2664
2662
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2665
|
-
|
2666
|
-
|
2663
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2664
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2667
2665
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2668
|
-
|
2666
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2667
|
+
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2669
2668
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2670
|
-
|
2669
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2671
2670
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2672
|
-
|
2671
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2673
2672
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2674
|
-
|
2673
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2675
2674
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2676
2675
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2677
|
-
|
2678
|
-
VSlider: typeof import('vuetify/components')['VSlider']
|
2676
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2679
2677
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2678
|
+
VRating: typeof import('vuetify/components')['VRating']
|
2680
2679
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2681
2680
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2682
2681
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2682
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
2683
|
+
VStepper: typeof import('vuetify/components')['VStepper']
|
2684
|
+
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2685
|
+
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2686
|
+
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2687
|
+
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2688
|
+
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2689
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2683
2690
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2691
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2692
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2693
|
+
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2694
|
+
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2695
|
+
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2684
2696
|
VTab: typeof import('vuetify/components')['VTab']
|
2685
2697
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2686
2698
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2687
2699
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2688
|
-
VTable: typeof import('vuetify/components')['VTable']
|
2689
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2690
2700
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2691
|
-
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2692
|
-
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2693
|
-
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2694
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
2695
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2696
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2697
|
-
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2698
|
-
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2699
|
-
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
2700
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2701
2701
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2702
2702
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2703
2703
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2704
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2705
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2706
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2704
2707
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2705
2708
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2709
|
+
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2710
|
+
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2711
|
+
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
2712
|
+
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2706
2713
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2707
|
-
|
2714
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2715
|
+
VHover: typeof import('vuetify/components')['VHover']
|
2708
2716
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2709
2717
|
VCol: typeof import('vuetify/components')['VCol']
|
2710
2718
|
VRow: typeof import('vuetify/components')['VRow']
|
2711
2719
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2712
|
-
|
2720
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2713
2721
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2714
2722
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2715
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
2716
2723
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2717
2724
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2718
|
-
VParallax: typeof import('vuetify/components')['VParallax']
|
2719
2725
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2726
|
+
VParallax: typeof import('vuetify/components')['VParallax']
|
2720
2727
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2721
2728
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2722
2729
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2723
|
-
VStepper: typeof import('vuetify/components')['VStepper']
|
2724
|
-
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2725
|
-
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2726
|
-
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2727
|
-
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2728
|
-
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2729
|
-
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2730
2730
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2731
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2731
2732
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2732
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
2733
2733
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2734
2734
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2735
2735
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
@@ -2747,27 +2747,27 @@ declare module 'vue' {
|
|
2747
2747
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2748
2748
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2749
2749
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2750
|
-
|
2751
|
-
|
2750
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
2751
|
+
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2752
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2753
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2754
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2752
2755
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2753
2756
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2754
2757
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2755
2758
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2756
2759
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2757
2760
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2758
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2759
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2760
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2761
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2762
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2763
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2764
2761
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2765
2762
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2766
2763
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2767
|
-
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2768
2764
|
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
2769
|
-
|
2765
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2766
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2767
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2768
|
+
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2770
2769
|
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
2770
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2771
2771
|
}
|
2772
2772
|
export interface GlobalDirectives {
|
2773
2773
|
vClickOutside: typeof import('vuetify/directives')['ClickOutside']
|
package/lib/framework.js
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
}
|
24
24
|
|
25
25
|
@if (settings.$color-pack) {
|
26
|
-
@include tools.layer('
|
26
|
+
@include tools.layer('theme.background') {
|
27
27
|
@each $color_name, $color_value in colors.$shades {
|
28
28
|
.bg-#{$color_name} {
|
29
29
|
@include background-color($color_value);
|
@@ -55,7 +55,9 @@
|
|
55
55
|
}
|
56
56
|
}
|
57
57
|
}
|
58
|
+
}
|
58
59
|
|
60
|
+
@include tools.layer('theme.foreground') {
|
59
61
|
@each $color_name, $color_value in colors.$shades {
|
60
62
|
.text-#{$color_name} {
|
61
63
|
@include text-color($color_value);
|
@@ -8,7 +8,7 @@
|
|
8
8
|
// This replaces hacks like .v-btn.v-btn and most of !important
|
9
9
|
@layer overrides;
|
10
10
|
|
11
|
-
@layer
|
11
|
+
@layer theme.background, theme.foreground, utilities;
|
12
12
|
|
13
13
|
// Only use for rules that need to override theme or utils
|
14
14
|
@layer trumps;
|
package/lib/styles/main.css
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@layer vuetify {
|
2
2
|
@layer reset, base, components, transitions;
|
3
3
|
@layer overrides;
|
4
|
-
@layer
|
4
|
+
@layer theme.background, theme.foreground, utilities;
|
5
5
|
@layer trumps;
|
6
6
|
@layer custom;
|
7
7
|
}
|
@@ -18,7 +18,7 @@
|
|
18
18
|
}
|
19
19
|
}
|
20
20
|
}
|
21
|
-
@layer vuetify.
|
21
|
+
@layer vuetify.theme.background {
|
22
22
|
.bg-black {
|
23
23
|
background-color: #000000;
|
24
24
|
}
|
@@ -1579,6 +1579,8 @@
|
|
1579
1579
|
.bg-shades-transparent {
|
1580
1580
|
color: currentColor;
|
1581
1581
|
}
|
1582
|
+
}
|
1583
|
+
@layer vuetify.theme.foreground {
|
1582
1584
|
.text-black {
|
1583
1585
|
color: #000000;
|
1584
1586
|
}
|