@vuetify/nightly 3.9.0-beta.0-dev.2025-06-24 → 3.9.0-beta.1-dev.2025-06-26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -87
- package/dist/json/attributes.json +795 -795
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +194 -194
- package/dist/json/web-types.json +1361 -1361
- package/dist/vuetify-labs.cjs +15 -14
- package/dist/vuetify-labs.css +3056 -3056
- package/dist/vuetify-labs.d.ts +65 -65
- package/dist/vuetify-labs.esm.js +15 -14
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +15 -14
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +15 -14
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3279 -3279
- package/dist/vuetify.d.ts +65 -65
- package/dist/vuetify.esm.js +15 -14
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +15 -14
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +12 -12
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.d.ts +13 -0
- package/lib/components/VTreeview/VTreeviewChildren.js +2 -1
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.js +3 -3
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/composables/nested/nested.js +8 -8
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +65 -65
- package/lib/framework.js +1 -1
- package/package.json +1 -1
@@ -28,6 +28,7 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
|
|
28
28
|
falseIcon?: unknown;
|
29
29
|
trueIcon?: unknown;
|
30
30
|
returnObject?: unknown;
|
31
|
+
activatable?: unknown;
|
31
32
|
selectable?: unknown;
|
32
33
|
selectedColor?: unknown;
|
33
34
|
selectStrategy?: unknown;
|
@@ -100,6 +101,10 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
|
|
100
101
|
type: PropType<unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"]>;
|
101
102
|
default: unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"];
|
102
103
|
};
|
104
|
+
activatable: unknown extends Defaults["activatable"] ? BooleanConstructor : {
|
105
|
+
type: PropType<unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"]>;
|
106
|
+
default: unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"];
|
107
|
+
};
|
103
108
|
selectable: unknown extends Defaults["selectable"] ? BooleanConstructor : {
|
104
109
|
type: PropType<unknown extends Defaults["selectable"] ? boolean : boolean | Defaults["selectable"]>;
|
105
110
|
default: unknown extends Defaults["selectable"] ? boolean : boolean | Defaults["selectable"];
|
@@ -134,6 +139,7 @@ export declare const VTreeviewChildren: {
|
|
134
139
|
returnObject: boolean;
|
135
140
|
density: import("../../composables/density.js").Density;
|
136
141
|
indeterminateIcon: IconValue;
|
142
|
+
activatable: boolean;
|
137
143
|
selectable: boolean;
|
138
144
|
loadingIcon: string;
|
139
145
|
} & {
|
@@ -153,6 +159,7 @@ export declare const VTreeviewChildren: {
|
|
153
159
|
density: import("../../composables/density.js").Density;
|
154
160
|
openOnClick: boolean;
|
155
161
|
indeterminateIcon: IconValue;
|
162
|
+
activatable: boolean;
|
156
163
|
selectable: boolean;
|
157
164
|
loadingIcon: string;
|
158
165
|
}, true, {}, import("vue").SlotsType<Partial<{
|
@@ -191,6 +198,7 @@ export declare const VTreeviewChildren: {
|
|
191
198
|
returnObject: boolean;
|
192
199
|
density: import("../../composables/density.js").Density;
|
193
200
|
indeterminateIcon: IconValue;
|
201
|
+
activatable: boolean;
|
194
202
|
selectable: boolean;
|
195
203
|
loadingIcon: string;
|
196
204
|
} & {
|
@@ -210,6 +218,7 @@ export declare const VTreeviewChildren: {
|
|
210
218
|
density: import("../../composables/density.js").Density;
|
211
219
|
openOnClick: boolean;
|
212
220
|
indeterminateIcon: IconValue;
|
221
|
+
activatable: boolean;
|
213
222
|
selectable: boolean;
|
214
223
|
loadingIcon: string;
|
215
224
|
}>;
|
@@ -222,6 +231,7 @@ export declare const VTreeviewChildren: {
|
|
222
231
|
returnObject: boolean;
|
223
232
|
density: import("../../composables/density.js").Density;
|
224
233
|
indeterminateIcon: IconValue;
|
234
|
+
activatable: boolean;
|
225
235
|
selectable: boolean;
|
226
236
|
loadingIcon: string;
|
227
237
|
} & {
|
@@ -241,6 +251,7 @@ export declare const VTreeviewChildren: {
|
|
241
251
|
density: import("../../composables/density.js").Density;
|
242
252
|
openOnClick: boolean;
|
243
253
|
indeterminateIcon: IconValue;
|
254
|
+
activatable: boolean;
|
244
255
|
selectable: boolean;
|
245
256
|
loadingIcon: string;
|
246
257
|
}, {}, string, import("vue").SlotsType<Partial<{
|
@@ -292,6 +303,7 @@ export declare const VTreeviewChildren: {
|
|
292
303
|
falseIcon: PropType<IconValue>;
|
293
304
|
trueIcon: PropType<IconValue>;
|
294
305
|
returnObject: BooleanConstructor;
|
306
|
+
activatable: BooleanConstructor;
|
295
307
|
selectable: BooleanConstructor;
|
296
308
|
selectedColor: StringConstructor;
|
297
309
|
selectStrategy: PropType<SelectStrategyProp>;
|
@@ -324,6 +336,7 @@ export declare const VTreeviewChildren: {
|
|
324
336
|
falseIcon: PropType<IconValue>;
|
325
337
|
trueIcon: PropType<IconValue>;
|
326
338
|
returnObject: BooleanConstructor;
|
339
|
+
activatable: BooleanConstructor;
|
327
340
|
selectable: BooleanConstructor;
|
328
341
|
selectedColor: StringConstructor;
|
329
342
|
selectStrategy: PropType<SelectStrategyProp>;
|
@@ -26,6 +26,7 @@ export const makeVTreeviewChildrenProps = propsFactory({
|
|
26
26
|
falseIcon: IconValue,
|
27
27
|
trueIcon: IconValue,
|
28
28
|
returnObject: Boolean,
|
29
|
+
activatable: Boolean,
|
29
30
|
selectable: Boolean,
|
30
31
|
selectedColor: String,
|
31
32
|
selectStrategy: [String, Function, Object],
|
@@ -45,7 +46,7 @@ export const VTreeviewChildren = genericComponent()({
|
|
45
46
|
} = _ref;
|
46
47
|
const isLoading = reactive(new Set());
|
47
48
|
const activatorItems = ref([]);
|
48
|
-
const isClickOnOpen = computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable));
|
49
|
+
const isClickOnOpen = computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable && !props.activatable));
|
49
50
|
async function checkChildren(item) {
|
50
51
|
try {
|
51
52
|
if (!props.items?.length || !props.loadChildren) return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","propsFactory","makeVTreeviewChildrenProps","disabled","Boolean","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","selectable","selectedColor","selectStrategy","Object","index","Number","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","treeItemProps","depth","isFirst","isLast","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick","el"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } 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] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n disabled: Boolean,\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 index: Number,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...makeDensityProps(),\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, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\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((item, index) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n\n const treeItemProps = {\n index,\n depth: props.path?.length ?? 0,\n isFirst: index === 0,\n isLast: props.items ? props.items.length - 1 === index : false,\n path: [...props.path, index],\n }\n\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 disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\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, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n value={ props.returnObject ? item.raw : 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, item: item.raw, internalItem: item }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","propsFactory","makeVTreeviewChildrenProps","disabled","Boolean","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","treeItemProps","depth","isFirst","isLast","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick","el"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } 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] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n disabled: Boolean,\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 activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...makeDensityProps(),\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, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\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((item, index) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n\n const treeItemProps = {\n index,\n depth: props.path?.length ?? 0,\n isFirst: index === 0,\n isLast: props.items ? props.items.length - 1 === index : false,\n path: [...props.path, index],\n }\n\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 disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\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, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n value={ props.returnObject ? item.raw : 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, item: item.raw, internalItem: item }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
@@ -10,7 +10,7 @@ import { VProgressCircular } from "../VProgressCircular/index.js"; // Composable
|
|
10
10
|
import { forwardRefs } from "../../composables/forwardRefs.js";
|
11
11
|
import { IconValue } from "../../composables/icons.js"; // Utilities
|
12
12
|
import { computed, inject, ref, toRaw } from 'vue';
|
13
|
-
import { genericComponent,
|
13
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
14
14
|
import { VTreeviewSymbol } from "./shared.js";
|
15
15
|
export const makeVTreeviewItemProps = propsFactory({
|
16
16
|
loading: Boolean,
|
@@ -49,7 +49,7 @@ export const VTreeviewItem = genericComponent()({
|
|
49
49
|
emit('toggleExpand', e);
|
50
50
|
}
|
51
51
|
useRender(() => {
|
52
|
-
const listItemProps =
|
52
|
+
const listItemProps = VListItem.filterProps(props);
|
53
53
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
54
54
|
return _createVNode(VListItem, _mergeProps({
|
55
55
|
"ref": vListItemRef
|
@@ -60,7 +60,7 @@ export const VTreeviewItem = genericComponent()({
|
|
60
60
|
'v-treeview-item--filtered': isFiltered.value
|
61
61
|
}, props.class],
|
62
62
|
"ripple": false,
|
63
|
-
"onClick":
|
63
|
+
"onClick": activateGroupActivator
|
64
64
|
}), {
|
65
65
|
...slots,
|
66
66
|
prepend: hasPrepend ? slotProps => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTreeviewItem.js","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","forwardRefs","IconValue","computed","inject","ref","toRaw","genericComponent","
|
1
|
+
{"version":3,"file":"VTreeviewItem.js","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","forwardRefs","IconValue","computed","inject","ref","toRaw","genericComponent","propsFactory","useRender","VTreeviewSymbol","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","emits","toggleExpand","value","setup","_ref","slots","emit","visibleIds","vListItemRef","isActivatableGroupActivator","root","activatable","isGroupActivator","vListItemRefIsClickable","link","isClickable","list","disabled","isFiltered","has","id","activateGroupActivator","e","activate","isActivated","onClickAction","preventDefault","stopPropagation","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","class","slotProps","_createElementVNode","_Fragment","default","loader","undefined"],"sources":["../../../src/components/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, inject, ref, toRaw } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n emits: {\n toggleExpand: (value: PointerEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n const vListItemRef = ref<VListItem>()\n\n const isActivatableGroupActivator = computed(() =>\n (vListItemRef.value?.root.activatable.value) &&\n vListItemRef.value?.isGroupActivator\n )\n const vListItemRefIsClickable = computed(() => (\n vListItemRef.value?.link.isClickable.value ||\n (props.value != null && !!vListItemRef.value?.list)\n ))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value)\n )\n const isFiltered = computed(() => visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id)))\n\n function activateGroupActivator (e: MouseEvent | KeyboardEvent) {\n if (isClickable.value && isActivatableGroupActivator.value) {\n vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e)\n }\n }\n\n function onClickAction (e: PointerEvent) {\n e.preventDefault()\n e.stopPropagation()\n emit('toggleExpand', e)\n }\n\n useRender(() => {\n const listItemProps = VListItem.filterProps(props)\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n active={ vListItemRef.value?.isActivated }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,\n 'v-treeview-item--filtered': isFiltered.value,\n },\n props.class,\n ]}\n ripple={ false }\n onClick={ activateGroupActivator }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n <VListItemAction start>\n { props.toggleIcon ? (\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n onClick={ onClickAction }\n >\n {{\n loader: () => (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n ),\n }}\n </VBtn>\n ) : (\n <div class=\"v-treeview-item__level\" />\n )}\n </VListItemAction>\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return forwardRefs({}, vListItemRef)\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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","ignoreList":[]}
|
@@ -39,9 +39,9 @@ export const makeNestedProps = propsFactory({
|
|
39
39
|
}, 'nested');
|
40
40
|
export const useNested = props => {
|
41
41
|
let isUnmounted = false;
|
42
|
-
const children =
|
43
|
-
const parents =
|
44
|
-
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
42
|
+
const children = shallowRef(new Map());
|
43
|
+
const parents = shallowRef(new Map());
|
44
|
+
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(Array.isArray(v) ? v.map(i => toRaw(i)) : v), v => [...v.values()]);
|
45
45
|
const activeStrategy = computed(() => {
|
46
46
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
47
47
|
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
@@ -95,7 +95,7 @@ export const useNested = props => {
|
|
95
95
|
});
|
96
96
|
function getPath(id) {
|
97
97
|
const path = [];
|
98
|
-
let parent = id;
|
98
|
+
let parent = toRaw(id);
|
99
99
|
while (parent != null) {
|
100
100
|
path.unshift(parent);
|
101
101
|
parent = parents.value.get(parent);
|
@@ -238,7 +238,7 @@ export const useNested = props => {
|
|
238
238
|
export const useNestedItem = (id, isGroup) => {
|
239
239
|
const parent = inject(VNestedSymbol, emptyNested);
|
240
240
|
const uidSymbol = Symbol('nested item');
|
241
|
-
const computedId = computed(() => toValue(id) ?? uidSymbol);
|
241
|
+
const computedId = computed(() => toRaw(toValue(id)) ?? uidSymbol);
|
242
242
|
const item = {
|
243
243
|
...parent,
|
244
244
|
id: computedId,
|
@@ -247,10 +247,10 @@ export const useNestedItem = (id, isGroup) => {
|
|
247
247
|
isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
|
248
248
|
parent: computed(() => parent.root.parents.value.get(computedId.value)),
|
249
249
|
activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
|
250
|
-
isActivated: computed(() => parent.root.activated.value.has(
|
250
|
+
isActivated: computed(() => parent.root.activated.value.has(computedId.value)),
|
251
251
|
select: (selected, e) => parent.root.select(computedId.value, selected, e),
|
252
|
-
isSelected: computed(() => parent.root.selected.value.get(
|
253
|
-
isIndeterminate: computed(() => parent.root.selected.value.get(
|
252
|
+
isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),
|
253
|
+
isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),
|
254
254
|
isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),
|
255
255
|
isGroupActivator: parent.isGroupActivator
|
256
256
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nested.js","names":["useProxiedModel","computed","inject","onBeforeMount","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","toValue","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","trunkSelectStrategy","consoleError","getCurrentInstance","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","getPath","makeNestedProps","Boolean","activeStrategy","String","Function","Object","selectStrategy","openStrategy","mandatory","useNested","props","isUnmounted","v","values","value","in","out","path","parent","unshift","get","vm","nodeIds","nested","arr","key","entries","push","parentId","isGroup","has","map","join","newPath","concat","add","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","size","useNestedItem","uidSymbol","computedId","item","e","isOpen","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport {\n computed,\n inject,\n onBeforeMount,\n onBeforeUnmount,\n provide,\n ref,\n shallowRef,\n toRaw,\n toRef, toValue,\n} from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy,\n} from './selectStrategies'\nimport { consoleError, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, MaybeRefOrGetter, PropType, Ref } from 'vue'\nimport type { ActiveStrategy } from './activeStrategies'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategy } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type ActiveStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | ActiveStrategy\n | ((mandatory: boolean) => ActiveStrategy)\nexport type SelectStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | 'classic'\n | 'trunk'\n | SelectStrategy\n | ((mandatory: boolean) => SelectStrategy)\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: ActiveStrategyProp | undefined\n selectStrategy: SelectStrategyProp | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: any\n selected: any\n opened: any\n mandatory: boolean\n 'onUpdate:activated': EventProp<[any]> | undefined\n 'onUpdate:selected': EventProp<[any]> | undefined\n 'onUpdate:opened': EventProp<[any]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n getPath: (id: unknown) => unknown[]\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => [],\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory)\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory)\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'trunk': return trunkSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nodeIds = new Set<unknown>()\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ')\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ')\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`)\n return\n } else {\n nodeIds.add(id)\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n nodeIds.delete(id)\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated\n } else {\n for (const value of newActivated) {\n if (!activated.value.has(value)) {\n activated.value = newActivated\n return\n }\n }\n for (const value of activated.value) {\n if (!newActivated.has(value)) {\n activated.value = newActivated\n return\n }\n }\n }\n },\n children,\n parents,\n getPath,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: MaybeRefOrGetter<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol('nested item')\n const computedId = computed(() => toValue(id) ?? uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n onBeforeMount(() => {\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n })\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"AAAA;AAAA,SACSA,eAAe,8BAExB;AACA,SACEC,QAAQ,EACRC,MAAM,EACNC,aAAa,EACbC,eAAe,EACfC,OAAO,EACPC,GAAG,EACHC,UAAU,EACVC,KAAK,EACLC,KAAK,EAAEC,OAAO,QACT,KAAK;AAAA,SAEVC,yBAAyB,EACzBC,+BAA+B,EAC/BC,kBAAkB,EAClBC,wBAAwB;AAAA,SAEjBC,gBAAgB,EAAEC,oBAAoB,EAAEC,kBAAkB;AAAA,SAEjEC,qBAAqB,EACrBC,yBAAyB,EACzBC,+BAA+B,EAC/BC,kBAAkB,EAClBC,wBAAwB,EACxBC,mBAAmB;AAAA,SAEZC,YAAY,EAAEC,kBAAkB,EAAEC,YAAY,+BAEvD;AA8DA,OAAO,MAAMC,aAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAEtF,OAAO,MAAMC,WAA0B,GAAG;EACxCC,EAAE,EAAExB,UAAU,CAAC,CAAC;EAChByB,IAAI,EAAE;IACJC,QAAQ,EAAEA,CAAA,KAAM,IAAI;IACpBC,UAAU,EAAEA,CAAA,KAAM,IAAI;IACtBC,OAAO,EAAE7B,GAAG,CAAC,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACvBC,QAAQ,EAAE/B,GAAG,CAAC,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACxBE,IAAI,EAAEA,CAAA,KAAM,IAAI;IAChBC,YAAY,EAAEA,CAAA,KAAM,IAAI;IACxBC,QAAQ,EAAEA,CAAA,KAAM,IAAI;IACpBC,MAAM,EAAEA,CAAA,KAAM,IAAI;IAClBC,WAAW,EAAEpC,GAAG,CAAC,KAAK,CAAC;IACvBqC,UAAU,EAAErC,GAAG,CAAC,KAAK,CAAC;IACtBsC,MAAM,EAAEtC,GAAG,CAAC,IAAIuC,GAAG,CAAC,CAAC,CAAC;IACtBC,SAAS,EAAExC,GAAG,CAAC,IAAIuC,GAAG,CAAC,CAAC,CAAC;IACzBE,QAAQ,EAAEzC,GAAG,CAAC,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACxBY,cAAc,EAAE1C,GAAG,CAAC,EAAE,CAAC;IACvB2C,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGxB,YAAY,CAAC;EAC1CgB,WAAW,EAAES,OAAO;EACpBR,UAAU,EAAEQ,OAAO;EACnBC,cAAc,EAAE,CAACC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,CAAiC;EAC1EC,cAAc,EAAE,CAACH,MAAM,EAAEC,QAAQ,EAAEC,MAAM,CAAiC;EAC1EE,YAAY,EAAE,CAACJ,MAAM,EAAEE,MAAM,CAA+B;EAC5DX,MAAM,EAAE,IAAI;EACZE,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EACdW,SAAS,EAAEP;AACb,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMQ,SAAS,GAAIC,KAAkB,IAAK;EAC/C,IAAIC,WAAW,GAAG,KAAK;EACvB,MAAMxB,QAAQ,GAAG/B,GAAG,CAAC,IAAI8B,GAAG,CAAqB,CAAC,CAAC;EACnD,MAAMD,OAAO,GAAG7B,GAAG,CAAC,IAAI8B,GAAG,CAAmB,CAAC,CAAC;EAEhD,MAAMQ,MAAM,GAAG5C,eAAe,CAAC4D,KAAK,EAAE,QAAQ,EAAEA,KAAK,CAAChB,MAAM,EAAEkB,CAAC,IAAI,IAAIjB,GAAG,CAACiB,CAAC,CAAC,EAAEA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;EAEpG,MAAMX,cAAc,GAAGnD,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAO2D,KAAK,CAACR,cAAc,KAAK,QAAQ,EAAE,OAAOQ,KAAK,CAACR,cAAc;IACzE,IAAI,OAAOQ,KAAK,CAACR,cAAc,KAAK,UAAU,EAAE,OAAOQ,KAAK,CAACR,cAAc,CAACQ,KAAK,CAACF,SAAS,CAAC;IAE5F,QAAQE,KAAK,CAACR,cAAc;MAC1B,KAAK,MAAM;QAAE,OAAOvC,kBAAkB,CAAC+C,KAAK,CAACF,SAAS,CAAC;MACvD,KAAK,aAAa;QAAE,OAAO5C,wBAAwB,CAAC8C,KAAK,CAACF,SAAS,CAAC;MACpE,KAAK,aAAa;QAAE,OAAO/C,yBAAyB,CAACiD,KAAK,CAACF,SAAS,CAAC;MACrE,KAAK,oBAAoB;MACzB;QAAS,OAAO9C,+BAA+B,CAACgD,KAAK,CAACF,SAAS,CAAC;IAClE;EACF,CAAC,CAAC;EAEF,MAAMF,cAAc,GAAGvD,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAO2D,KAAK,CAACJ,cAAc,KAAK,QAAQ,EAAE,OAAOI,KAAK,CAACJ,cAAc;IACzE,IAAI,OAAOI,KAAK,CAACJ,cAAc,KAAK,UAAU,EAAE,OAAOI,KAAK,CAACJ,cAAc,CAACI,KAAK,CAACF,SAAS,CAAC;IAE5F,QAAQE,KAAK,CAACJ,cAAc;MAC1B,KAAK,aAAa;QAAE,OAAOlC,wBAAwB,CAACsC,KAAK,CAACF,SAAS,CAAC;MACpE,KAAK,MAAM;QAAE,OAAOrC,kBAAkB,CAACuC,KAAK,CAACF,SAAS,CAAC;MACvD,KAAK,aAAa;QAAE,OAAOvC,yBAAyB,CAACyC,KAAK,CAACF,SAAS,CAAC;MACrE,KAAK,oBAAoB;QAAE,OAAOtC,+BAA+B,CAACwC,KAAK,CAACF,SAAS,CAAC;MAClF,KAAK,OAAO;QAAE,OAAOnC,mBAAmB,CAACqC,KAAK,CAACF,SAAS,CAAC;MACzD,KAAK,SAAS;MACd;QAAS,OAAOxC,qBAAqB,CAAC0C,KAAK,CAACF,SAAS,CAAC;IACxD;EACF,CAAC,CAAC;EAEF,MAAMD,YAAY,GAAGxD,QAAQ,CAAC,MAAM;IAClC,IAAI,OAAO2D,KAAK,CAACH,YAAY,KAAK,QAAQ,EAAE,OAAOG,KAAK,CAACH,YAAY;IAErE,QAAQG,KAAK,CAACH,YAAY;MACxB,KAAK,MAAM;QAAE,OAAO1C,gBAAgB;MACpC,KAAK,QAAQ;QAAE,OAAOE,kBAAkB;MACxC,KAAK,UAAU;MACf;QAAS,OAAOD,oBAAoB;IACtC;EACF,CAAC,CAAC;EAEF,MAAM8B,SAAS,GAAG9C,eAAe,CAC/B4D,KAAK,EACL,WAAW,EACXA,KAAK,CAACd,SAAS,EACfgB,CAAC,IAAIV,cAAc,CAACY,KAAK,CAACC,EAAE,CAACH,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAAC,EAC9DF,CAAC,IAAIV,cAAc,CAACY,KAAK,CAACE,GAAG,CAACJ,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAChE,CAAC;EACD,MAAMjB,QAAQ,GAAG/C,eAAe,CAC9B4D,KAAK,EACL,UAAU,EACVA,KAAK,CAACb,QAAQ,EACde,CAAC,IAAIN,cAAc,CAACQ,KAAK,CAACC,EAAE,CAACH,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAAC,EAC9DF,CAAC,IAAIN,cAAc,CAACQ,KAAK,CAACE,GAAG,CAACJ,CAAC,EAAEzB,QAAQ,CAAC2B,KAAK,EAAE7B,OAAO,CAAC6B,KAAK,CAChE,CAAC;EAED5D,eAAe,CAAC,MAAM;IACpByD,WAAW,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,SAASZ,OAAOA,CAAElB,EAAW,EAAE;IAC7B,MAAMoC,IAAe,GAAG,EAAE;IAC1B,IAAIC,MAAe,GAAGrC,EAAE;IAExB,OAAOqC,MAAM,IAAI,IAAI,EAAE;MACrBD,IAAI,CAACE,OAAO,CAACD,MAAM,CAAC;MACpBA,MAAM,GAAGjC,OAAO,CAAC6B,KAAK,CAACM,GAAG,CAACF,MAAM,CAAC;IACpC;IAEA,OAAOD,IAAI;EACb;EAEA,MAAMI,EAAE,GAAG9C,kBAAkB,CAAC,QAAQ,CAAC;EAEvC,MAAM+C,OAAO,GAAG,IAAI3B,GAAG,CAAU,CAAC;EAElC,MAAM4B,MAAqB,GAAG;IAC5B1C,EAAE,EAAExB,UAAU,CAAC,CAAC;IAChByB,IAAI,EAAE;MACJY,MAAM;MACNF,WAAW,EAAEjC,KAAK,CAAC,MAAMmD,KAAK,CAAClB,WAAW,CAAC;MAC3CC,UAAU,EAAElC,KAAK,CAAC,MAAMmD,KAAK,CAACjB,UAAU,CAAC;MACzCG,SAAS;MACTC,QAAQ;MACRC,cAAc,EAAE/C,QAAQ,CAAC,MAAM;QAC7B,MAAMyE,GAAG,GAAG,EAAE;QAEd,KAAK,MAAM,CAACC,GAAG,EAAEX,KAAK,CAAC,IAAIjB,QAAQ,CAACiB,KAAK,CAACY,OAAO,CAAC,CAAC,EAAE;UACnD,IAAIZ,KAAK,KAAK,IAAI,EAAEU,GAAG,CAACG,IAAI,CAACF,GAAG,CAAC;QACnC;QAEA,OAAOD,GAAG;MACZ,CAAC,CAAC;MACFzC,QAAQ,EAAEA,CAACF,EAAE,EAAE+C,QAAQ,EAAEC,OAAO,KAAK;QACnC,IAAIP,OAAO,CAACQ,GAAG,CAACjD,EAAE,CAAC,EAAE;UACnB,MAAMoC,IAAI,GAAGlB,OAAO,CAAClB,EAAE,CAAC,CAACkD,GAAG,CAAC5B,MAAM,CAAC,CAAC6B,IAAI,CAAC,MAAM,CAAC;UACjD,MAAMC,OAAO,GAAGlC,OAAO,CAAC6B,QAAQ,CAAC,CAACM,MAAM,CAACrD,EAAE,CAAC,CAACkD,GAAG,CAAC5B,MAAM,CAAC,CAAC6B,IAAI,CAAC,MAAM,CAAC;UACrE1D,YAAY,CAAC,sCAAsC2C,IAAI,OAAOgB,OAAO,EAAE,CAAC;UACxE;QACF,CAAC,MAAM;UACLX,OAAO,CAACa,GAAG,CAACtD,EAAE,CAAC;QACjB;QAEA+C,QAAQ,IAAI/C,EAAE,KAAK+C,QAAQ,IAAI3C,OAAO,CAAC6B,KAAK,CAACsB,GAAG,CAACvD,EAAE,EAAE+C,QAAQ,CAAC;QAE9DC,OAAO,IAAI1C,QAAQ,CAAC2B,KAAK,CAACsB,GAAG,CAACvD,EAAE,EAAE,EAAE,CAAC;QAErC,IAAI+C,QAAQ,IAAI,IAAI,EAAE;UACpBzC,QAAQ,CAAC2B,KAAK,CAACsB,GAAG,CAACR,QAAQ,EAAE,CAAC,IAAGzC,QAAQ,CAAC2B,KAAK,CAACM,GAAG,CAACQ,QAAQ,CAAC,IAAI,EAAE,GAAE/C,EAAE,CAAC,CAAC;QAC3E;MACF,CAAC;MACDG,UAAU,EAAEH,EAAE,IAAI;QAChB,IAAI8B,WAAW,EAAE;QAEjBW,OAAO,CAACe,MAAM,CAACxD,EAAE,CAAC;QAClBM,QAAQ,CAAC2B,KAAK,CAACuB,MAAM,CAACxD,EAAE,CAAC;QACzB,MAAMqC,MAAM,GAAGjC,OAAO,CAAC6B,KAAK,CAACM,GAAG,CAACvC,EAAE,CAAC;QACpC,IAAIqC,MAAM,EAAE;UACV,MAAMoB,IAAI,GAAGnD,QAAQ,CAAC2B,KAAK,CAACM,GAAG,CAACF,MAAM,CAAC,IAAI,EAAE;UAC7C/B,QAAQ,CAAC2B,KAAK,CAACsB,GAAG,CAAClB,MAAM,EAAEoB,IAAI,CAACC,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAK3D,EAAE,CAAC,CAAC;QAChE;QACAI,OAAO,CAAC6B,KAAK,CAACuB,MAAM,CAACxD,EAAE,CAAC;MAC1B,CAAC;MACDO,IAAI,EAAEA,CAACP,EAAE,EAAEiC,KAAK,EAAE2B,KAAK,KAAK;QAC1BpB,EAAE,CAACqB,IAAI,CAAC,YAAY,EAAE;UAAE7D,EAAE;UAAEiC,KAAK;UAAEG,IAAI,EAAElB,OAAO,CAAClB,EAAE,CAAC;UAAE4D;QAAM,CAAC,CAAC;QAE9D,MAAME,SAAS,GAAGpC,YAAY,CAACO,KAAK,CAAC1B,IAAI,CAAC;UACxCP,EAAE;UACFiC,KAAK;UACLpB,MAAM,EAAE,IAAIC,GAAG,CAACD,MAAM,CAACoB,KAAK,CAAC;UAC7B3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtB2B;QACF,CAAC,CAAC;QAEFE,SAAS,KAAKjD,MAAM,CAACoB,KAAK,GAAG6B,SAAS,CAAC;MACzC,CAAC;MACDtD,YAAY,EAAEA,CAACR,EAAE,EAAEiC,KAAK,EAAE2B,KAAK,KAAK;QAClC,MAAME,SAAS,GAAGpC,YAAY,CAACO,KAAK,CAACvB,MAAM,CAAC;UAC1CV,EAAE;UACFiC,KAAK;UACLjB,QAAQ,EAAE,IAAIX,GAAG,CAACW,QAAQ,CAACiB,KAAK,CAAC;UACjCpB,MAAM,EAAE,IAAIC,GAAG,CAACD,MAAM,CAACoB,KAAK,CAAC;UAC7B3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtB2B;QACF,CAAC,CAAC;QACFE,SAAS,KAAKjD,MAAM,CAACoB,KAAK,GAAG6B,SAAS,CAAC;MACzC,CAAC;MACDpD,MAAM,EAAEA,CAACV,EAAE,EAAEiC,KAAK,EAAE2B,KAAK,KAAK;QAC5BpB,EAAE,CAACqB,IAAI,CAAC,cAAc,EAAE;UAAE7D,EAAE;UAAEiC,KAAK;UAAEG,IAAI,EAAElB,OAAO,CAAClB,EAAE,CAAC;UAAE4D;QAAM,CAAC,CAAC;QAEhE,MAAMG,WAAW,GAAGtC,cAAc,CAACQ,KAAK,CAACvB,MAAM,CAAC;UAC9CV,EAAE;UACFiC,KAAK;UACLjB,QAAQ,EAAE,IAAIX,GAAG,CAACW,QAAQ,CAACiB,KAAK,CAAC;UACjC3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtB2B;QACF,CAAC,CAAC;QACFG,WAAW,KAAK/C,QAAQ,CAACiB,KAAK,GAAG8B,WAAW,CAAC;QAE7CrB,MAAM,CAACzC,IAAI,CAACO,YAAY,CAACR,EAAE,EAAEiC,KAAK,EAAE2B,KAAK,CAAC;MAC5C,CAAC;MACDnD,QAAQ,EAAEA,CAACT,EAAE,EAAEiC,KAAK,EAAE2B,KAAK,KAAK;QAC9B,IAAI,CAAC/B,KAAK,CAAClB,WAAW,EAAE;UACtB,OAAO+B,MAAM,CAACzC,IAAI,CAACS,MAAM,CAACV,EAAE,EAAE,IAAI,EAAE4D,KAAK,CAAC;QAC5C;QAEApB,EAAE,CAACqB,IAAI,CAAC,gBAAgB,EAAE;UAAE7D,EAAE;UAAEiC,KAAK;UAAEG,IAAI,EAAElB,OAAO,CAAClB,EAAE,CAAC;UAAE4D;QAAM,CAAC,CAAC;QAElE,MAAMI,YAAY,GAAG3C,cAAc,CAACY,KAAK,CAACxB,QAAQ,CAAC;UACjDT,EAAE;UACFiC,KAAK;UACLlB,SAAS,EAAE,IAAID,GAAG,CAACC,SAAS,CAACkB,KAAK,CAAC;UACnC3B,QAAQ,EAAEA,QAAQ,CAAC2B,KAAK;UACxB7B,OAAO,EAAEA,OAAO,CAAC6B,KAAK;UACtB2B;QACF,CAAC,CAAC;QAEF,IAAII,YAAY,CAACC,IAAI,KAAKlD,SAAS,CAACkB,KAAK,CAACgC,IAAI,EAAE;UAC9ClD,SAAS,CAACkB,KAAK,GAAG+B,YAAY;QAChC,CAAC,MAAM;UACL,KAAK,MAAM/B,KAAK,IAAI+B,YAAY,EAAE;YAChC,IAAI,CAACjD,SAAS,CAACkB,KAAK,CAACgB,GAAG,CAAChB,KAAK,CAAC,EAAE;cAC/BlB,SAAS,CAACkB,KAAK,GAAG+B,YAAY;cAC9B;YACF;UACF;UACA,KAAK,MAAM/B,KAAK,IAAIlB,SAAS,CAACkB,KAAK,EAAE;YACnC,IAAI,CAAC+B,YAAY,CAACf,GAAG,CAAChB,KAAK,CAAC,EAAE;cAC5BlB,SAAS,CAACkB,KAAK,GAAG+B,YAAY;cAC9B;YACF;UACF;QACF;MACF,CAAC;MACD1D,QAAQ;MACRF,OAAO;MACPc;IACF;EACF,CAAC;EAED5C,OAAO,CAACsB,aAAa,EAAE8C,MAAM,CAAC;EAE9B,OAAOA,MAAM,CAACzC,IAAI;AACpB,CAAC;AAED,OAAO,MAAMiE,aAAa,GAAGA,CAAClE,EAA6B,EAAEgD,OAAgB,KAAK;EAChF,MAAMX,MAAM,GAAGlE,MAAM,CAACyB,aAAa,EAAEG,WAAW,CAAC;EAEjD,MAAMoE,SAAS,GAAGtE,MAAM,CAAC,aAAa,CAAC;EACvC,MAAMuE,UAAU,GAAGlG,QAAQ,CAAC,MAAMS,OAAO,CAACqB,EAAE,CAAC,IAAImE,SAAS,CAAC;EAE3D,MAAME,IAAI,GAAG;IACX,GAAGhC,MAAM;IACTrC,EAAE,EAAEoE,UAAU;IACd7D,IAAI,EAAEA,CAACA,IAAa,EAAE+D,CAAQ,KAAKjC,MAAM,CAACpC,IAAI,CAACM,IAAI,CAAC6D,UAAU,CAACnC,KAAK,EAAE1B,IAAI,EAAE+D,CAAC,CAAC;IAC9E9D,YAAY,EAAEA,CAACD,IAAa,EAAE+D,CAAS,KAAKjC,MAAM,CAACpC,IAAI,CAACO,YAAY,CAAC4D,UAAU,CAACnC,KAAK,EAAE1B,IAAI,EAAE+D,CAAC,CAAC;IAC/FC,MAAM,EAAErG,QAAQ,CAAC,MAAMmE,MAAM,CAACpC,IAAI,CAACY,MAAM,CAACoB,KAAK,CAACgB,GAAG,CAACmB,UAAU,CAACnC,KAAK,CAAC,CAAC;IACtEI,MAAM,EAAEnE,QAAQ,CAAC,MAAMmE,MAAM,CAACpC,IAAI,CAACG,OAAO,CAAC6B,KAAK,CAACM,GAAG,CAAC6B,UAAU,CAACnC,KAAK,CAAC,CAAC;IACvExB,QAAQ,EAAEA,CAACM,SAAkB,EAAEuD,CAAS,KAAKjC,MAAM,CAACpC,IAAI,CAACQ,QAAQ,CAAC2D,UAAU,CAACnC,KAAK,EAAElB,SAAS,EAAEuD,CAAC,CAAC;IACjGE,WAAW,EAAEtG,QAAQ,CAAC,MAAMmE,MAAM,CAACpC,IAAI,CAACc,SAAS,CAACkB,KAAK,CAACgB,GAAG,CAACxE,KAAK,CAAC2F,UAAU,CAACnC,KAAK,CAAC,CAAC,CAAC;IACrFvB,MAAM,EAAEA,CAACM,QAAiB,EAAEsD,CAAS,KAAKjC,MAAM,CAACpC,IAAI,CAACS,MAAM,CAAC0D,UAAU,CAACnC,KAAK,EAAEjB,QAAQ,EAAEsD,CAAC,CAAC;IAC3FG,UAAU,EAAEvG,QAAQ,CAAC,MAAMmE,MAAM,CAACpC,IAAI,CAACe,QAAQ,CAACiB,KAAK,CAACM,GAAG,CAAC9D,KAAK,CAAC2F,UAAU,CAACnC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5FyC,eAAe,EAAExG,QAAQ,CAAC,MAAMmE,MAAM,CAACpC,IAAI,CAACe,QAAQ,CAACiB,KAAK,CAACM,GAAG,CAAC9D,KAAK,CAAC2F,UAAU,CAACnC,KAAK,CAAC,CAAC,KAAK,eAAe,CAAC;IAC5G0C,MAAM,EAAEzG,QAAQ,CAAC,MAAM,CAACmE,MAAM,CAACpC,IAAI,CAACK,QAAQ,CAAC2B,KAAK,CAACM,GAAG,CAAC6B,UAAU,CAACnC,KAAK,CAAC,CAAC;IACzE2C,gBAAgB,EAAEvC,MAAM,CAACuC;EAC3B,CAAC;EAEDxG,aAAa,CAAC,MAAM;IAClB,CAACiE,MAAM,CAACuC,gBAAgB,IAAIvC,MAAM,CAACpC,IAAI,CAACC,QAAQ,CAACkE,UAAU,CAACnC,KAAK,EAAEI,MAAM,CAACrC,EAAE,CAACiC,KAAK,EAAEe,OAAO,CAAC;EAC9F,CAAC,CAAC;EAEF3E,eAAe,CAAC,MAAM;IACpB,CAACgE,MAAM,CAACuC,gBAAgB,IAAIvC,MAAM,CAACpC,IAAI,CAACE,UAAU,CAACiE,UAAU,CAACnC,KAAK,CAAC;EACtE,CAAC,CAAC;EAEFe,OAAO,IAAI1E,OAAO,CAACsB,aAAa,EAAEyE,IAAI,CAAC;EAEvC,OAAOA,IAAI;AACb,CAAC;AAED,OAAO,MAAMQ,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,MAAMxC,MAAM,GAAGlE,MAAM,CAACyB,aAAa,EAAEG,WAAW,CAAC;EAEjDzB,OAAO,CAACsB,aAAa,EAAE;IAAE,GAAGyC,MAAM;IAAEuC,gBAAgB,EAAE;EAAK,CAAC,CAAC;AAC/D,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"file":"nested.js","names":["useProxiedModel","computed","inject","onBeforeMount","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","toValue","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","trunkSelectStrategy","consoleError","getCurrentInstance","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","getPath","makeNestedProps","Boolean","activeStrategy","String","Function","Object","selectStrategy","openStrategy","mandatory","useNested","props","isUnmounted","v","Array","isArray","map","i","values","value","in","out","path","parent","unshift","get","vm","nodeIds","nested","arr","key","entries","push","parentId","isGroup","has","join","newPath","concat","add","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","size","useNestedItem","uidSymbol","computedId","item","e","isOpen","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport {\n computed,\n inject,\n onBeforeMount,\n onBeforeUnmount,\n provide,\n ref,\n shallowRef,\n toRaw,\n toRef,\n toValue,\n} from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy,\n} from './selectStrategies'\nimport { consoleError, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, MaybeRefOrGetter, PropType, Ref } from 'vue'\nimport type { ActiveStrategy } from './activeStrategies'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategy } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type ActiveStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | ActiveStrategy\n | ((mandatory: boolean) => ActiveStrategy)\nexport type SelectStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | 'classic'\n | 'trunk'\n | SelectStrategy\n | ((mandatory: boolean) => SelectStrategy)\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: ActiveStrategyProp | undefined\n selectStrategy: SelectStrategyProp | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: any\n selected: any\n opened: any\n mandatory: boolean\n 'onUpdate:activated': EventProp<[any]> | undefined\n 'onUpdate:selected': EventProp<[any]> | undefined\n 'onUpdate:opened': EventProp<[any]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n getPath: (id: unknown) => unknown[]\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => [],\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = shallowRef(new Map<unknown, unknown[]>())\n const parents = shallowRef(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(\n props,\n 'opened',\n props.opened,\n v => new Set(Array.isArray(v) ? v.map(i => toRaw(i)) : v),\n v => [...v.values()],\n )\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory)\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory)\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'trunk': return trunkSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = toRaw(id)\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nodeIds = new Set<unknown>()\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ')\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ')\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`)\n return\n } else {\n nodeIds.add(id)\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n nodeIds.delete(id)\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated\n } else {\n for (const value of newActivated) {\n if (!activated.value.has(value)) {\n activated.value = newActivated\n return\n }\n }\n for (const value of activated.value) {\n if (!newActivated.has(value)) {\n activated.value = newActivated\n return\n }\n }\n }\n },\n children,\n parents,\n getPath,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: MaybeRefOrGetter<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol('nested item')\n const computedId = computed(() => toRaw(toValue(id)) ?? uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n onBeforeMount(() => {\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n })\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"AAAA;AAAA,SACSA,eAAe,8BAExB;AACA,SACEC,QAAQ,EACRC,MAAM,EACNC,aAAa,EACbC,eAAe,EACfC,OAAO,EACPC,GAAG,EACHC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,OAAO,QACF,KAAK;AAAA,SAEVC,yBAAyB,EACzBC,+BAA+B,EAC/BC,kBAAkB,EAClBC,wBAAwB;AAAA,SAEjBC,gBAAgB,EAAEC,oBAAoB,EAAEC,kBAAkB;AAAA,SAEjEC,qBAAqB,EACrBC,yBAAyB,EACzBC,+BAA+B,EAC/BC,kBAAkB,EAClBC,wBAAwB,EACxBC,mBAAmB;AAAA,SAEZC,YAAY,EAAEC,kBAAkB,EAAEC,YAAY,+BAEvD;AA8DA,OAAO,MAAMC,aAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAC;AAEtF,OAAO,MAAMC,WAA0B,GAAG;EACxCC,EAAE,EAAExB,UAAU,CAAC,CAAC;EAChByB,IAAI,EAAE;IACJC,QAAQ,EAAEA,CAAA,KAAM,IAAI;IACpBC,UAAU,EAAEA,CAAA,KAAM,IAAI;IACtBC,OAAO,EAAE7B,GAAG,CAAC,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACvBC,QAAQ,EAAE/B,GAAG,CAAC,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACxBE,IAAI,EAAEA,CAAA,KAAM,IAAI;IAChBC,YAAY,EAAEA,CAAA,KAAM,IAAI;IACxBC,QAAQ,EAAEA,CAAA,KAAM,IAAI;IACpBC,MAAM,EAAEA,CAAA,KAAM,IAAI;IAClBC,WAAW,EAAEpC,GAAG,CAAC,KAAK,CAAC;IACvBqC,UAAU,EAAErC,GAAG,CAAC,KAAK,CAAC;IACtBsC,MAAM,EAAEtC,GAAG,CAAC,IAAIuC,GAAG,CAAC,CAAC,CAAC;IACtBC,SAAS,EAAExC,GAAG,CAAC,IAAIuC,GAAG,CAAC,CAAC,CAAC;IACzBE,QAAQ,EAAEzC,GAAG,CAAC,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACxBY,cAAc,EAAE1C,GAAG,CAAC,EAAE,CAAC;IACvB2C,OAAO,EAAEA,CAAA,KAAM;EACjB;AACF,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGxB,YAAY,CAAC;EAC1CgB,WAAW,EAAES,OAAO;EACpBR,UAAU,EAAEQ,OAAO;EACnBC,cAAc,EAAE,CAACC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,CAAiC;EAC1EC,cAAc,EAAE,CAACH,MAAM,EAAEC,QAAQ,EAAEC,MAAM,CAAiC;EAC1EE,YAAY,EAAE,CAACJ,MAAM,EAAEE,MAAM,CAA+B;EAC5DX,MAAM,EAAE,IAAI;EACZE,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EACdW,SAAS,EAAEP;AACb,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMQ,SAAS,GAAIC,KAAkB,IAAK;EAC/C,IAAIC,WAAW,GAAG,KAAK;EACvB,MAAMxB,QAAQ,GAAG9B,UAAU,CAAC,IAAI6B,GAAG,CAAqB,CAAC,CAAC;EAC1D,MAAMD,OAAO,GAAG5B,UAAU,CAAC,IAAI6B,GAAG,CAAmB,CAAC,CAAC;EAEvD,MAAMQ,MAAM,GAAG5C,eAAe,CAC5B4D,KAAK,EACL,QAAQ,EACRA,KAAK,CAAChB,MAAM,EACZkB,CAAC,IAAI,IAAIjB,GAAG,CAACkB,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC,GAAGA,CAAC,CAACG,GAAG,CAACC,CAAC,IAAI1D,KAAK,CAAC0D,CAAC,CAAC,CAAC,GAAGJ,CAAC,CAAC,EACzDA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAACK,MAAM,CAAC,CAAC,CACrB,CAAC;EAED,MAAMf,cAAc,GAAGnD,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAO2D,KAAK,CAACR,cAAc,KAAK,QAAQ,EAAE,OAAOQ,KAAK,CAACR,cAAc;IACzE,IAAI,OAAOQ,KAAK,CAACR,cAAc,KAAK,UAAU,EAAE,OAAOQ,KAAK,CAACR,cAAc,CAACQ,KAAK,CAACF,SAAS,CAAC;IAE5F,QAAQE,KAAK,CAACR,cAAc;MAC1B,KAAK,MAAM;QAAE,OAAOvC,kBAAkB,CAAC+C,KAAK,CAACF,SAAS,CAAC;MACvD,KAAK,aAAa;QAAE,OAAO5C,wBAAwB,CAAC8C,KAAK,CAACF,SAAS,CAAC;MACpE,KAAK,aAAa;QAAE,OAAO/C,yBAAyB,CAACiD,KAAK,CAACF,SAAS,CAAC;MACrE,KAAK,oBAAoB;MACzB;QAAS,OAAO9C,+BAA+B,CAACgD,KAAK,CAACF,SAAS,CAAC;IAClE;EACF,CAAC,CAAC;EAEF,MAAMF,cAAc,GAAGvD,QAAQ,CAAC,MAAM;IACpC,IAAI,OAAO2D,KAAK,CAACJ,cAAc,KAAK,QAAQ,EAAE,OAAOI,KAAK,CAACJ,cAAc;IACzE,IAAI,OAAOI,KAAK,CAACJ,cAAc,KAAK,UAAU,EAAE,OAAOI,KAAK,CAACJ,cAAc,CAACI,KAAK,CAACF,SAAS,CAAC;IAE5F,QAAQE,KAAK,CAACJ,cAAc;MAC1B,KAAK,aAAa;QAAE,OAAOlC,wBAAwB,CAACsC,KAAK,CAACF,SAAS,CAAC;MACpE,KAAK,MAAM;QAAE,OAAOrC,kBAAkB,CAACuC,KAAK,CAACF,SAAS,CAAC;MACvD,KAAK,aAAa;QAAE,OAAOvC,yBAAyB,CAACyC,KAAK,CAACF,SAAS,CAAC;MACrE,KAAK,oBAAoB;QAAE,OAAOtC,+BAA+B,CAACwC,KAAK,CAACF,SAAS,CAAC;MAClF,KAAK,OAAO;QAAE,OAAOnC,mBAAmB,CAACqC,KAAK,CAACF,SAAS,CAAC;MACzD,KAAK,SAAS;MACd;QAAS,OAAOxC,qBAAqB,CAAC0C,KAAK,CAACF,SAAS,CAAC;IACxD;EACF,CAAC,CAAC;EAEF,MAAMD,YAAY,GAAGxD,QAAQ,CAAC,MAAM;IAClC,IAAI,OAAO2D,KAAK,CAACH,YAAY,KAAK,QAAQ,EAAE,OAAOG,KAAK,CAACH,YAAY;IAErE,QAAQG,KAAK,CAACH,YAAY;MACxB,KAAK,MAAM;QAAE,OAAO1C,gBAAgB;MACpC,KAAK,QAAQ;QAAE,OAAOE,kBAAkB;MACxC,KAAK,UAAU;MACf;QAAS,OAAOD,oBAAoB;IACtC;EACF,CAAC,CAAC;EAEF,MAAM8B,SAAS,GAAG9C,eAAe,CAC/B4D,KAAK,EACL,WAAW,EACXA,KAAK,CAACd,SAAS,EACfgB,CAAC,IAAIV,cAAc,CAACgB,KAAK,CAACC,EAAE,CAACP,CAAC,EAAEzB,QAAQ,CAAC+B,KAAK,EAAEjC,OAAO,CAACiC,KAAK,CAAC,EAC9DN,CAAC,IAAIV,cAAc,CAACgB,KAAK,CAACE,GAAG,CAACR,CAAC,EAAEzB,QAAQ,CAAC+B,KAAK,EAAEjC,OAAO,CAACiC,KAAK,CAChE,CAAC;EACD,MAAMrB,QAAQ,GAAG/C,eAAe,CAC9B4D,KAAK,EACL,UAAU,EACVA,KAAK,CAACb,QAAQ,EACde,CAAC,IAAIN,cAAc,CAACY,KAAK,CAACC,EAAE,CAACP,CAAC,EAAEzB,QAAQ,CAAC+B,KAAK,EAAEjC,OAAO,CAACiC,KAAK,CAAC,EAC9DN,CAAC,IAAIN,cAAc,CAACY,KAAK,CAACE,GAAG,CAACR,CAAC,EAAEzB,QAAQ,CAAC+B,KAAK,EAAEjC,OAAO,CAACiC,KAAK,CAChE,CAAC;EAEDhE,eAAe,CAAC,MAAM;IACpByD,WAAW,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,SAASZ,OAAOA,CAAElB,EAAW,EAAE;IAC7B,MAAMwC,IAAe,GAAG,EAAE;IAC1B,IAAIC,MAAe,GAAGhE,KAAK,CAACuB,EAAE,CAAC;IAE/B,OAAOyC,MAAM,IAAI,IAAI,EAAE;MACrBD,IAAI,CAACE,OAAO,CAACD,MAAM,CAAC;MACpBA,MAAM,GAAGrC,OAAO,CAACiC,KAAK,CAACM,GAAG,CAACF,MAAM,CAAC;IACpC;IAEA,OAAOD,IAAI;EACb;EAEA,MAAMI,EAAE,GAAGlD,kBAAkB,CAAC,QAAQ,CAAC;EAEvC,MAAMmD,OAAO,GAAG,IAAI/B,GAAG,CAAU,CAAC;EAElC,MAAMgC,MAAqB,GAAG;IAC5B9C,EAAE,EAAExB,UAAU,CAAC,CAAC;IAChByB,IAAI,EAAE;MACJY,MAAM;MACNF,WAAW,EAAEjC,KAAK,CAAC,MAAMmD,KAAK,CAAClB,WAAW,CAAC;MAC3CC,UAAU,EAAElC,KAAK,CAAC,MAAMmD,KAAK,CAACjB,UAAU,CAAC;MACzCG,SAAS;MACTC,QAAQ;MACRC,cAAc,EAAE/C,QAAQ,CAAC,MAAM;QAC7B,MAAM6E,GAAG,GAAG,EAAE;QAEd,KAAK,MAAM,CAACC,GAAG,EAAEX,KAAK,CAAC,IAAIrB,QAAQ,CAACqB,KAAK,CAACY,OAAO,CAAC,CAAC,EAAE;UACnD,IAAIZ,KAAK,KAAK,IAAI,EAAEU,GAAG,CAACG,IAAI,CAACF,GAAG,CAAC;QACnC;QAEA,OAAOD,GAAG;MACZ,CAAC,CAAC;MACF7C,QAAQ,EAAEA,CAACF,EAAE,EAAEmD,QAAQ,EAAEC,OAAO,KAAK;QACnC,IAAIP,OAAO,CAACQ,GAAG,CAACrD,EAAE,CAAC,EAAE;UACnB,MAAMwC,IAAI,GAAGtB,OAAO,CAAClB,EAAE,CAAC,CAACkC,GAAG,CAACZ,MAAM,CAAC,CAACgC,IAAI,CAAC,MAAM,CAAC;UACjD,MAAMC,OAAO,GAAGrC,OAAO,CAACiC,QAAQ,CAAC,CAACK,MAAM,CAACxD,EAAE,CAAC,CAACkC,GAAG,CAACZ,MAAM,CAAC,CAACgC,IAAI,CAAC,MAAM,CAAC;UACrE7D,YAAY,CAAC,sCAAsC+C,IAAI,OAAOe,OAAO,EAAE,CAAC;UACxE;QACF,CAAC,MAAM;UACLV,OAAO,CAACY,GAAG,CAACzD,EAAE,CAAC;QACjB;QAEAmD,QAAQ,IAAInD,EAAE,KAAKmD,QAAQ,IAAI/C,OAAO,CAACiC,KAAK,CAACqB,GAAG,CAAC1D,EAAE,EAAEmD,QAAQ,CAAC;QAE9DC,OAAO,IAAI9C,QAAQ,CAAC+B,KAAK,CAACqB,GAAG,CAAC1D,EAAE,EAAE,EAAE,CAAC;QAErC,IAAImD,QAAQ,IAAI,IAAI,EAAE;UACpB7C,QAAQ,CAAC+B,KAAK,CAACqB,GAAG,CAACP,QAAQ,EAAE,CAAC,IAAG7C,QAAQ,CAAC+B,KAAK,CAACM,GAAG,CAACQ,QAAQ,CAAC,IAAI,EAAE,GAAEnD,EAAE,CAAC,CAAC;QAC3E;MACF,CAAC;MACDG,UAAU,EAAEH,EAAE,IAAI;QAChB,IAAI8B,WAAW,EAAE;QAEjBe,OAAO,CAACc,MAAM,CAAC3D,EAAE,CAAC;QAClBM,QAAQ,CAAC+B,KAAK,CAACsB,MAAM,CAAC3D,EAAE,CAAC;QACzB,MAAMyC,MAAM,GAAGrC,OAAO,CAACiC,KAAK,CAACM,GAAG,CAAC3C,EAAE,CAAC;QACpC,IAAIyC,MAAM,EAAE;UACV,MAAMmB,IAAI,GAAGtD,QAAQ,CAAC+B,KAAK,CAACM,GAAG,CAACF,MAAM,CAAC,IAAI,EAAE;UAC7CnC,QAAQ,CAAC+B,KAAK,CAACqB,GAAG,CAACjB,MAAM,EAAEmB,IAAI,CAACC,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAK9D,EAAE,CAAC,CAAC;QAChE;QACAI,OAAO,CAACiC,KAAK,CAACsB,MAAM,CAAC3D,EAAE,CAAC;MAC1B,CAAC;MACDO,IAAI,EAAEA,CAACP,EAAE,EAAEqC,KAAK,EAAE0B,KAAK,KAAK;QAC1BnB,EAAE,CAACoB,IAAI,CAAC,YAAY,EAAE;UAAEhE,EAAE;UAAEqC,KAAK;UAAEG,IAAI,EAAEtB,OAAO,CAAClB,EAAE,CAAC;UAAE+D;QAAM,CAAC,CAAC;QAE9D,MAAME,SAAS,GAAGvC,YAAY,CAACW,KAAK,CAAC9B,IAAI,CAAC;UACxCP,EAAE;UACFqC,KAAK;UACLxB,MAAM,EAAE,IAAIC,GAAG,CAACD,MAAM,CAACwB,KAAK,CAAC;UAC7B/B,QAAQ,EAAEA,QAAQ,CAAC+B,KAAK;UACxBjC,OAAO,EAAEA,OAAO,CAACiC,KAAK;UACtB0B;QACF,CAAC,CAAC;QAEFE,SAAS,KAAKpD,MAAM,CAACwB,KAAK,GAAG4B,SAAS,CAAC;MACzC,CAAC;MACDzD,YAAY,EAAEA,CAACR,EAAE,EAAEqC,KAAK,EAAE0B,KAAK,KAAK;QAClC,MAAME,SAAS,GAAGvC,YAAY,CAACW,KAAK,CAAC3B,MAAM,CAAC;UAC1CV,EAAE;UACFqC,KAAK;UACLrB,QAAQ,EAAE,IAAIX,GAAG,CAACW,QAAQ,CAACqB,KAAK,CAAC;UACjCxB,MAAM,EAAE,IAAIC,GAAG,CAACD,MAAM,CAACwB,KAAK,CAAC;UAC7B/B,QAAQ,EAAEA,QAAQ,CAAC+B,KAAK;UACxBjC,OAAO,EAAEA,OAAO,CAACiC,KAAK;UACtB0B;QACF,CAAC,CAAC;QACFE,SAAS,KAAKpD,MAAM,CAACwB,KAAK,GAAG4B,SAAS,CAAC;MACzC,CAAC;MACDvD,MAAM,EAAEA,CAACV,EAAE,EAAEqC,KAAK,EAAE0B,KAAK,KAAK;QAC5BnB,EAAE,CAACoB,IAAI,CAAC,cAAc,EAAE;UAAEhE,EAAE;UAAEqC,KAAK;UAAEG,IAAI,EAAEtB,OAAO,CAAClB,EAAE,CAAC;UAAE+D;QAAM,CAAC,CAAC;QAEhE,MAAMG,WAAW,GAAGzC,cAAc,CAACY,KAAK,CAAC3B,MAAM,CAAC;UAC9CV,EAAE;UACFqC,KAAK;UACLrB,QAAQ,EAAE,IAAIX,GAAG,CAACW,QAAQ,CAACqB,KAAK,CAAC;UACjC/B,QAAQ,EAAEA,QAAQ,CAAC+B,KAAK;UACxBjC,OAAO,EAAEA,OAAO,CAACiC,KAAK;UACtB0B;QACF,CAAC,CAAC;QACFG,WAAW,KAAKlD,QAAQ,CAACqB,KAAK,GAAG6B,WAAW,CAAC;QAE7CpB,MAAM,CAAC7C,IAAI,CAACO,YAAY,CAACR,EAAE,EAAEqC,KAAK,EAAE0B,KAAK,CAAC;MAC5C,CAAC;MACDtD,QAAQ,EAAEA,CAACT,EAAE,EAAEqC,KAAK,EAAE0B,KAAK,KAAK;QAC9B,IAAI,CAAClC,KAAK,CAAClB,WAAW,EAAE;UACtB,OAAOmC,MAAM,CAAC7C,IAAI,CAACS,MAAM,CAACV,EAAE,EAAE,IAAI,EAAE+D,KAAK,CAAC;QAC5C;QAEAnB,EAAE,CAACoB,IAAI,CAAC,gBAAgB,EAAE;UAAEhE,EAAE;UAAEqC,KAAK;UAAEG,IAAI,EAAEtB,OAAO,CAAClB,EAAE,CAAC;UAAE+D;QAAM,CAAC,CAAC;QAElE,MAAMI,YAAY,GAAG9C,cAAc,CAACgB,KAAK,CAAC5B,QAAQ,CAAC;UACjDT,EAAE;UACFqC,KAAK;UACLtB,SAAS,EAAE,IAAID,GAAG,CAACC,SAAS,CAACsB,KAAK,CAAC;UACnC/B,QAAQ,EAAEA,QAAQ,CAAC+B,KAAK;UACxBjC,OAAO,EAAEA,OAAO,CAACiC,KAAK;UACtB0B;QACF,CAAC,CAAC;QAEF,IAAII,YAAY,CAACC,IAAI,KAAKrD,SAAS,CAACsB,KAAK,CAAC+B,IAAI,EAAE;UAC9CrD,SAAS,CAACsB,KAAK,GAAG8B,YAAY;QAChC,CAAC,MAAM;UACL,KAAK,MAAM9B,KAAK,IAAI8B,YAAY,EAAE;YAChC,IAAI,CAACpD,SAAS,CAACsB,KAAK,CAACgB,GAAG,CAAChB,KAAK,CAAC,EAAE;cAC/BtB,SAAS,CAACsB,KAAK,GAAG8B,YAAY;cAC9B;YACF;UACF;UACA,KAAK,MAAM9B,KAAK,IAAItB,SAAS,CAACsB,KAAK,EAAE;YACnC,IAAI,CAAC8B,YAAY,CAACd,GAAG,CAAChB,KAAK,CAAC,EAAE;cAC5BtB,SAAS,CAACsB,KAAK,GAAG8B,YAAY;cAC9B;YACF;UACF;QACF;MACF,CAAC;MACD7D,QAAQ;MACRF,OAAO;MACPc;IACF;EACF,CAAC;EAED5C,OAAO,CAACsB,aAAa,EAAEkD,MAAM,CAAC;EAE9B,OAAOA,MAAM,CAAC7C,IAAI;AACpB,CAAC;AAED,OAAO,MAAMoE,aAAa,GAAGA,CAACrE,EAA6B,EAAEoD,OAAgB,KAAK;EAChF,MAAMX,MAAM,GAAGtE,MAAM,CAACyB,aAAa,EAAEG,WAAW,CAAC;EAEjD,MAAMuE,SAAS,GAAGzE,MAAM,CAAC,aAAa,CAAC;EACvC,MAAM0E,UAAU,GAAGrG,QAAQ,CAAC,MAAMO,KAAK,CAACE,OAAO,CAACqB,EAAE,CAAC,CAAC,IAAIsE,SAAS,CAAC;EAElE,MAAME,IAAI,GAAG;IACX,GAAG/B,MAAM;IACTzC,EAAE,EAAEuE,UAAU;IACdhE,IAAI,EAAEA,CAACA,IAAa,EAAEkE,CAAQ,KAAKhC,MAAM,CAACxC,IAAI,CAACM,IAAI,CAACgE,UAAU,CAAClC,KAAK,EAAE9B,IAAI,EAAEkE,CAAC,CAAC;IAC9EjE,YAAY,EAAEA,CAACD,IAAa,EAAEkE,CAAS,KAAKhC,MAAM,CAACxC,IAAI,CAACO,YAAY,CAAC+D,UAAU,CAAClC,KAAK,EAAE9B,IAAI,EAAEkE,CAAC,CAAC;IAC/FC,MAAM,EAAExG,QAAQ,CAAC,MAAMuE,MAAM,CAACxC,IAAI,CAACY,MAAM,CAACwB,KAAK,CAACgB,GAAG,CAACkB,UAAU,CAAClC,KAAK,CAAC,CAAC;IACtEI,MAAM,EAAEvE,QAAQ,CAAC,MAAMuE,MAAM,CAACxC,IAAI,CAACG,OAAO,CAACiC,KAAK,CAACM,GAAG,CAAC4B,UAAU,CAAClC,KAAK,CAAC,CAAC;IACvE5B,QAAQ,EAAEA,CAACM,SAAkB,EAAE0D,CAAS,KAAKhC,MAAM,CAACxC,IAAI,CAACQ,QAAQ,CAAC8D,UAAU,CAAClC,KAAK,EAAEtB,SAAS,EAAE0D,CAAC,CAAC;IACjGE,WAAW,EAAEzG,QAAQ,CAAC,MAAMuE,MAAM,CAACxC,IAAI,CAACc,SAAS,CAACsB,KAAK,CAACgB,GAAG,CAACkB,UAAU,CAAClC,KAAK,CAAC,CAAC;IAC9E3B,MAAM,EAAEA,CAACM,QAAiB,EAAEyD,CAAS,KAAKhC,MAAM,CAACxC,IAAI,CAACS,MAAM,CAAC6D,UAAU,CAAClC,KAAK,EAAErB,QAAQ,EAAEyD,CAAC,CAAC;IAC3FG,UAAU,EAAE1G,QAAQ,CAAC,MAAMuE,MAAM,CAACxC,IAAI,CAACe,QAAQ,CAACqB,KAAK,CAACM,GAAG,CAAC4B,UAAU,CAAClC,KAAK,CAAC,KAAK,IAAI,CAAC;IACrFwC,eAAe,EAAE3G,QAAQ,CAAC,MAAMuE,MAAM,CAACxC,IAAI,CAACe,QAAQ,CAACqB,KAAK,CAACM,GAAG,CAAC4B,UAAU,CAAClC,KAAK,CAAC,KAAK,eAAe,CAAC;IACrGyC,MAAM,EAAE5G,QAAQ,CAAC,MAAM,CAACuE,MAAM,CAACxC,IAAI,CAACK,QAAQ,CAAC+B,KAAK,CAACM,GAAG,CAAC4B,UAAU,CAAClC,KAAK,CAAC,CAAC;IACzE0C,gBAAgB,EAAEtC,MAAM,CAACsC;EAC3B,CAAC;EAED3G,aAAa,CAAC,MAAM;IAClB,CAACqE,MAAM,CAACsC,gBAAgB,IAAItC,MAAM,CAACxC,IAAI,CAACC,QAAQ,CAACqE,UAAU,CAAClC,KAAK,EAAEI,MAAM,CAACzC,EAAE,CAACqC,KAAK,EAAEe,OAAO,CAAC;EAC9F,CAAC,CAAC;EAEF/E,eAAe,CAAC,MAAM;IACpB,CAACoE,MAAM,CAACsC,gBAAgB,IAAItC,MAAM,CAACxC,IAAI,CAACE,UAAU,CAACoE,UAAU,CAAClC,KAAK,CAAC;EACtE,CAAC,CAAC;EAEFe,OAAO,IAAI9E,OAAO,CAACsB,aAAa,EAAE4E,IAAI,CAAC;EAEvC,OAAOA,IAAI;AACb,CAAC;AAED,OAAO,MAAMQ,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,MAAMvC,MAAM,GAAGtE,MAAM,CAACyB,aAAa,EAAEG,WAAW,CAAC;EAEjDzB,OAAO,CAACsB,aAAa,EAAE;IAAE,GAAG6C,MAAM;IAAEsC,gBAAgB,EAAE;EAAK,CAAC,CAAC;AAC/D,CAAC","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.9.0-beta.
|
19
|
+
export const version = "3.9.0-beta.1-dev.2025-06-26";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|