@vuetify/nightly 3.7.13-master.2025-02-20 → 3.7.13-master.2025-02-22

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.
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, Ref } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, ComputedRef, Ref } from 'vue';
3
3
 
4
4
  type ClassValue = any;
5
5
 
@@ -33,6 +33,17 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
33
33
  type EventProp<T extends any[] = any[], F = (...args: T) => void> = F;
34
34
  declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T>>;
35
35
 
36
+ type VCounterSlot = {
37
+ counter: string;
38
+ max: string | number | undefined;
39
+ value: string | number | undefined;
40
+ };
41
+
42
+ interface LoaderSlotProps {
43
+ color: string | undefined;
44
+ isActive: boolean;
45
+ }
46
+
36
47
  type Density = null | 'default' | 'comfortable' | 'compact';
37
48
 
38
49
  type ValidationResult = string | boolean;
@@ -61,6 +72,32 @@ type JSXComponent<Props = any> = {
61
72
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
62
73
  declare const IconValue: PropType<IconValue>;
63
74
 
75
+ type VMessageSlot = {
76
+ message: string;
77
+ };
78
+
79
+ interface VInputSlot {
80
+ id: ComputedRef<string>;
81
+ messagesId: ComputedRef<string>;
82
+ isDirty: ComputedRef<boolean>;
83
+ isDisabled: ComputedRef<boolean>;
84
+ isReadonly: ComputedRef<boolean>;
85
+ isPristine: Ref<boolean>;
86
+ isValid: ComputedRef<boolean | null>;
87
+ isValidating: Ref<boolean>;
88
+ reset: () => void;
89
+ resetValidation: () => void;
90
+ validate: () => void;
91
+ }
92
+
93
+ interface DefaultInputSlot {
94
+ isActive: Ref<boolean>;
95
+ isFocused: Ref<boolean>;
96
+ controlRef: Ref<HTMLElement | undefined>;
97
+ focus: () => void;
98
+ blur: () => void;
99
+ }
100
+
64
101
  interface LocationStrategyData {
65
102
  contentEl: Ref<HTMLElement | undefined>;
66
103
  target: Ref<HTMLElement | [x: number, y: number] | undefined>;
@@ -202,14 +239,59 @@ declare const VDateInput: {
202
239
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
203
240
  } & {
204
241
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
242
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
243
+ clear?: ((arg: DefaultInputSlot & {
244
+ props: Record<string, any>;
245
+ }) => vue.VNodeChild) | undefined;
246
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
247
+ label?: ((arg: DefaultInputSlot & {
248
+ label: string | undefined;
249
+ props: Record<string, any>;
250
+ }) => vue.VNodeChild) | undefined;
251
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
252
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
253
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
254
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
255
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
256
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
205
257
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
206
258
  default?: (() => vue.VNodeChild) | undefined;
207
259
  };
208
260
  'v-slots'?: {
261
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
262
+ clear?: false | ((arg: DefaultInputSlot & {
263
+ props: Record<string, any>;
264
+ }) => vue.VNodeChild) | undefined;
265
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
266
+ label?: false | ((arg: DefaultInputSlot & {
267
+ label: string | undefined;
268
+ props: Record<string, any>;
269
+ }) => vue.VNodeChild) | undefined;
270
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
271
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
272
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
273
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
274
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
275
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
209
276
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
210
277
  default?: false | (() => vue.VNodeChild) | undefined;
211
278
  } | undefined;
212
279
  } & {
280
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
281
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
282
+ props: Record<string, any>;
283
+ }) => vue.VNodeChild) | undefined;
284
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
285
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
286
+ label: string | undefined;
287
+ props: Record<string, any>;
288
+ }) => vue.VNodeChild) | undefined;
289
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
290
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
291
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
292
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
293
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
294
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
213
295
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
214
296
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
215
297
  } & {
@@ -317,14 +399,59 @@ declare const VDateInput: {
317
399
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
318
400
  } & {
319
401
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
402
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
403
+ clear?: ((arg: DefaultInputSlot & {
404
+ props: Record<string, any>;
405
+ }) => vue.VNodeChild) | undefined;
406
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
407
+ label?: ((arg: DefaultInputSlot & {
408
+ label: string | undefined;
409
+ props: Record<string, any>;
410
+ }) => vue.VNodeChild) | undefined;
411
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
412
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
413
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
414
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
415
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
416
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
320
417
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
321
418
  default?: (() => vue.VNodeChild) | undefined;
322
419
  };
323
420
  'v-slots'?: {
421
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
422
+ clear?: false | ((arg: DefaultInputSlot & {
423
+ props: Record<string, any>;
424
+ }) => vue.VNodeChild) | undefined;
425
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
426
+ label?: false | ((arg: DefaultInputSlot & {
427
+ label: string | undefined;
428
+ props: Record<string, any>;
429
+ }) => vue.VNodeChild) | undefined;
430
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
431
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
432
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
433
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
434
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
435
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
324
436
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
325
437
  default?: false | (() => vue.VNodeChild) | undefined;
326
438
  } | undefined;
327
439
  } & {
440
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
441
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
442
+ props: Record<string, any>;
443
+ }) => vue.VNodeChild) | undefined;
444
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
445
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
446
+ label: string | undefined;
447
+ props: Record<string, any>;
448
+ }) => vue.VNodeChild) | undefined;
449
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
450
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
451
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
452
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
453
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
454
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
328
455
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
329
456
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
330
457
  } & {
@@ -382,6 +509,21 @@ declare const VDateInput: {
382
509
  hideHeader: boolean;
383
510
  hideActions: boolean;
384
511
  }, true, {}, vue.SlotsType<Partial<{
512
+ message: (arg: VMessageSlot) => vue.VNode[];
513
+ clear: (arg: DefaultInputSlot & {
514
+ props: Record<string, any>;
515
+ }) => vue.VNode[];
516
+ details: (arg: VInputSlot) => vue.VNode[];
517
+ label: (arg: DefaultInputSlot & {
518
+ label: string | undefined;
519
+ props: Record<string, any>;
520
+ }) => vue.VNode[];
521
+ append: (arg: VInputSlot) => vue.VNode[];
522
+ prepend: (arg: VInputSlot) => vue.VNode[];
523
+ loader: (arg: LoaderSlotProps) => vue.VNode[];
524
+ counter: (arg: VCounterSlot) => vue.VNode[];
525
+ 'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[];
526
+ 'append-inner': (arg: DefaultInputSlot) => vue.VNode[];
385
527
  actions: (arg: VDateInputActionsSlot) => vue.VNode[];
386
528
  default: () => vue.VNode[];
387
529
  }>>, {
@@ -492,14 +634,59 @@ declare const VDateInput: {
492
634
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
493
635
  } & {
494
636
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
637
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
638
+ clear?: ((arg: DefaultInputSlot & {
639
+ props: Record<string, any>;
640
+ }) => vue.VNodeChild) | undefined;
641
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
642
+ label?: ((arg: DefaultInputSlot & {
643
+ label: string | undefined;
644
+ props: Record<string, any>;
645
+ }) => vue.VNodeChild) | undefined;
646
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
647
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
648
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
649
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
650
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
651
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
495
652
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
496
653
  default?: (() => vue.VNodeChild) | undefined;
497
654
  };
498
655
  'v-slots'?: {
656
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
657
+ clear?: false | ((arg: DefaultInputSlot & {
658
+ props: Record<string, any>;
659
+ }) => vue.VNodeChild) | undefined;
660
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
661
+ label?: false | ((arg: DefaultInputSlot & {
662
+ label: string | undefined;
663
+ props: Record<string, any>;
664
+ }) => vue.VNodeChild) | undefined;
665
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
666
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
667
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
668
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
669
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
670
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
499
671
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
500
672
  default?: false | (() => vue.VNodeChild) | undefined;
501
673
  } | undefined;
502
674
  } & {
675
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
676
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
677
+ props: Record<string, any>;
678
+ }) => vue.VNodeChild) | undefined;
679
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
680
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
681
+ label: string | undefined;
682
+ props: Record<string, any>;
683
+ }) => vue.VNodeChild) | undefined;
684
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
685
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
686
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
687
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
688
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
689
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
503
690
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
504
691
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
505
692
  } & {
@@ -661,14 +848,59 @@ declare const VDateInput: {
661
848
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
662
849
  } & {
663
850
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
851
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
852
+ clear?: ((arg: DefaultInputSlot & {
853
+ props: Record<string, any>;
854
+ }) => vue.VNodeChild) | undefined;
855
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
856
+ label?: ((arg: DefaultInputSlot & {
857
+ label: string | undefined;
858
+ props: Record<string, any>;
859
+ }) => vue.VNodeChild) | undefined;
860
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
861
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
862
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
863
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
864
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
865
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
664
866
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
665
867
  default?: (() => vue.VNodeChild) | undefined;
666
868
  };
667
869
  'v-slots'?: {
870
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
871
+ clear?: false | ((arg: DefaultInputSlot & {
872
+ props: Record<string, any>;
873
+ }) => vue.VNodeChild) | undefined;
874
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
875
+ label?: false | ((arg: DefaultInputSlot & {
876
+ label: string | undefined;
877
+ props: Record<string, any>;
878
+ }) => vue.VNodeChild) | undefined;
879
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
880
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
881
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
882
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
883
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
884
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
668
885
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
669
886
  default?: false | (() => vue.VNodeChild) | undefined;
670
887
  } | undefined;
671
888
  } & {
889
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
890
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
891
+ props: Record<string, any>;
892
+ }) => vue.VNodeChild) | undefined;
893
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
894
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
895
+ label: string | undefined;
896
+ props: Record<string, any>;
897
+ }) => vue.VNodeChild) | undefined;
898
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
899
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
900
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
901
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
902
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
903
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
672
904
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
673
905
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
674
906
  } & {
@@ -728,6 +960,21 @@ declare const VDateInput: {
728
960
  hideHeader: boolean;
729
961
  hideActions: boolean;
730
962
  }, {}, string, vue.SlotsType<Partial<{
963
+ message: (arg: VMessageSlot) => vue.VNode[];
964
+ clear: (arg: DefaultInputSlot & {
965
+ props: Record<string, any>;
966
+ }) => vue.VNode[];
967
+ details: (arg: VInputSlot) => vue.VNode[];
968
+ label: (arg: DefaultInputSlot & {
969
+ label: string | undefined;
970
+ props: Record<string, any>;
971
+ }) => vue.VNode[];
972
+ append: (arg: VInputSlot) => vue.VNode[];
973
+ prepend: (arg: VInputSlot) => vue.VNode[];
974
+ loader: (arg: LoaderSlotProps) => vue.VNode[];
975
+ counter: (arg: VCounterSlot) => vue.VNode[];
976
+ 'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[];
977
+ 'append-inner': (arg: DefaultInputSlot) => vue.VNode[];
731
978
  actions: (arg: VDateInputActionsSlot) => vue.VNode[];
732
979
  default: () => vue.VNode[];
733
980
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeview.mjs","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","slim","modelValue","type","Array","default","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","model","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event"],"sources":["../../../src/labs/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeVTreeviewChildrenProps(),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['itemType', 'nav', 'openStrategy']),\n modelValue: {\n type: Array,\n default: () => ([]),\n },\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 'update:modelValue': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n const activated = useProxiedModel(props, 'activated')\n const model = useProxiedModel(props, 'modelValue')\n const _selected = useProxiedModel(props, 'selected', props.modelValue)\n\n const selected = computed({\n get: () => _selected.value,\n set (val) {\n _selected.value = val\n model.value = val\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(props, 'collapseIcon'),\n expandIcon: toRef(props, 'expandIcon'),\n },\n VTreeviewItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n returnObject={ props.returnObject }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeview.mjs","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","slim","modelValue","type","Array","default","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","model","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event"],"sources":["../../../src/labs/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeVTreeviewChildrenProps(),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['itemType', 'nav', 'openStrategy']),\n modelValue: {\n type: Array,\n default: () => ([]),\n },\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 'update:modelValue': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n const activated = useProxiedModel(props, 'activated')\n const model = useProxiedModel(props, 'modelValue')\n const _selected = useProxiedModel(props, 'selected', props.modelValue)\n\n const selected = computed({\n get: () => _selected.value,\n set (val) {\n _selected.value = val\n model.value = val\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(props, 'collapseIcon'),\n expandIcon: toRef(props, 'expandIcon'),\n },\n VTreeviewItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n returnObject={ props.returnObject }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}