@vuetify/nightly 3.8.9-dev.2025-06-11 → 3.8.9-dev.2025-06-12

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.9-dev.2025-06-11
2
+ * Vuetify v3.8.9-dev.2025-06-12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2254,8 +2254,8 @@ if(m.run((()=>{o.install(u)})),u.onUnmount((()=>m.stop())),u.provide(kt,e),u.pro
2254
2254
  else{const{mount:e}=u
2255
2255
  u.mount=function(){const a=e(...arguments)
2256
2256
  return t.nextTick((()=>l.update())),u.mount=e,a}}("boolean"!=typeof __VUE_OPTIONS_API__||__VUE_OPTIONS_API__)&&u.mixin({computed:{$vuetify(){return t.reactive({defaults:Nm.call(this,kt),display:Nm.call(this,xn),theme:Nm.call(this,Va),icons:Nm.call(this,Mt),locale:Nm.call(this,fa),date:Nm.call(this,_u)})}}})},unmount:function(){u.stop()},defaults:e,display:l,theme:o,icons:c,locale:d,date:v,goTo:p}}))}function Nm(e){const t=this.$,a=t.parent?.provides??t.vnode.appContext?.provides
2257
- if(a&&e in a)return a[e]}Cm.version="3.8.9-dev.2025-06-11"
2258
- const Em=function(){return Cm({components:gm,directives:xm,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},Im="3.8.9-dev.2025-06-11"
2257
+ if(a&&e in a)return a[e]}Cm.version="3.8.9-dev.2025-06-12"
2258
+ const Em=function(){return Cm({components:gm,directives:xm,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})},Im="3.8.9-dev.2025-06-12"
2259
2259
  Em.version=Im,e.blueprints=Zt,e.components=gm,e.createVuetify=Em,e.directives=xm,e.useDate=Bu,e.useDefaults=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0
2260
2260
  const{props:a,provideSubDefaults:l}=Nt(e,t)
2261
2261
  return l(),a},e.useDisplay=Bn,e.useGoTo=Fn,e.useLayout=la,e.useLocale=ha,e.useRtl=ba,e.useTheme=Pa,e.version=Im}))
