vuetify 3.5.8 → 3.5.10
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/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +525 -13
- package/dist/json/importMap-labs.json +24 -8
- package/dist/json/importMap.json +130 -130
- package/dist/json/tags.json +148 -0
- package/dist/json/web-types.json +2021 -147
- package/dist/vuetify-labs.css +2819 -2760
- package/dist/vuetify-labs.d.ts +5860 -2816
- package/dist/vuetify-labs.esm.js +1286 -248
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1286 -247
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +553 -547
- package/dist/vuetify.d.ts +2835 -2281
- package/dist/vuetify.esm.js +883 -408
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +882 -406
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1137 -1109
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +15 -15
- package/lib/components/VApp/index.d.mts +8 -8
- package/lib/components/VAppBar/index.d.mts +7 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +232 -100
- package/lib/components/VAvatar/index.d.mts +8 -8
- package/lib/components/VBadge/index.d.mts +7 -7
- package/lib/components/VBanner/index.d.mts +20 -20
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +27 -26
- package/lib/components/VBtnGroup/index.d.mts +8 -8
- package/lib/components/VCard/index.d.mts +32 -32
- package/lib/components/VCarousel/index.d.mts +6 -6
- package/lib/components/VCheckbox/index.d.mts +44 -44
- package/lib/components/VChip/index.d.mts +7 -7
- package/lib/components/VCode/index.d.mts +8 -8
- package/lib/components/VColorPicker/VColorPickerPreview.css +1 -0
- package/lib/components/VColorPicker/VColorPickerPreview.sass +1 -0
- package/lib/components/VColorPicker/_variables.scss +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +10 -7
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +232 -100
- package/lib/components/VDataTable/index.d.mts +6 -6
- package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -0
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +10 -4
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +10 -10
- package/lib/components/VDefaultsProvider/index.d.mts +8 -8
- package/lib/components/VDialog/index.d.mts +12 -6
- package/lib/components/VDivider/index.d.mts +8 -8
- package/lib/components/VExpansionPanel/index.d.mts +19 -19
- package/lib/components/VField/VField.css +2 -0
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -0
- package/lib/components/VField/index.d.mts +28 -28
- package/lib/components/VFileInput/index.d.mts +133 -133
- package/lib/components/VFooter/index.d.mts +8 -8
- package/lib/components/VGrid/index.d.mts +32 -32
- package/lib/components/VIcon/VIcon.css +4 -0
- package/lib/components/VIcon/VIcon.mjs +7 -3
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +4 -0
- package/lib/components/VIcon/_variables.scss +1 -0
- package/lib/components/VIcon/index.d.mts +25 -16
- package/lib/components/VImg/index.d.mts +4 -4
- package/lib/components/VInput/index.d.mts +21 -21
- package/lib/components/VKbd/index.d.mts +8 -8
- package/lib/components/VLabel/index.d.mts +8 -8
- package/lib/components/VLayout/index.d.mts +16 -16
- package/lib/components/VLazy/index.d.mts +8 -8
- package/lib/components/VList/VList.mjs +8 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +3 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +17 -4
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +156 -54
- package/lib/components/VLocaleProvider/index.d.mts +12 -12
- package/lib/components/VMain/index.d.mts +8 -8
- package/lib/components/VMenu/VMenu.mjs +3 -0
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +14 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +22 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -1
- package/lib/components/VNavigationDrawer/index.d.mts +11 -11
- package/lib/components/VOtpInput/VOtpInput.mjs +7 -2
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.d.mts +31 -31
- package/lib/components/VOverlay/VOverlay.mjs +8 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +3 -0
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +7 -7
- package/lib/components/VProgressLinear/VProgressLinear.css +0 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
- package/lib/components/VProgressLinear/index.d.mts +7 -7
- package/lib/components/VRadioGroup/index.d.mts +44 -44
- package/lib/components/VRangeSlider/index.d.mts +47 -47
- package/lib/components/VRating/index.d.mts +7 -7
- package/lib/components/VResponsive/index.d.mts +8 -8
- package/lib/components/VSelect/VSelect.mjs +5 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +232 -100
- package/lib/components/VSheet/index.d.mts +8 -8
- package/lib/components/VSkeletonLoader/index.d.mts +8 -8
- package/lib/components/VSlider/index.d.mts +47 -47
- package/lib/components/VSnackbar/index.d.mts +25 -19
- package/lib/components/VStepper/index.d.mts +41 -41
- package/lib/components/VSwitch/index.d.mts +39 -39
- package/lib/components/VSystemBar/index.d.mts +8 -8
- package/lib/components/VTabs/index.d.mts +15 -15
- package/lib/components/VTextField/index.d.mts +173 -173
- package/lib/components/VTextarea/index.d.mts +119 -119
- package/lib/components/VThemeProvider/index.d.mts +8 -8
- package/lib/components/VTimeline/index.d.mts +8 -8
- package/lib/components/VToolbar/index.d.mts +8 -8
- package/lib/components/VTooltip/index.d.mts +14 -8
- package/lib/components/VWindow/index.d.mts +10 -10
- package/lib/components/index.d.mts +2478 -1943
- package/lib/components/transitions/index.d.mts +128 -128
- package/lib/composables/date/adapters/vuetify.mjs +1 -1
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/nested/activeStrategies.mjs +121 -0
- package/lib/composables/nested/activeStrategies.mjs.map +1 -0
- package/lib/composables/nested/nested.mjs +50 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +4 -2
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +3 -2
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa.mjs +2 -0
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +2 -0
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.mjs +2 -0
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.mjs +2 -0
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.mjs +2 -0
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +48 -44
- package/lib/labs/VCalendar/index.d.mts +32 -32
- package/lib/labs/VFab/index.d.mts +15 -15
- package/lib/labs/VNumberInput/VNumberInput.css +38 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +209 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -0
- package/lib/labs/VNumberInput/VNumberInput.sass +47 -0
- package/lib/labs/VNumberInput/_variables.scss +1 -0
- package/lib/labs/VNumberInput/index.d.mts +607 -0
- package/lib/labs/VNumberInput/index.mjs +2 -0
- package/lib/labs/VNumberInput/index.mjs.map +1 -0
- package/lib/labs/VPicker/index.d.mts +8 -8
- package/lib/labs/VSparkline/index.d.mts +7 -7
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +9 -5
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VSpeedDial/index.d.mts +120 -24
- package/lib/labs/VTreeview/VTreeview.mjs +154 -0
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +98 -0
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +48 -0
- package/lib/labs/VTreeview/VTreeviewGroup.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.css +17 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs +86 -0
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.sass +19 -0
- package/lib/labs/VTreeview/index.d.mts +1975 -0
- package/lib/labs/VTreeview/index.mjs +4 -0
- package/lib/labs/VTreeview/index.mjs.map +1 -0
- package/lib/labs/VTreeview/shared.mjs +4 -0
- package/lib/labs/VTreeview/shared.mjs.map +1 -0
- package/lib/labs/VTreeview/variables.scss +8 -0
- package/lib/labs/components.d.mts +4553 -1925
- package/lib/labs/components.mjs +4 -2
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -1
- package/lib/locale/no.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -18,8 +18,8 @@ declare const VSparkline: {
|
|
|
18
18
|
smooth: boolean;
|
|
19
19
|
padding: string | number;
|
|
20
20
|
labels: SparklineItem[];
|
|
21
|
-
gradient: string[];
|
|
22
21
|
modelValue: SparklineItem[];
|
|
22
|
+
gradient: string[];
|
|
23
23
|
itemValue: string;
|
|
24
24
|
autoDraw: boolean;
|
|
25
25
|
autoDrawEasing: string;
|
|
@@ -63,8 +63,8 @@ declare const VSparkline: {
|
|
|
63
63
|
smooth: boolean;
|
|
64
64
|
padding: string | number;
|
|
65
65
|
labels: SparklineItem[];
|
|
66
|
-
gradient: string[];
|
|
67
66
|
modelValue: SparklineItem[];
|
|
67
|
+
gradient: string[];
|
|
68
68
|
itemValue: string;
|
|
69
69
|
autoDraw: boolean;
|
|
70
70
|
autoDrawEasing: string;
|
|
@@ -108,8 +108,8 @@ declare const VSparkline: {
|
|
|
108
108
|
smooth: boolean;
|
|
109
109
|
padding: string | number;
|
|
110
110
|
labels: SparklineItem[];
|
|
111
|
-
gradient: string[];
|
|
112
111
|
modelValue: SparklineItem[];
|
|
112
|
+
gradient: string[];
|
|
113
113
|
itemValue: string;
|
|
114
114
|
autoDraw: boolean;
|
|
115
115
|
autoDrawEasing: string;
|
|
@@ -143,8 +143,8 @@ declare const VSparkline: {
|
|
|
143
143
|
smooth: boolean;
|
|
144
144
|
padding: string | number;
|
|
145
145
|
labels: SparklineItem[];
|
|
146
|
-
gradient: string[];
|
|
147
146
|
modelValue: SparklineItem[];
|
|
147
|
+
gradient: string[];
|
|
148
148
|
itemValue: string;
|
|
149
149
|
autoDraw: boolean;
|
|
150
150
|
autoDrawEasing: string;
|
|
@@ -188,8 +188,8 @@ declare const VSparkline: {
|
|
|
188
188
|
smooth: boolean;
|
|
189
189
|
padding: string | number;
|
|
190
190
|
labels: SparklineItem[];
|
|
191
|
-
gradient: string[];
|
|
192
191
|
modelValue: SparklineItem[];
|
|
192
|
+
gradient: string[];
|
|
193
193
|
itemValue: string;
|
|
194
194
|
autoDraw: boolean;
|
|
195
195
|
autoDrawEasing: string;
|
|
@@ -210,8 +210,8 @@ declare const VSparkline: {
|
|
|
210
210
|
smooth: boolean;
|
|
211
211
|
padding: string | number;
|
|
212
212
|
labels: SparklineItem[];
|
|
213
|
-
gradient: string[];
|
|
214
213
|
modelValue: SparklineItem[];
|
|
214
|
+
gradient: string[];
|
|
215
215
|
itemValue: string;
|
|
216
216
|
autoDraw: boolean;
|
|
217
217
|
autoDrawEasing: string;
|
|
@@ -255,8 +255,8 @@ declare const VSparkline: {
|
|
|
255
255
|
smooth: boolean;
|
|
256
256
|
padding: string | number;
|
|
257
257
|
labels: SparklineItem[];
|
|
258
|
-
gradient: string[];
|
|
259
258
|
modelValue: SparklineItem[];
|
|
259
|
+
gradient: string[];
|
|
260
260
|
itemValue: string;
|
|
261
261
|
autoDraw: boolean;
|
|
262
262
|
autoDrawEasing: string;
|
|
@@ -7,7 +7,8 @@ import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs"
|
|
|
7
7
|
import { makeVMenuProps, VMenu } from "../../components/VMenu/VMenu.mjs"; // Composables
|
|
8
8
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
9
9
|
import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
|
|
10
|
-
import {
|
|
10
|
+
import { ref } from 'vue';
|
|
11
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
11
12
|
export const makeVSpeedDialProps = propsFactory({
|
|
12
13
|
...makeComponentProps(),
|
|
13
14
|
...makeVMenuProps({
|
|
@@ -26,14 +27,17 @@ export const VSpeedDial = genericComponent()({
|
|
|
26
27
|
let {
|
|
27
28
|
slots
|
|
28
29
|
} = _ref;
|
|
30
|
+
const menuRef = ref();
|
|
29
31
|
useRender(() => {
|
|
30
32
|
const menuProps = VMenu.filterProps(props);
|
|
31
33
|
return _createVNode(VMenu, _mergeProps(menuProps, {
|
|
32
34
|
"class": props.class,
|
|
33
35
|
"style": props.style,
|
|
34
|
-
"contentClass": "v-speed-dial__content"
|
|
36
|
+
"contentClass": "v-speed-dial__content",
|
|
37
|
+
"ref": menuRef
|
|
35
38
|
}), {
|
|
36
|
-
|
|
39
|
+
...slots,
|
|
40
|
+
default: slotProps => _createVNode(VDefaultsProvider, {
|
|
37
41
|
"defaults": {
|
|
38
42
|
VBtn: {
|
|
39
43
|
size: 'small'
|
|
@@ -45,9 +49,9 @@ export const VSpeedDial = genericComponent()({
|
|
|
45
49
|
"group": true,
|
|
46
50
|
"transition": props.transition
|
|
47
51
|
}, {
|
|
48
|
-
default: () => [slots.default?.()]
|
|
52
|
+
default: () => [slots.default?.(slotProps)]
|
|
49
53
|
})]
|
|
50
|
-
})
|
|
54
|
+
})
|
|
51
55
|
});
|
|
52
56
|
});
|
|
53
57
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSpeedDial.mjs","names":["VDefaultsProvider","makeVMenuProps","VMenu","makeComponentProps","makeTransitionProps","MaybeTransition","genericComponent","propsFactory","useRender","makeVSpeedDialProps","offset","minWidth","location","transition","VSpeedDial","name","props","setup","_ref","slots","menuProps","filterProps","_createVNode","_mergeProps","class","style","default","VBtn","size"],"sources":["../../../src/labs/VSpeedDial/VSpeedDial.tsx"],"sourcesContent":["// Styles\nimport './VSpeedDial.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVMenuProps, VMenu } from '@/components/VMenu/VMenu'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVSpeedDialProps = propsFactory({\n ...makeComponentProps(),\n ...makeVMenuProps({ offset: 8, minWidth: 0, location: 'top center' as const }),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n}, 'VSpeedDial')\n\nexport const VSpeedDial = genericComponent()({\n name: 'VSpeedDial',\n\n props: makeVSpeedDialProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const menuProps = VMenu.filterProps(props)\n\n return (\n <VMenu\n { ...menuProps }\n class={ props.class }\n style={ props.style }\n contentClass=\"v-speed-dial__content\"\n >\n <VDefaultsProvider\n
|
|
1
|
+
{"version":3,"file":"VSpeedDial.mjs","names":["VDefaultsProvider","makeVMenuProps","VMenu","makeComponentProps","makeTransitionProps","MaybeTransition","ref","genericComponent","propsFactory","useRender","makeVSpeedDialProps","offset","minWidth","location","transition","VSpeedDial","name","props","setup","_ref","slots","menuRef","menuProps","filterProps","_createVNode","_mergeProps","class","style","default","slotProps","VBtn","size"],"sources":["../../../src/labs/VSpeedDial/VSpeedDial.tsx"],"sourcesContent":["// Styles\nimport './VSpeedDial.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVMenuProps, VMenu } from '@/components/VMenu/VMenu'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVSpeedDialProps = propsFactory({\n ...makeComponentProps(),\n ...makeVMenuProps({ offset: 8, minWidth: 0, location: 'top center' as const }),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n}, 'VSpeedDial')\n\nexport const VSpeedDial = genericComponent<OverlaySlots>()({\n name: 'VSpeedDial',\n\n props: makeVSpeedDialProps(),\n\n setup (props, { slots }) {\n const menuRef = ref<VMenu>()\n\n useRender(() => {\n const menuProps = VMenu.filterProps(props)\n\n return (\n <VMenu\n { ...menuProps }\n class={ props.class }\n style={ props.style }\n contentClass=\"v-speed-dial__content\"\n ref={ menuRef }\n >\n {{\n ...slots,\n default: slotProps => (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n size: 'small',\n },\n }}\n >\n <MaybeTransition\n appear\n group\n transition={ props.transition }\n >\n { slots.default?.(slotProps) }\n </MaybeTransition>\n </VDefaultsProvider>\n ),\n }}\n </VMenu>\n )\n })\n\n return {}\n },\n})\n\nexport type VSpeedDial = InstanceType<typeof VSpeedDial>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,cAAc,EAAEC,KAAK,4CAE9B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,mBAAmB,EAAEC,eAAe,4CAE7C;AACA,SAASC,GAAG,QAAQ,KAAK;AAAA,SAChBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9C,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGF,cAAc,CAAC;IAAEU,MAAM,EAAE,CAAC;IAAEC,QAAQ,EAAE,CAAC;IAAEC,QAAQ,EAAE;EAAsB,CAAC,CAAC;EAC9E,GAAGT,mBAAmB,CAAC;IAAEU,UAAU,EAAE;EAAkB,CAAC;AAC1D,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMC,UAAU,GAAGR,gBAAgB,CAAe,CAAC,CAAC;EACzDS,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEP,mBAAmB,CAAC,CAAC;EAE5BQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,OAAO,GAAGf,GAAG,CAAQ,CAAC;IAE5BG,SAAS,CAAC,MAAM;MACd,MAAMa,SAAS,GAAGpB,KAAK,CAACqB,WAAW,CAACN,KAAK,CAAC;MAE1C,OAAAO,YAAA,CAAAtB,KAAA,EAAAuB,WAAA,CAESH,SAAS;QAAA,SACNL,KAAK,CAACS,KAAK;QAAA,SACXT,KAAK,CAACU,KAAK;QAAA;QAAA,OAEbN;MAAO;QAGX,GAAGD,KAAK;QACRQ,OAAO,EAAEC,SAAS,IAAAL,YAAA,CAAAxB,iBAAA;UAAA,YAEJ;YACR8B,IAAI,EAAE;cACJC,IAAI,EAAE;YACR;UACF;QAAC;UAAAH,OAAA,EAAAA,CAAA,MAAAJ,YAAA,CAAAnB,eAAA;YAAA;YAAA;YAAA,cAKcY,KAAK,CAACH;UAAU;YAAAc,OAAA,EAAAA,CAAA,MAE3BR,KAAK,CAACQ,OAAO,GAAGC,SAAS,CAAC;UAAA;QAAA;MAGjC;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -130,14 +130,34 @@ declare const VSpeedDial: {
|
|
|
130
130
|
contentProps?: any;
|
|
131
131
|
attach?: string | boolean | Element | undefined;
|
|
132
132
|
} & {
|
|
133
|
-
$children?: vue.VNodeChild |
|
|
134
|
-
default?: ((
|
|
135
|
-
|
|
133
|
+
$children?: vue.VNodeChild | {
|
|
134
|
+
default?: ((arg: {
|
|
135
|
+
isActive: vue.Ref<boolean>;
|
|
136
|
+
}) => vue.VNodeChild) | undefined;
|
|
137
|
+
activator?: ((arg: {
|
|
138
|
+
isActive: boolean;
|
|
139
|
+
props: Record<string, any>;
|
|
140
|
+
}) => vue.VNodeChild) | undefined;
|
|
141
|
+
} | ((arg: {
|
|
142
|
+
isActive: vue.Ref<boolean>;
|
|
143
|
+
}) => vue.VNodeChild);
|
|
136
144
|
'v-slots'?: {
|
|
137
|
-
default?: false | ((
|
|
145
|
+
default?: false | ((arg: {
|
|
146
|
+
isActive: vue.Ref<boolean>;
|
|
147
|
+
}) => vue.VNodeChild) | undefined;
|
|
148
|
+
activator?: false | ((arg: {
|
|
149
|
+
isActive: boolean;
|
|
150
|
+
props: Record<string, any>;
|
|
151
|
+
}) => vue.VNodeChild) | undefined;
|
|
138
152
|
} | undefined;
|
|
139
153
|
} & {
|
|
140
|
-
"v-slot:default"?: false | ((
|
|
154
|
+
"v-slot:default"?: false | ((arg: {
|
|
155
|
+
isActive: vue.Ref<boolean>;
|
|
156
|
+
}) => vue.VNodeChild) | undefined;
|
|
157
|
+
"v-slot:activator"?: false | ((arg: {
|
|
158
|
+
isActive: boolean;
|
|
159
|
+
props: Record<string, any>;
|
|
160
|
+
}) => vue.VNodeChild) | undefined;
|
|
141
161
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
142
162
|
offset: NonNullable<string | number | number[] | undefined>;
|
|
143
163
|
location: NonNullable<Anchor>;
|
|
@@ -183,14 +203,34 @@ declare const VSpeedDial: {
|
|
|
183
203
|
contentProps?: any;
|
|
184
204
|
attach?: string | boolean | Element | undefined;
|
|
185
205
|
} & {
|
|
186
|
-
$children?: vue.VNodeChild |
|
|
187
|
-
default?: ((
|
|
188
|
-
|
|
206
|
+
$children?: vue.VNodeChild | {
|
|
207
|
+
default?: ((arg: {
|
|
208
|
+
isActive: vue.Ref<boolean>;
|
|
209
|
+
}) => vue.VNodeChild) | undefined;
|
|
210
|
+
activator?: ((arg: {
|
|
211
|
+
isActive: boolean;
|
|
212
|
+
props: Record<string, any>;
|
|
213
|
+
}) => vue.VNodeChild) | undefined;
|
|
214
|
+
} | ((arg: {
|
|
215
|
+
isActive: vue.Ref<boolean>;
|
|
216
|
+
}) => vue.VNodeChild);
|
|
189
217
|
'v-slots'?: {
|
|
190
|
-
default?: false | ((
|
|
218
|
+
default?: false | ((arg: {
|
|
219
|
+
isActive: vue.Ref<boolean>;
|
|
220
|
+
}) => vue.VNodeChild) | undefined;
|
|
221
|
+
activator?: false | ((arg: {
|
|
222
|
+
isActive: boolean;
|
|
223
|
+
props: Record<string, any>;
|
|
224
|
+
}) => vue.VNodeChild) | undefined;
|
|
191
225
|
} | undefined;
|
|
192
226
|
} & {
|
|
193
|
-
"v-slot:default"?: false | ((
|
|
227
|
+
"v-slot:default"?: false | ((arg: {
|
|
228
|
+
isActive: vue.Ref<boolean>;
|
|
229
|
+
}) => vue.VNodeChild) | undefined;
|
|
230
|
+
"v-slot:activator"?: false | ((arg: {
|
|
231
|
+
isActive: boolean;
|
|
232
|
+
props: Record<string, any>;
|
|
233
|
+
}) => vue.VNodeChild) | undefined;
|
|
194
234
|
}, {
|
|
195
235
|
offset: NonNullable<string | number | number[] | undefined>;
|
|
196
236
|
location: NonNullable<Anchor>;
|
|
@@ -221,7 +261,15 @@ declare const VSpeedDial: {
|
|
|
221
261
|
persistent: boolean;
|
|
222
262
|
scrim: NonNullable<string | boolean>;
|
|
223
263
|
}, true, {}, vue.SlotsType<Partial<{
|
|
224
|
-
default: (
|
|
264
|
+
default: (arg: {
|
|
265
|
+
isActive: vue.Ref<boolean>;
|
|
266
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
267
|
+
[key: string]: any;
|
|
268
|
+
}>[];
|
|
269
|
+
activator: (arg: {
|
|
270
|
+
isActive: boolean;
|
|
271
|
+
props: Record<string, any>;
|
|
272
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
225
273
|
[key: string]: any;
|
|
226
274
|
}>[];
|
|
227
275
|
}>>, {
|
|
@@ -276,14 +324,34 @@ declare const VSpeedDial: {
|
|
|
276
324
|
contentProps?: any;
|
|
277
325
|
attach?: string | boolean | Element | undefined;
|
|
278
326
|
} & {
|
|
279
|
-
$children?: vue.VNodeChild |
|
|
280
|
-
default?: ((
|
|
281
|
-
|
|
327
|
+
$children?: vue.VNodeChild | {
|
|
328
|
+
default?: ((arg: {
|
|
329
|
+
isActive: vue.Ref<boolean>;
|
|
330
|
+
}) => vue.VNodeChild) | undefined;
|
|
331
|
+
activator?: ((arg: {
|
|
332
|
+
isActive: boolean;
|
|
333
|
+
props: Record<string, any>;
|
|
334
|
+
}) => vue.VNodeChild) | undefined;
|
|
335
|
+
} | ((arg: {
|
|
336
|
+
isActive: vue.Ref<boolean>;
|
|
337
|
+
}) => vue.VNodeChild);
|
|
282
338
|
'v-slots'?: {
|
|
283
|
-
default?: false | ((
|
|
339
|
+
default?: false | ((arg: {
|
|
340
|
+
isActive: vue.Ref<boolean>;
|
|
341
|
+
}) => vue.VNodeChild) | undefined;
|
|
342
|
+
activator?: false | ((arg: {
|
|
343
|
+
isActive: boolean;
|
|
344
|
+
props: Record<string, any>;
|
|
345
|
+
}) => vue.VNodeChild) | undefined;
|
|
284
346
|
} | undefined;
|
|
285
347
|
} & {
|
|
286
|
-
"v-slot:default"?: false | ((
|
|
348
|
+
"v-slot:default"?: false | ((arg: {
|
|
349
|
+
isActive: vue.Ref<boolean>;
|
|
350
|
+
}) => vue.VNodeChild) | undefined;
|
|
351
|
+
"v-slot:activator"?: false | ((arg: {
|
|
352
|
+
isActive: boolean;
|
|
353
|
+
props: Record<string, any>;
|
|
354
|
+
}) => vue.VNodeChild) | undefined;
|
|
287
355
|
}, {}, {}, {}, {}, {
|
|
288
356
|
offset: NonNullable<string | number | number[] | undefined>;
|
|
289
357
|
location: NonNullable<Anchor>;
|
|
@@ -362,14 +430,34 @@ declare const VSpeedDial: {
|
|
|
362
430
|
contentProps?: any;
|
|
363
431
|
attach?: string | boolean | Element | undefined;
|
|
364
432
|
} & {
|
|
365
|
-
$children?: vue.VNodeChild |
|
|
366
|
-
default?: ((
|
|
367
|
-
|
|
433
|
+
$children?: vue.VNodeChild | {
|
|
434
|
+
default?: ((arg: {
|
|
435
|
+
isActive: vue.Ref<boolean>;
|
|
436
|
+
}) => vue.VNodeChild) | undefined;
|
|
437
|
+
activator?: ((arg: {
|
|
438
|
+
isActive: boolean;
|
|
439
|
+
props: Record<string, any>;
|
|
440
|
+
}) => vue.VNodeChild) | undefined;
|
|
441
|
+
} | ((arg: {
|
|
442
|
+
isActive: vue.Ref<boolean>;
|
|
443
|
+
}) => vue.VNodeChild);
|
|
368
444
|
'v-slots'?: {
|
|
369
|
-
default?: false | ((
|
|
445
|
+
default?: false | ((arg: {
|
|
446
|
+
isActive: vue.Ref<boolean>;
|
|
447
|
+
}) => vue.VNodeChild) | undefined;
|
|
448
|
+
activator?: false | ((arg: {
|
|
449
|
+
isActive: boolean;
|
|
450
|
+
props: Record<string, any>;
|
|
451
|
+
}) => vue.VNodeChild) | undefined;
|
|
370
452
|
} | undefined;
|
|
371
453
|
} & {
|
|
372
|
-
"v-slot:default"?: false | ((
|
|
454
|
+
"v-slot:default"?: false | ((arg: {
|
|
455
|
+
isActive: vue.Ref<boolean>;
|
|
456
|
+
}) => vue.VNodeChild) | undefined;
|
|
457
|
+
"v-slot:activator"?: false | ((arg: {
|
|
458
|
+
isActive: boolean;
|
|
459
|
+
props: Record<string, any>;
|
|
460
|
+
}) => vue.VNodeChild) | undefined;
|
|
373
461
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
374
462
|
offset: NonNullable<string | number | number[] | undefined>;
|
|
375
463
|
location: NonNullable<Anchor>;
|
|
@@ -400,7 +488,15 @@ declare const VSpeedDial: {
|
|
|
400
488
|
persistent: boolean;
|
|
401
489
|
scrim: NonNullable<string | boolean>;
|
|
402
490
|
}, {}, string, vue.SlotsType<Partial<{
|
|
403
|
-
default: (
|
|
491
|
+
default: (arg: {
|
|
492
|
+
isActive: vue.Ref<boolean>;
|
|
493
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
494
|
+
[key: string]: any;
|
|
495
|
+
}>[];
|
|
496
|
+
activator: (arg: {
|
|
497
|
+
isActive: boolean;
|
|
498
|
+
props: Record<string, any>;
|
|
499
|
+
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
404
500
|
[key: string]: any;
|
|
405
501
|
}>[];
|
|
406
502
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
@@ -456,8 +552,8 @@ declare const VSpeedDial: {
|
|
|
456
552
|
disabled: BooleanConstructor;
|
|
457
553
|
class: vue.PropType<any>;
|
|
458
554
|
theme: StringConstructor;
|
|
459
|
-
contentClass: null;
|
|
460
555
|
modelValue: BooleanConstructor;
|
|
556
|
+
contentClass: null;
|
|
461
557
|
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
462
558
|
locationStrategy: Omit<{
|
|
463
559
|
type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
|
|
@@ -576,8 +672,8 @@ declare const VSpeedDial: {
|
|
|
576
672
|
disabled: BooleanConstructor;
|
|
577
673
|
class: vue.PropType<any>;
|
|
578
674
|
theme: StringConstructor;
|
|
579
|
-
contentClass: null;
|
|
580
675
|
modelValue: BooleanConstructor;
|
|
676
|
+
contentClass: null;
|
|
581
677
|
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
582
678
|
locationStrategy: Omit<{
|
|
583
679
|
type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
|
|
2
|
+
// Components
|
|
3
|
+
import { makeVTreeviewChildrenProps, VTreeviewChildren } from "./VTreeviewChildren.mjs";
|
|
4
|
+
import { makeVListProps, useListItems, VList } from "../../components/VList/VList.mjs"; // Composables
|
|
5
|
+
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
6
|
+
import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
|
|
7
|
+
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
|
8
|
+
import { computed, provide, ref, toRef, watch } from 'vue';
|
|
9
|
+
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
10
|
+
import { VTreeviewSymbol } from "./shared.mjs";
|
|
11
|
+
function flatten(items) {
|
|
12
|
+
let flat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
13
|
+
for (const item of items) {
|
|
14
|
+
flat.push(item);
|
|
15
|
+
if (item.children) flatten(item.children, flat);
|
|
16
|
+
}
|
|
17
|
+
return flat;
|
|
18
|
+
}
|
|
19
|
+
export const makeVTreeviewProps = propsFactory({
|
|
20
|
+
openAll: Boolean,
|
|
21
|
+
search: String,
|
|
22
|
+
...makeFilterProps({
|
|
23
|
+
filterKeys: ['title']
|
|
24
|
+
}),
|
|
25
|
+
...makeVTreeviewChildrenProps(),
|
|
26
|
+
...omit(makeVListProps({
|
|
27
|
+
collapseIcon: '$treeviewCollapse',
|
|
28
|
+
expandIcon: '$treeviewExpand',
|
|
29
|
+
selectStrategy: 'independent',
|
|
30
|
+
openStrategy: 'multiple',
|
|
31
|
+
slim: true
|
|
32
|
+
}), ['nav'])
|
|
33
|
+
}, 'VTreeview');
|
|
34
|
+
export const VTreeview = genericComponent()({
|
|
35
|
+
name: 'VTreeview',
|
|
36
|
+
props: makeVTreeviewProps(),
|
|
37
|
+
emits: {
|
|
38
|
+
'update:opened': val => true,
|
|
39
|
+
'update:activated': val => true,
|
|
40
|
+
'update:selected': val => true,
|
|
41
|
+
'click:open': value => true,
|
|
42
|
+
'click:select': value => true
|
|
43
|
+
},
|
|
44
|
+
setup(props, _ref) {
|
|
45
|
+
let {
|
|
46
|
+
slots
|
|
47
|
+
} = _ref;
|
|
48
|
+
const {
|
|
49
|
+
items
|
|
50
|
+
} = useListItems(props);
|
|
51
|
+
const activeColor = toRef(props, 'activeColor');
|
|
52
|
+
const baseColor = toRef(props, 'baseColor');
|
|
53
|
+
const color = toRef(props, 'color');
|
|
54
|
+
const opened = useProxiedModel(props, 'opened');
|
|
55
|
+
const activated = useProxiedModel(props, 'activated');
|
|
56
|
+
const selected = useProxiedModel(props, 'selected');
|
|
57
|
+
const vListRef = ref();
|
|
58
|
+
const flatItems = computed(() => flatten(items.value));
|
|
59
|
+
const search = toRef(props, 'search');
|
|
60
|
+
const {
|
|
61
|
+
filteredItems
|
|
62
|
+
} = useFilter(props, flatItems, search);
|
|
63
|
+
const visibleIds = computed(() => {
|
|
64
|
+
if (!search.value) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return new Set(filteredItems.value.flatMap(item => {
|
|
68
|
+
return [...getPath(item.props.value), ...getChildren(item.props.value)];
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
function getPath(id) {
|
|
72
|
+
const path = [];
|
|
73
|
+
let parent = id;
|
|
74
|
+
while (parent != null) {
|
|
75
|
+
path.unshift(parent);
|
|
76
|
+
parent = vListRef.value?.parents.get(parent);
|
|
77
|
+
}
|
|
78
|
+
return path;
|
|
79
|
+
}
|
|
80
|
+
function getChildren(id) {
|
|
81
|
+
const arr = [];
|
|
82
|
+
const queue = (vListRef.value?.children.get(id) ?? []).slice();
|
|
83
|
+
while (queue.length) {
|
|
84
|
+
const child = queue.shift();
|
|
85
|
+
if (!child) continue;
|
|
86
|
+
arr.push(child);
|
|
87
|
+
queue.push(...(vListRef.value?.children.get(child) ?? []).slice());
|
|
88
|
+
}
|
|
89
|
+
return arr;
|
|
90
|
+
}
|
|
91
|
+
watch(() => props.openAll, val => {
|
|
92
|
+
opened.value = val ? openAll(items.value) : [];
|
|
93
|
+
}, {
|
|
94
|
+
immediate: true
|
|
95
|
+
});
|
|
96
|
+
function openAll(item) {
|
|
97
|
+
let ids = [];
|
|
98
|
+
for (const i of item) {
|
|
99
|
+
if (!i.children) continue;
|
|
100
|
+
ids.push(i.value);
|
|
101
|
+
if (i.children) {
|
|
102
|
+
ids = ids.concat(openAll(i.children));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return ids;
|
|
106
|
+
}
|
|
107
|
+
provide(VTreeviewSymbol, {
|
|
108
|
+
visibleIds
|
|
109
|
+
});
|
|
110
|
+
provideDefaults({
|
|
111
|
+
VTreeviewGroup: {
|
|
112
|
+
activeColor,
|
|
113
|
+
baseColor,
|
|
114
|
+
color,
|
|
115
|
+
collapseIcon: toRef(props, 'collapseIcon'),
|
|
116
|
+
expandIcon: toRef(props, 'expandIcon')
|
|
117
|
+
},
|
|
118
|
+
VTreeviewItem: {
|
|
119
|
+
activeClass: toRef(props, 'activeClass'),
|
|
120
|
+
activeColor,
|
|
121
|
+
baseColor,
|
|
122
|
+
color,
|
|
123
|
+
density: toRef(props, 'density'),
|
|
124
|
+
disabled: toRef(props, 'disabled'),
|
|
125
|
+
lines: toRef(props, 'lines'),
|
|
126
|
+
variant: toRef(props, 'variant')
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
useRender(() => {
|
|
130
|
+
const listProps = VList.filterProps(props);
|
|
131
|
+
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
|
132
|
+
return _createVNode(VList, _mergeProps({
|
|
133
|
+
"ref": vListRef
|
|
134
|
+
}, listProps, {
|
|
135
|
+
"class": ['v-treeview', props.class],
|
|
136
|
+
"style": props.style,
|
|
137
|
+
"opened": opened.value,
|
|
138
|
+
"onUpdate:opened": $event => opened.value = $event,
|
|
139
|
+
"activated": activated.value,
|
|
140
|
+
"onUpdate:activated": $event => activated.value = $event,
|
|
141
|
+
"selected": selected.value,
|
|
142
|
+
"onUpdate:selected": $event => selected.value = $event
|
|
143
|
+
}), {
|
|
144
|
+
default: () => [_createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
|
|
145
|
+
"items": items.value
|
|
146
|
+
}), slots)]
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
open
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=VTreeview.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VTreeview.mjs","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRef","watch","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","selectStrategy","openStrategy","slim","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","opened","activated","selected","vListRef","flatItems","filteredItems","visibleIds","Set","flatMap","getPath","getChildren","id","path","parent","unshift","parents","get","arr","queue","slice","child","shift","immediate","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, watch } 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 selectStrategy: 'independent' as const,\n openStrategy: 'multiple' as const,\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 opened = useProxiedModel(props, 'opened')\n const activated = useProxiedModel(props, 'activated')\n const selected = useProxiedModel(props, 'selected')\n\n const vListRef = ref<VList>()\n\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 watch(() => props.openAll, val => {\n opened.value = val ? openAll(items.value) : []\n }, { immediate: true })\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 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 v-model: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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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
|
2
|
+
// Components
|
|
3
|
+
import { VTreeviewGroup } from "./VTreeviewGroup.mjs";
|
|
4
|
+
import { VTreeviewItem } from "./VTreeviewItem.mjs";
|
|
5
|
+
import { VCheckboxBtn } from "../../components/VCheckbox/index.mjs"; // Utilities
|
|
6
|
+
import { shallowRef } from 'vue';
|
|
7
|
+
import { genericComponent, propsFactory } from "../../util/index.mjs"; // Types
|
|
8
|
+
export const makeVTreeviewChildrenProps = propsFactory({
|
|
9
|
+
loadChildren: Function,
|
|
10
|
+
loadingIcon: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: '$loading'
|
|
13
|
+
},
|
|
14
|
+
items: Array,
|
|
15
|
+
selectable: Boolean
|
|
16
|
+
}, 'VTreeviewChildren');
|
|
17
|
+
export const VTreeviewChildren = genericComponent()({
|
|
18
|
+
name: 'VTreeviewChildren',
|
|
19
|
+
props: makeVTreeviewChildrenProps(),
|
|
20
|
+
setup(props, _ref) {
|
|
21
|
+
let {
|
|
22
|
+
emit,
|
|
23
|
+
slots
|
|
24
|
+
} = _ref;
|
|
25
|
+
const isLoading = shallowRef(false);
|
|
26
|
+
const hasLoaded = shallowRef(false);
|
|
27
|
+
function checkChildren(item) {
|
|
28
|
+
return new Promise(resolve => {
|
|
29
|
+
if (!props.items?.length || !props.loadChildren || hasLoaded.value) return resolve();
|
|
30
|
+
isLoading.value = true;
|
|
31
|
+
props.loadChildren(item).then(resolve);
|
|
32
|
+
}).then(() => {
|
|
33
|
+
hasLoaded.value = true;
|
|
34
|
+
}).finally(() => {
|
|
35
|
+
isLoading.value = false;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function onClick(e, item) {
|
|
39
|
+
e.stopPropagation();
|
|
40
|
+
checkChildren(item);
|
|
41
|
+
}
|
|
42
|
+
return () => slots.default?.() ?? props.items?.map(_ref2 => {
|
|
43
|
+
let {
|
|
44
|
+
children,
|
|
45
|
+
props: itemProps,
|
|
46
|
+
raw: item
|
|
47
|
+
} = _ref2;
|
|
48
|
+
const slotsWithItem = {
|
|
49
|
+
prepend: slots.prepend ? slotProps => slots.prepend?.({
|
|
50
|
+
...slotProps,
|
|
51
|
+
item
|
|
52
|
+
}) : props.selectable ? _ref3 => {
|
|
53
|
+
let {
|
|
54
|
+
isSelected,
|
|
55
|
+
isIndeterminate
|
|
56
|
+
} = _ref3;
|
|
57
|
+
return _createVNode(VCheckboxBtn, {
|
|
58
|
+
"key": item.value,
|
|
59
|
+
"tabindex": "-1",
|
|
60
|
+
"modelValue": isSelected,
|
|
61
|
+
"loading": isLoading.value,
|
|
62
|
+
"indeterminate": isIndeterminate,
|
|
63
|
+
"onClick": e => onClick(e, item)
|
|
64
|
+
}, null);
|
|
65
|
+
} : undefined,
|
|
66
|
+
append: slots.append ? slotProps => slots.append?.({
|
|
67
|
+
...slotProps,
|
|
68
|
+
item
|
|
69
|
+
}) : undefined,
|
|
70
|
+
title: slots.title ? slotProps => slots.title?.({
|
|
71
|
+
...slotProps,
|
|
72
|
+
item
|
|
73
|
+
}) : undefined
|
|
74
|
+
};
|
|
75
|
+
const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
|
|
76
|
+
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
|
77
|
+
return children ? _createVNode(VTreeviewGroup, _mergeProps({
|
|
78
|
+
"value": itemProps?.value
|
|
79
|
+
}, treeviewGroupProps), {
|
|
80
|
+
activator: _ref4 => {
|
|
81
|
+
let {
|
|
82
|
+
props: activatorProps
|
|
83
|
+
} = _ref4;
|
|
84
|
+
return _createVNode(VTreeviewItem, _mergeProps(itemProps, activatorProps, {
|
|
85
|
+
"loading": isLoading.value,
|
|
86
|
+
"onClick": e => onClick(e, item)
|
|
87
|
+
}), slotsWithItem);
|
|
88
|
+
},
|
|
89
|
+
default: () => _createVNode(VTreeviewChildren, _mergeProps(treeviewChildrenProps, {
|
|
90
|
+
"items": children
|
|
91
|
+
}), slots)
|
|
92
|
+
}) : slots.item?.({
|
|
93
|
+
props: itemProps
|
|
94
|
+
}) ?? _createVNode(VTreeviewItem, itemProps, slotsWithItem);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=VTreeviewChildren.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VTreeviewChildren.mjs","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","shallowRef","genericComponent","propsFactory","makeVTreeviewChildrenProps","loadChildren","Function","loadingIcon","type","String","default","items","Array","selectable","Boolean","VTreeviewChildren","name","props","setup","_ref","emit","slots","isLoading","hasLoaded","checkChildren","item","Promise","resolve","length","value","then","finally","onClick","e","stopPropagation","map","_ref2","children","itemProps","raw","slotsWithItem","prepend","slotProps","_ref3","isSelected","isIndeterminate","_createVNode","undefined","append","title","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref4","activatorProps"],"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 } 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 { 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}, '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(false)\n const hasLoaded = shallowRef(false)\n\n function checkChildren (item: unknown) {\n return new Promise<void>(resolve => {\n if (!props.items?.length || !props.loadChildren || hasLoaded.value) return resolve()\n\n isLoading.value = true\n props.loadChildren(item).then(resolve)\n }).then(() => {\n hasLoaded.value = true\n }).finally(() => {\n isLoading.value = false\n })\n }\n\n function onClick (e: MouseEvent | KeyboardEvent, item: any) {\n e.stopPropagation()\n\n checkChildren(item)\n }\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, raw: item }) => {\n const slotsWithItem = {\n prepend: slots.prepend\n ? slotProps => slots.prepend?.({ ...slotProps, item })\n : props.selectable\n ? ({ isSelected, isIndeterminate }) => (\n <VCheckboxBtn\n key={ item.value }\n tabindex=\"-1\"\n modelValue={ isSelected }\n loading={ isLoading.value }\n indeterminate={ isIndeterminate }\n onClick={ (e: MouseEvent) => onClick(e, item) }\n />\n )\n : undefined,\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 <VTreeviewItem\n { ...itemProps }\n { ...activatorProps }\n loading={ isLoading.value }\n v-slots={ slotsWithItem }\n onClick={ (e: MouseEvent | KeyboardEvent) => onClick(e, item) }\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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"}
|