@vuetify/nightly 3.6.13-3.7.0-beta.0.0-pr-20092.a834b18 → 3.6.14-master.2024-08-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/dist/json/attributes.json +127 -275
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +130 -130
- package/dist/json/tags.json +5 -42
- package/dist/json/web-types.json +241 -612
- package/dist/vuetify-labs.css +3861 -3156
- package/dist/vuetify-labs.d.ts +368 -697
- package/dist/vuetify-labs.esm.js +238 -240
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +238 -240
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1162 -457
- package/dist/vuetify.d.ts +348 -611
- package/dist/vuetify.esm.js +99 -159
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +99 -159
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1038 -1037
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +5 -1
- package/lib/components/VAppBar/index.d.mts +0 -6
- package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -15
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +42 -61
- package/lib/components/VAvatar/VAvatar.css +2 -7
- package/lib/components/VAvatar/VAvatar.mjs +2 -7
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +0 -1
- package/lib/components/VAvatar/_variables.scss +0 -13
- package/lib/components/VAvatar/index.d.mts +0 -6
- package/lib/components/VBadge/VBadge.css +2 -0
- package/lib/components/VBanner/VBanner.css +12 -4
- package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
- package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
- package/lib/components/VBreadcrumbs/index.d.mts +8 -8
- package/lib/components/VBtn/VBtn.css +16 -9
- package/lib/components/VBtn/VBtn.mjs +2 -4
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +4 -4
- package/lib/components/VBtn/index.d.mts +0 -6
- package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
- package/lib/components/VCard/VCard.css +9 -1
- package/lib/components/VCarousel/VCarousel.css +2 -0
- package/lib/components/VCarousel/index.d.mts +0 -9
- package/lib/components/VCheckbox/index.d.mts +6 -6
- package/lib/components/VChip/VChip.css +15 -9
- package/lib/components/VChip/VChip.sass +1 -1
- package/lib/components/VColorPicker/VColorPicker.css +2 -0
- package/lib/components/VColorPicker/VColorPicker.sass +4 -4
- package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
- package/lib/components/VCombobox/VCombobox.css +4 -0
- package/lib/components/VCombobox/VCombobox.mjs +8 -15
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +42 -61
- package/lib/components/VDialog/VDialog.css +5 -0
- package/lib/components/VDialog/index.d.mts +3 -3
- package/lib/components/VDivider/VDivider.css +2 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +2 -7
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +0 -72
- package/lib/components/VFab/index.d.mts +0 -6
- package/lib/components/VField/VField.css +13 -1
- package/lib/components/VField/VField.sass +5 -8
- package/lib/components/VFileInput/index.d.mts +18 -18
- package/lib/components/VFooter/VFooter.css +12 -4
- package/lib/components/VFooter/VFooter.mjs +20 -14
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.mts +3 -3
- package/lib/components/VForm/index.d.mts +9 -9
- package/lib/components/VGrid/VContainer.mjs +1 -6
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VGrid.sass +1 -1
- package/lib/components/VGrid/_mixins.sass +4 -4
- package/lib/components/VGrid/index.d.mts +0 -36
- package/lib/components/VImg/VImg.css +6 -9
- package/lib/components/VImg/VImg.mjs +0 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +0 -9
- package/lib/components/VImg/index.d.mts +0 -9
- package/lib/components/VInput/index.d.mts +6 -6
- package/lib/components/VKbd/VKbd.css +2 -0
- package/lib/components/VList/VList.css +12 -4
- package/lib/components/VList/VListItem.css +23 -13
- package/lib/components/VList/VListItem.mjs +1 -3
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +2 -2
- package/lib/components/VList/index.d.mts +18 -19
- package/lib/components/VMain/VMain.css +2 -0
- package/lib/components/VMenu/VMenu.css +6 -0
- package/lib/components/VMenu/VMenu.mjs +8 -26
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +15 -30
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
- package/lib/components/VOtpInput/VOtpInput.css +3 -1
- package/lib/components/VOtpInput/VOtpInput.sass +1 -2
- package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +4 -5
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +2 -3
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +6 -6
- package/lib/components/VRangeSlider/index.d.mts +6 -6
- package/lib/components/VSelect/VSelect.css +4 -0
- package/lib/components/VSelect/VSelect.mjs +13 -15
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +42 -61
- package/lib/components/VSelect/useScrolling.mjs +3 -3
- package/lib/components/VSelect/useScrolling.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
- package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
- package/lib/components/VSheet/VSheet.css +12 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
- package/lib/components/VSlideGroup/VSlideGroup.mjs +1 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +0 -6
- package/lib/components/VSlider/VSliderThumb.sass +2 -2
- package/lib/components/VSlider/index.d.mts +6 -6
- package/lib/components/VSnackbar/VSnackbar.css +2 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +3 -3
- package/lib/components/VSpeedDial/index.d.mts +13 -28
- package/lib/components/VStepper/VStepper.css +8 -2
- package/lib/components/VStepper/VStepper.sass +2 -4
- package/lib/components/VStepper/VStepperItem.css +4 -1
- package/lib/components/VStepper/VStepperItem.sass +1 -1
- package/lib/components/VSwitch/VSwitch.css +2 -0
- package/lib/components/VSwitch/VSwitch.sass +10 -10
- package/lib/components/VSwitch/index.d.mts +6 -6
- package/lib/components/VSystemBar/VSystemBar.css +14 -8
- package/lib/components/VTable/VTable.css +8 -4
- package/lib/components/VTable/VTable.sass +2 -3
- package/lib/components/VTabs/index.d.mts +3 -21
- package/lib/components/VTextField/index.d.mts +18 -18
- package/lib/components/VTextarea/index.d.mts +18 -18
- package/lib/components/VTimeline/VTimeline.css +2 -0
- package/lib/components/VToolbar/VToolbar.css +21 -7
- package/lib/components/VToolbar/VToolbar.sass +1 -2
- package/lib/components/VTooltip/index.d.mts +3 -3
- package/lib/components/VTreeview/VTreeview.sass +9 -9
- package/lib/components/VValidation/index.d.mts +8 -9
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +0 -2
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +0 -3
- package/lib/components/index.d.mts +302 -565
- package/lib/composables/nested/nested.mjs +3 -3
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +2 -4
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +5 -5
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/validation.mjs +6 -8
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/virtual.mjs +0 -1
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +46 -46
- package/lib/labs/VDateInput/index.d.mts +6 -6
- package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +23 -14
- package/lib/labs/VPicker/VPicker.css +6 -2
- package/lib/labs/VPicker/VPicker.sass +2 -3
- package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
- package/lib/labs/VStepperVertical/index.d.mts +0 -36
- package/lib/labs/VTreeview/VTreeview.mjs +5 -7
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +10 -33
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +74 -14
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +5 -2
- package/lib/labs/VTreeview/index.d.mts +60 -77
- package/lib/labs/components.d.mts +92 -136
- package/lib/styles/generic/_colors.scss +9 -3
- package/lib/styles/main.css +520 -0
- package/lib/styles/tools/_absolute.sass +8 -7
- package/lib/styles/tools/_border.sass +4 -3
- package/lib/styles/tools/_display.sass +8 -7
- package/lib/styles/tools/_elevation.sass +4 -2
- package/lib/styles/tools/_index.sass +0 -1
- package/lib/styles/tools/_radius.sass +6 -5
- package/lib/styles/tools/_rounded.sass +2 -1
- package/lib/styles/tools/_theme.sass +3 -2
- package/lib/styles/tools/_typography.sass +6 -5
- package/lib/styles/tools/_utilities.sass +5 -5
- package/lib/styles/utilities/_index.sass +7 -7
- package/lib/util/helpers.mjs +0 -5
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/styles/tools/_sheet.sass +0 -14
@@ -76,6 +76,7 @@ declare const VNumberInput: {
|
|
76
76
|
errorMessages: string | readonly string[] | null;
|
77
77
|
maxErrors: string | number;
|
78
78
|
rules: readonly ValidationRule[];
|
79
|
+
modelValue: Number | null;
|
79
80
|
tile: boolean;
|
80
81
|
density: Density;
|
81
82
|
clearIcon: IconValue;
|
@@ -105,8 +106,7 @@ declare const VNumberInput: {
|
|
105
106
|
theme?: string | undefined;
|
106
107
|
counter?: string | number | boolean | undefined;
|
107
108
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
108
|
-
|
109
|
-
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
109
|
+
validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
|
110
110
|
validationValue?: any;
|
111
111
|
rounded?: string | number | boolean | undefined;
|
112
112
|
baseColor?: string | undefined;
|
@@ -184,7 +184,7 @@ declare const VNumberInput: {
|
|
184
184
|
} & {
|
185
185
|
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
186
186
|
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
187
|
-
'update:modelValue': (val: number) =>
|
187
|
+
'update:modelValue': (val: number) => boolean;
|
188
188
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
189
189
|
flat: boolean;
|
190
190
|
reverse: boolean;
|
@@ -206,6 +206,7 @@ declare const VNumberInput: {
|
|
206
206
|
errorMessages: string | readonly string[] | null;
|
207
207
|
maxErrors: string | number;
|
208
208
|
rules: readonly ValidationRule[];
|
209
|
+
modelValue: Number | null;
|
209
210
|
tile: boolean;
|
210
211
|
density: Density;
|
211
212
|
clearIcon: IconValue;
|
@@ -235,8 +236,7 @@ declare const VNumberInput: {
|
|
235
236
|
theme?: string | undefined;
|
236
237
|
counter?: string | number | boolean | undefined;
|
237
238
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
238
|
-
|
239
|
-
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
239
|
+
validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
|
240
240
|
validationValue?: any;
|
241
241
|
rounded?: string | number | boolean | undefined;
|
242
242
|
baseColor?: string | undefined;
|
@@ -334,6 +334,7 @@ declare const VNumberInput: {
|
|
334
334
|
errorMessages: string | readonly string[] | null;
|
335
335
|
maxErrors: string | number;
|
336
336
|
rules: readonly ValidationRule[];
|
337
|
+
modelValue: Number | null;
|
337
338
|
rounded: string | number | boolean;
|
338
339
|
tile: boolean;
|
339
340
|
density: Density;
|
@@ -419,6 +420,7 @@ declare const VNumberInput: {
|
|
419
420
|
errorMessages: string | readonly string[] | null;
|
420
421
|
maxErrors: string | number;
|
421
422
|
rules: readonly ValidationRule[];
|
423
|
+
modelValue: Number | null;
|
422
424
|
tile: boolean;
|
423
425
|
density: Density;
|
424
426
|
clearIcon: IconValue;
|
@@ -448,8 +450,7 @@ declare const VNumberInput: {
|
|
448
450
|
theme?: string | undefined;
|
449
451
|
counter?: string | number | boolean | undefined;
|
450
452
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
451
|
-
|
452
|
-
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
453
|
+
validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
|
453
454
|
validationValue?: any;
|
454
455
|
rounded?: string | number | boolean | undefined;
|
455
456
|
baseColor?: string | undefined;
|
@@ -547,6 +548,7 @@ declare const VNumberInput: {
|
|
547
548
|
errorMessages: string | readonly string[] | null;
|
548
549
|
maxErrors: string | number;
|
549
550
|
rules: readonly ValidationRule[];
|
551
|
+
modelValue: Number | null;
|
550
552
|
rounded: string | number | boolean;
|
551
553
|
tile: boolean;
|
552
554
|
density: Density;
|
@@ -587,6 +589,7 @@ declare const VNumberInput: {
|
|
587
589
|
errorMessages: string | readonly string[] | null;
|
588
590
|
maxErrors: string | number;
|
589
591
|
rules: readonly ValidationRule[];
|
592
|
+
modelValue: Number | null;
|
590
593
|
tile: boolean;
|
591
594
|
density: Density;
|
592
595
|
clearIcon: IconValue;
|
@@ -616,8 +619,7 @@ declare const VNumberInput: {
|
|
616
619
|
theme?: string | undefined;
|
617
620
|
counter?: string | number | boolean | undefined;
|
618
621
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
619
|
-
|
620
|
-
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
622
|
+
validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
|
621
623
|
validationValue?: any;
|
622
624
|
rounded?: string | number | boolean | undefined;
|
623
625
|
baseColor?: string | undefined;
|
@@ -695,7 +697,7 @@ declare const VNumberInput: {
|
|
695
697
|
} & {
|
696
698
|
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
|
697
699
|
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
698
|
-
'update:modelValue': (val: number) =>
|
700
|
+
'update:modelValue': (val: number) => boolean;
|
699
701
|
}, string, {
|
700
702
|
flat: boolean;
|
701
703
|
reverse: boolean;
|
@@ -717,6 +719,7 @@ declare const VNumberInput: {
|
|
717
719
|
errorMessages: string | readonly string[] | null;
|
718
720
|
maxErrors: string | number;
|
719
721
|
rules: readonly ValidationRule[];
|
722
|
+
modelValue: Number | null;
|
720
723
|
rounded: string | number | boolean;
|
721
724
|
tile: boolean;
|
722
725
|
density: Density;
|
@@ -838,8 +841,7 @@ declare const VNumberInput: {
|
|
838
841
|
type: PropType<readonly ValidationRule[]>;
|
839
842
|
default: () => never[];
|
840
843
|
};
|
841
|
-
|
842
|
-
validateOn: PropType<("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined>;
|
844
|
+
validateOn: PropType<"lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined>;
|
843
845
|
validationValue: null;
|
844
846
|
rounded: {
|
845
847
|
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
@@ -887,6 +889,10 @@ declare const VNumberInput: {
|
|
887
889
|
};
|
888
890
|
inset: BooleanConstructor;
|
889
891
|
hideInput: BooleanConstructor;
|
892
|
+
modelValue: {
|
893
|
+
type: PropType<Number | null>;
|
894
|
+
default: null;
|
895
|
+
};
|
890
896
|
min: {
|
891
897
|
type: NumberConstructor;
|
892
898
|
default: number;
|
@@ -963,8 +969,7 @@ declare const VNumberInput: {
|
|
963
969
|
type: PropType<readonly ValidationRule[]>;
|
964
970
|
default: () => never[];
|
965
971
|
};
|
966
|
-
|
967
|
-
validateOn: PropType<("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined>;
|
972
|
+
validateOn: PropType<"lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined>;
|
968
973
|
validationValue: null;
|
969
974
|
rounded: {
|
970
975
|
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
@@ -1012,6 +1017,10 @@ declare const VNumberInput: {
|
|
1012
1017
|
};
|
1013
1018
|
inset: BooleanConstructor;
|
1014
1019
|
hideInput: BooleanConstructor;
|
1020
|
+
modelValue: {
|
1021
|
+
type: PropType<Number | null>;
|
1022
|
+
default: null;
|
1023
|
+
};
|
1015
1024
|
min: {
|
1016
1025
|
type: NumberConstructor;
|
1017
1026
|
default: number;
|
@@ -1,11 +1,15 @@
|
|
1
1
|
.v-picker.v-sheet {
|
2
|
-
box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
3
|
-
border-radius: 4px;
|
4
2
|
display: grid;
|
5
3
|
grid-auto-rows: min-content;
|
6
4
|
grid-template-areas: "title" "header" "body";
|
7
5
|
overflow: hidden;
|
8
6
|
}
|
7
|
+
.v-picker.v-sheet {
|
8
|
+
box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
9
|
+
}
|
10
|
+
.v-picker.v-sheet {
|
11
|
+
border-radius: 4px;
|
12
|
+
}
|
9
13
|
.v-picker.v-sheet.v-picker--with-actions {
|
10
14
|
grid-template-areas: "title" "header" "body" "actions";
|
11
15
|
}
|
@@ -4,13 +4,12 @@
|
|
4
4
|
|
5
5
|
@include tools.layer('components')
|
6
6
|
.v-picker.v-sheet
|
7
|
-
@include tools.elevation($picker-elevation)
|
8
|
-
@include tools.rounded($picker-border-radius)
|
9
|
-
|
10
7
|
display: grid
|
11
8
|
grid-auto-rows: min-content
|
12
9
|
grid-template-areas: "title" "header" "body"
|
13
10
|
overflow: hidden
|
11
|
+
@include tools.elevation($picker-elevation)
|
12
|
+
@include tools.rounded($picker-border-radius)
|
14
13
|
|
15
14
|
&.v-picker--with-actions
|
16
15
|
grid-template-areas: "title" "header" "body" "actions"
|
@@ -654,7 +654,7 @@ declare const VSnackbar: {
|
|
654
654
|
onAfterLeave?: (() => any) | undefined;
|
655
655
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
656
656
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
657
|
-
}, "target" | "
|
657
|
+
}, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
658
658
|
activatorEl: Ref<HTMLElement | undefined>;
|
659
659
|
scrimEl: Ref<HTMLElement | undefined>;
|
660
660
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
@@ -1341,7 +1341,7 @@ declare const VSnackbar: {
|
|
1341
1341
|
onAfterLeave?: (() => any) | undefined;
|
1342
1342
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
1343
1343
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
1344
|
-
}, "target" | "
|
1344
|
+
}, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
1345
1345
|
activatorEl: Ref<HTMLElement | undefined>;
|
1346
1346
|
scrimEl: Ref<HTMLElement | undefined>;
|
1347
1347
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
@@ -1920,7 +1920,7 @@ declare const VSnackbar: {
|
|
1920
1920
|
onAfterLeave?: (() => any) | undefined;
|
1921
1921
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
1922
1922
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
1923
|
-
}, "target" | "
|
1923
|
+
}, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
1924
1924
|
activatorEl: Ref<HTMLElement | undefined>;
|
1925
1925
|
scrimEl: Ref<HTMLElement | undefined>;
|
1926
1926
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
@@ -756,13 +756,7 @@ declare const VStepperVerticalItem: {
|
|
756
756
|
editIcon: string;
|
757
757
|
errorIcon: string;
|
758
758
|
} & {
|
759
|
-
height?: string | number | undefined;
|
760
|
-
width?: string | number | undefined;
|
761
759
|
color?: string | undefined;
|
762
|
-
maxHeight?: string | number | undefined;
|
763
|
-
maxWidth?: string | number | undefined;
|
764
|
-
minHeight?: string | number | undefined;
|
765
|
-
minWidth?: string | number | undefined;
|
766
760
|
value?: any;
|
767
761
|
title?: string | undefined;
|
768
762
|
text?: string | undefined;
|
@@ -843,13 +837,7 @@ declare const VStepperVerticalItem: {
|
|
843
837
|
editIcon: string;
|
844
838
|
errorIcon: string;
|
845
839
|
} & {
|
846
|
-
height?: string | number | undefined;
|
847
|
-
width?: string | number | undefined;
|
848
840
|
color?: string | undefined;
|
849
|
-
maxHeight?: string | number | undefined;
|
850
|
-
maxWidth?: string | number | undefined;
|
851
|
-
minHeight?: string | number | undefined;
|
852
|
-
minWidth?: string | number | undefined;
|
853
841
|
value?: any;
|
854
842
|
title?: string | undefined;
|
855
843
|
text?: string | undefined;
|
@@ -984,13 +972,7 @@ declare const VStepperVerticalItem: {
|
|
984
972
|
editIcon: string;
|
985
973
|
errorIcon: string;
|
986
974
|
} & {
|
987
|
-
height?: string | number | undefined;
|
988
|
-
width?: string | number | undefined;
|
989
975
|
color?: string | undefined;
|
990
|
-
maxHeight?: string | number | undefined;
|
991
|
-
maxWidth?: string | number | undefined;
|
992
|
-
minHeight?: string | number | undefined;
|
993
|
-
minWidth?: string | number | undefined;
|
994
976
|
value?: any;
|
995
977
|
title?: string | undefined;
|
996
978
|
text?: string | undefined;
|
@@ -1094,13 +1076,7 @@ declare const VStepperVerticalItem: {
|
|
1094
1076
|
editIcon: string;
|
1095
1077
|
errorIcon: string;
|
1096
1078
|
} & {
|
1097
|
-
height?: string | number | undefined;
|
1098
|
-
width?: string | number | undefined;
|
1099
1079
|
color?: string | undefined;
|
1100
|
-
maxHeight?: string | number | undefined;
|
1101
|
-
maxWidth?: string | number | undefined;
|
1102
|
-
minHeight?: string | number | undefined;
|
1103
|
-
minWidth?: string | number | undefined;
|
1104
1080
|
value?: any;
|
1105
1081
|
title?: string | undefined;
|
1106
1082
|
text?: string | undefined;
|
@@ -1210,13 +1186,7 @@ declare const VStepperVerticalItem: {
|
|
1210
1186
|
[key: string]: any;
|
1211
1187
|
}>[];
|
1212
1188
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
1213
|
-
height: (StringConstructor | NumberConstructor)[];
|
1214
|
-
width: (StringConstructor | NumberConstructor)[];
|
1215
1189
|
color: StringConstructor;
|
1216
|
-
maxHeight: (StringConstructor | NumberConstructor)[];
|
1217
|
-
maxWidth: (StringConstructor | NumberConstructor)[];
|
1218
|
-
minHeight: (StringConstructor | NumberConstructor)[];
|
1219
|
-
minWidth: (StringConstructor | NumberConstructor)[];
|
1220
1190
|
value: null;
|
1221
1191
|
style: {
|
1222
1192
|
type: vue.PropType<vue.StyleValue>;
|
@@ -1288,13 +1258,7 @@ declare const VStepperVerticalItem: {
|
|
1288
1258
|
};
|
1289
1259
|
hideActions: BooleanConstructor;
|
1290
1260
|
}, vue.ExtractPropTypes<{
|
1291
|
-
height: (StringConstructor | NumberConstructor)[];
|
1292
|
-
width: (StringConstructor | NumberConstructor)[];
|
1293
1261
|
color: StringConstructor;
|
1294
|
-
maxHeight: (StringConstructor | NumberConstructor)[];
|
1295
|
-
maxWidth: (StringConstructor | NumberConstructor)[];
|
1296
|
-
minHeight: (StringConstructor | NumberConstructor)[];
|
1297
|
-
minWidth: (StringConstructor | NumberConstructor)[];
|
1298
1262
|
value: null;
|
1299
1263
|
style: {
|
1300
1264
|
type: vue.PropType<vue.StyleValue>;
|
@@ -5,7 +5,7 @@ import { makeVListProps, useListItems, VList } from "../../components/VList/VLis
|
|
5
5
|
import { provideDefaults } from "../../composables/defaults.mjs";
|
6
6
|
import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
|
7
7
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
8
|
-
import { computed, provide, ref,
|
8
|
+
import { computed, provide, ref, toRef } from 'vue';
|
9
9
|
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
10
10
|
import { VTreeviewSymbol } from "./shared.mjs";
|
11
11
|
function flatten(items) {
|
@@ -27,7 +27,7 @@ export const makeVTreeviewProps = propsFactory({
|
|
27
27
|
collapseIcon: '$treeviewCollapse',
|
28
28
|
expandIcon: '$treeviewExpand',
|
29
29
|
slim: true
|
30
|
-
}), ['nav'
|
30
|
+
}), ['nav'])
|
31
31
|
}, 'VTreeview');
|
32
32
|
export const VTreeview = genericComponent()({
|
33
33
|
name: 'VTreeview',
|
@@ -86,11 +86,11 @@ export const VTreeview = genericComponent()({
|
|
86
86
|
}
|
87
87
|
return arr;
|
88
88
|
}
|
89
|
-
function openAll(
|
89
|
+
function openAll(item) {
|
90
90
|
let ids = [];
|
91
|
-
for (const i of
|
91
|
+
for (const i of item) {
|
92
92
|
if (!i.children) continue;
|
93
|
-
ids.push(
|
93
|
+
ids.push(i.value);
|
94
94
|
if (i.children) {
|
95
95
|
ids = ids.concat(openAll(i.children));
|
96
96
|
}
|
@@ -126,7 +126,6 @@ export const VTreeview = genericComponent()({
|
|
126
126
|
"ref": vListRef
|
127
127
|
}, listProps, {
|
128
128
|
"class": ['v-treeview', props.class],
|
129
|
-
"open-strategy": "multiple",
|
130
129
|
"style": props.style,
|
131
130
|
"opened": opened.value,
|
132
131
|
"activated": activated.value,
|
@@ -135,7 +134,6 @@ export const VTreeview = genericComponent()({
|
|
135
134
|
"onUpdate:selected": $event => selected.value = $event
|
136
135
|
}), {
|
137
136
|
default: () => [_createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
|
138
|
-
"returnObject": props.returnObject,
|
139
137
|
"items": items.value
|
140
138
|
}), slots)]
|
141
139
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTreeview.mjs","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","slim","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","selected","vListRef","opened","flatItems","filteredItems","visibleIds","Set","flatMap","getPath","getChildren","id","path","parent","unshift","parents","get","arr","queue","slice","child","shift","ids","i","returnObject","raw","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event","default","open"],"sources":["../../../src/labs/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeVTreeviewChildrenProps(),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['nav', 'openStrategy']),\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n const activated = useProxiedModel(props, 'activated')\n const selected = useProxiedModel(props, 'selected')\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) {\n return null\n }\n return new Set(filteredItems.value.flatMap(item => {\n return [...getPath(item.props.value), ...getChildren(item.props.value)]\n }))\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n while (parent != null) {\n path.unshift(parent)\n parent = vListRef.value?.parents.get(parent)\n }\n return path\n }\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(props, 'collapseIcon'),\n expandIcon: toRef(props, 'expandIcon'),\n },\n VTreeviewItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n returnObject={ props.returnObject }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return {\n open,\n }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":";AAAA;AAAA,SACSA,0BAA0B,EAAEC,iBAAiB;AAAA,SAC7CC,cAAc,EAAEC,YAAY,EAAEC,KAAK,4CAE5C;AAAA,SACSC,eAAe;AAAA,SACfC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,OAAO,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACjDC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAAA,SACSC,eAAe;AAMxB,SAASC,OAAOA,CAAEC,KAAiB,EAAyB;EAAA,IAAvBC,IAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EACxD,KAAK,MAAMG,IAAI,IAAIL,KAAK,EAAE;IACxBC,IAAI,CAACK,IAAI,CAACD,IAAI,CAAC;IACf,IAAIA,IAAI,CAACE,QAAQ,EAAER,OAAO,CAACM,IAAI,CAACE,QAAQ,EAAEN,IAAI,CAAC;EACjD;EACA,OAAOA,IAAI;AACb;AAEA,OAAO,MAAMO,kBAAkB,GAAGZ,YAAY,CAAC;EAC7Ca,OAAO,EAAEC,OAAO;EAChBC,MAAM,EAAEC,MAAM;EAEd,GAAG1B,eAAe,CAAC;IAAE2B,UAAU,EAAE,CAAC,OAAO;EAAE,CAAC,CAAC;EAC7C,GAAGjC,0BAA0B,CAAC,CAAC;EAC/B,GAAGe,IAAI,CAACb,cAAc,CAAC;IACrBgC,YAAY,EAAE,mBAAmB;IACjCC,UAAU,EAAE,iBAAiB;IAC7BC,IAAI,EAAE;EACR,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC;AAC7B,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMC,SAAS,GAAGvB,gBAAgB,CAKM,CAAC,CAAC;EAC/CwB,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEX,kBAAkB,CAAC,CAAC;EAE3BY,KAAK,EAAE;IACL,eAAe,EAAGC,GAAY,IAAK,IAAI;IACvC,kBAAkB,EAAGA,GAAY,IAAK,IAAI;IAC1C,iBAAiB,EAAGA,GAAY,IAAK,IAAI;IACzC,YAAY,EAAGC,KAAuD,IAAK,IAAI;IAC/E,cAAc,EAAGA,KAAuD,IAAK;EAC/E,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAExB;IAAM,CAAC,GAAGjB,YAAY,CAACoC,KAAK,CAAC;IACrC,MAAMO,WAAW,GAAGjC,KAAK,CAAC0B,KAAK,EAAE,aAAa,CAAC;IAC/C,MAAMQ,SAAS,GAAGlC,KAAK,CAAC0B,KAAK,EAAE,WAAW,CAAC;IAC3C,MAAMS,KAAK,GAAGnC,KAAK,CAAC0B,KAAK,EAAE,OAAO,CAAC;IACnC,MAAMU,SAAS,GAAGzC,eAAe,CAAC+B,KAAK,EAAE,WAAW,CAAC;IACrD,MAAMW,QAAQ,GAAG1C,eAAe,CAAC+B,KAAK,EAAE,UAAU,CAAC;IAEnD,MAAMY,QAAQ,GAAGxC,GAAG,CAAQ,CAAC;IAE7B,MAAMyC,MAAM,GAAG3C,QAAQ,CAAC,MAAM8B,KAAK,CAACV,OAAO,GAAGA,OAAO,CAACT,KAAK,CAACsB,KAAK,CAAC,GAAGH,KAAK,CAACa,MAAM,CAAC;IAClF,MAAMC,SAAS,GAAG5C,QAAQ,CAAC,MAAMU,OAAO,CAACC,KAAK,CAACsB,KAAK,CAAC,CAAC;IACtD,MAAMX,MAAM,GAAGlB,KAAK,CAAC0B,KAAK,EAAE,QAAQ,CAAC;IACrC,MAAM;MAAEe;IAAc,CAAC,GAAG/C,SAAS,CAACgC,KAAK,EAAEc,SAAS,EAAEtB,MAAM,CAAC;IAC7D,MAAMwB,UAAU,GAAG9C,QAAQ,CAAC,MAAM;MAChC,IAAI,CAACsB,MAAM,CAACW,KAAK,EAAE;QACjB,OAAO,IAAI;MACb;MACA,OAAO,IAAIc,GAAG,CAACF,aAAa,CAACZ,KAAK,CAACe,OAAO,CAAChC,IAAI,IAAI;QACjD,OAAO,CAAC,GAAGiC,OAAO,CAACjC,IAAI,CAACc,KAAK,CAACG,KAAK,CAAC,EAAE,GAAGiB,WAAW,CAAClC,IAAI,CAACc,KAAK,CAACG,KAAK,CAAC,CAAC;MACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAASgB,OAAOA,CAAEE,EAAW,EAAE;MAC7B,MAAMC,IAAe,GAAG,EAAE;MAC1B,IAAIC,MAAe,GAAGF,EAAE;MACxB,OAAOE,MAAM,IAAI,IAAI,EAAE;QACrBD,IAAI,CAACE,OAAO,CAACD,MAAM,CAAC;QACpBA,MAAM,GAAGX,QAAQ,CAACT,KAAK,EAAEsB,OAAO,CAACC,GAAG,CAACH,MAAM,CAAC;MAC9C;MACA,OAAOD,IAAI;IACb;IAEA,SAASF,WAAWA,CAAEC,EAAW,EAAE;MACjC,MAAMM,GAAc,GAAG,EAAE;MACzB,MAAMC,KAAK,GAAI,CAAChB,QAAQ,CAACT,KAAK,EAAEf,QAAQ,CAACsC,GAAG,CAACL,EAAE,CAAC,IAAI,EAAE,EAAEQ,KAAK,CAAC,CAAE;MAChE,OAAOD,KAAK,CAAC5C,MAAM,EAAE;QACnB,MAAM8C,KAAK,GAAGF,KAAK,CAACG,KAAK,CAAC,CAAC;QAC3B,IAAI,CAACD,KAAK,EAAE;QACZH,GAAG,CAACxC,IAAI,CAAC2C,KAAK,CAAC;QACfF,KAAK,CAACzC,IAAI,CAAC,GAAI,CAACyB,QAAQ,CAACT,KAAK,EAAEf,QAAQ,CAACsC,GAAG,CAACI,KAAK,CAAC,IAAI,EAAE,EAAED,KAAK,CAAC,CAAE,CAAC;MACtE;MACA,OAAOF,GAAG;IACZ;IAEA,SAASrC,OAAOA,CAAET,KAA8B,EAAE;MAChD,IAAImD,GAAU,GAAG,EAAE;MAEnB,KAAK,MAAMC,CAAC,IAAIpD,KAAK,EAAE;QACrB,IAAI,CAACoD,CAAC,CAAC7C,QAAQ,EAAE;QAEjB4C,GAAG,CAAC7C,IAAI,CAACa,KAAK,CAACkC,YAAY,GAAG7D,KAAK,CAAC4D,CAAC,CAACE,GAAG,CAAC,GAAGF,CAAC,CAAC9B,KAAK,CAAC;QAErD,IAAI8B,CAAC,CAAC7C,QAAQ,EAAE;UACd4C,GAAG,GAAGA,GAAG,CAACI,MAAM,CAAC9C,OAAO,CAAC2C,CAAC,CAAC7C,QAAQ,CAAC,CAAC;QACvC;MACF;MAEA,OAAO4C,GAAG;IACZ;IAEA7D,OAAO,CAACQ,eAAe,EAAE;MAAEqC;IAAW,CAAC,CAAC;IAExClD,eAAe,CAAC;MACduE,cAAc,EAAE;QACd9B,WAAW;QACXC,SAAS;QACTC,KAAK;QACLd,YAAY,EAAErB,KAAK,CAAC0B,KAAK,EAAE,cAAc,CAAC;QAC1CJ,UAAU,EAAEtB,KAAK,CAAC0B,KAAK,EAAE,YAAY;MACvC,CAAC;MACDsC,aAAa,EAAE;QACbC,WAAW,EAAEjE,KAAK,CAAC0B,KAAK,EAAE,aAAa,CAAC;QACxCO,WAAW;QACXC,SAAS;QACTC,KAAK;QACL+B,OAAO,EAAElE,KAAK,CAAC0B,KAAK,EAAE,SAAS,CAAC;QAChCyC,QAAQ,EAAEnE,KAAK,CAAC0B,KAAK,EAAE,UAAU,CAAC;QAClC0C,KAAK,EAAEpE,KAAK,CAAC0B,KAAK,EAAE,OAAO,CAAC;QAC5B2C,OAAO,EAAErE,KAAK,CAAC0B,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFtB,SAAS,CAAC,MAAM;MACd,MAAMkE,SAAS,GAAG/E,KAAK,CAACgF,WAAW,CAAC7C,KAAK,CAAC;MAE1C,MAAM8C,qBAAqB,GAAGpF,iBAAiB,CAACmF,WAAW,CAAC7C,KAAK,CAAC;MAElE,OAAA+C,YAAA,CAAAlF,KAAA,EAAAmF,WAAA;QAAA,OAEUpC;MAAQ,GACTgC,SAAS;QAAA,SACP,CACL,YAAY,EACZ5C,KAAK,CAACiD,KAAK,CACZ;QAAA;QAAA,SAEOjD,KAAK,CAACkD,KAAK;QAAA,UACVrC,MAAM,CAACV,KAAK;QAAA,aACDO,SAAS,CAACP,KAAK;QAAA,sBAAAgD,MAAA,IAAfzC,SAAS,CAACP,KAAK,GAAAgD,MAAA;QAAA,YAChBxC,QAAQ,CAACR,KAAK;QAAA,qBAAAgD,MAAA,IAAdxC,QAAQ,CAACR,KAAK,GAAAgD;MAAA;QAAAC,OAAA,EAAAA,CAAA,MAAAL,YAAA,CAAArF,iBAAA,EAAAsF,WAAA,CAG1BF,qBAAqB;UAAA,gBACX9C,KAAK,CAACkC,YAAY;UAAA,SACzBrD,KAAK,CAACsB;QAAK,IACTG,KAAK;MAAA;IAIvB,CAAC,CAAC;IAEF,OAAO;MACL+C;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTreeview.mjs","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","slim","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","selected","vListRef","opened","flatItems","filteredItems","visibleIds","Set","flatMap","getPath","getChildren","id","path","parent","unshift","parents","get","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event","default","open"],"sources":["../../../src/labs/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeVTreeviewChildrenProps(),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['nav']),\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n const activated = useProxiedModel(props, 'activated')\n const selected = useProxiedModel(props, 'selected')\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) {\n return null\n }\n return new Set(filteredItems.value.flatMap(item => {\n return [...getPath(item.props.value), ...getChildren(item.props.value)]\n }))\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n while (parent != null) {\n path.unshift(parent)\n parent = vListRef.value?.parents.get(parent)\n }\n return path\n }\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (item: any) {\n let ids: number[] = []\n\n for (const i of item) {\n if (!i.children) continue\n\n ids.push(i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(props, 'collapseIcon'),\n expandIcon: toRef(props, 'expandIcon'),\n },\n VTreeviewItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n props.class,\n ]}\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return {\n open,\n }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
|
@@ -2,9 +2,8 @@ import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, creat
|
|
2
2
|
// Components
|
3
3
|
import { VTreeviewGroup } from "./VTreeviewGroup.mjs";
|
4
4
|
import { VTreeviewItem } from "./VTreeviewItem.mjs";
|
5
|
-
import { VCheckboxBtn } from "../../components/VCheckbox/index.mjs"; //
|
6
|
-
import {
|
7
|
-
import { computed, shallowRef, toRaw, withModifiers } from 'vue';
|
5
|
+
import { VCheckboxBtn } from "../../components/VCheckbox/index.mjs"; // Utilities
|
6
|
+
import { shallowRef, withModifiers } from 'vue';
|
8
7
|
import { genericComponent, propsFactory } from "../../util/index.mjs"; // Types
|
9
8
|
export const makeVTreeviewChildrenProps = propsFactory({
|
10
9
|
loadChildren: Function,
|
@@ -13,19 +12,7 @@ export const makeVTreeviewChildrenProps = propsFactory({
|
|
13
12
|
default: '$loading'
|
14
13
|
},
|
15
14
|
items: Array,
|
16
|
-
openOnClick: {
|
17
|
-
type: Boolean,
|
18
|
-
default: undefined
|
19
|
-
},
|
20
|
-
indeterminateIcon: {
|
21
|
-
type: IconValue,
|
22
|
-
default: '$checkboxIndeterminate'
|
23
|
-
},
|
24
|
-
falseIcon: IconValue,
|
25
|
-
trueIcon: IconValue,
|
26
|
-
returnObject: Boolean,
|
27
15
|
selectable: Boolean,
|
28
|
-
selectedColor: String,
|
29
16
|
selectStrategy: [String, Function, Object]
|
30
17
|
}, 'VTreeviewChildren');
|
31
18
|
export const VTreeviewChildren = genericComponent()({
|
@@ -37,7 +24,6 @@ export const VTreeviewChildren = genericComponent()({
|
|
37
24
|
slots
|
38
25
|
} = _ref;
|
39
26
|
const isLoading = shallowRef(null);
|
40
|
-
const isClickOnOpen = computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
|
41
27
|
function checkChildren(item) {
|
42
28
|
return new Promise(resolve => {
|
43
29
|
if (!props.items?.length || !props.loadChildren) return resolve();
|
@@ -68,11 +54,7 @@ export const VTreeviewChildren = genericComponent()({
|
|
68
54
|
"key": item.value,
|
69
55
|
"modelValue": slotProps.isSelected,
|
70
56
|
"loading": loading,
|
71
|
-
"color": props.selectedColor,
|
72
57
|
"indeterminate": slotProps.isIndeterminate,
|
73
|
-
"indeterminateIcon": props.indeterminateIcon,
|
74
|
-
"falseIcon": props.falseIcon,
|
75
|
-
"trueIcon": props.trueIcon,
|
76
58
|
"onClick": withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']),
|
77
59
|
"onKeydown": e => {
|
78
60
|
if (!['Enter', 'Space'].includes(e.key)) return;
|
@@ -94,9 +76,9 @@ export const VTreeviewChildren = genericComponent()({
|
|
94
76
|
};
|
95
77
|
const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
|
96
78
|
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
97
|
-
return children ? _createVNode(VTreeviewGroup, _mergeProps(
|
98
|
-
"value":
|
99
|
-
}), {
|
79
|
+
return children ? _createVNode(VTreeviewGroup, _mergeProps({
|
80
|
+
"value": itemProps?.value
|
81
|
+
}, treeviewGroupProps), {
|
100
82
|
activator: _ref3 => {
|
101
83
|
let {
|
102
84
|
props: activatorProps
|
@@ -104,24 +86,19 @@ export const VTreeviewChildren = genericComponent()({
|
|
104
86
|
const listItemProps = {
|
105
87
|
...itemProps,
|
106
88
|
...activatorProps,
|
107
|
-
value: itemProps?.value
|
108
|
-
onToggleExpand: activatorProps.onClick,
|
109
|
-
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
|
89
|
+
value: itemProps?.value
|
110
90
|
};
|
111
91
|
return _createVNode(VTreeviewItem, _mergeProps(listItemProps, {
|
112
|
-
"
|
113
|
-
"
|
92
|
+
"loading": loading,
|
93
|
+
"onClick": () => checkChildren(item)
|
114
94
|
}), slotsWithItem);
|
115
95
|
},
|
116
96
|
default: () => _createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
|
117
|
-
"items": children
|
118
|
-
"returnObject": props.returnObject
|
97
|
+
"items": children
|
119
98
|
}), slots)
|
120
99
|
}) : slots.item?.({
|
121
100
|
props: itemProps
|
122
|
-
}) ?? _createVNode(VTreeviewItem,
|
123
|
-
"value": props.returnObject ? toRaw(item) : itemProps.value
|
124
|
-
}), slotsWithItem);
|
101
|
+
}) ?? _createVNode(VTreeviewItem, itemProps, slotsWithItem);
|
125
102
|
});
|
126
103
|
}
|
127
104
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTreeviewChildren.mjs","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","IconValue","computed","shallowRef","toRaw","withModifiers","genericComponent","propsFactory","makeVTreeviewChildrenProps","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","Boolean","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","selectable","selectedColor","selectStrategy","Object","VTreeviewChildren","name","props","setup","_ref","emit","slots","isLoading","isClickOnOpen","checkChildren","item","Promise","resolve","length","children","value","then","finally","selectItem","select","isSelected","map","_ref2","itemProps","raw","loading","slotsWithItem","prepend","slotProps","_createVNode","_Fragment","includes","isIndeterminate","e","key","stopPropagation","append","title","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref3","activatorProps","listItemProps","onToggleExpand","onClick"],"sources":["../../../src/labs/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, shallowRef, toRaw, withModifiers } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { emit, slots }) {\n const isLoading = shallowRef(null)\n\n const isClickOnOpen = computed(() => props.openOnClick != null ? props.openOnClick : props.selectable)\n\n function checkChildren (item: any) {\n return new Promise<void>(resolve => {\n if (!props.items?.length || !props.loadChildren) return resolve()\n\n if (item?.children?.length === 0) {\n isLoading.value = item.value\n props.loadChildren(item).then(resolve)\n\n return\n }\n\n resolve()\n }).finally(() => {\n isLoading.value = null\n })\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(!isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, raw: item }) => {\n const loading = isLoading.value === item.value\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n loading={ loading }\n color={ props.selectedColor }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onClick={ withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']) }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, item }) }\n </>\n ),\n append: slots.append ? slotProps => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item : treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: activatorProps.onClick as any,\n onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] as any : undefined,\n }\n\n return (\n <VTreeviewItem\n { ...listItemProps }\n value={ props.returnObject ? toRaw(item) : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTreeviewChildren.mjs","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","shallowRef","withModifiers","genericComponent","propsFactory","makeVTreeviewChildrenProps","loadChildren","Function","loadingIcon","type","String","default","items","Array","selectable","Boolean","selectStrategy","Object","VTreeviewChildren","name","props","setup","_ref","emit","slots","isLoading","checkChildren","item","Promise","resolve","length","children","value","then","finally","selectItem","select","isSelected","map","_ref2","itemProps","raw","loading","slotsWithItem","prepend","slotProps","_createVNode","_Fragment","includes","isIndeterminate","e","key","stopPropagation","append","undefined","title","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref3","activatorProps","listItemProps","onClick"],"sources":["../../../src/labs/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Utilities\nimport { shallowRef, withModifiers } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n selectable: Boolean,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { emit, slots }) {\n const isLoading = shallowRef(null)\n\n function checkChildren (item: any) {\n return new Promise<void>(resolve => {\n if (!props.items?.length || !props.loadChildren) return resolve()\n\n if (item?.children?.length === 0) {\n isLoading.value = item.value\n props.loadChildren(item).then(resolve)\n\n return\n }\n\n resolve()\n }).finally(() => {\n isLoading.value = null\n })\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(!isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, raw: item }) => {\n const loading = isLoading.value === item.value\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n loading={ loading }\n indeterminate={ slotProps.isIndeterminate }\n onClick={ withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']) }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, item }) }\n </>\n ),\n append: slots.append ? slotProps => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return children ? (\n <VTreeviewGroup\n value={ itemProps?.value }\n { ...treeviewGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n }\n\n return (\n <VTreeviewItem\n { ...listItemProps }\n loading={ loading }\n v-slots={ slotsWithItem }\n onClick={ () => checkChildren(item) }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps }) ?? (\n <VTreeviewItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
|