vuetify 3.8.3 → 3.8.4

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.
Files changed (95) hide show
  1. package/dist/json/attributes.json +3888 -3884
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +142 -142
  4. package/dist/json/tags.json +1 -0
  5. package/dist/json/web-types.json +6709 -6699
  6. package/dist/vuetify-labs.cjs +107 -71
  7. package/dist/vuetify-labs.css +5358 -5358
  8. package/dist/vuetify-labs.d.ts +4100 -1172
  9. package/dist/vuetify-labs.esm.js +107 -71
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +107 -71
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +56 -29
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3018 -3018
  16. package/dist/vuetify.d.ts +4107 -1199
  17. package/dist/vuetify.esm.js +56 -29
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +56 -29
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +30 -27
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAutocomplete/VAutocomplete.d.ts +795 -77
  25. package/lib/components/VAutocomplete/VAutocomplete.js +5 -0
  26. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  27. package/lib/components/VBadge/VBadge.d.ts +22 -46
  28. package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +6 -6
  29. package/lib/components/VBottomSheet/VBottomSheet.d.ts +1434 -80
  30. package/lib/components/VCombobox/VCombobox.d.ts +795 -77
  31. package/lib/components/VCounter/VCounter.d.ts +22 -46
  32. package/lib/components/VDataIterator/VDataIterator.d.ts +22 -46
  33. package/lib/components/VDataTable/VDataTable.d.ts +110 -110
  34. package/lib/components/VDataTable/VDataTableHeaders.js +1 -2
  35. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  36. package/lib/components/VDataTable/VDataTableServer.d.ts +62 -189
  37. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTableVirtual.d.ts +62 -189
  39. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  40. package/lib/components/VDataTable/composables/headers.d.ts +75 -75
  41. package/lib/components/VDataTable/composables/select.js +1 -1
  42. package/lib/components/VDataTable/composables/select.js.map +1 -1
  43. package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
  44. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +6 -6
  45. package/lib/components/VDialog/VDialog.d.ts +1048 -146
  46. package/lib/components/VDialog/VDialog.js +1 -1
  47. package/lib/components/VDialog/VDialog.js.map +1 -1
  48. package/lib/components/VFab/VFab.d.ts +22 -46
  49. package/lib/components/VFileInput/VFileInput.css +4 -0
  50. package/lib/components/VFileInput/VFileInput.js +21 -3
  51. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  52. package/lib/components/VFileInput/VFileInput.sass +4 -0
  53. package/lib/components/VImg/VImg.d.ts +22 -49
  54. package/lib/components/VLazy/VLazy.d.ts +22 -46
  55. package/lib/components/VMenu/VMenu.d.ts +1048 -146
  56. package/lib/components/VMenu/VMenu.js.map +1 -1
  57. package/lib/components/VMessages/VMessages.d.ts +22 -46
  58. package/lib/components/VNumberInput/VNumberInput.d.ts +3 -3
  59. package/lib/components/VOverlay/VOverlay.d.ts +22 -49
  60. package/lib/components/VOverlay/locationStrategies.js +1 -1
  61. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  62. package/lib/components/VSelect/VSelect.d.ts +1235 -93
  63. package/lib/components/VSnackbar/VSnackbar.d.ts +58 -109
  64. package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +22 -46
  65. package/lib/components/VSpeedDial/VSpeedDial.d.ts +1434 -80
  66. package/lib/components/VTable/VTable.css +2 -6
  67. package/lib/components/VTable/VTable.sass +4 -22
  68. package/lib/components/VTabs/VTabs.d.ts +6 -6
  69. package/lib/components/VTextField/VTextField.js +5 -3
  70. package/lib/components/VTextField/VTextField.js.map +1 -1
  71. package/lib/components/VTooltip/VTooltip.d.ts +58 -109
  72. package/lib/components/VTooltip/VTooltip.js +2 -2
  73. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  74. package/lib/components/transitions/dialog-transition.js +3 -3
  75. package/lib/components/transitions/dialog-transition.js.map +1 -1
  76. package/lib/composables/transition.d.ts +10 -20
  77. package/lib/composables/transition.js +15 -12
  78. package/lib/composables/transition.js.map +1 -1
  79. package/lib/entry-bundler.d.ts +6 -6
  80. package/lib/entry-bundler.js +1 -1
  81. package/lib/framework.d.ts +99 -138
  82. package/lib/framework.js +1 -1
  83. package/lib/labs/VCalendar/VCalendar.d.ts +3 -3
  84. package/lib/labs/VCalendar/VCalendarDay.d.ts +3 -3
  85. package/lib/labs/VCalendar/VCalendarInterval.d.ts +3 -3
  86. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +3 -3
  87. package/lib/labs/VDateInput/VDateInput.d.ts +50 -13
  88. package/lib/labs/VDateInput/VDateInput.js +30 -9
  89. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  90. package/lib/labs/VFileUpload/VFileUpload.js +19 -31
  91. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  92. package/lib/labs/VTimePicker/VTimePickerClock.js +2 -2
  93. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  94. package/lib/util/helpers.js.map +1 -1
  95. package/package.json +7 -7
@@ -6,14 +6,14 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
6
6
  headers?: unknown;
7
7
  } = {}>(defaults?: Defaults | undefined) => {
8
8
  headers: unknown extends Defaults["headers"] ? PropType<readonly {
9
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
9
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
10
10
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
11
11
  readonly title?: string | undefined;
12
12
  readonly fixed?: boolean | undefined;
13
- readonly align?: ("start" | "end" | "center") | undefined;
14
- readonly width?: (number | string) | undefined;
15
- readonly minWidth?: (number | string) | undefined;
16
- readonly maxWidth?: (number | string) | undefined;
13
+ readonly align?: "start" | "end" | "center" | undefined;
14
+ readonly width?: number | string | undefined;
15
+ readonly minWidth?: number | string | undefined;
16
+ readonly maxWidth?: number | string | undefined;
17
17
  readonly nowrap?: boolean | undefined;
18
18
  readonly headerProps?: {
19
19
  readonly [x: string]: any;
@@ -26,14 +26,14 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
26
26
  readonly sortRaw?: DataTableCompareFunction | undefined;
27
27
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
28
28
  readonly children?: readonly {
29
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
29
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
30
30
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
31
31
  readonly title?: string | undefined;
32
32
  readonly fixed?: boolean | undefined;
33
- readonly align?: ("start" | "end" | "center") | undefined;
34
- readonly width?: (number | string) | undefined;
35
- readonly minWidth?: (number | string) | undefined;
36
- readonly maxWidth?: (number | string) | undefined;
33
+ readonly align?: "start" | "end" | "center" | undefined;
34
+ readonly width?: number | string | undefined;
35
+ readonly minWidth?: number | string | undefined;
36
+ readonly maxWidth?: number | string | undefined;
37
37
  readonly nowrap?: boolean | undefined;
38
38
  readonly headerProps?: {
39
39
  readonly [x: string]: any;
@@ -45,18 +45,18 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
45
45
  readonly sort?: DataTableCompareFunction | undefined;
46
46
  readonly sortRaw?: DataTableCompareFunction | undefined;
47
47
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
48
- readonly children?: readonly any[] | undefined;
48
+ readonly children?: readonly /*elided*/ any[] | undefined;
49
49
  }[] | undefined;
50
50
  }[]> : {
51
51
  type: PropType<unknown extends Defaults["headers"] ? readonly {
52
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
52
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
53
53
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
54
54
  readonly title?: string | undefined;
55
55
  readonly fixed?: boolean | undefined;
56
- readonly align?: ("start" | "end" | "center") | undefined;
57
- readonly width?: (number | string) | undefined;
58
- readonly minWidth?: (number | string) | undefined;
59
- readonly maxWidth?: (number | string) | undefined;
56
+ readonly align?: "start" | "end" | "center" | undefined;
57
+ readonly width?: number | string | undefined;
58
+ readonly minWidth?: number | string | undefined;
59
+ readonly maxWidth?: number | string | undefined;
60
60
  readonly nowrap?: boolean | undefined;
61
61
  readonly headerProps?: {
62
62
  readonly [x: string]: any;
@@ -69,14 +69,14 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
69
69
  readonly sortRaw?: DataTableCompareFunction | undefined;
70
70
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
71
71
  readonly children?: readonly {
72
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
72
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
73
73
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
74
74
  readonly title?: string | undefined;
75
75
  readonly fixed?: boolean | undefined;
76
- readonly align?: ("start" | "end" | "center") | undefined;
77
- readonly width?: (number | string) | undefined;
78
- readonly minWidth?: (number | string) | undefined;
79
- readonly maxWidth?: (number | string) | undefined;
76
+ readonly align?: "start" | "end" | "center" | undefined;
77
+ readonly width?: number | string | undefined;
78
+ readonly minWidth?: number | string | undefined;
79
+ readonly maxWidth?: number | string | undefined;
80
80
  readonly nowrap?: boolean | undefined;
81
81
  readonly headerProps?: {
82
82
  readonly [x: string]: any;
@@ -88,17 +88,17 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
88
88
  readonly sort?: DataTableCompareFunction | undefined;
89
89
  readonly sortRaw?: DataTableCompareFunction | undefined;
90
90
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
91
- readonly children?: readonly any[] | undefined;
91
+ readonly children?: readonly /*elided*/ any[] | undefined;
92
92
  }[] | undefined;
93
93
  }[] : readonly {
94
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
94
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
95
95
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
96
96
  readonly title?: string | undefined;
97
97
  readonly fixed?: boolean | undefined;
98
- readonly align?: ("start" | "end" | "center") | undefined;
99
- readonly width?: (number | string) | undefined;
100
- readonly minWidth?: (number | string) | undefined;
101
- readonly maxWidth?: (number | string) | undefined;
98
+ readonly align?: "start" | "end" | "center" | undefined;
99
+ readonly width?: number | string | undefined;
100
+ readonly minWidth?: number | string | undefined;
101
+ readonly maxWidth?: number | string | undefined;
102
102
  readonly nowrap?: boolean | undefined;
103
103
  readonly headerProps?: {
104
104
  readonly [x: string]: any;
@@ -111,14 +111,14 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
111
111
  readonly sortRaw?: DataTableCompareFunction | undefined;
112
112
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
113
113
  readonly children?: readonly {
114
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
114
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
115
115
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
116
116
  readonly title?: string | undefined;
117
117
  readonly fixed?: boolean | undefined;
118
- readonly align?: ("start" | "end" | "center") | undefined;
119
- readonly width?: (number | string) | undefined;
120
- readonly minWidth?: (number | string) | undefined;
121
- readonly maxWidth?: (number | string) | undefined;
118
+ readonly align?: "start" | "end" | "center" | undefined;
119
+ readonly width?: number | string | undefined;
120
+ readonly minWidth?: number | string | undefined;
121
+ readonly maxWidth?: number | string | undefined;
122
122
  readonly nowrap?: boolean | undefined;
123
123
  readonly headerProps?: {
124
124
  readonly [x: string]: any;
@@ -130,18 +130,18 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
130
130
  readonly sort?: DataTableCompareFunction | undefined;
131
131
  readonly sortRaw?: DataTableCompareFunction | undefined;
132
132
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
133
- readonly children?: readonly any[] | undefined;
133
+ readonly children?: readonly /*elided*/ any[] | undefined;
134
134
  }[] | undefined;
135
135
  }[] | Defaults["headers"]>;
136
136
  default: unknown extends Defaults["headers"] ? readonly {
137
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
137
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
138
138
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
139
139
  readonly title?: string | undefined;
140
140
  readonly fixed?: boolean | undefined;
141
- readonly align?: ("start" | "end" | "center") | undefined;
142
- readonly width?: (number | string) | undefined;
143
- readonly minWidth?: (number | string) | undefined;
144
- readonly maxWidth?: (number | string) | undefined;
141
+ readonly align?: "start" | "end" | "center" | undefined;
142
+ readonly width?: number | string | undefined;
143
+ readonly minWidth?: number | string | undefined;
144
+ readonly maxWidth?: number | string | undefined;
145
145
  readonly nowrap?: boolean | undefined;
146
146
  readonly headerProps?: {
147
147
  readonly [x: string]: any;
@@ -154,14 +154,14 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
154
154
  readonly sortRaw?: DataTableCompareFunction | undefined;
155
155
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
156
156
  readonly children?: readonly {
157
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
157
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
158
158
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
159
159
  readonly title?: string | undefined;
160
160
  readonly fixed?: boolean | undefined;
161
- readonly align?: ("start" | "end" | "center") | undefined;
162
- readonly width?: (number | string) | undefined;
163
- readonly minWidth?: (number | string) | undefined;
164
- readonly maxWidth?: (number | string) | undefined;
161
+ readonly align?: "start" | "end" | "center" | undefined;
162
+ readonly width?: number | string | undefined;
163
+ readonly minWidth?: number | string | undefined;
164
+ readonly maxWidth?: number | string | undefined;
165
165
  readonly nowrap?: boolean | undefined;
166
166
  readonly headerProps?: {
167
167
  readonly [x: string]: any;
@@ -173,17 +173,17 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
173
173
  readonly sort?: DataTableCompareFunction | undefined;
174
174
  readonly sortRaw?: DataTableCompareFunction | undefined;
175
175
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
176
- readonly children?: readonly any[] | undefined;
176
+ readonly children?: readonly /*elided*/ any[] | undefined;
177
177
  }[] | undefined;
178
178
  }[] : readonly {
179
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
179
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
180
180
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
181
181
  readonly title?: string | undefined;
182
182
  readonly fixed?: boolean | undefined;
183
- readonly align?: ("start" | "end" | "center") | undefined;
184
- readonly width?: (number | string) | undefined;
185
- readonly minWidth?: (number | string) | undefined;
186
- readonly maxWidth?: (number | string) | undefined;
183
+ readonly align?: "start" | "end" | "center" | undefined;
184
+ readonly width?: number | string | undefined;
185
+ readonly minWidth?: number | string | undefined;
186
+ readonly maxWidth?: number | string | undefined;
187
187
  readonly nowrap?: boolean | undefined;
188
188
  readonly headerProps?: {
189
189
  readonly [x: string]: any;
@@ -196,14 +196,14 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
196
196
  readonly sortRaw?: DataTableCompareFunction | undefined;
197
197
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
198
198
  readonly children?: readonly {
199
- readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
199
+ readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined;
200
200
  readonly value?: import("../../../util/index.js").SelectItemKey<Record<string, any>>;
201
201
  readonly title?: string | undefined;
202
202
  readonly fixed?: boolean | undefined;
203
- readonly align?: ("start" | "end" | "center") | undefined;
204
- readonly width?: (number | string) | undefined;
205
- readonly minWidth?: (number | string) | undefined;
206
- readonly maxWidth?: (number | string) | undefined;
203
+ readonly align?: "start" | "end" | "center" | undefined;
204
+ readonly width?: number | string | undefined;
205
+ readonly minWidth?: number | string | undefined;
206
+ readonly maxWidth?: number | string | undefined;
207
207
  readonly nowrap?: boolean | undefined;
208
208
  readonly headerProps?: {
209
209
  readonly [x: string]: any;
@@ -215,7 +215,7 @@ export declare const makeDataTableHeaderProps: <Defaults extends {
215
215
  readonly sort?: DataTableCompareFunction | undefined;
216
216
  readonly sortRaw?: DataTableCompareFunction | undefined;
217
217
  readonly filter?: import("../../../composables/filter.js").FilterFunction | undefined;
218
- readonly children?: readonly any[] | undefined;
218
+ readonly children?: readonly /*elided*/ any[] | undefined;
219
219
  }[] | undefined;
220
220
  }[] | Defaults["headers"];
221
221
  };
@@ -237,12 +237,12 @@ export declare function createHeaders(props: HeaderProps, options?: {
237
237
  fixed?: boolean | undefined;
238
238
  filter?: import("../../../composables/filter.js").FilterFunction | undefined;
239
239
  sort?: DataTableCompareFunction | undefined;
240
- width?: (number | string) | undefined;
241
- maxWidth?: (number | string) | undefined;
242
- minWidth?: (number | string) | undefined;
240
+ width?: number | string | undefined;
241
+ maxWidth?: number | string | undefined;
242
+ minWidth?: number | string | undefined;
243
243
  title?: string | undefined;
244
244
  nowrap?: boolean | undefined;
245
- align?: ("start" | "end" | "center") | undefined;
245
+ align?: "start" | "end" | "center" | undefined;
246
246
  headerProps?: Record<string, any> | undefined;
247
247
  cellProps?: import("../types.js").HeaderCellProps | undefined;
248
248
  sortable: boolean;
@@ -253,17 +253,17 @@ export declare function createHeaders(props: HeaderProps, options?: {
253
253
  lastFixed?: boolean | undefined;
254
254
  colspan?: number | undefined;
255
255
  rowspan?: number | undefined;
256
- children?: any[] | undefined;
256
+ children?: /*elided*/ any[] | undefined;
257
257
  }[][], InternalDataTableHeader[][] | {
258
258
  fixed?: boolean | undefined;
259
259
  filter?: import("../../../composables/filter.js").FilterFunction | undefined;
260
260
  sort?: DataTableCompareFunction | undefined;
261
- width?: (number | string) | undefined;
262
- maxWidth?: (number | string) | undefined;
263
- minWidth?: (number | string) | undefined;
261
+ width?: number | string | undefined;
262
+ maxWidth?: number | string | undefined;
263
+ minWidth?: number | string | undefined;
264
264
  title?: string | undefined;
265
265
  nowrap?: boolean | undefined;
266
- align?: ("start" | "end" | "center") | undefined;
266
+ align?: "start" | "end" | "center" | undefined;
267
267
  headerProps?: Record<string, any> | undefined;
268
268
  cellProps?: import("../types.js").HeaderCellProps | undefined;
269
269
  sortable: boolean;
@@ -274,18 +274,18 @@ export declare function createHeaders(props: HeaderProps, options?: {
274
274
  lastFixed?: boolean | undefined;
275
275
  colspan?: number | undefined;
276
276
  rowspan?: number | undefined;
277
- children?: any[] | undefined;
277
+ children?: /*elided*/ any[] | undefined;
278
278
  }[][]>;
279
279
  columns: Ref<{
280
280
  fixed?: boolean | undefined;
281
281
  filter?: import("../../../composables/filter.js").FilterFunction | undefined;
282
282
  sort?: DataTableCompareFunction | undefined;
283
- width?: (number | string) | undefined;
284
- maxWidth?: (number | string) | undefined;
285
- minWidth?: (number | string) | undefined;
283
+ width?: number | string | undefined;
284
+ maxWidth?: number | string | undefined;
285
+ minWidth?: number | string | undefined;
286
286
  title?: string | undefined;
287
287
  nowrap?: boolean | undefined;
288
- align?: ("start" | "end" | "center") | undefined;
288
+ align?: "start" | "end" | "center" | undefined;
289
289
  headerProps?: Record<string, any> | undefined;
290
290
  cellProps?: import("../types.js").HeaderCellProps | undefined;
291
291
  sortable: boolean;
@@ -296,17 +296,17 @@ export declare function createHeaders(props: HeaderProps, options?: {
296
296
  lastFixed?: boolean | undefined;
297
297
  colspan?: number | undefined;
298
298
  rowspan?: number | undefined;
299
- children?: any[] | undefined;
299
+ children?: /*elided*/ any[] | undefined;
300
300
  }[], InternalDataTableHeader[] | {
301
301
  fixed?: boolean | undefined;
302
302
  filter?: import("../../../composables/filter.js").FilterFunction | undefined;
303
303
  sort?: DataTableCompareFunction | undefined;
304
- width?: (number | string) | undefined;
305
- maxWidth?: (number | string) | undefined;
306
- minWidth?: (number | string) | undefined;
304
+ width?: number | string | undefined;
305
+ maxWidth?: number | string | undefined;
306
+ minWidth?: number | string | undefined;
307
307
  title?: string | undefined;
308
308
  nowrap?: boolean | undefined;
309
- align?: ("start" | "end" | "center") | undefined;
309
+ align?: "start" | "end" | "center" | undefined;
310
310
  headerProps?: Record<string, any> | undefined;
311
311
  cellProps?: import("../types.js").HeaderCellProps | undefined;
312
312
  sortable: boolean;
@@ -317,7 +317,7 @@ export declare function createHeaders(props: HeaderProps, options?: {
317
317
  lastFixed?: boolean | undefined;
318
318
  colspan?: number | undefined;
319
319
  rowspan?: number | undefined;
320
- children?: any[] | undefined;
320
+ children?: /*elided*/ any[] | undefined;
321
321
  }[]>;
322
322
  sortFunctions: Ref<Record<string, DataTableCompareFunction>, Record<string, DataTableCompareFunction>>;
323
323
  sortRawFunctions: Ref<Record<string, DataTableCompareFunction>, Record<string, DataTableCompareFunction>>;
@@ -145,7 +145,7 @@ export function provideSelection(props, _ref9) {
145
145
  index = index ?? currentPage.value.findIndex(i => i.value === item.value);
146
146
  if (props.selectStrategy !== 'single' && event?.shiftKey && lastSelectedIndex.value !== null) {
147
147
  const [start, end] = [lastSelectedIndex.value, index].sort((a, b) => a - b);
148
- items.push(...currentPage.value.slice(start, end + 1));
148
+ items.push(...currentPage.value.slice(start, end + 1).filter(item => item.selectable));
149
149
  } else {
150
150
  items.push(item);
151
151
  lastSelectedIndex.value = index;
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":["useProxiedModel","computed","inject","provide","shallowRef","toRef","deepEqual","propsFactory","wrapInArray","singleSelectStrategy","showSelectAll","allSelected","select","_ref","items","value","Set","selectAll","_ref2","selected","pageSelectStrategy","_ref3","currentPage","_ref4","item","add","delete","_ref5","allSelectStrategy","_ref6","allItems","_ref7","_ref8","makeDataTableSelectProps","showSelect","Boolean","selectStrategy","type","String","Object","default","modelValue","Array","valueComparator","Function","VDataTableSelectionSymbol","Symbol","for","provideSelection","props","_ref9","v","map","find","values","allSelectable","filter","selectable","currentPageSelectable","lastSelectedIndex","isSelected","every","has","isSomeSelected","some","newSelected","toggleSelect","index","event","findIndex","i","shiftKey","start","end","sort","a","b","push","slice","someSelected","size","length","data","useSelection","Error"],"sources":["../../../../src/components/VDataTable/composables/select.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, shallowRef, toRef } from 'vue'\nimport { deepEqual, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableItemProps } from './items'\nimport type { EventProp } from '@/util'\n\nexport interface SelectableItem {\n value: any\n selectable: boolean\n}\n\nexport interface DataTableSelectStrategy {\n showSelectAll: boolean\n allSelected: (data: {\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n }) => SelectableItem[]\n select: (data: {\n items: SelectableItem[]\n value: boolean\n selected: Set<unknown>\n }) => Set<unknown>\n selectAll: (data: {\n value: boolean\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n selected: Set<unknown>\n }) => Set<unknown>\n}\n\ntype SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {\n modelValue: readonly any[]\n selectStrategy: 'single' | 'page' | 'all'\n valueComparator: typeof deepEqual\n 'onUpdate:modelValue': EventProp<[any[]]> | undefined\n}\n\nconst singleSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: false,\n allSelected: () => [],\n select: ({ items, value }) => {\n return new Set(value ? [items[0]?.value] : [])\n },\n selectAll: ({ selected }) => selected,\n}\n\nconst pageSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ currentPage }) => currentPage,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, currentPage, selected }) => pageSelectStrategy.select({ items: currentPage, value, selected }),\n}\n\nconst allSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ allItems }) => allItems,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, allItems, selected }) => allSelectStrategy.select({ items: allItems, value, selected }),\n}\n\nexport const makeDataTableSelectProps = propsFactory({\n showSelect: Boolean,\n selectStrategy: {\n type: [String, Object] as PropType<'single' | 'page' | 'all'>,\n default: 'page',\n },\n modelValue: {\n type: Array as PropType<readonly any[]>,\n default: () => ([]),\n },\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n}, 'DataTable-select')\n\nexport const VDataTableSelectionSymbol: InjectionKey<ReturnType<typeof provideSelection>> = Symbol.for('vuetify:data-table-selection')\n\nexport function provideSelection (\n props: SelectionProps,\n { allItems, currentPage }: { allItems: Ref<SelectableItem[]>, currentPage: Ref<SelectableItem[]> }\n) {\n const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {\n return new Set(wrapInArray(v).map(v => {\n return allItems.value.find(item => props.valueComparator(v, item.value))?.value ?? v\n }))\n }, v => {\n return [...v.values()]\n })\n\n const allSelectable = computed(() => allItems.value.filter(item => item.selectable))\n const currentPageSelectable = computed(() => currentPage.value.filter(item => item.selectable))\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single': return singleSelectStrategy\n case 'all': return allSelectStrategy\n case 'page':\n default: return pageSelectStrategy\n }\n })\n\n const lastSelectedIndex = shallowRef<number | null>(null)\n\n function isSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).every(item => selected.value.has(item.value))\n }\n\n function isSomeSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).some(item => selected.value.has(item.value))\n }\n\n function select (items: SelectableItem[], value: boolean) {\n const newSelected = selectStrategy.value.select({\n items,\n value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n function toggleSelect (item: SelectableItem, index?: number, event?: MouseEvent) {\n const items = []\n index = index ?? currentPage.value.findIndex(i => i.value === item.value)\n\n if (props.selectStrategy !== 'single' && event?.shiftKey && lastSelectedIndex.value !== null) {\n const [start, end] = [lastSelectedIndex.value, index].sort((a, b) => a - b)\n\n items.push(...currentPage.value.slice(start, end + 1))\n } else {\n items.push(item)\n lastSelectedIndex.value = index\n }\n\n select(items, !isSelected([item]))\n }\n\n function selectAll (value: boolean) {\n const newSelected = selectStrategy.value.selectAll({\n value,\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n const someSelected = computed(() => selected.value.size > 0)\n const allSelected = computed(() => {\n const items = selectStrategy.value.allSelected({\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n })\n return !!items.length && isSelected(items)\n })\n const showSelectAll = toRef(() => selectStrategy.value.showSelectAll)\n\n const data = {\n toggleSelect,\n select,\n selectAll,\n isSelected,\n isSomeSelected,\n someSelected,\n allSelected,\n showSelectAll,\n lastSelectedIndex,\n selectStrategy,\n }\n\n provide(VDataTableSelectionSymbol, data)\n\n return data\n}\n\nexport function useSelection () {\n const data = inject(VDataTableSelectionSymbol)\n\n if (!data) throw new Error('Missing selection!')\n\n return data\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"select.js","names":["useProxiedModel","computed","inject","provide","shallowRef","toRef","deepEqual","propsFactory","wrapInArray","singleSelectStrategy","showSelectAll","allSelected","select","_ref","items","value","Set","selectAll","_ref2","selected","pageSelectStrategy","_ref3","currentPage","_ref4","item","add","delete","_ref5","allSelectStrategy","_ref6","allItems","_ref7","_ref8","makeDataTableSelectProps","showSelect","Boolean","selectStrategy","type","String","Object","default","modelValue","Array","valueComparator","Function","VDataTableSelectionSymbol","Symbol","for","provideSelection","props","_ref9","v","map","find","values","allSelectable","filter","selectable","currentPageSelectable","lastSelectedIndex","isSelected","every","has","isSomeSelected","some","newSelected","toggleSelect","index","event","findIndex","i","shiftKey","start","end","sort","a","b","push","slice","someSelected","size","length","data","useSelection","Error"],"sources":["../../../../src/components/VDataTable/composables/select.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, shallowRef, toRef } from 'vue'\nimport { deepEqual, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableItemProps } from './items'\nimport type { EventProp } from '@/util'\n\nexport interface SelectableItem {\n value: any\n selectable: boolean\n}\n\nexport interface DataTableSelectStrategy {\n showSelectAll: boolean\n allSelected: (data: {\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n }) => SelectableItem[]\n select: (data: {\n items: SelectableItem[]\n value: boolean\n selected: Set<unknown>\n }) => Set<unknown>\n selectAll: (data: {\n value: boolean\n allItems: SelectableItem[]\n currentPage: SelectableItem[]\n selected: Set<unknown>\n }) => Set<unknown>\n}\n\ntype SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {\n modelValue: readonly any[]\n selectStrategy: 'single' | 'page' | 'all'\n valueComparator: typeof deepEqual\n 'onUpdate:modelValue': EventProp<[any[]]> | undefined\n}\n\nconst singleSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: false,\n allSelected: () => [],\n select: ({ items, value }) => {\n return new Set(value ? [items[0]?.value] : [])\n },\n selectAll: ({ selected }) => selected,\n}\n\nconst pageSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ currentPage }) => currentPage,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, currentPage, selected }) => pageSelectStrategy.select({ items: currentPage, value, selected }),\n}\n\nconst allSelectStrategy: DataTableSelectStrategy = {\n showSelectAll: true,\n allSelected: ({ allItems }) => allItems,\n select: ({ items, value, selected }) => {\n for (const item of items) {\n if (value) selected.add(item.value)\n else selected.delete(item.value)\n }\n\n return selected\n },\n selectAll: ({ value, allItems, selected }) => allSelectStrategy.select({ items: allItems, value, selected }),\n}\n\nexport const makeDataTableSelectProps = propsFactory({\n showSelect: Boolean,\n selectStrategy: {\n type: [String, Object] as PropType<'single' | 'page' | 'all'>,\n default: 'page',\n },\n modelValue: {\n type: Array as PropType<readonly any[]>,\n default: () => ([]),\n },\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n}, 'DataTable-select')\n\nexport const VDataTableSelectionSymbol: InjectionKey<ReturnType<typeof provideSelection>> = Symbol.for('vuetify:data-table-selection')\n\nexport function provideSelection (\n props: SelectionProps,\n { allItems, currentPage }: { allItems: Ref<SelectableItem[]>, currentPage: Ref<SelectableItem[]> }\n) {\n const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {\n return new Set(wrapInArray(v).map(v => {\n return allItems.value.find(item => props.valueComparator(v, item.value))?.value ?? v\n }))\n }, v => {\n return [...v.values()]\n })\n\n const allSelectable = computed(() => allItems.value.filter(item => item.selectable))\n const currentPageSelectable = computed(() => currentPage.value.filter(item => item.selectable))\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single': return singleSelectStrategy\n case 'all': return allSelectStrategy\n case 'page':\n default: return pageSelectStrategy\n }\n })\n\n const lastSelectedIndex = shallowRef<number | null>(null)\n\n function isSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).every(item => selected.value.has(item.value))\n }\n\n function isSomeSelected (items: SelectableItem | SelectableItem[]) {\n return wrapInArray(items).some(item => selected.value.has(item.value))\n }\n\n function select (items: SelectableItem[], value: boolean) {\n const newSelected = selectStrategy.value.select({\n items,\n value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n function toggleSelect (item: SelectableItem, index?: number, event?: MouseEvent) {\n const items = []\n index = index ?? currentPage.value.findIndex(i => i.value === item.value)\n\n if (props.selectStrategy !== 'single' && event?.shiftKey && lastSelectedIndex.value !== null) {\n const [start, end] = [lastSelectedIndex.value, index].sort((a, b) => a - b)\n\n items.push(...currentPage.value.slice(start, end + 1).filter(item => item.selectable))\n } else {\n items.push(item)\n lastSelectedIndex.value = index\n }\n\n select(items, !isSelected([item]))\n }\n\n function selectAll (value: boolean) {\n const newSelected = selectStrategy.value.selectAll({\n value,\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n selected: new Set(selected.value),\n })\n\n selected.value = newSelected\n }\n\n const someSelected = computed(() => selected.value.size > 0)\n const allSelected = computed(() => {\n const items = selectStrategy.value.allSelected({\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n })\n return !!items.length && isSelected(items)\n })\n const showSelectAll = toRef(() => selectStrategy.value.showSelectAll)\n\n const data = {\n toggleSelect,\n select,\n selectAll,\n isSelected,\n isSomeSelected,\n someSelected,\n allSelected,\n showSelectAll,\n lastSelectedIndex,\n selectStrategy,\n }\n\n provide(VDataTableSelectionSymbol, data)\n\n return data\n}\n\nexport function useSelection () {\n const data = inject(VDataTableSelectionSymbol)\n\n if (!data) throw new Error('Missing selection!')\n\n return data\n}\n"],"mappings":"AAAA;AAAA,SACSA,eAAe,gDAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACzDC,SAAS,EAAEC,YAAY,EAAEC,WAAW,kCAE7C;AAoCA,MAAMC,oBAA6C,GAAG;EACpDC,aAAa,EAAE,KAAK;EACpBC,WAAW,EAAEA,CAAA,KAAM,EAAE;EACrBC,MAAM,EAAEC,IAAA,IAAsB;IAAA,IAArB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IACvB,OAAO,IAAIG,GAAG,CAACD,KAAK,GAAG,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEC,KAAK,CAAC,GAAG,EAAE,CAAC;EAChD,CAAC;EACDE,SAAS,EAAEC,KAAA;IAAA,IAAC;MAAEC;IAAS,CAAC,GAAAD,KAAA;IAAA,OAAKC,QAAQ;EAAA;AACvC,CAAC;AAED,MAAMC,kBAA2C,GAAG;EAClDV,aAAa,EAAE,IAAI;EACnBC,WAAW,EAAEU,KAAA;IAAA,IAAC;MAAEC;IAAY,CAAC,GAAAD,KAAA;IAAA,OAAKC,WAAW;EAAA;EAC7CV,MAAM,EAAEW,KAAA,IAAgC;IAAA,IAA/B;MAAET,KAAK;MAAEC,KAAK;MAAEI;IAAS,CAAC,GAAAI,KAAA;IACjC,KAAK,MAAMC,IAAI,IAAIV,KAAK,EAAE;MACxB,IAAIC,KAAK,EAAEI,QAAQ,CAACM,GAAG,CAACD,IAAI,CAACT,KAAK,CAAC,MAC9BI,QAAQ,CAACO,MAAM,CAACF,IAAI,CAACT,KAAK,CAAC;IAClC;IAEA,OAAOI,QAAQ;EACjB,CAAC;EACDF,SAAS,EAAEU,KAAA;IAAA,IAAC;MAAEZ,KAAK;MAAEO,WAAW;MAAEH;IAAS,CAAC,GAAAQ,KAAA;IAAA,OAAKP,kBAAkB,CAACR,MAAM,CAAC;MAAEE,KAAK,EAAEQ,WAAW;MAAEP,KAAK;MAAEI;IAAS,CAAC,CAAC;EAAA;AACrH,CAAC;AAED,MAAMS,iBAA0C,GAAG;EACjDlB,aAAa,EAAE,IAAI;EACnBC,WAAW,EAAEkB,KAAA;IAAA,IAAC;MAAEC;IAAS,CAAC,GAAAD,KAAA;IAAA,OAAKC,QAAQ;EAAA;EACvClB,MAAM,EAAEmB,KAAA,IAAgC;IAAA,IAA/B;MAAEjB,KAAK;MAAEC,KAAK;MAAEI;IAAS,CAAC,GAAAY,KAAA;IACjC,KAAK,MAAMP,IAAI,IAAIV,KAAK,EAAE;MACxB,IAAIC,KAAK,EAAEI,QAAQ,CAACM,GAAG,CAACD,IAAI,CAACT,KAAK,CAAC,MAC9BI,QAAQ,CAACO,MAAM,CAACF,IAAI,CAACT,KAAK,CAAC;IAClC;IAEA,OAAOI,QAAQ;EACjB,CAAC;EACDF,SAAS,EAAEe,KAAA;IAAA,IAAC;MAAEjB,KAAK;MAAEe,QAAQ;MAAEX;IAAS,CAAC,GAAAa,KAAA;IAAA,OAAKJ,iBAAiB,CAAChB,MAAM,CAAC;MAAEE,KAAK,EAAEgB,QAAQ;MAAEf,KAAK;MAAEI;IAAS,CAAC,CAAC;EAAA;AAC9G,CAAC;AAED,OAAO,MAAMc,wBAAwB,GAAG1B,YAAY,CAAC;EACnD2B,UAAU,EAAEC,OAAO;EACnBC,cAAc,EAAE;IACdC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAwC;IAC7DC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAEK,KAAiC;IACvCF,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDG,eAAe,EAAE;IACfN,IAAI,EAAEO,QAAsC;IAC5CJ,OAAO,EAAElC;EACX;AACF,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMuC,yBAA4E,GAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAEtI,OAAO,SAASC,gBAAgBA,CAC9BC,KAAqB,EAAAC,KAAA,EAErB;EAAA,IADA;IAAEpB,QAAQ;IAAER;EAAqF,CAAC,GAAA4B,KAAA;EAElG,MAAM/B,QAAQ,GAAGnB,eAAe,CAACiD,KAAK,EAAE,YAAY,EAAEA,KAAK,CAACR,UAAU,EAAEU,CAAC,IAAI;IAC3E,OAAO,IAAInC,GAAG,CAACR,WAAW,CAAC2C,CAAC,CAAC,CAACC,GAAG,CAACD,CAAC,IAAI;MACrC,OAAOrB,QAAQ,CAACf,KAAK,CAACsC,IAAI,CAAC7B,IAAI,IAAIyB,KAAK,CAACN,eAAe,CAACQ,CAAC,EAAE3B,IAAI,CAACT,KAAK,CAAC,CAAC,EAAEA,KAAK,IAAIoC,CAAC;IACtF,CAAC,CAAC,CAAC;EACL,CAAC,EAAEA,CAAC,IAAI;IACN,OAAO,CAAC,GAAGA,CAAC,CAACG,MAAM,CAAC,CAAC,CAAC;EACxB,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAGtD,QAAQ,CAAC,MAAM6B,QAAQ,CAACf,KAAK,CAACyC,MAAM,CAAChC,IAAI,IAAIA,IAAI,CAACiC,UAAU,CAAC,CAAC;EACpF,MAAMC,qBAAqB,GAAGzD,QAAQ,CAAC,MAAMqB,WAAW,CAACP,KAAK,CAACyC,MAAM,CAAChC,IAAI,IAAIA,IAAI,CAACiC,UAAU,CAAC,CAAC;EAE/F,MAAMrB,cAAc,GAAGnC,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAOgD,KAAK,CAACb,cAAc,KAAK,QAAQ,EAAE,OAAOa,KAAK,CAACb,cAAc;IAEzE,QAAQa,KAAK,CAACb,cAAc;MAC1B,KAAK,QAAQ;QAAE,OAAO3B,oBAAoB;MAC1C,KAAK,KAAK;QAAE,OAAOmB,iBAAiB;MACpC,KAAK,MAAM;MACX;QAAS,OAAOR,kBAAkB;IACpC;EACF,CAAC,CAAC;EAEF,MAAMuC,iBAAiB,GAAGvD,UAAU,CAAgB,IAAI,CAAC;EAEzD,SAASwD,UAAUA,CAAE9C,KAAwC,EAAE;IAC7D,OAAON,WAAW,CAACM,KAAK,CAAC,CAAC+C,KAAK,CAACrC,IAAI,IAAIL,QAAQ,CAACJ,KAAK,CAAC+C,GAAG,CAACtC,IAAI,CAACT,KAAK,CAAC,CAAC;EACzE;EAEA,SAASgD,cAAcA,CAAEjD,KAAwC,EAAE;IACjE,OAAON,WAAW,CAACM,KAAK,CAAC,CAACkD,IAAI,CAACxC,IAAI,IAAIL,QAAQ,CAACJ,KAAK,CAAC+C,GAAG,CAACtC,IAAI,CAACT,KAAK,CAAC,CAAC;EACxE;EAEA,SAASH,MAAMA,CAAEE,KAAuB,EAAEC,KAAc,EAAE;IACxD,MAAMkD,WAAW,GAAG7B,cAAc,CAACrB,KAAK,CAACH,MAAM,CAAC;MAC9CE,KAAK;MACLC,KAAK;MACLI,QAAQ,EAAE,IAAIH,GAAG,CAACG,QAAQ,CAACJ,KAAK;IAClC,CAAC,CAAC;IAEFI,QAAQ,CAACJ,KAAK,GAAGkD,WAAW;EAC9B;EAEA,SAASC,YAAYA,CAAE1C,IAAoB,EAAE2C,KAAc,EAAEC,KAAkB,EAAE;IAC/E,MAAMtD,KAAK,GAAG,EAAE;IAChBqD,KAAK,GAAGA,KAAK,IAAI7C,WAAW,CAACP,KAAK,CAACsD,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACvD,KAAK,KAAKS,IAAI,CAACT,KAAK,CAAC;IAEzE,IAAIkC,KAAK,CAACb,cAAc,KAAK,QAAQ,IAAIgC,KAAK,EAAEG,QAAQ,IAAIZ,iBAAiB,CAAC5C,KAAK,KAAK,IAAI,EAAE;MAC5F,MAAM,CAACyD,KAAK,EAAEC,GAAG,CAAC,GAAG,CAACd,iBAAiB,CAAC5C,KAAK,EAAEoD,KAAK,CAAC,CAACO,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;MAE3E9D,KAAK,CAAC+D,IAAI,CAAC,GAAGvD,WAAW,CAACP,KAAK,CAAC+D,KAAK,CAACN,KAAK,EAAEC,GAAG,GAAG,CAAC,CAAC,CAACjB,MAAM,CAAChC,IAAI,IAAIA,IAAI,CAACiC,UAAU,CAAC,CAAC;IACxF,CAAC,MAAM;MACL3C,KAAK,CAAC+D,IAAI,CAACrD,IAAI,CAAC;MAChBmC,iBAAiB,CAAC5C,KAAK,GAAGoD,KAAK;IACjC;IAEAvD,MAAM,CAACE,KAAK,EAAE,CAAC8C,UAAU,CAAC,CAACpC,IAAI,CAAC,CAAC,CAAC;EACpC;EAEA,SAASP,SAASA,CAAEF,KAAc,EAAE;IAClC,MAAMkD,WAAW,GAAG7B,cAAc,CAACrB,KAAK,CAACE,SAAS,CAAC;MACjDF,KAAK;MACLe,QAAQ,EAAEyB,aAAa,CAACxC,KAAK;MAC7BO,WAAW,EAAEoC,qBAAqB,CAAC3C,KAAK;MACxCI,QAAQ,EAAE,IAAIH,GAAG,CAACG,QAAQ,CAACJ,KAAK;IAClC,CAAC,CAAC;IAEFI,QAAQ,CAACJ,KAAK,GAAGkD,WAAW;EAC9B;EAEA,MAAMc,YAAY,GAAG9E,QAAQ,CAAC,MAAMkB,QAAQ,CAACJ,KAAK,CAACiE,IAAI,GAAG,CAAC,CAAC;EAC5D,MAAMrE,WAAW,GAAGV,QAAQ,CAAC,MAAM;IACjC,MAAMa,KAAK,GAAGsB,cAAc,CAACrB,KAAK,CAACJ,WAAW,CAAC;MAC7CmB,QAAQ,EAAEyB,aAAa,CAACxC,KAAK;MAC7BO,WAAW,EAAEoC,qBAAqB,CAAC3C;IACrC,CAAC,CAAC;IACF,OAAO,CAAC,CAACD,KAAK,CAACmE,MAAM,IAAIrB,UAAU,CAAC9C,KAAK,CAAC;EAC5C,CAAC,CAAC;EACF,MAAMJ,aAAa,GAAGL,KAAK,CAAC,MAAM+B,cAAc,CAACrB,KAAK,CAACL,aAAa,CAAC;EAErE,MAAMwE,IAAI,GAAG;IACXhB,YAAY;IACZtD,MAAM;IACNK,SAAS;IACT2C,UAAU;IACVG,cAAc;IACdgB,YAAY;IACZpE,WAAW;IACXD,aAAa;IACbiD,iBAAiB;IACjBvB;EACF,CAAC;EAEDjC,OAAO,CAAC0C,yBAAyB,EAAEqC,IAAI,CAAC;EAExC,OAAOA,IAAI;AACb;AAEA,OAAO,SAASC,YAAYA,CAAA,EAAI;EAC9B,MAAMD,IAAI,GAAGhF,MAAM,CAAC2C,yBAAyB,CAAC;EAE9C,IAAI,CAACqC,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,oBAAoB,CAAC;EAEhD,OAAOF,IAAI;AACb","ignoreList":[]}
@@ -257,9 +257,9 @@ export declare const makeVDatePickerProps: <Defaults extends {
257
257
  type: import("vue").PropType<unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"]>;
258
258
  default: unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"];
259
259
  };
260
- multiple: unknown extends Defaults["multiple"] ? import("vue").PropType<number | boolean | "range" | (string & {})> : {
261
- type: import("vue").PropType<unknown extends Defaults["multiple"] ? number | boolean | "range" | (string & {}) : number | boolean | "range" | (string & {}) | Defaults["multiple"]>;
262
- default: unknown extends Defaults["multiple"] ? number | boolean | "range" | (string & {}) : NonNullable<number | boolean | "range" | (string & {})> | Defaults["multiple"];
260
+ multiple: unknown extends Defaults["multiple"] ? import("vue").PropType<number | boolean | (string & {}) | "range"> : {
261
+ type: import("vue").PropType<unknown extends Defaults["multiple"] ? number | boolean | (string & {}) | "range" : number | boolean | (string & {}) | "range" | Defaults["multiple"]>;
262
+ default: unknown extends Defaults["multiple"] ? number | boolean | (string & {}) | "range" : NonNullable<number | boolean | (string & {}) | "range"> | Defaults["multiple"];
263
263
  };
264
264
  showWeek: unknown extends Defaults["showWeek"] ? BooleanConstructor : {
265
265
  type: import("vue").PropType<unknown extends Defaults["showWeek"] ? boolean : boolean | Defaults["showWeek"]>;
@@ -103,9 +103,9 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
103
103
  type: PropType<unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"]>;
104
104
  default: unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"];
105
105
  };
106
- multiple: unknown extends Defaults["multiple"] ? PropType<number | boolean | "range" | (string & {})> : {
107
- type: PropType<unknown extends Defaults["multiple"] ? number | boolean | "range" | (string & {}) : number | boolean | "range" | (string & {}) | Defaults["multiple"]>;
108
- default: unknown extends Defaults["multiple"] ? number | boolean | "range" | (string & {}) : Defaults["multiple"] | NonNullable<number | boolean | "range" | (string & {})>;
106
+ multiple: unknown extends Defaults["multiple"] ? PropType<number | boolean | (string & {}) | "range"> : {
107
+ type: PropType<unknown extends Defaults["multiple"] ? number | boolean | (string & {}) | "range" : number | boolean | (string & {}) | "range" | Defaults["multiple"]>;
108
+ default: unknown extends Defaults["multiple"] ? number | boolean | (string & {}) | "range" : Defaults["multiple"] | NonNullable<number | boolean | (string & {}) | "range">;
109
109
  };
110
110
  showWeek: unknown extends Defaults["showWeek"] ? BooleanConstructor : {
111
111
  type: PropType<unknown extends Defaults["showWeek"] ? boolean : boolean | Defaults["showWeek"]>;
@@ -146,7 +146,7 @@ export declare const VDatePickerMonth: {
146
146
  max?: unknown;
147
147
  min?: unknown;
148
148
  color?: string | undefined;
149
- multiple?: number | boolean | "range" | (string & {}) | undefined;
149
+ multiple?: number | boolean | (string & {}) | "range" | undefined;
150
150
  month?: string | number | undefined;
151
151
  year?: string | number | undefined;
152
152
  modelValue?: unknown[] | undefined;
@@ -225,7 +225,7 @@ export declare const VDatePickerMonth: {
225
225
  max?: unknown;
226
226
  min?: unknown;
227
227
  color?: string | undefined;
228
- multiple?: number | boolean | "range" | (string & {}) | undefined;
228
+ multiple?: number | boolean | (string & {}) | "range" | undefined;
229
229
  month?: string | number | undefined;
230
230
  year?: string | number | undefined;
231
231
  modelValue?: unknown[] | undefined;
@@ -289,7 +289,7 @@ export declare const VDatePickerMonth: {
289
289
  max?: unknown;
290
290
  min?: unknown;
291
291
  color?: string | undefined;
292
- multiple?: number | boolean | "range" | (string & {}) | undefined;
292
+ multiple?: number | boolean | (string & {}) | "range" | undefined;
293
293
  month?: string | number | undefined;
294
294
  year?: string | number | undefined;
295
295
  modelValue?: unknown[] | undefined;