@vuetify/nightly 3.9.5-dev.2025-08-23 → 3.9.5-dev.2025-08-24

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.
@@ -70,6 +70,7 @@ export declare function filterItems(items: readonly (readonly [item: InternalIte
70
70
  }): {
71
71
  index: number;
72
72
  matches: Record<string, FilterMatchArrayMultiple | undefined>;
73
+ type?: "divider" | "subheader";
73
74
  }[];
74
75
  export declare function useFilter<T extends InternalItem>(props: FilterProps, items: MaybeRef<T[]>, query: Ref<string | undefined> | (() => string | undefined), options?: {
75
76
  transform?: (item: T) => {};
@@ -47,6 +47,7 @@ export function filterItems(items, query, options) {
47
47
  const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false;
48
48
  const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length;
49
49
  if (!items?.length) return array;
50
+ let lookAheadItem = null;
50
51
  loop: for (let i = 0; i < items.length; i++) {
51
52
  const [item, transformed = item] = wrapInArray(items[i]);
52
53
  const customMatches = {};
@@ -55,6 +56,14 @@ export function filterItems(items, query, options) {
55
56
  if ((query || customFiltersLength > 0) && !options?.noFilter) {
56
57
  if (typeof item === 'object') {
57
58
  if (item.type === 'divider' || item.type === 'subheader') {
59
+ if (lookAheadItem?.type === 'divider' && item.type === 'subheader') {
60
+ array.push(lookAheadItem); // divider before subheader
61
+ }
62
+ lookAheadItem = {
63
+ index: i,
64
+ matches: {},
65
+ type: item.type
66
+ };
58
67
  continue;
59
68
  }
60
69
  const filterKeys = keys || Object.keys(transformed);
@@ -80,6 +89,10 @@ export function filterItems(items, query, options) {
80
89
  if (options?.filterMode === 'union' && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;
81
90
  if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength)) continue;
82
91
  }
92
+ if (lookAheadItem) {
93
+ array.push(lookAheadItem);
94
+ lookAheadItem = null;
95
+ }
83
96
  array.push({
84
97
  index: i,
85
98
  matches: {
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","names":["computed","shallowRef","unref","watchEffect","normalizeClass","_normalizeClass","createElementVNode","_createElementVNode","Fragment","_Fragment","getPropertyFromItem","propsFactory","wrapInArray","defaultFilter","value","query","item","length","toString","toLocaleLowerCase","result","idx","indexOf","push","normaliseMatch","match","Array","isArray","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","loop","i","transformed","customMatches","defaultMatches","key","keyFilter","title","defaultMatchesLength","customMatchesLength","index","matches","useFilter","props","filteredItems","filteredMatches","Map","transformedItems","transform","map","_query","strQuery","results","originalItems","_filteredItems","_filteredMatches","forEach","_ref","set","getMatches","get","highlightResult","name","text","start","slice"],"sources":["../../src/composables/filter.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - boolean: match without highlight\n * - number: single match (index), length already known\n * - []: single match (start, end)\n * - [][]: multiple matches (start, end), shouldn't overlap\n */\nexport type FilterMatchArraySingle = readonly [number, number]\nexport type FilterMatchArrayMultiple = readonly FilterMatchArraySingle[]\nexport type FilterMatchArray = FilterMatchArraySingle | FilterMatchArrayMultiple\nexport type FilterMatch = boolean | number | FilterMatchArray\nexport type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\nexport interface InternalItem<T = any> {\n value: any\n raw: T\n type?: string\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n if (!query.length) return 0\n\n value = value.toString().toLocaleLowerCase()\n query = query.toString().toLocaleLowerCase()\n\n const result = []\n let idx = value.indexOf(query)\n while (~idx) {\n result.push([idx, idx + query.length] as const)\n\n idx = value.indexOf(query, idx + query.length)\n }\n\n return result.length ? result : -1\n}\n\nfunction normaliseMatch (match: FilterMatch, query: string): FilterMatchArrayMultiple | undefined {\n if (match == null || typeof match === 'boolean' || match === -1) return\n if (typeof match === 'number') return [[match, match + query.length]]\n if (Array.isArray(match[0])) return match as FilterMatchArrayMultiple\n return [match] as FilterMatchArrayMultiple\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: readonly (readonly [item: InternalItem, transformed: {}])[] | readonly InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatchArrayMultiple | undefined> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]) as readonly [InternalItem, {}]\n const customMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n const defaultMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n let match: FilterMatch = -1\n\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n if (item.type === 'divider' || item.type === 'subheader') {\n continue\n }\n\n const filterKeys = keys || Object.keys(transformed)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query)\n else defaultMatches[key] = normaliseMatch(match, query)\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query)\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => {}\n customKeyFilter?: MaybeRef<FilterKeyFunctions | undefined>\n }\n) {\n const filteredItems = shallowRef<T[]>([])\n const filteredMatches = shallowRef(new Map<unknown, Record<string, FilterMatchArrayMultiple | undefined>>())\n const transformedItems = computed(() => (\n options?.transform\n ? unref(items).map(item => ([item, options.transform!(item)] as const))\n : unref(items)\n ))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter),\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n\nexport function highlightResult (name: string, text: string, matches: FilterMatchArrayMultiple | undefined) {\n if (matches == null || !matches.length) return text\n\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1]\n const result = [\n <span class={ `${name}__unmask` }>{ text.slice(start, match[0]) }</span>,\n <span class={ `${name}__mask` }>{ text.slice(match[0], match[1]) }</span>,\n ]\n if (i === matches.length - 1) {\n result.push(<span class={ `${name}__unmask` }>{ text.slice(match[1]) }</span>)\n }\n return <>{ result }</>\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"filter.js","names":["computed","shallowRef","unref","watchEffect","normalizeClass","_normalizeClass","createElementVNode","_createElementVNode","Fragment","_Fragment","getPropertyFromItem","propsFactory","wrapInArray","defaultFilter","value","query","item","length","toString","toLocaleLowerCase","result","idx","indexOf","push","normaliseMatch","match","Array","isArray","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","lookAheadItem","loop","i","transformed","customMatches","defaultMatches","index","matches","key","keyFilter","title","defaultMatchesLength","customMatchesLength","useFilter","props","filteredItems","filteredMatches","Map","transformedItems","transform","map","_query","strQuery","results","originalItems","_filteredItems","_filteredMatches","forEach","_ref","set","getMatches","get","highlightResult","name","text","start","slice"],"sources":["../../src/composables/filter.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - boolean: match without highlight\n * - number: single match (index), length already known\n * - []: single match (start, end)\n * - [][]: multiple matches (start, end), shouldn't overlap\n */\nexport type FilterMatchArraySingle = readonly [number, number]\nexport type FilterMatchArrayMultiple = readonly FilterMatchArraySingle[]\nexport type FilterMatchArray = FilterMatchArraySingle | FilterMatchArrayMultiple\nexport type FilterMatch = boolean | number | FilterMatchArray\nexport type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\nexport interface InternalItem<T = any> {\n value: any\n raw: T\n type?: string\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n if (!query.length) return 0\n\n value = value.toString().toLocaleLowerCase()\n query = query.toString().toLocaleLowerCase()\n\n const result = []\n let idx = value.indexOf(query)\n while (~idx) {\n result.push([idx, idx + query.length] as const)\n\n idx = value.indexOf(query, idx + query.length)\n }\n\n return result.length ? result : -1\n}\n\nfunction normaliseMatch (match: FilterMatch, query: string): FilterMatchArrayMultiple | undefined {\n if (match == null || typeof match === 'boolean' || match === -1) return\n if (typeof match === 'number') return [[match, match + query.length]]\n if (Array.isArray(match[0])) return match as FilterMatchArrayMultiple\n return [match] as FilterMatchArrayMultiple\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: readonly (readonly [item: InternalItem, transformed: {}])[] | readonly InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n type FilterResult = { index: number, matches: Record<string, FilterMatchArrayMultiple | undefined>, type?: 'divider' | 'subheader' }\n const array: FilterResult[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n let lookAheadItem: FilterResult | null = null\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]) as readonly [InternalItem, {}]\n const customMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n const defaultMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n let match: FilterMatch = -1\n\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n if (item.type === 'divider' || item.type === 'subheader') {\n if (lookAheadItem?.type === 'divider' && item.type === 'subheader') {\n array.push(lookAheadItem) // divider before subheader\n }\n\n lookAheadItem = { index: i, matches: { }, type: item.type }\n continue\n }\n\n const filterKeys = keys || Object.keys(transformed)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query)\n else defaultMatches[key] = normaliseMatch(match, query)\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query)\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n if (lookAheadItem) {\n array.push(lookAheadItem)\n lookAheadItem = null\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => {}\n customKeyFilter?: MaybeRef<FilterKeyFunctions | undefined>\n }\n) {\n const filteredItems = shallowRef<T[]>([])\n const filteredMatches = shallowRef(new Map<unknown, Record<string, FilterMatchArrayMultiple | undefined>>())\n const transformedItems = computed(() => (\n options?.transform\n ? unref(items).map(item => ([item, options.transform!(item)] as const))\n : unref(items)\n ))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter),\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n\nexport function highlightResult (name: string, text: string, matches: FilterMatchArrayMultiple | undefined) {\n if (matches == null || !matches.length) return text\n\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1]\n const result = [\n <span class={ `${name}__unmask` }>{ text.slice(start, match[0]) }</span>,\n <span class={ `${name}__mask` }>{ text.slice(match[0], match[1]) }</span>,\n ]\n if (i === matches.length - 1) {\n result.push(<span class={ `${name}__unmask` }>{ text.slice(match[1]) }</span>)\n }\n return <>{ result }</>\n })\n}\n"],"mappings":"AAAA;AACA;;AAEA;AACA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAEC,WAAW,EAAAC,cAAA,IAAAC,eAAA,EAAAC,kBAAA,IAAAC,mBAAA,EAAAC,QAAA,IAAAC,SAAA,QAAQ,KAAK;AAAA,SACrDC,mBAAmB,EAAEC,YAAY,EAAEC,WAAW,4BAEvD;AAIA;AACA;AACA;AACA;AACA;AACA;AAwBA;AACA,OAAO,MAAMC,aAA6B,GAAGA,CAACC,KAAK,EAAEC,KAAK,EAAEC,IAAI,KAAK;EACnE,IAAIF,KAAK,IAAI,IAAI,IAAIC,KAAK,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;EAC7C,IAAI,CAACA,KAAK,CAACE,MAAM,EAAE,OAAO,CAAC;EAE3BH,KAAK,GAAGA,KAAK,CAACI,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;EAC5CJ,KAAK,GAAGA,KAAK,CAACG,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;EAE5C,MAAMC,MAAM,GAAG,EAAE;EACjB,IAAIC,GAAG,GAAGP,KAAK,CAACQ,OAAO,CAACP,KAAK,CAAC;EAC9B,OAAO,CAACM,GAAG,EAAE;IACXD,MAAM,CAACG,IAAI,CAAC,CAACF,GAAG,EAAEA,GAAG,GAAGN,KAAK,CAACE,MAAM,CAAU,CAAC;IAE/CI,GAAG,GAAGP,KAAK,CAACQ,OAAO,CAACP,KAAK,EAAEM,GAAG,GAAGN,KAAK,CAACE,MAAM,CAAC;EAChD;EAEA,OAAOG,MAAM,CAACH,MAAM,GAAGG,MAAM,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAASI,cAAcA,CAAEC,KAAkB,EAAEV,KAAa,EAAwC;EAChG,IAAIU,KAAK,IAAI,IAAI,IAAI,OAAOA,KAAK,KAAK,SAAS,IAAIA,KAAK,KAAK,CAAC,CAAC,EAAE;EACjE,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,CAAC,CAACA,KAAK,EAAEA,KAAK,GAAGV,KAAK,CAACE,MAAM,CAAC,CAAC;EACrE,IAAIS,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAOA,KAAK;EACzC,OAAO,CAACA,KAAK,CAAC;AAChB;AAEA,OAAO,MAAMG,eAAe,GAAGjB,YAAY,CAAC;EAC1CkB,YAAY,EAAEC,QAAoC;EAClDC,eAAe,EAAEC,MAAsC;EACvDC,UAAU,EAAE,CAACP,KAAK,EAAEQ,MAAM,CAAyB;EACnDC,UAAU,EAAE;IACVC,IAAI,EAAEF,MAA8B;IACpCG,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAEC;AACZ,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,WAAWA,CACzBC,KAA4F,EAC5F1B,KAAa,EACb2B,OAMC,EACD;EAEA,MAAMC,KAAqB,GAAG,EAAE;EAChC;EACA,MAAMC,MAAM,GAAGF,OAAO,EAAEL,OAAO,IAAIxB,aAAa;EAChD,MAAMgC,IAAI,GAAGH,OAAO,EAAET,UAAU,GAAGrB,WAAW,CAAC8B,OAAO,CAACT,UAAU,CAAC,GAAG,KAAK;EAC1E,MAAMa,mBAAmB,GAAGd,MAAM,CAACa,IAAI,CAACH,OAAO,EAAEX,eAAe,IAAI,CAAC,CAAC,CAAC,CAACd,MAAM;EAE9E,IAAI,CAACwB,KAAK,EAAExB,MAAM,EAAE,OAAO0B,KAAK;EAEhC,IAAII,aAAkC,GAAG,IAAI;EAE7CC,IAAI,EACJ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,KAAK,CAACxB,MAAM,EAAEgC,CAAC,EAAE,EAAE;IACrC,MAAM,CAACjC,IAAI,EAAEkC,WAAW,GAAGlC,IAAI,CAAC,GAAGJ,WAAW,CAAC6B,KAAK,CAACQ,CAAC,CAAC,CAAgC;IACvF,MAAME,aAAmE,GAAG,CAAC,CAAC;IAC9E,MAAMC,cAAoE,GAAG,CAAC,CAAC;IAC/E,IAAI3B,KAAkB,GAAG,CAAC,CAAC;IAE3B,IAAI,CAACV,KAAK,IAAI+B,mBAAmB,GAAG,CAAC,KAAK,CAACJ,OAAO,EAAEJ,QAAQ,EAAE;MAC5D,IAAI,OAAOtB,IAAI,KAAK,QAAQ,EAAE;QAC5B,IAAIA,IAAI,CAACoB,IAAI,KAAK,SAAS,IAAIpB,IAAI,CAACoB,IAAI,KAAK,WAAW,EAAE;UACxD,IAAIW,aAAa,EAAEX,IAAI,KAAK,SAAS,IAAIpB,IAAI,CAACoB,IAAI,KAAK,WAAW,EAAE;YAClEO,KAAK,CAACpB,IAAI,CAACwB,aAAa,CAAC,EAAC;UAC5B;UAEAA,aAAa,GAAG;YAAEM,KAAK,EAAEJ,CAAC;YAAEK,OAAO,EAAE,CAAE,CAAC;YAAElB,IAAI,EAAEpB,IAAI,CAACoB;UAAK,CAAC;UAC3D;QACF;QAEA,MAAMH,UAAU,GAAGY,IAAI,IAAIb,MAAM,CAACa,IAAI,CAACK,WAAW,CAAC;QAEnD,KAAK,MAAMK,GAAG,IAAItB,UAAU,EAAE;UAC5B,MAAMnB,KAAK,GAAGJ,mBAAmB,CAACwC,WAAW,EAAEK,GAAG,CAAC;UACnD,MAAMC,SAAS,GAAGd,OAAO,EAAEX,eAAe,GAAGwB,GAAG,CAAC;UAEjD9B,KAAK,GAAG+B,SAAS,GACbA,SAAS,CAAC1C,KAAK,EAAEC,KAAK,EAAEC,IAAI,CAAC,GAC7B4B,MAAM,CAAC9B,KAAK,EAAEC,KAAK,EAAEC,IAAI,CAAC;UAE9B,IAAIS,KAAK,KAAK,CAAC,CAAC,IAAIA,KAAK,KAAK,KAAK,EAAE;YACnC,IAAI+B,SAAS,EAAEL,aAAa,CAACI,GAAG,CAAC,GAAG/B,cAAc,CAACC,KAAK,EAAEV,KAAK,CAAC,MAC3DqC,cAAc,CAACG,GAAG,CAAC,GAAG/B,cAAc,CAACC,KAAK,EAAEV,KAAK,CAAC;UACzD,CAAC,MAAM,IAAI2B,OAAO,EAAEP,UAAU,KAAK,OAAO,EAAE;YAC1C,SAASa,IAAI;UACf;QACF;MACF,CAAC,MAAM;QACLvB,KAAK,GAAGmB,MAAM,CAAC5B,IAAI,EAAED,KAAK,EAAEC,IAAI,CAAC;QACjC,IAAIS,KAAK,KAAK,CAAC,CAAC,IAAIA,KAAK,KAAK,KAAK,EAAE;UACnC2B,cAAc,CAACK,KAAK,GAAGjC,cAAc,CAACC,KAAK,EAAEV,KAAK,CAAC;QACrD;MACF;MAEA,MAAM2C,oBAAoB,GAAG1B,MAAM,CAACa,IAAI,CAACO,cAAc,CAAC,CAACnC,MAAM;MAC/D,MAAM0C,mBAAmB,GAAG3B,MAAM,CAACa,IAAI,CAACM,aAAa,CAAC,CAAClC,MAAM;MAE7D,IAAI,CAACyC,oBAAoB,IAAI,CAACC,mBAAmB,EAAE;MAEnD,IACEjB,OAAO,EAAEP,UAAU,KAAK,OAAO,IAC/BwB,mBAAmB,KAAKb,mBAAmB,IAC3C,CAACY,oBAAoB,EACrB;MAEF,IACEhB,OAAO,EAAEP,UAAU,KAAK,cAAc,KAEpCwB,mBAAmB,KAAKb,mBAAmB,IAC3C,CAACY,oBAAoB,CACtB,EACD;IACJ;IAEA,IAAIX,aAAa,EAAE;MACjBJ,KAAK,CAACpB,IAAI,CAACwB,aAAa,CAAC;MACzBA,aAAa,GAAG,IAAI;IACtB;IAEAJ,KAAK,CAACpB,IAAI,CAAC;MAAE8B,KAAK,EAAEJ,CAAC;MAAEK,OAAO,EAAE;QAAE,GAAGF,cAAc;QAAE,GAAGD;MAAc;IAAE,CAAC,CAAC;EAC5E;EAEA,OAAOR,KAAK;AACd;AAEA,OAAO,SAASiB,SAASA,CACvBC,KAAkB,EAClBpB,KAAoB,EACpB1B,KAA2D,EAC3D2B,OAGC,EACD;EACA,MAAMoB,aAAa,GAAG7D,UAAU,CAAM,EAAE,CAAC;EACzC,MAAM8D,eAAe,GAAG9D,UAAU,CAAC,IAAI+D,GAAG,CAAgE,CAAC,CAAC;EAC5G,MAAMC,gBAAgB,GAAGjE,QAAQ,CAAC,MAChC0C,OAAO,EAAEwB,SAAS,GACdhE,KAAK,CAACuC,KAAK,CAAC,CAAC0B,GAAG,CAACnD,IAAI,IAAK,CAACA,IAAI,EAAE0B,OAAO,CAACwB,SAAS,CAAElD,IAAI,CAAC,CAAW,CAAC,GACrEd,KAAK,CAACuC,KAAK,CAChB,CAAC;EAEFtC,WAAW,CAAC,MAAM;IAChB,MAAMiE,MAAM,GAAG,OAAOrD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAC,CAAC,GAAGb,KAAK,CAACa,KAAK,CAAC;IACnE,MAAMsD,QAAQ,GACZ,OAAOD,MAAM,KAAK,QAAQ,IAC1B,OAAOA,MAAM,KAAK,QAAQ,GACxB,EAAE,GAAGlC,MAAM,CAACkC,MAAM,CAAC;IAEvB,MAAME,OAAO,GAAG9B,WAAW,CACzByB,gBAAgB,CAACnD,KAAK,EACtBuD,QAAQ,EACR;MACEtC,eAAe,EAAE;QACf,GAAG8B,KAAK,CAAC9B,eAAe;QACxB,GAAG7B,KAAK,CAACwC,OAAO,EAAEX,eAAe;MACnC,CAAC;MACDM,OAAO,EAAEwB,KAAK,CAAChC,YAAY;MAC3BI,UAAU,EAAE4B,KAAK,CAAC5B,UAAU;MAC5BE,UAAU,EAAE0B,KAAK,CAAC1B,UAAU;MAC5BG,QAAQ,EAAEuB,KAAK,CAACvB;IAClB,CACF,CAAC;IAED,MAAMiC,aAAa,GAAGrE,KAAK,CAACuC,KAAK,CAAC;IAElC,MAAM+B,cAA6C,GAAG,EAAE;IACxD,MAAMC,gBAAiD,GAAG,IAAIT,GAAG,CAAC,CAAC;IACnEM,OAAO,CAACI,OAAO,CAACC,IAAA,IAAwB;MAAA,IAAvB;QAAEtB,KAAK;QAAEC;MAAQ,CAAC,GAAAqB,IAAA;MACjC,MAAM3D,IAAI,GAAGuD,aAAa,CAAClB,KAAK,CAAC;MACjCmB,cAAc,CAACjD,IAAI,CAACP,IAAI,CAAC;MACzByD,gBAAgB,CAACG,GAAG,CAAC5D,IAAI,CAACF,KAAK,EAAEwC,OAAO,CAAC;IAC3C,CAAC,CAAC;IACFQ,aAAa,CAAChD,KAAK,GAAG0D,cAAc;IACpCT,eAAe,CAACjD,KAAK,GAAG2D,gBAAgB;EAC1C,CAAC,CAAC;EAEF,SAASI,UAAUA,CAAE7D,IAAO,EAAE;IAC5B,OAAO+C,eAAe,CAACjD,KAAK,CAACgE,GAAG,CAAC9D,IAAI,CAACF,KAAK,CAAC;EAC9C;EAEA,OAAO;IAAEgD,aAAa;IAAEC,eAAe;IAAEc;EAAW,CAAC;AACvD;AAEA,OAAO,SAASE,eAAeA,CAAEC,IAAY,EAAEC,IAAY,EAAE3B,OAA6C,EAAE;EAC1G,IAAIA,OAAO,IAAI,IAAI,IAAI,CAACA,OAAO,CAACrC,MAAM,EAAE,OAAOgE,IAAI;EAEnD,OAAO3B,OAAO,CAACa,GAAG,CAAC,CAAC1C,KAAK,EAAEwB,CAAC,KAAK;IAC/B,MAAMiC,KAAK,GAAGjC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAGK,OAAO,CAACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM7B,MAAM,GAAG,CAAAb,mBAAA;MAAA,SAAAF,eAAA,CACC,GAAG2E,IAAI,UAAU;IAAA,IAAKC,IAAI,CAACE,KAAK,CAACD,KAAK,EAAEzD,KAAK,CAAC,CAAC,CAAC,CAAC,IAAAlB,mBAAA;MAAA,SAAAF,eAAA,CACjD,GAAG2E,IAAI,QAAQ;IAAA,IAAKC,IAAI,CAACE,KAAK,CAAC1D,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,CAAC,GACjE;IACD,IAAIwB,CAAC,KAAKK,OAAO,CAACrC,MAAM,GAAG,CAAC,EAAE;MAC5BG,MAAM,CAACG,IAAI,CAAAhB,mBAAA;QAAA,SAAAF,eAAA,CAAe,GAAG2E,IAAI,UAAU;MAAA,IAAKC,IAAI,CAACE,KAAK,CAAC1D,KAAK,CAAC,CAAC,CAAC,CAAC,EAAS,CAAC;IAChF;IACA,OAAAlB,mBAAA,CAAAE,SAAA,SAAWW,MAAM;EACnB,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.9.5-dev.2025-08-23";
19
+ export const version = "3.9.5-dev.2025-08-24";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2648,41 +2648,40 @@ declare module 'vue' {
2648
2648
  $children?: VNodeChild
2649
2649
  }
2650
2650
  export interface GlobalComponents {
2651
+ VAlert: typeof import('vuetify/components')['VAlert']
2652
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2651
2653
  VAppBar: typeof import('vuetify/components')['VAppBar']
2652
2654
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2653
2655
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2654
- VApp: typeof import('vuetify/components')['VApp']
2655
- VAlert: typeof import('vuetify/components')['VAlert']
2656
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2657
- VAvatar: typeof import('vuetify/components')['VAvatar']
2658
2656
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2659
- VBanner: typeof import('vuetify/components')['VBanner']
2660
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2661
- VBannerText: typeof import('vuetify/components')['VBannerText']
2662
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2657
+ VApp: typeof import('vuetify/components')['VApp']
2658
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2663
2659
  VBadge: typeof import('vuetify/components')['VBadge']
2664
2660
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2665
2661
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2666
2662
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2667
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2663
+ VBanner: typeof import('vuetify/components')['VBanner']
2664
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2665
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2666
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2667
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2668
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2669
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2670
+ VBtn: typeof import('vuetify/components')['VBtn']
2671
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2672
+ VChip: typeof import('vuetify/components')['VChip']
2673
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2674
+ VCode: typeof import('vuetify/components')['VCode']
2668
2675
  VCard: typeof import('vuetify/components')['VCard']
2669
2676
  VCardActions: typeof import('vuetify/components')['VCardActions']
2670
2677
  VCardItem: typeof import('vuetify/components')['VCardItem']
2671
2678
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2672
2679
  VCardText: typeof import('vuetify/components')['VCardText']
2673
2680
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2674
- VCarousel: typeof import('vuetify/components')['VCarousel']
2675
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2676
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2677
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2678
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2679
- VBtn: typeof import('vuetify/components')['VBtn']
2680
- VChip: typeof import('vuetify/components')['VChip']
2681
- VCode: typeof import('vuetify/components')['VCode']
2682
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2683
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2684
2681
  VCombobox: typeof import('vuetify/components')['VCombobox']
2685
2682
  VCounter: typeof import('vuetify/components')['VCounter']
2683
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2684
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2686
2685
  VDataTable: typeof import('vuetify/components')['VDataTable']
2687
2686
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2688
2687
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2690,36 +2689,36 @@ declare module 'vue' {
2690
2689
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2691
2690
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2692
2691
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2693
- VDivider: typeof import('vuetify/components')['VDivider']
2694
- VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2695
- VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2696
- VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2697
- VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2698
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2699
2692
  VDialog: typeof import('vuetify/components')['VDialog']
2700
- VFab: typeof import('vuetify/components')['VFab']
2693
+ VDivider: typeof import('vuetify/components')['VDivider']
2701
2694
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2702
2695
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2703
2696
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2704
2697
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2705
2698
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2706
2699
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2700
+ VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2701
+ VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2702
+ VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2703
+ VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2704
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2705
+ VFab: typeof import('vuetify/components')['VFab']
2707
2706
  VField: typeof import('vuetify/components')['VField']
2708
2707
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2709
- VFileInput: typeof import('vuetify/components')['VFileInput']
2710
2708
  VFooter: typeof import('vuetify/components')['VFooter']
2709
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2710
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2711
+ VImg: typeof import('vuetify/components')['VImg']
2711
2712
  VIcon: typeof import('vuetify/components')['VIcon']
2712
2713
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2713
2714
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2714
2715
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2715
2716
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2716
- VImg: typeof import('vuetify/components')['VImg']
2717
+ VInput: typeof import('vuetify/components')['VInput']
2717
2718
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2718
2719
  VItem: typeof import('vuetify/components')['VItem']
2719
- VInput: typeof import('vuetify/components')['VInput']
2720
- VKbd: typeof import('vuetify/components')['VKbd']
2721
2720
  VLabel: typeof import('vuetify/components')['VLabel']
2722
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2721
+ VKbd: typeof import('vuetify/components')['VKbd']
2723
2722
  VList: typeof import('vuetify/components')['VList']
2724
2723
  VListGroup: typeof import('vuetify/components')['VListGroup']
2725
2724
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2729,53 +2728,57 @@ declare module 'vue' {
2729
2728
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2730
2729
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2731
2730
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2732
- VMain: typeof import('vuetify/components')['VMain']
2733
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2734
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2735
- VMessages: typeof import('vuetify/components')['VMessages']
2736
2731
  VMenu: typeof import('vuetify/components')['VMenu']
2732
+ VMessages: typeof import('vuetify/components')['VMessages']
2733
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2734
+ VMain: typeof import('vuetify/components')['VMain']
2737
2735
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2738
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2739
- VOverlay: typeof import('vuetify/components')['VOverlay']
2740
2736
  VPagination: typeof import('vuetify/components')['VPagination']
2737
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2738
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2741
2739
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2742
- VSelect: typeof import('vuetify/components')['VSelect']
2740
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2743
2741
  VRating: typeof import('vuetify/components')['VRating']
2742
+ VSelect: typeof import('vuetify/components')['VSelect']
2744
2743
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2745
2744
  VSheet: typeof import('vuetify/components')['VSheet']
2746
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2747
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2748
- VSlider: typeof import('vuetify/components')['VSlider']
2749
2745
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2750
2746
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2747
+ VSlider: typeof import('vuetify/components')['VSlider']
2748
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2751
2749
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2750
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2752
2751
  VStepper: typeof import('vuetify/components')['VStepper']
2753
2752
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2754
2753
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2755
2754
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2756
2755
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2757
2756
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2758
- VSwitch: typeof import('vuetify/components')['VSwitch']
2759
2757
  VTable: typeof import('vuetify/components')['VTable']
2760
- VTextField: typeof import('vuetify/components')['VTextField']
2758
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2761
2759
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2762
- VTimeline: typeof import('vuetify/components')['VTimeline']
2763
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2764
- VTimePicker: typeof import('vuetify/components')['VTimePicker']
2765
- VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2766
- VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2760
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2761
+ VTextField: typeof import('vuetify/components')['VTextField']
2767
2762
  VTab: typeof import('vuetify/components')['VTab']
2768
2763
  VTabs: typeof import('vuetify/components')['VTabs']
2769
2764
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2770
2765
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2766
+ VTimePicker: typeof import('vuetify/components')['VTimePicker']
2767
+ VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2768
+ VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2771
2769
  VToolbar: typeof import('vuetify/components')['VToolbar']
2772
2770
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2773
2771
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2774
- VTooltip: typeof import('vuetify/components')['VTooltip']
2775
2772
  VTreeview: typeof import('vuetify/components')['VTreeview']
2776
2773
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2777
2774
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2778
- VTextarea: typeof import('vuetify/components')['VTextarea']
2775
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2776
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2777
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2778
+ VWindow: typeof import('vuetify/components')['VWindow']
2779
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2780
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2781
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2779
2782
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2780
2783
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2781
2784
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -2785,20 +2788,18 @@ declare module 'vue' {
2785
2788
  VRow: typeof import('vuetify/components')['VRow']
2786
2789
  VSpacer: typeof import('vuetify/components')['VSpacer']
2787
2790
  VHover: typeof import('vuetify/components')['VHover']
2788
- VWindow: typeof import('vuetify/components')['VWindow']
2789
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2790
- VLazy: typeof import('vuetify/components')['VLazy']
2791
2791
  VLayout: typeof import('vuetify/components')['VLayout']
2792
2792
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2793
+ VLazy: typeof import('vuetify/components')['VLazy']
2794
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2793
2795
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2794
2796
  VParallax: typeof import('vuetify/components')['VParallax']
2795
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2796
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2797
2797
  VRadio: typeof import('vuetify/components')['VRadio']
2798
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2798
2799
  VResponsive: typeof import('vuetify/components')['VResponsive']
2800
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2799
2801
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2800
2802
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2801
- VSparkline: typeof import('vuetify/components')['VSparkline']
2802
2803
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2803
2804
  VValidation: typeof import('vuetify/components')['VValidation']
2804
2805
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
@@ -2818,33 +2819,32 @@ declare module 'vue' {
2818
2819
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2819
2820
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2820
2821
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2821
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2822
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2822
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2823
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2823
2824
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2825
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2826
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2827
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2828
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2829
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2830
+ VPie: typeof import('vuetify/labs/components')['VPie']
2831
+ VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2832
+ VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2824
2833
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2825
2834
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2826
2835
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2827
2836
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2828
2837
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2829
2838
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2830
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2831
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2832
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2833
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2834
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2835
- VPie: typeof import('vuetify/labs/components')['VPie']
2836
- VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2837
- VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2838
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2839
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2840
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2841
2839
  VVideo: typeof import('vuetify/labs/components')['VVideo']
2842
2840
  VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2843
2841
  VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2844
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2845
2842
  VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2846
- VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2843
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2844
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2845
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2847
2846
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2847
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2848
2848
  }
2849
2849
  export interface GlobalDirectives {
2850
2850
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.5-dev.2025-08-23";
112
+ export const version = "3.9.5-dev.2025-08-24";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -1,3 +1,4 @@
1
+ import { nextTick } from 'vue';
1
2
  import type { VTextFieldSlots } from "../../components/VTextField/VTextField.js";
2
3
  export type VMaskInputSlots = VTextFieldSlots;
3
4
  export declare const makeVMaskInputProps: <Defaults extends {
@@ -1047,7 +1048,7 @@ export declare const VMaskInput: {
1047
1048
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
1048
1049
  };
1049
1050
  $forceUpdate: () => void;
1050
- $nextTick: typeof import("vue").nextTick;
1051
+ $nextTick: typeof nextTick;
1051
1052
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
1052
1053
  } & Readonly<{
1053
1054
  error: boolean;
@@ -1284,7 +1285,7 @@ export declare const VMaskInput: {
1284
1285
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
1285
1286
  };
1286
1287
  $forceUpdate: () => void;
1287
- $nextTick: typeof import("vue").nextTick;
1288
+ $nextTick: typeof nextTick;
1288
1289
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
1289
1290
  } & Readonly<{
1290
1291
  flat: boolean;
@@ -1431,7 +1432,7 @@ export declare const VMaskInput: {
1431
1432
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
1432
1433
  };
1433
1434
  $forceUpdate: () => void;
1434
- $nextTick: typeof import("vue").nextTick;
1435
+ $nextTick: typeof nextTick;
1435
1436
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
1436
1437
  } & Readonly<{
1437
1438
  flat: boolean;
@@ -1754,7 +1755,7 @@ export declare const VMaskInput: {
1754
1755
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
1755
1756
  };
1756
1757
  $forceUpdate: () => void;
1757
- $nextTick: typeof import("vue").nextTick;
1758
+ $nextTick: typeof nextTick;
1758
1759
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
1759
1760
  } & Readonly<{
1760
1761
  error: boolean;
@@ -1991,7 +1992,7 @@ export declare const VMaskInput: {
1991
1992
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
1992
1993
  };
1993
1994
  $forceUpdate: () => void;
1994
- $nextTick: typeof import("vue").nextTick;
1995
+ $nextTick: typeof nextTick;
1995
1996
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
1996
1997
  } & Readonly<{
1997
1998
  flat: boolean;
@@ -2226,7 +2227,7 @@ export declare const VMaskInput: {
2226
2227
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
2227
2228
  };
2228
2229
  $forceUpdate: () => void;
2229
- $nextTick: typeof import("vue").nextTick;
2230
+ $nextTick: typeof nextTick;
2230
2231
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
2231
2232
  } & Readonly<{
2232
2233
  error: boolean;
@@ -2463,7 +2464,7 @@ export declare const VMaskInput: {
2463
2464
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
2464
2465
  };
2465
2466
  $forceUpdate: () => void;
2466
- $nextTick: typeof import("vue").nextTick;
2467
+ $nextTick: typeof nextTick;
2467
2468
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
2468
2469
  } & Readonly<{
2469
2470
  flat: boolean;
@@ -3206,7 +3207,7 @@ export declare const VMaskInput: {
3206
3207
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
3207
3208
  };
3208
3209
  $forceUpdate: () => void;
3209
- $nextTick: typeof import("vue").nextTick;
3210
+ $nextTick: typeof nextTick;
3210
3211
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
3211
3212
  } & Readonly<{
3212
3213
  error: boolean;
@@ -3443,7 +3444,7 @@ export declare const VMaskInput: {
3443
3444
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
3444
3445
  };
3445
3446
  $forceUpdate: () => void;
3446
- $nextTick: typeof import("vue").nextTick;
3447
+ $nextTick: typeof nextTick;
3447
3448
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
3448
3449
  } & Readonly<{
3449
3450
  flat: boolean;
@@ -3590,7 +3591,7 @@ export declare const VMaskInput: {
3590
3591
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
3591
3592
  };
3592
3593
  $forceUpdate: () => void;
3593
- $nextTick: typeof import("vue").nextTick;
3594
+ $nextTick: typeof nextTick;
3594
3595
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
3595
3596
  } & Readonly<{
3596
3597
  flat: boolean;
@@ -3913,7 +3914,7 @@ export declare const VMaskInput: {
3913
3914
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
3914
3915
  };
3915
3916
  $forceUpdate: () => void;
3916
- $nextTick: typeof import("vue").nextTick;
3917
+ $nextTick: typeof nextTick;
3917
3918
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
3918
3919
  } & Readonly<{
3919
3920
  error: boolean;
@@ -4150,7 +4151,7 @@ export declare const VMaskInput: {
4150
4151
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
4151
4152
  };
4152
4153
  $forceUpdate: () => void;
4153
- $nextTick: typeof import("vue").nextTick;
4154
+ $nextTick: typeof nextTick;
4154
4155
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
4155
4156
  } & Readonly<{
4156
4157
  flat: boolean;
@@ -4385,7 +4386,7 @@ export declare const VMaskInput: {
4385
4386
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
4386
4387
  };
4387
4388
  $forceUpdate: () => void;
4388
- $nextTick: typeof import("vue").nextTick;
4389
+ $nextTick: typeof nextTick;
4389
4390
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
4390
4391
  } & Readonly<{
4391
4392
  error: boolean;
@@ -4622,7 +4623,7 @@ export declare const VMaskInput: {
4622
4623
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
4623
4624
  };
4624
4625
  $forceUpdate: () => void;
4625
- $nextTick: typeof import("vue").nextTick;
4626
+ $nextTick: typeof nextTick;
4626
4627
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
4627
4628
  } & Readonly<{
4628
4629
  flat: boolean;
@@ -5343,7 +5344,7 @@ export declare const VMaskInput: {
5343
5344
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
5344
5345
  };
5345
5346
  $forceUpdate: () => void;
5346
- $nextTick: typeof import("vue").nextTick;
5347
+ $nextTick: typeof nextTick;
5347
5348
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
5348
5349
  } & Readonly<{
5349
5350
  error: boolean;
@@ -5580,7 +5581,7 @@ export declare const VMaskInput: {
5580
5581
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
5581
5582
  };
5582
5583
  $forceUpdate: () => void;
5583
- $nextTick: typeof import("vue").nextTick;
5584
+ $nextTick: typeof nextTick;
5584
5585
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
5585
5586
  } & Readonly<{
5586
5587
  flat: boolean;
@@ -5727,7 +5728,7 @@ export declare const VMaskInput: {
5727
5728
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
5728
5729
  };
5729
5730
  $forceUpdate: () => void;
5730
- $nextTick: typeof import("vue").nextTick;
5731
+ $nextTick: typeof nextTick;
5731
5732
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
5732
5733
  } & Readonly<{
5733
5734
  flat: boolean;
@@ -6050,7 +6051,7 @@ export declare const VMaskInput: {
6050
6051
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
6051
6052
  };
6052
6053
  $forceUpdate: () => void;
6053
- $nextTick: typeof import("vue").nextTick;
6054
+ $nextTick: typeof nextTick;
6054
6055
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
6055
6056
  } & Readonly<{
6056
6057
  error: boolean;
@@ -6287,7 +6288,7 @@ export declare const VMaskInput: {
6287
6288
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
6288
6289
  };
6289
6290
  $forceUpdate: () => void;
6290
- $nextTick: typeof import("vue").nextTick;
6291
+ $nextTick: typeof nextTick;
6291
6292
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
6292
6293
  } & Readonly<{
6293
6294
  flat: boolean;
@@ -6522,7 +6523,7 @@ export declare const VMaskInput: {
6522
6523
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
6523
6524
  };
6524
6525
  $forceUpdate: () => void;
6525
- $nextTick: typeof import("vue").nextTick;
6526
+ $nextTick: typeof nextTick;
6526
6527
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
6527
6528
  } & Readonly<{
6528
6529
  error: boolean;
@@ -6759,7 +6760,7 @@ export declare const VMaskInput: {
6759
6760
  errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
6760
6761
  };
6761
6762
  $forceUpdate: () => void;
6762
- $nextTick: typeof import("vue").nextTick;
6763
+ $nextTick: typeof nextTick;
6763
6764
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
6764
6765
  } & Readonly<{
6765
6766
  flat: boolean;