@@ -0,0 +1,38 @@
1
+ import type { PropType, Ref } from 'vue';
2
+ export interface MaskProps {
3
+ mask: string | MaskOptions | undefined;
4
+ returnMaskedValue?: Boolean;
5
+ }
6
+ export interface MaskOptions {
7
+ mask: string;
8
+ tokens: Record<string, MaskItem>;
9
+ }
10
+ export declare const makeMaskProps: <Defaults extends {
11
+ mask?: unknown;
12
+ returnMaskedValue?: unknown;
13
+ } = {}>(defaults?: Defaults | undefined) => {
14
+ mask: unknown extends Defaults["mask"] ? PropType<string | MaskOptions> : {
15
+ type: PropType<unknown extends Defaults["mask"] ? string | MaskOptions : string | MaskOptions | Defaults["mask"]>;
16
+ default: unknown extends Defaults["mask"] ? string | MaskOptions : Defaults["mask"] | NonNullable<string | MaskOptions>;
17
+ };
18
+ returnMaskedValue: unknown extends Defaults["returnMaskedValue"] ? BooleanConstructor : {
19
+ type: PropType<unknown extends Defaults["returnMaskedValue"] ? boolean : boolean | Defaults["returnMaskedValue"]>;
20
+ default: unknown extends Defaults["returnMaskedValue"] ? boolean : boolean | Defaults["returnMaskedValue"];
21
+ };
22
+ };
23
+ export type MaskItem = {
24
+ convert?: (char: string) => string;
25
+ } & ({
26
+ pattern?: never;
27
+ test: (char: string) => boolean;
28
+ } | {
29
+ pattern: RegExp;
30
+ test?: never;
31
+ });
32
+ export declare const defaultDelimiters: RegExp;
33
+ export declare function isMaskDelimiter(char: string): boolean;
34
+ export declare function useMask(props: MaskProps, inputRef: Ref<HTMLInputElement | undefined>): {
35
+ updateRange: () => void;
36
+ maskText: (text: string | null | undefined) => string;
37
+ unmaskText: (text: string | null) => string | null;
38
+ };
@@ -0,0 +1,183 @@
1
+ // Utilities
2
+ import { computed, shallowRef } from 'vue';
3
+ import { isObject, propsFactory } from "../util/index.js"; // Types
4
+ export const makeMaskProps = propsFactory({
5
+ mask: [String, Object],
6
+ returnMaskedValue: Boolean
7
+ }, 'mask');
8
+ export const defaultDelimiters = /[-!$%^&*()_+|~=`{}[\]:";'<>?,./\\ ]/;
9
+ const presets = {
10
+ 'credit-card': '#### - #### - #### - ####',
11
+ date: '##/##/####',
12
+ 'date-time': '##/##/#### ##:##',
13
+ 'iso-date': '####-##-##',
14
+ 'iso-date-time': '####-##-## ##:##',
15
+ phone: '(###) ### - ####',
16
+ social: '###-##-####',
17
+ time: '##:##',
18
+ 'time-with-seconds': '##:##:##'
19
+ };
20
+ export function isMaskDelimiter(char) {
21
+ return char ? defaultDelimiters.test(char) : false;
22
+ }
23
+ const defaultTokens = {
24
+ '#': {
25
+ pattern: /[0-9]/
26
+ },
27
+ A: {
28
+ pattern: /[A-Z]/i,
29
+ convert: v => v.toUpperCase()
30
+ },
31
+ a: {
32
+ pattern: /[a-z]/i,
33
+ convert: v => v.toLowerCase()
34
+ },
35
+ N: {
36
+ pattern: /[0-9A-Z]/i,
37
+ convert: v => v.toUpperCase()
38
+ },
39
+ n: {
40
+ pattern: /[0-9a-z]/i,
41
+ convert: v => v.toLowerCase()
42
+ },
43
+ X: {
44
+ pattern: defaultDelimiters
45
+ }
46
+ };
47
+ export function useMask(props, inputRef) {
48
+ const mask = computed(() => {
49
+ if (typeof props.mask === 'string') {
50
+ if (props.mask in presets) return presets[props.mask];
51
+ return props.mask;
52
+ }
53
+ return props.mask?.mask ?? '';
54
+ });
55
+ const tokens = computed(() => {
56
+ return {
57
+ ...defaultTokens,
58
+ ...(isObject(props.mask) ? props.mask.tokens : null)
59
+ };
60
+ });
61
+ const selection = shallowRef(0);
62
+ const lazySelection = shallowRef(0);
63
+ function isMask(char) {
64
+ return char in tokens.value;
65
+ }
66
+ function maskValidates(mask, char) {
67
+ if (char == null || !isMask(mask)) return false;
68
+ const item = tokens.value[mask];
69
+ if (item.pattern) return item.pattern.test(char);
70
+ return item.test(char);
71
+ }
72
+ function convert(mask, char) {
73
+ const item = tokens.value[mask];
74
+ return item.convert ? item.convert(char) : char;
75
+ }
76
+ function maskText(text) {
77
+ const trimmedText = text?.trim().replace(/\s+/g, ' ');
78
+ if (trimmedText == null) return '';
79
+ if (!mask.value.length || !trimmedText.length) return trimmedText;
80
+ let textIndex = 0;
81
+ let maskIndex = 0;
82
+ let newText = '';
83
+ while (maskIndex < mask.value.length) {
84
+ const mchar = mask.value[maskIndex];
85
+ const tchar = trimmedText[textIndex];
86
+
87
+ // Escaped character in mask, the next mask character is inserted
88
+ if (mchar === '\\') {
89
+ newText += mask.value[maskIndex + 1];
90
+ maskIndex += 2;
91
+ continue;
92
+ }
93
+ if (!isMask(mchar)) {
94
+ newText += mchar;
95
+ if (tchar === mchar) {
96
+ textIndex++;
97
+ }
98
+ } else if (maskValidates(mchar, tchar)) {
99
+ newText += convert(mchar, tchar);
100
+ textIndex++;
101
+ } else {
102
+ break;
103
+ }
104
+ maskIndex++;
105
+ }
106
+ return newText;
107
+ }
108
+ function unmaskText(text) {
109
+ if (text == null) return null;
110
+ if (!mask.value.length || !text.length) return text;
111
+ let textIndex = 0;
112
+ let maskIndex = 0;
113
+ let newText = '';
114
+ while (true) {
115
+ const mchar = mask.value[maskIndex];
116
+ const tchar = text[textIndex];
117
+ if (tchar == null) break;
118
+ if (mchar == null) {
119
+ newText += tchar;
120
+ textIndex++;
121
+ continue;
122
+ }
123
+
124
+ // Escaped character in mask, skip the next input character
125
+ if (mchar === '\\') {
126
+ if (tchar === mask.value[maskIndex + 1]) {
127
+ textIndex++;
128
+ }
129
+ maskIndex += 2;
130
+ continue;
131
+ }
132
+ if (maskValidates(mchar, tchar)) {
133
+ // masked char
134
+ newText += tchar;
135
+ textIndex++;
136
+ maskIndex++;
137
+ continue;
138
+ } else if (mchar !== tchar) {
139
+ // input doesn't match mask, skip forward until it does
140
+ while (true) {
141
+ const mchar = mask.value[maskIndex++];
142
+ if (mchar == null || maskValidates(mchar, tchar)) break;
143
+ }
144
+ continue;
145
+ }
146
+ textIndex++;
147
+ maskIndex++;
148
+ }
149
+ return newText;
150
+ }
151
+ function setCaretPosition(newSelection) {
152
+ selection.value = newSelection;
153
+ inputRef.value && inputRef.value.setSelectionRange(selection.value, selection.value);
154
+ }
155
+ function resetSelections() {
156
+ if (!inputRef.value?.selectionEnd) return;
157
+ selection.value = inputRef.value.selectionEnd;
158
+ lazySelection.value = 0;
159
+ for (let index = 0; index < selection.value; index++) {
160
+ isMaskDelimiter(inputRef.value.value[index]) || lazySelection.value++;
161
+ }
162
+ }
163
+ function updateRange() {
164
+ if (!inputRef.value) return;
165
+ resetSelections();
166
+ let selection = 0;
167
+ const newValue = inputRef.value.value;
168
+ if (newValue) {
169
+ for (let index = 0; index < newValue.length; index++) {
170
+ if (lazySelection.value <= 0) break;
171
+ isMaskDelimiter(newValue[index]) || lazySelection.value--;
172
+ selection++;
173
+ }
174
+ }
175
+ setCaretPosition(selection);
176
+ }
177
+ return {
178
+ updateRange,
179
+ maskText,
180
+ unmaskText
181
+ };
182
+ }
183
+ //# sourceMappingURL=mask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mask.js","names":["computed","shallowRef","isObject","propsFactory","makeMaskProps","mask","String","Object","returnMaskedValue","Boolean","defaultDelimiters","presets","date","phone","social","time","isMaskDelimiter","char","test","defaultTokens","pattern","A","convert","v","toUpperCase","a","toLowerCase","N","n","X","useMask","props","inputRef","tokens","selection","lazySelection","isMask","value","maskValidates","item","maskText","text","trimmedText","trim","replace","length","textIndex","maskIndex","newText","mchar","tchar","unmaskText","setCaretPosition","newSelection","setSelectionRange","resetSelections","selectionEnd","index","updateRange","newValue"],"sources":["../../src/composables/mask.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { isObject, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\n\nexport interface MaskProps {\n mask: string | MaskOptions | undefined\n returnMaskedValue?: Boolean\n}\n\nexport interface MaskOptions {\n mask: string\n tokens: Record<string, MaskItem>\n}\n\nexport const makeMaskProps = propsFactory({\n mask: [String, Object] as PropType<string | MaskOptions>,\n returnMaskedValue: Boolean,\n}, 'mask')\n\nexport type MaskItem = {\n convert?: (char: string) => string\n} & ({\n pattern?: never\n test: (char: string) => boolean\n} | {\n pattern: RegExp\n test?: never\n})\n\nexport const defaultDelimiters = /[-!$%^&*()_+|~=`{}[\\]:\";'<>?,./\\\\ ]/\n\nconst presets: Record<string, string> = {\n 'credit-card': '#### - #### - #### - ####',\n date: '##/##/####',\n 'date-time': '##/##/#### ##:##',\n 'iso-date': '####-##-##',\n 'iso-date-time': '####-##-## ##:##',\n phone: '(###) ### - ####',\n social: '###-##-####',\n time: '##:##',\n 'time-with-seconds': '##:##:##',\n}\n\nexport function isMaskDelimiter (char: string): boolean {\n return char ? defaultDelimiters.test(char) : false\n}\n\nconst defaultTokens: Record<string, MaskItem> = {\n '#': {\n pattern: /[0-9]/,\n },\n A: {\n pattern: /[A-Z]/i,\n convert: v => v.toUpperCase(),\n },\n a: {\n pattern: /[a-z]/i,\n convert: v => v.toLowerCase(),\n },\n N: {\n pattern: /[0-9A-Z]/i,\n convert: v => v.toUpperCase(),\n },\n n: {\n pattern: /[0-9a-z]/i,\n convert: v => v.toLowerCase(),\n },\n X: {\n pattern: defaultDelimiters,\n },\n}\n\nexport function useMask (props: MaskProps, inputRef: Ref<HTMLInputElement | undefined>) {\n const mask = computed(() => {\n if (typeof props.mask === 'string') {\n if (props.mask in presets) return presets[props.mask]\n return props.mask\n }\n return props.mask?.mask ?? ''\n })\n const tokens = computed(() => {\n return {\n ...defaultTokens,\n ...(isObject(props.mask) ? props.mask.tokens : null),\n }\n })\n const selection = shallowRef(0)\n const lazySelection = shallowRef(0)\n\n function isMask (char: string): boolean {\n return char in tokens.value\n }\n\n function maskValidates (mask: string, char: string): boolean {\n if (char == null || !isMask(mask)) return false\n const item = tokens.value[mask]\n if (item.pattern) return item.pattern.test(char)\n return item.test(char)\n }\n\n function convert (mask: string, char: string): string {\n const item = tokens.value[mask]\n return item.convert ? item.convert(char) : char\n }\n\n function maskText (text: string | null | undefined): string {\n const trimmedText = text?.trim().replace(/\\s+/g, ' ')\n\n if (trimmedText == null) return ''\n\n if (!mask.value.length || !trimmedText.length) return trimmedText\n\n let textIndex = 0\n let maskIndex = 0\n let newText = ''\n\n while (maskIndex < mask.value.length) {\n const mchar = mask.value[maskIndex]\n const tchar = trimmedText[textIndex]\n\n // Escaped character in mask, the next mask character is inserted\n if (mchar === '\\\\') {\n newText += mask.value[maskIndex + 1]\n maskIndex += 2\n continue\n }\n\n if (!isMask(mchar)) {\n newText += mchar\n if (tchar === mchar) {\n textIndex++\n }\n } else if (maskValidates(mchar, tchar)) {\n newText += convert(mchar, tchar)\n textIndex++\n } else {\n break\n }\n\n maskIndex++\n }\n return newText\n }\n\n function unmaskText (text: string | null): string | null {\n if (text == null) return null\n\n if (!mask.value.length || !text.length) return text\n\n let textIndex = 0\n let maskIndex = 0\n let newText = ''\n\n while (true) {\n const mchar = mask.value[maskIndex]\n const tchar = text[textIndex]\n\n if (tchar == null) break\n\n if (mchar == null) {\n newText += tchar\n textIndex++\n continue\n }\n\n // Escaped character in mask, skip the next input character\n if (mchar === '\\\\') {\n if (tchar === mask.value[maskIndex + 1]) {\n textIndex++\n }\n maskIndex += 2\n continue\n }\n\n if (maskValidates(mchar, tchar)) {\n // masked char\n newText += tchar\n textIndex++\n maskIndex++\n continue\n } else if (mchar !== tchar) {\n // input doesn't match mask, skip forward until it does\n while (true) {\n const mchar = mask.value[maskIndex++]\n if (mchar == null || maskValidates(mchar, tchar)) break\n }\n continue\n }\n\n textIndex++\n maskIndex++\n }\n return newText\n }\n\n function setCaretPosition (newSelection: number) {\n selection.value = newSelection\n inputRef.value && inputRef.value.setSelectionRange(selection.value, selection.value)\n }\n\n function resetSelections () {\n if (!inputRef.value?.selectionEnd) return\n\n selection.value = inputRef.value.selectionEnd\n lazySelection.value = 0\n\n for (let index = 0; index < selection.value; index++) {\n isMaskDelimiter(inputRef.value.value[index]) || lazySelection.value++\n }\n }\n\n function updateRange () {\n if (!inputRef.value) return\n resetSelections()\n\n let selection = 0\n const newValue = inputRef.value.value\n\n if (newValue) {\n for (let index = 0; index < newValue.length; index++) {\n if (lazySelection.value <= 0) break\n isMaskDelimiter(newValue[index]) || lazySelection.value--\n selection++\n }\n }\n setCaretPosition(selection)\n }\n\n return {\n updateRange,\n maskText,\n unmaskText,\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,KAAK;AAAA,SACjCC,QAAQ,EAAEC,YAAY,4BAE/B;AAaA,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAmC;EACxDC,iBAAiB,EAAEC;AACrB,CAAC,EAAE,MAAM,CAAC;AAYV,OAAO,MAAMC,iBAAiB,GAAG,qCAAqC;AAEtE,MAAMC,OAA+B,GAAG;EACtC,aAAa,EAAE,2BAA2B;EAC1CC,IAAI,EAAE,YAAY;EAClB,WAAW,EAAE,kBAAkB;EAC/B,UAAU,EAAE,YAAY;EACxB,eAAe,EAAE,kBAAkB;EACnCC,KAAK,EAAE,kBAAkB;EACzBC,MAAM,EAAE,aAAa;EACrBC,IAAI,EAAE,OAAO;EACb,mBAAmB,EAAE;AACvB,CAAC;AAED,OAAO,SAASC,eAAeA,CAAEC,IAAY,EAAW;EACtD,OAAOA,IAAI,GAAGP,iBAAiB,CAACQ,IAAI,CAACD,IAAI,CAAC,GAAG,KAAK;AACpD;AAEA,MAAME,aAAuC,GAAG;EAC9C,GAAG,EAAE;IACHC,OAAO,EAAE;EACX,CAAC;EACDC,CAAC,EAAE;IACDD,OAAO,EAAE,QAAQ;IACjBE,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;EAC9B,CAAC;EACDC,CAAC,EAAE;IACDL,OAAO,EAAE,QAAQ;IACjBE,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACG,WAAW,CAAC;EAC9B,CAAC;EACDC,CAAC,EAAE;IACDP,OAAO,EAAE,WAAW;IACpBE,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;EAC9B,CAAC;EACDI,CAAC,EAAE;IACDR,OAAO,EAAE,WAAW;IACpBE,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACG,WAAW,CAAC;EAC9B,CAAC;EACDG,CAAC,EAAE;IACDT,OAAO,EAAEV;EACX;AACF,CAAC;AAED,OAAO,SAASoB,OAAOA,CAAEC,KAAgB,EAAEC,QAA2C,EAAE;EACtF,MAAM3B,IAAI,GAAGL,QAAQ,CAAC,MAAM;IAC1B,IAAI,OAAO+B,KAAK,CAAC1B,IAAI,KAAK,QAAQ,EAAE;MAClC,IAAI0B,KAAK,CAAC1B,IAAI,IAAIM,OAAO,EAAE,OAAOA,OAAO,CAACoB,KAAK,CAAC1B,IAAI,CAAC;MACrD,OAAO0B,KAAK,CAAC1B,IAAI;IACnB;IACA,OAAO0B,KAAK,CAAC1B,IAAI,EAAEA,IAAI,IAAI,EAAE;EAC/B,CAAC,CAAC;EACF,MAAM4B,MAAM,GAAGjC,QAAQ,CAAC,MAAM;IAC5B,OAAO;MACL,GAAGmB,aAAa;MAChB,IAAIjB,QAAQ,CAAC6B,KAAK,CAAC1B,IAAI,CAAC,GAAG0B,KAAK,CAAC1B,IAAI,CAAC4B,MAAM,GAAG,IAAI;IACrD,CAAC;EACH,CAAC,CAAC;EACF,MAAMC,SAAS,GAAGjC,UAAU,CAAC,CAAC,CAAC;EAC/B,MAAMkC,aAAa,GAAGlC,UAAU,CAAC,CAAC,CAAC;EAEnC,SAASmC,MAAMA,CAAEnB,IAAY,EAAW;IACtC,OAAOA,IAAI,IAAIgB,MAAM,CAACI,KAAK;EAC7B;EAEA,SAASC,aAAaA,CAAEjC,IAAY,EAAEY,IAAY,EAAW;IAC3D,IAAIA,IAAI,IAAI,IAAI,IAAI,CAACmB,MAAM,CAAC/B,IAAI,CAAC,EAAE,OAAO,KAAK;IAC/C,MAAMkC,IAAI,GAAGN,MAAM,CAACI,KAAK,CAAChC,IAAI,CAAC;IAC/B,IAAIkC,IAAI,CAACnB,OAAO,EAAE,OAAOmB,IAAI,CAACnB,OAAO,CAACF,IAAI,CAACD,IAAI,CAAC;IAChD,OAAOsB,IAAI,CAACrB,IAAI,CAACD,IAAI,CAAC;EACxB;EAEA,SAASK,OAAOA,CAAEjB,IAAY,EAAEY,IAAY,EAAU;IACpD,MAAMsB,IAAI,GAAGN,MAAM,CAACI,KAAK,CAAChC,IAAI,CAAC;IAC/B,OAAOkC,IAAI,CAACjB,OAAO,GAAGiB,IAAI,CAACjB,OAAO,CAACL,IAAI,CAAC,GAAGA,IAAI;EACjD;EAEA,SAASuB,QAAQA,CAAEC,IAA+B,EAAU;IAC1D,MAAMC,WAAW,GAAGD,IAAI,EAAEE,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IAErD,IAAIF,WAAW,IAAI,IAAI,EAAE,OAAO,EAAE;IAElC,IAAI,CAACrC,IAAI,CAACgC,KAAK,CAACQ,MAAM,IAAI,CAACH,WAAW,CAACG,MAAM,EAAE,OAAOH,WAAW;IAEjE,IAAII,SAAS,GAAG,CAAC;IACjB,IAAIC,SAAS,GAAG,CAAC;IACjB,IAAIC,OAAO,GAAG,EAAE;IAEhB,OAAOD,SAAS,GAAG1C,IAAI,CAACgC,KAAK,CAACQ,MAAM,EAAE;MACpC,MAAMI,KAAK,GAAG5C,IAAI,CAACgC,KAAK,CAACU,SAAS,CAAC;MACnC,MAAMG,KAAK,GAAGR,WAAW,CAACI,SAAS,CAAC;;MAEpC;MACA,IAAIG,KAAK,KAAK,IAAI,EAAE;QAClBD,OAAO,IAAI3C,IAAI,CAACgC,KAAK,CAACU,SAAS,GAAG,CAAC,CAAC;QACpCA,SAAS,IAAI,CAAC;QACd;MACF;MAEA,IAAI,CAACX,MAAM,CAACa,KAAK,CAAC,EAAE;QAClBD,OAAO,IAAIC,KAAK;QAChB,IAAIC,KAAK,KAAKD,KAAK,EAAE;UACnBH,SAAS,EAAE;QACb;MACF,CAAC,MAAM,IAAIR,aAAa,CAACW,KAAK,EAAEC,KAAK,CAAC,EAAE;QACtCF,OAAO,IAAI1B,OAAO,CAAC2B,KAAK,EAAEC,KAAK,CAAC;QAChCJ,SAAS,EAAE;MACb,CAAC,MAAM;QACL;MACF;MAEAC,SAAS,EAAE;IACb;IACA,OAAOC,OAAO;EAChB;EAEA,SAASG,UAAUA,CAAEV,IAAmB,EAAiB;IACvD,IAAIA,IAAI,IAAI,IAAI,EAAE,OAAO,IAAI;IAE7B,IAAI,CAACpC,IAAI,CAACgC,KAAK,CAACQ,MAAM,IAAI,CAACJ,IAAI,CAACI,MAAM,EAAE,OAAOJ,IAAI;IAEnD,IAAIK,SAAS,GAAG,CAAC;IACjB,IAAIC,SAAS,GAAG,CAAC;IACjB,IAAIC,OAAO,GAAG,EAAE;IAEhB,OAAO,IAAI,EAAE;MACX,MAAMC,KAAK,GAAG5C,IAAI,CAACgC,KAAK,CAACU,SAAS,CAAC;MACnC,MAAMG,KAAK,GAAGT,IAAI,CAACK,SAAS,CAAC;MAE7B,IAAII,KAAK,IAAI,IAAI,EAAE;MAEnB,IAAID,KAAK,IAAI,IAAI,EAAE;QACjBD,OAAO,IAAIE,KAAK;QAChBJ,SAAS,EAAE;QACX;MACF;;MAEA;MACA,IAAIG,KAAK,KAAK,IAAI,EAAE;QAClB,IAAIC,KAAK,KAAK7C,IAAI,CAACgC,KAAK,CAACU,SAAS,GAAG,CAAC,CAAC,EAAE;UACvCD,SAAS,EAAE;QACb;QACAC,SAAS,IAAI,CAAC;QACd;MACF;MAEA,IAAIT,aAAa,CAACW,KAAK,EAAEC,KAAK,CAAC,EAAE;QAC/B;QACAF,OAAO,IAAIE,KAAK;QAChBJ,SAAS,EAAE;QACXC,SAAS,EAAE;QACX;MACF,CAAC,MAAM,IAAIE,KAAK,KAAKC,KAAK,EAAE;QAC1B;QACA,OAAO,IAAI,EAAE;UACX,MAAMD,KAAK,GAAG5C,IAAI,CAACgC,KAAK,CAACU,SAAS,EAAE,CAAC;UACrC,IAAIE,KAAK,IAAI,IAAI,IAAIX,aAAa,CAACW,KAAK,EAAEC,KAAK,CAAC,EAAE;QACpD;QACA;MACF;MAEAJ,SAAS,EAAE;MACXC,SAAS,EAAE;IACb;IACA,OAAOC,OAAO;EAChB;EAEA,SAASI,gBAAgBA,CAAEC,YAAoB,EAAE;IAC/CnB,SAAS,CAACG,KAAK,GAAGgB,YAAY;IAC9BrB,QAAQ,CAACK,KAAK,IAAIL,QAAQ,CAACK,KAAK,CAACiB,iBAAiB,CAACpB,SAAS,CAACG,KAAK,EAAEH,SAAS,CAACG,KAAK,CAAC;EACtF;EAEA,SAASkB,eAAeA,CAAA,EAAI;IAC1B,IAAI,CAACvB,QAAQ,CAACK,KAAK,EAAEmB,YAAY,EAAE;IAEnCtB,SAAS,CAACG,KAAK,GAAGL,QAAQ,CAACK,KAAK,CAACmB,YAAY;IAC7CrB,aAAa,CAACE,KAAK,GAAG,CAAC;IAEvB,KAAK,IAAIoB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGvB,SAAS,CAACG,KAAK,EAAEoB,KAAK,EAAE,EAAE;MACpDzC,eAAe,CAACgB,QAAQ,CAACK,KAAK,CAACA,KAAK,CAACoB,KAAK,CAAC,CAAC,IAAItB,aAAa,CAACE,KAAK,EAAE;IACvE;EACF;EAEA,SAASqB,WAAWA,CAAA,EAAI;IACtB,IAAI,CAAC1B,QAAQ,CAACK,KAAK,EAAE;IACrBkB,eAAe,CAAC,CAAC;IAEjB,IAAIrB,SAAS,GAAG,CAAC;IACjB,MAAMyB,QAAQ,GAAG3B,QAAQ,CAACK,KAAK,CAACA,KAAK;IAErC,IAAIsB,QAAQ,EAAE;MACZ,KAAK,IAAIF,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGE,QAAQ,CAACd,MAAM,EAAEY,KAAK,EAAE,EAAE;QACpD,IAAItB,aAAa,CAACE,KAAK,IAAI,CAAC,EAAE;QAC9BrB,eAAe,CAAC2C,QAAQ,CAACF,KAAK,CAAC,CAAC,IAAItB,aAAa,CAACE,KAAK,EAAE;QACzDH,SAAS,EAAE;MACb;IACF;IACAkB,gBAAgB,CAAClB,SAAS,CAAC;EAC7B;EAEA,OAAO;IACLwB,WAAW;IACXlB,QAAQ;IACRW;EACF,CAAC;AACH","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.9-dev.2025-06-11";
19
+ export const version = "3.8.9-dev.2025-06-12";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2550,43 +2550,48 @@ declare module 'vue' {
2550
2550
  $children?: VNodeChild
2551
2551
  }
2552
2552
  export interface GlobalComponents {
2553
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2553
2554
  VAlert: typeof import('vuetify/components')['VAlert']
2554
2555
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2555
- VApp: typeof import('vuetify/components')['VApp']
2556
2556
  VAppBar: typeof import('vuetify/components')['VAppBar']
2557
2557
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2558
2558
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2559
+ VApp: typeof import('vuetify/components')['VApp']
2559
2560
  VBadge: typeof import('vuetify/components')['VBadge']
2560
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2561
2561
  VBanner: typeof import('vuetify/components')['VBanner']
2562
2562
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2563
2563
  VBannerText: typeof import('vuetify/components')['VBannerText']
2564
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2565
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2566
2564
  VAvatar: typeof import('vuetify/components')['VAvatar']
2565
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2566
+ VBtn: typeof import('vuetify/components')['VBtn']
2567
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2568
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2567
2569
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2568
2570
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2569
2571
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2570
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2571
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2572
2572
  VCard: typeof import('vuetify/components')['VCard']
2573
2573
  VCardActions: typeof import('vuetify/components')['VCardActions']
2574
2574
  VCardItem: typeof import('vuetify/components')['VCardItem']
2575
2575
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2576
2576
  VCardText: typeof import('vuetify/components')['VCardText']
2577
2577
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2578
- VBtn: typeof import('vuetify/components')['VBtn']
2578
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2579
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2580
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2581
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2579
2582
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2580
2583
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2581
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2582
2584
  VChip: typeof import('vuetify/components')['VChip']
2585
+ VCounter: typeof import('vuetify/components')['VCounter']
2586
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2583
2587
  VCode: typeof import('vuetify/components')['VCode']
2584
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2585
- VCombobox: typeof import('vuetify/components')['VCombobox']
2586
- VCarousel: typeof import('vuetify/components')['VCarousel']
2587
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2588
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
2589
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2590
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2591
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2592
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2593
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2588
2594
  VDialog: typeof import('vuetify/components')['VDialog']
2589
- VCounter: typeof import('vuetify/components')['VCounter']
2590
2595
  VDataTable: typeof import('vuetify/components')['VDataTable']
2591
2596
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2592
2597
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2594,36 +2599,29 @@ declare module 'vue' {
2594
2599
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2595
2600
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2596
2601
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2597
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
2598
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2599
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2600
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2601
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2602
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2603
- VField: typeof import('vuetify/components')['VField']
2604
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2605
- VFileInput: typeof import('vuetify/components')['VFileInput']
2606
- VDivider: typeof import('vuetify/components')['VDivider']
2607
2602
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2603
+ VDivider: typeof import('vuetify/components')['VDivider']
2604
+ VFab: typeof import('vuetify/components')['VFab']
2608
2605
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2609
2606
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2610
2607
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2611
2608
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2612
- VFab: typeof import('vuetify/components')['VFab']
2609
+ VField: typeof import('vuetify/components')['VField']
2610
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2611
+ VFooter: typeof import('vuetify/components')['VFooter']
2612
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2613
+ VInput: typeof import('vuetify/components')['VInput']
2614
+ VImg: typeof import('vuetify/components')['VImg']
2615
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2613
2616
  VIcon: typeof import('vuetify/components')['VIcon']
2614
2617
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2615
2618
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2616
2619
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2617
2620
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2618
- VFooter: typeof import('vuetify/components')['VFooter']
2619
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2620
- VInput: typeof import('vuetify/components')['VInput']
2621
- VLabel: typeof import('vuetify/components')['VLabel']
2622
- VKbd: typeof import('vuetify/components')['VKbd']
2623
- VImg: typeof import('vuetify/components')['VImg']
2624
- VMenu: typeof import('vuetify/components')['VMenu']
2625
2621
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2626
2622
  VItem: typeof import('vuetify/components')['VItem']
2623
+ VKbd: typeof import('vuetify/components')['VKbd']
2624
+ VLabel: typeof import('vuetify/components')['VLabel']
2627
2625
  VList: typeof import('vuetify/components')['VList']
2628
2626
  VListGroup: typeof import('vuetify/components')['VListGroup']
2629
2627
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2633,25 +2631,23 @@ declare module 'vue' {
2633
2631
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2634
2632
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2635
2633
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2636
- VMain: typeof import('vuetify/components')['VMain']
2637
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2634
+ VMenu: typeof import('vuetify/components')['VMenu']
2638
2635
  VMessages: typeof import('vuetify/components')['VMessages']
2639
- VPagination: typeof import('vuetify/components')['VPagination']
2636
+ VMain: typeof import('vuetify/components')['VMain']
2640
2637
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2641
- VOverlay: typeof import('vuetify/components')['VOverlay']
2638
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2642
2639
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2643
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2644
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2645
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2640
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2641
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2642
+ VPagination: typeof import('vuetify/components')['VPagination']
2646
2643
  VRating: typeof import('vuetify/components')['VRating']
2647
2644
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2645
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2648
2646
  VSelect: typeof import('vuetify/components')['VSelect']
2649
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2647
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2650
2648
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2651
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2652
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2653
2649
  VSlider: typeof import('vuetify/components')['VSlider']
2654
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2650
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2655
2651
  VSheet: typeof import('vuetify/components')['VSheet']
2656
2652
  VStepper: typeof import('vuetify/components')['VStepper']
2657
2653
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
@@ -2659,26 +2655,29 @@ declare module 'vue' {
2659
2655
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2660
2656
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2661
2657
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2662
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2663
- VTable: typeof import('vuetify/components')['VTable']
2658
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2659
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2660
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2661
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2664
2662
  VTab: typeof import('vuetify/components')['VTab']
2665
2663
  VTabs: typeof import('vuetify/components')['VTabs']
2666
2664
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2667
2665
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2668
- VSwitch: typeof import('vuetify/components')['VSwitch']
2666
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2667
+ VTable: typeof import('vuetify/components')['VTable']
2669
2668
  VTextarea: typeof import('vuetify/components')['VTextarea']
2670
- VTextField: typeof import('vuetify/components')['VTextField']
2671
2669
  VToolbar: typeof import('vuetify/components')['VToolbar']
2672
2670
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2673
2671
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2674
- VTooltip: typeof import('vuetify/components')['VTooltip']
2672
+ VTextField: typeof import('vuetify/components')['VTextField']
2675
2673
  VTimeline: typeof import('vuetify/components')['VTimeline']
2676
2674
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2675
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2677
2676
  VWindow: typeof import('vuetify/components')['VWindow']
2678
2677
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2679
2678
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2680
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
2681
2679
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2680
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
2682
2681
  VForm: typeof import('vuetify/components')['VForm']
2683
2682
  VContainer: typeof import('vuetify/components')['VContainer']
2684
2683
  VCol: typeof import('vuetify/components')['VCol']
@@ -2689,16 +2688,15 @@ declare module 'vue' {
2689
2688
  VLayout: typeof import('vuetify/components')['VLayout']
2690
2689
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2691
2690
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2691
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2692
2692
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2693
- VParallax: typeof import('vuetify/components')['VParallax']
2694
2693
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2695
- VRadio: typeof import('vuetify/components')['VRadio']
2694
+ VParallax: typeof import('vuetify/components')['VParallax']
2696
2695
  VResponsive: typeof import('vuetify/components')['VResponsive']
2697
- VSparkline: typeof import('vuetify/components')['VSparkline']
2698
2696
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2697
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2699
2698
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2700
2699
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2701
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2702
2700
  VValidation: typeof import('vuetify/components')['VValidation']
2703
2701
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2704
2702
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
@@ -2716,29 +2714,32 @@ declare module 'vue' {
2716
2714
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2717
2715
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2718
2716
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2717
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2718
+ VRadio: typeof import('vuetify/components')['VRadio']
2719
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2720
+ VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2721
+ VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2722
+ VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2723
+ VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2724
+ VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2719
2725
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2720
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2721
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2722
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2726
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2727
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2723
2728
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2724
2729
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2725
2730
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2726
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2727
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2728
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2729
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2730
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2731
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2732
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2733
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2731
2734
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2732
2735
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2733
2736
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2737
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2738
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2739
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2734
2740
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2741
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2735
2742
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2736
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2737
- VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2738
- VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2739
- VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2740
- VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2741
- VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2742
2743
  }
2743
2744
  export interface GlobalDirectives {
2744
2745
  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.8.9-dev.2025-06-11";
112
+ export const version = "3.8.9-dev.2025-06-12";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup