@vuetify/nightly 3.8.3-master.2025-04-29 → 3.8.3-master.2025-05-01
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -3
- package/dist/json/attributes.json +1686 -1682
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +128 -128
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +3486 -3476
- package/dist/vuetify-labs.cjs +47 -24
- package/dist/vuetify-labs.css +3884 -3888
- package/dist/vuetify-labs.d.ts +4043 -859
- package/dist/vuetify-labs.esm.js +47 -24
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +47 -24
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +20 -17
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2938 -2942
- package/dist/vuetify.d.ts +4021 -857
- package/dist/vuetify.esm.js +20 -17
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +20 -17
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +10 -10
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +792 -74
- package/lib/components/VBadge/VBadge.d.ts +22 -46
- package/lib/components/VBottomSheet/VBottomSheet.d.ts +1434 -80
- package/lib/components/VCombobox/VCombobox.d.ts +792 -74
- package/lib/components/VCounter/VCounter.d.ts +22 -46
- package/lib/components/VDataIterator/VDataIterator.d.ts +22 -46
- package/lib/components/VDataTable/composables/select.js +1 -1
- package/lib/components/VDataTable/composables/select.js.map +1 -1
- package/lib/components/VDialog/VDialog.d.ts +1048 -146
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VFab/VFab.d.ts +22 -46
- package/lib/components/VImg/VImg.d.ts +22 -49
- package/lib/components/VLazy/VLazy.d.ts +22 -46
- package/lib/components/VMenu/VMenu.d.ts +1048 -146
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.d.ts +22 -46
- package/lib/components/VOverlay/VOverlay.d.ts +22 -49
- package/lib/components/VSelect/VSelect.d.ts +1232 -90
- package/lib/components/VSnackbar/VSnackbar.d.ts +58 -109
- package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +22 -46
- package/lib/components/VSpeedDial/VSpeedDial.d.ts +1434 -80
- package/lib/components/VTable/VTable.css +2 -6
- package/lib/components/VTable/VTable.sass +4 -22
- package/lib/components/VTooltip/VTooltip.d.ts +58 -109
- package/lib/components/VTooltip/VTooltip.js +2 -2
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/composables/transition.d.ts +10 -20
- package/lib/composables/transition.js +15 -12
- package/lib/composables/transition.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +93 -132
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +41 -4
- package/lib/labs/VDateInput/VDateInput.js +27 -7
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/package.json +1 -1
@@ -8,38 +8,26 @@ export declare const makeVCounterProps: <Defaults extends {
|
|
8
8
|
max?: unknown;
|
9
9
|
value?: unknown;
|
10
10
|
} = {}>(defaults?: Defaults | undefined) => {
|
11
|
-
transition: unknown extends Defaults["transition"] ?
|
12
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
13
|
-
component?: Component;
|
14
|
-
})>;
|
15
|
-
default: string;
|
16
|
-
validator: (val: unknown) => boolean;
|
17
|
-
}, "type" | "default"> & {
|
11
|
+
transition: unknown extends Defaults["transition"] ? {
|
18
12
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
19
13
|
component?: Component;
|
20
14
|
}) | {
|
21
15
|
component: Component;
|
22
|
-
}>;
|
16
|
+
} | null>;
|
23
17
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
24
18
|
component?: Component;
|
25
|
-
})> | {
|
19
|
+
}) | null> | {
|
26
20
|
component: Component;
|
27
21
|
};
|
28
|
-
} : Omit<
|
29
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
30
|
-
component?: Component;
|
31
|
-
})>;
|
32
|
-
default: string;
|
33
|
-
validator: (val: unknown) => boolean;
|
34
|
-
}, "type" | "default"> & {
|
22
|
+
} : Omit<{
|
35
23
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
36
24
|
component?: Component;
|
37
25
|
}) | {
|
38
26
|
component: Component;
|
39
|
-
}>;
|
27
|
+
} | null>;
|
40
28
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
41
29
|
component?: Component;
|
42
|
-
})> | {
|
30
|
+
}) | null> | {
|
43
31
|
component: Component;
|
44
32
|
};
|
45
33
|
}, "type" | "default"> & {
|
@@ -47,20 +35,20 @@ export declare const makeVCounterProps: <Defaults extends {
|
|
47
35
|
component?: Component;
|
48
36
|
}) | {
|
49
37
|
component: Component;
|
50
|
-
} : string | boolean | (import("vue").TransitionProps & {
|
38
|
+
} | null : string | boolean | (import("vue").TransitionProps & {
|
51
39
|
component?: Component;
|
52
40
|
}) | {
|
53
41
|
component: Component;
|
54
|
-
} | Defaults["transition"]>;
|
42
|
+
} | Defaults["transition"] | null>;
|
55
43
|
default: unknown extends Defaults["transition"] ? string | boolean | (import("vue").TransitionProps & {
|
56
44
|
component?: Component;
|
57
45
|
}) | {
|
58
46
|
component: Component;
|
59
|
-
} : Defaults["transition"] | NonNullable<string | boolean | (import("vue").TransitionProps & {
|
47
|
+
} | null : Defaults["transition"] | NonNullable<string | boolean | (import("vue").TransitionProps & {
|
60
48
|
component?: Component;
|
61
49
|
}) | {
|
62
50
|
component: Component;
|
63
|
-
}>;
|
51
|
+
} | null>;
|
64
52
|
};
|
65
53
|
class: unknown extends Defaults["class"] ? import("vue").PropType<any> : {
|
66
54
|
type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>;
|
@@ -111,7 +99,7 @@ export declare const VCounter: {
|
|
111
99
|
component?: Component;
|
112
100
|
}) | {
|
113
101
|
component: Component;
|
114
|
-
};
|
102
|
+
} | null;
|
115
103
|
value: string | number;
|
116
104
|
style: import("vue").StyleValue;
|
117
105
|
disabled: boolean;
|
@@ -133,7 +121,7 @@ export declare const VCounter: {
|
|
133
121
|
component?: Component;
|
134
122
|
}) | {
|
135
123
|
component: Component;
|
136
|
-
};
|
124
|
+
} | null;
|
137
125
|
value: string | number;
|
138
126
|
style: import("vue").StyleValue;
|
139
127
|
disabled: boolean;
|
@@ -152,7 +140,7 @@ export declare const VCounter: {
|
|
152
140
|
component?: Component;
|
153
141
|
}) | {
|
154
142
|
component: Component;
|
155
|
-
};
|
143
|
+
} | null;
|
156
144
|
value: string | number;
|
157
145
|
style: import("vue").StyleValue;
|
158
146
|
disabled: boolean;
|
@@ -174,7 +162,7 @@ export declare const VCounter: {
|
|
174
162
|
component?: Component;
|
175
163
|
}) | {
|
176
164
|
component: Component;
|
177
|
-
};
|
165
|
+
} | null;
|
178
166
|
value: string | number;
|
179
167
|
style: import("vue").StyleValue;
|
180
168
|
disabled: boolean;
|
@@ -188,7 +176,7 @@ export declare const VCounter: {
|
|
188
176
|
component?: Component;
|
189
177
|
}) | {
|
190
178
|
component: Component;
|
191
|
-
};
|
179
|
+
} | null;
|
192
180
|
value: string | number;
|
193
181
|
style: import("vue").StyleValue;
|
194
182
|
disabled: boolean;
|
@@ -210,28 +198,22 @@ export declare const VCounter: {
|
|
210
198
|
component?: Component;
|
211
199
|
}) | {
|
212
200
|
component: Component;
|
213
|
-
};
|
201
|
+
} | null;
|
214
202
|
value: string | number;
|
215
203
|
style: import("vue").StyleValue;
|
216
204
|
disabled: boolean;
|
217
205
|
}, {}, string, import("vue").SlotsType<Partial<{
|
218
206
|
default: (arg: VCounterSlot) => import("vue").VNode[];
|
219
207
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
|
220
|
-
transition:
|
221
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
222
|
-
component?: Component;
|
223
|
-
})>;
|
224
|
-
default: string;
|
225
|
-
validator: (val: unknown) => boolean;
|
226
|
-
}, "type" | "default"> & {
|
208
|
+
transition: {
|
227
209
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
228
210
|
component?: Component;
|
229
211
|
}) | {
|
230
212
|
component: Component;
|
231
|
-
}>;
|
213
|
+
} | null>;
|
232
214
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
233
215
|
component?: Component;
|
234
|
-
})> | {
|
216
|
+
}) | null> | {
|
235
217
|
component: Component;
|
236
218
|
};
|
237
219
|
};
|
@@ -248,21 +230,15 @@ export declare const VCounter: {
|
|
248
230
|
default: number;
|
249
231
|
};
|
250
232
|
}, import("vue").ExtractPropTypes<{
|
251
|
-
transition:
|
252
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
253
|
-
component?: Component;
|
254
|
-
})>;
|
255
|
-
default: string;
|
256
|
-
validator: (val: unknown) => boolean;
|
257
|
-
}, "type" | "default"> & {
|
233
|
+
transition: {
|
258
234
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
259
235
|
component?: Component;
|
260
236
|
}) | {
|
261
237
|
component: Component;
|
262
|
-
}>;
|
238
|
+
} | null>;
|
263
239
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
264
240
|
component?: Component;
|
265
|
-
})> | {
|
241
|
+
}) | null> | {
|
266
242
|
component: Component;
|
267
243
|
};
|
268
244
|
};
|
@@ -68,41 +68,29 @@ export declare const makeVDataIteratorProps: <Defaults extends {
|
|
68
68
|
search?: unknown;
|
69
69
|
loading?: unknown;
|
70
70
|
} = {}>(defaults?: Defaults | undefined) => {
|
71
|
-
transition: unknown extends Defaults["transition"] ?
|
72
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
73
|
-
component?: Component;
|
74
|
-
})>;
|
75
|
-
default: string;
|
76
|
-
validator: (val: unknown) => boolean;
|
77
|
-
}, "type" | "default"> & {
|
71
|
+
transition: unknown extends Defaults["transition"] ? {
|
78
72
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
79
73
|
component?: Component;
|
80
74
|
}) | {
|
81
75
|
component: Component;
|
82
76
|
hideOnLeave: boolean;
|
83
|
-
}>;
|
77
|
+
} | null>;
|
84
78
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
85
79
|
component?: Component;
|
86
|
-
})> | {
|
80
|
+
}) | null> | {
|
87
81
|
component: Component;
|
88
82
|
hideOnLeave: boolean;
|
89
83
|
};
|
90
|
-
} : Omit<
|
91
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
92
|
-
component?: Component;
|
93
|
-
})>;
|
94
|
-
default: string;
|
95
|
-
validator: (val: unknown) => boolean;
|
96
|
-
}, "type" | "default"> & {
|
84
|
+
} : Omit<{
|
97
85
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
98
86
|
component?: Component;
|
99
87
|
}) | {
|
100
88
|
component: Component;
|
101
89
|
hideOnLeave: boolean;
|
102
|
-
}>;
|
90
|
+
} | null>;
|
103
91
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
104
92
|
component?: Component;
|
105
|
-
})> | {
|
93
|
+
}) | null> | {
|
106
94
|
component: Component;
|
107
95
|
hideOnLeave: boolean;
|
108
96
|
};
|
@@ -112,23 +100,23 @@ export declare const makeVDataIteratorProps: <Defaults extends {
|
|
112
100
|
}) | {
|
113
101
|
component: Component;
|
114
102
|
hideOnLeave: boolean;
|
115
|
-
} : string | boolean | (import("vue").TransitionProps & {
|
103
|
+
} | null : string | boolean | (import("vue").TransitionProps & {
|
116
104
|
component?: Component;
|
117
105
|
}) | {
|
118
106
|
component: Component;
|
119
107
|
hideOnLeave: boolean;
|
120
|
-
} | Defaults["transition"]>;
|
108
|
+
} | Defaults["transition"] | null>;
|
121
109
|
default: unknown extends Defaults["transition"] ? string | boolean | (import("vue").TransitionProps & {
|
122
110
|
component?: Component;
|
123
111
|
}) | {
|
124
112
|
component: Component;
|
125
113
|
hideOnLeave: boolean;
|
126
|
-
} : Defaults["transition"] | NonNullable<string | boolean | (import("vue").TransitionProps & {
|
114
|
+
} | null : Defaults["transition"] | NonNullable<string | boolean | (import("vue").TransitionProps & {
|
127
115
|
component?: Component;
|
128
116
|
}) | {
|
129
117
|
component: Component;
|
130
118
|
hideOnLeave: boolean;
|
131
|
-
}>;
|
119
|
+
} | null>;
|
132
120
|
};
|
133
121
|
tag: unknown extends Defaults["tag"] ? {
|
134
122
|
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
|
@@ -341,7 +329,7 @@ export declare const VDataIterator: {
|
|
341
329
|
}) | {
|
342
330
|
component: Component;
|
343
331
|
hideOnLeave: boolean;
|
344
|
-
};
|
332
|
+
} | null;
|
345
333
|
expanded: readonly string[];
|
346
334
|
loading: boolean;
|
347
335
|
style: import("vue").StyleValue;
|
@@ -394,7 +382,7 @@ export declare const VDataIterator: {
|
|
394
382
|
}) | {
|
395
383
|
component: Component;
|
396
384
|
hideOnLeave: boolean;
|
397
|
-
};
|
385
|
+
} | null;
|
398
386
|
expanded: readonly string[];
|
399
387
|
loading: boolean;
|
400
388
|
style: import("vue").StyleValue;
|
@@ -435,7 +423,7 @@ export declare const VDataIterator: {
|
|
435
423
|
}) | {
|
436
424
|
component: Component;
|
437
425
|
hideOnLeave: boolean;
|
438
|
-
};
|
426
|
+
} | null;
|
439
427
|
expanded: readonly string[];
|
440
428
|
loading: boolean;
|
441
429
|
style: import("vue").StyleValue;
|
@@ -479,7 +467,7 @@ export declare const VDataIterator: {
|
|
479
467
|
}) | {
|
480
468
|
component: Component;
|
481
469
|
hideOnLeave: boolean;
|
482
|
-
};
|
470
|
+
} | null;
|
483
471
|
expanded: readonly string[];
|
484
472
|
loading: boolean;
|
485
473
|
style: import("vue").StyleValue;
|
@@ -511,7 +499,7 @@ export declare const VDataIterator: {
|
|
511
499
|
}) | {
|
512
500
|
component: Component;
|
513
501
|
hideOnLeave: boolean;
|
514
|
-
};
|
502
|
+
} | null;
|
515
503
|
expanded: readonly string[];
|
516
504
|
loading: boolean;
|
517
505
|
style: import("vue").StyleValue;
|
@@ -564,7 +552,7 @@ export declare const VDataIterator: {
|
|
564
552
|
}) | {
|
565
553
|
component: Component;
|
566
554
|
hideOnLeave: boolean;
|
567
|
-
};
|
555
|
+
} | null;
|
568
556
|
expanded: readonly string[];
|
569
557
|
loading: boolean;
|
570
558
|
style: import("vue").StyleValue;
|
@@ -594,22 +582,16 @@ export declare const VDataIterator: {
|
|
594
582
|
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T>(props: {
|
595
583
|
items?: readonly T[];
|
596
584
|
}, slots: VDataIteratorSlots<T>) => GenericProps<typeof props, typeof slots>) & import("../../util/index.js").FilterPropsOptions<{
|
597
|
-
transition:
|
598
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
599
|
-
component?: Component;
|
600
|
-
})>;
|
601
|
-
default: string;
|
602
|
-
validator: (val: unknown) => boolean;
|
603
|
-
}, "type" | "default"> & {
|
585
|
+
transition: {
|
604
586
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
605
587
|
component?: Component;
|
606
588
|
}) | {
|
607
589
|
component: Component;
|
608
590
|
hideOnLeave: boolean;
|
609
|
-
}>;
|
591
|
+
} | null>;
|
610
592
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
611
593
|
component?: Component;
|
612
|
-
})> | {
|
594
|
+
}) | null> | {
|
613
595
|
component: Component;
|
614
596
|
hideOnLeave: boolean;
|
615
597
|
};
|
@@ -688,22 +670,16 @@ export declare const VDataIterator: {
|
|
688
670
|
search: StringConstructor;
|
689
671
|
loading: BooleanConstructor;
|
690
672
|
}, import("vue").ExtractPropTypes<{
|
691
|
-
transition:
|
692
|
-
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
693
|
-
component?: Component;
|
694
|
-
})>;
|
695
|
-
default: string;
|
696
|
-
validator: (val: unknown) => boolean;
|
697
|
-
}, "type" | "default"> & {
|
673
|
+
transition: {
|
698
674
|
type: import("vue").PropType<string | boolean | (import("vue").TransitionProps & {
|
699
675
|
component?: Component;
|
700
676
|
}) | {
|
701
677
|
component: Component;
|
702
678
|
hideOnLeave: boolean;
|
703
|
-
}>;
|
679
|
+
} | null>;
|
704
680
|
default: NonNullable<string | boolean | (import("vue").TransitionProps & {
|
705
681
|
component?: Component;
|
706
|
-
})> | {
|
682
|
+
}) | null> | {
|
707
683
|
component: Component;
|
708
684
|
hideOnLeave: boolean;
|
709
685
|
};
|
@@ -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":"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","ignoreList":[]}
|