@vuetify/nightly 3.6.14-master.2024-08-04 → 3.6.14-master.2024-08-13

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.
Files changed (139) hide show
  1. package/dist/json/attributes.json +7 -11
  2. package/dist/json/importMap-labs.json +30 -30
  3. package/dist/json/importMap.json +144 -144
  4. package/dist/json/tags.json +0 -1
  5. package/dist/json/web-types.json +8 -18
  6. package/dist/vuetify-labs.css +2162 -2162
  7. package/dist/vuetify-labs.d.ts +33122 -39828
  8. package/dist/vuetify-labs.esm.js +17 -9
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +17 -9
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1025 -1025
  13. package/dist/vuetify.d.ts +32674 -39040
  14. package/dist/vuetify.esm.js +16 -8
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +16 -8
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +22 -22
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/index.d.mts +50 -73
  22. package/lib/components/VApp/index.d.mts +9 -11
  23. package/lib/components/VAppBar/index.d.mts +92 -128
  24. package/lib/components/VAutocomplete/index.d.mts +4771 -3230
  25. package/lib/components/VAvatar/index.d.mts +23 -22
  26. package/lib/components/VBadge/index.d.mts +53 -59
  27. package/lib/components/VBanner/index.d.mts +44 -66
  28. package/lib/components/VBottomNavigation/index.d.mts +25 -32
  29. package/lib/components/VBottomSheet/index.d.mts +125 -135
  30. package/lib/components/VBreadcrumbs/index.d.mts +35 -78
  31. package/lib/components/VBtn/index.d.mts +49 -53
  32. package/lib/components/VBtnGroup/index.d.mts +14 -13
  33. package/lib/components/VBtnToggle/index.d.mts +21 -23
  34. package/lib/components/VCard/index.d.mts +104 -168
  35. package/lib/components/VCarousel/index.d.mts +59 -96
  36. package/lib/components/VCheckbox/index.d.mts +132 -155
  37. package/lib/components/VChip/index.d.mts +47 -59
  38. package/lib/components/VChipGroup/index.d.mts +39 -41
  39. package/lib/components/VCode/index.d.mts +9 -11
  40. package/lib/components/VColorPicker/index.d.mts +58 -133
  41. package/lib/components/VCombobox/index.d.mts +4785 -3244
  42. package/lib/components/VConfirmEdit/index.d.mts +11 -19
  43. package/lib/components/VCounter/index.d.mts +40 -42
  44. package/lib/components/VDataIterator/index.d.mts +171 -185
  45. package/lib/components/VDataTable/index.d.mts +480 -1204
  46. package/lib/components/VDatePicker/index.d.mts +120 -158
  47. package/lib/components/VDefaultsProvider/index.d.mts +5 -9
  48. package/lib/components/VDialog/index.d.mts +243 -277
  49. package/lib/components/VDivider/index.d.mts +9 -11
  50. package/lib/components/VEmptyState/index.d.mts +30 -52
  51. package/lib/components/VExpansionPanel/index.d.mts +60 -85
  52. package/lib/components/VFab/index.d.mts +81 -73
  53. package/lib/components/VField/index.d.mts +35 -62
  54. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  55. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  56. package/lib/components/VFileInput/index.d.mts +172 -259
  57. package/lib/components/VFooter/index.d.mts +9 -11
  58. package/lib/components/VForm/index.d.mts +105 -77
  59. package/lib/components/VGrid/index.d.mts +41 -52
  60. package/lib/components/VHover/index.d.mts +5 -9
  61. package/lib/components/VIcon/index.d.mts +23 -29
  62. package/lib/components/VImg/index.d.mts +28 -42
  63. package/lib/components/VInfiniteScroll/index.d.mts +17 -37
  64. package/lib/components/VInput/index.d.mts +48 -50
  65. package/lib/components/VItemGroup/index.d.mts +21 -30
  66. package/lib/components/VKbd/index.d.mts +9 -11
  67. package/lib/components/VLabel/index.d.mts +9 -11
  68. package/lib/components/VLayout/index.d.mts +18 -24
  69. package/lib/components/VLazy/index.d.mts +42 -44
  70. package/lib/components/VList/VList.mjs.map +1 -1
  71. package/lib/components/VList/index.d.mts +210 -329
  72. package/lib/components/VLocaleProvider/index.d.mts +9 -11
  73. package/lib/components/VMain/index.d.mts +9 -11
  74. package/lib/components/VMenu/index.d.mts +272 -306
  75. package/lib/components/VMessages/index.d.mts +49 -51
  76. package/lib/components/VNavigationDrawer/index.d.mts +27 -40
  77. package/lib/components/VOtpInput/index.d.mts +22 -28
  78. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  79. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  80. package/lib/components/VOverlay/index.d.mts +53 -63
  81. package/lib/components/VPagination/index.d.mts +31 -46
  82. package/lib/components/VParallax/index.d.mts +15 -29
  83. package/lib/components/VProgressCircular/index.d.mts +9 -11
  84. package/lib/components/VProgressLinear/index.d.mts +22 -24
  85. package/lib/components/VRadio/index.d.mts +49 -52
  86. package/lib/components/VRadioGroup/index.d.mts +66 -66
  87. package/lib/components/VRangeSlider/index.d.mts +58 -69
  88. package/lib/components/VRating/index.d.mts +13 -19
  89. package/lib/components/VResponsive/index.d.mts +11 -17
  90. package/lib/components/VSelect/index.d.mts +4762 -3221
  91. package/lib/components/VSelectionControl/index.d.mts +38 -44
  92. package/lib/components/VSelectionControlGroup/index.d.mts +34 -34
  93. package/lib/components/VSheet/index.d.mts +15 -17
  94. package/lib/components/VSkeletonLoader/index.d.mts +41 -11
  95. package/lib/components/VSlideGroup/index.d.mts +112 -129
  96. package/lib/components/VSlider/index.d.mts +58 -69
  97. package/lib/components/VSnackbar/VSnackbar.mjs +5 -1
  98. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  99. package/lib/components/VSnackbar/index.d.mts +231 -270
  100. package/lib/components/VSparkline/index.d.mts +11 -19
  101. package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
  102. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  103. package/lib/components/VSpeedDial/index.d.mts +179 -189
  104. package/lib/components/VStepper/index.d.mts +105 -180
  105. package/lib/components/VSwitch/index.d.mts +78 -98
  106. package/lib/components/VSystemBar/index.d.mts +13 -15
  107. package/lib/components/VTable/index.d.mts +15 -29
  108. package/lib/components/VTabs/index.d.mts +213 -297
  109. package/lib/components/VTextField/index.d.mts +253 -408
  110. package/lib/components/VTextarea/index.d.mts +157 -236
  111. package/lib/components/VThemeProvider/index.d.mts +9 -11
  112. package/lib/components/VTimeline/index.d.mts +29 -43
  113. package/lib/components/VToolbar/index.d.mts +49 -80
  114. package/lib/components/VTooltip/index.d.mts +282 -316
  115. package/lib/components/VValidation/index.d.mts +16 -23
  116. package/lib/components/VVirtualScroll/index.d.mts +14 -23
  117. package/lib/components/VWindow/index.d.mts +29 -50
  118. package/lib/components/index.d.mts +31169 -37524
  119. package/lib/components/transitions/index.d.mts +84 -148
  120. package/lib/composables/location.mjs.map +1 -1
  121. package/lib/directives/click-outside/index.mjs +3 -0
  122. package/lib/directives/click-outside/index.mjs.map +1 -1
  123. package/lib/entry-bundler.mjs +1 -1
  124. package/lib/framework.mjs +1 -1
  125. package/lib/index.d.mts +60 -60
  126. package/lib/labs/VCalendar/index.d.mts +146 -166
  127. package/lib/labs/VDateInput/index.d.mts +83 -62
  128. package/lib/labs/VNumberInput/index.d.mts +61 -88
  129. package/lib/labs/VPicker/index.d.mts +28 -46
  130. package/lib/labs/VPullToRefresh/index.d.mts +7 -15
  131. package/lib/labs/VSnackbarQueue/index.d.mts +311 -369
  132. package/lib/labs/VStepperVertical/index.d.mts +109 -184
  133. package/lib/labs/VTimePicker/index.d.mts +35 -53
  134. package/lib/labs/VTreeview/VTreeview.mjs +1 -1
  135. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  136. package/lib/labs/VTreeview/index.d.mts +200 -292
  137. package/lib/labs/components.d.mts +905 -1246
  138. package/lib/util/propsFactory.mjs.map +1 -1
  139. package/package.json +3 -3
@@ -1,6 +1,8 @@
1
1
  import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue';
3
3
 
4
+ type ClassValue = any;
5
+
4
6
  declare const block: readonly ["top", "bottom"];
5
7
  declare const inline: readonly ["start", "end", "left", "right"];
6
8
  type Tblock = typeof block[number];
@@ -29,7 +31,7 @@ declare const VTimePicker: {
29
31
  useSeconds: boolean;
30
32
  } & {
31
33
  max?: string | undefined;
32
- location?: Anchor | undefined;
34
+ location?: Anchor | null | undefined;
33
35
  height?: string | number | undefined;
34
36
  width?: string | number | undefined;
35
37
  min?: string | undefined;
@@ -90,7 +92,7 @@ declare const VTimePicker: {
90
92
  useSeconds: boolean;
91
93
  } & {
92
94
  max?: string | undefined;
93
- location?: Anchor | undefined;
95
+ location?: Anchor | null | undefined;
94
96
  height?: string | number | undefined;
95
97
  width?: string | number | undefined;
96
98
  min?: string | undefined;
@@ -145,15 +147,9 @@ declare const VTimePicker: {
145
147
  ampmInTitle: boolean;
146
148
  useSeconds: boolean;
147
149
  }, true, {}, vue.SlotsType<Partial<{
148
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
149
- [key: string]: any;
150
- }>[];
151
- title: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
152
- [key: string]: any;
153
- }>[];
154
- actions: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
155
- [key: string]: any;
156
- }>[];
150
+ default: () => vue.VNode[];
151
+ title: () => vue.VNode[];
152
+ actions: () => vue.VNode[];
157
153
  }>>, {
158
154
  P: {};
159
155
  B: {};
@@ -175,7 +171,7 @@ declare const VTimePicker: {
175
171
  useSeconds: boolean;
176
172
  } & {
177
173
  max?: string | undefined;
178
- location?: Anchor | undefined;
174
+ location?: Anchor | null | undefined;
179
175
  height?: string | number | undefined;
180
176
  width?: string | number | undefined;
181
177
  min?: string | undefined;
@@ -230,9 +226,9 @@ declare const VTimePicker: {
230
226
  ampmInTitle: boolean;
231
227
  useSeconds: boolean;
232
228
  }>;
233
- __isFragment?: undefined;
234
- __isTeleport?: undefined;
235
- __isSuspense?: undefined;
229
+ __isFragment?: never;
230
+ __isTeleport?: never;
231
+ __isSuspense?: never;
236
232
  } & vue.ComponentOptionsBase<{
237
233
  style: vue.StyleValue;
238
234
  title: string;
@@ -247,7 +243,7 @@ declare const VTimePicker: {
247
243
  useSeconds: boolean;
248
244
  } & {
249
245
  max?: string | undefined;
250
- location?: Anchor | undefined;
246
+ location?: Anchor | null | undefined;
251
247
  height?: string | number | undefined;
252
248
  width?: string | number | undefined;
253
249
  min?: string | undefined;
@@ -308,17 +304,11 @@ declare const VTimePicker: {
308
304
  ampmInTitle: boolean;
309
305
  useSeconds: boolean;
310
306
  }, {}, string, vue.SlotsType<Partial<{
311
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
312
- [key: string]: any;
313
- }>[];
314
- title: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
315
- [key: string]: any;
316
- }>[];
317
- actions: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
318
- [key: string]: any;
319
- }>[];
307
+ default: () => vue.VNode[];
308
+ title: () => vue.VNode[];
309
+ actions: () => vue.VNode[];
320
310
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
321
- location: PropType<Anchor>;
311
+ location: PropType<Anchor | null>;
322
312
  height: (StringConstructor | NumberConstructor)[];
323
313
  width: (StringConstructor | NumberConstructor)[];
324
314
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
@@ -339,7 +329,7 @@ declare const VTimePicker: {
339
329
  type: PropType<string>;
340
330
  default: string;
341
331
  };
342
- class: PropType<any>;
332
+ class: PropType<ClassValue>;
343
333
  tag: {
344
334
  type: StringConstructor;
345
335
  default: string;
@@ -356,9 +346,9 @@ declare const VTimePicker: {
356
346
  tile: BooleanConstructor;
357
347
  bgColor: StringConstructor;
358
348
  hideHeader: BooleanConstructor;
359
- allowedHours: PropType<number[] | AllowFunction>;
360
- allowedMinutes: PropType<number[] | AllowFunction>;
361
- allowedSeconds: PropType<number[] | AllowFunction>;
349
+ allowedHours: PropType<AllowFunction | number[]>;
350
+ allowedMinutes: PropType<AllowFunction | number[]>;
351
+ allowedSeconds: PropType<AllowFunction | number[]>;
362
352
  ampmInTitle: BooleanConstructor;
363
353
  disabled: BooleanConstructor;
364
354
  format: {
@@ -372,7 +362,7 @@ declare const VTimePicker: {
372
362
  scrollable: BooleanConstructor;
373
363
  useSeconds: BooleanConstructor;
374
364
  }, vue.ExtractPropTypes<{
375
- location: PropType<Anchor>;
365
+ location: PropType<Anchor | null>;
376
366
  height: (StringConstructor | NumberConstructor)[];
377
367
  width: (StringConstructor | NumberConstructor)[];
378
368
  border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
@@ -393,7 +383,7 @@ declare const VTimePicker: {
393
383
  type: PropType<string>;
394
384
  default: string;
395
385
  };
396
- class: PropType<any>;
386
+ class: PropType<ClassValue>;
397
387
  tag: {
398
388
  type: StringConstructor;
399
389
  default: string;
@@ -410,9 +400,9 @@ declare const VTimePicker: {
410
400
  tile: BooleanConstructor;
411
401
  bgColor: StringConstructor;
412
402
  hideHeader: BooleanConstructor;
413
- allowedHours: PropType<number[] | AllowFunction>;
414
- allowedMinutes: PropType<number[] | AllowFunction>;
415
- allowedSeconds: PropType<number[] | AllowFunction>;
403
+ allowedHours: PropType<AllowFunction | number[]>;
404
+ allowedMinutes: PropType<AllowFunction | number[]>;
405
+ allowedSeconds: PropType<AllowFunction | number[]>;
416
406
  ampmInTitle: BooleanConstructor;
417
407
  disabled: BooleanConstructor;
418
408
  format: {
@@ -498,9 +488,7 @@ declare const VTimePickerClock: {
498
488
  scrollable: boolean;
499
489
  ampm: boolean;
500
490
  }, true, {}, vue.SlotsType<Partial<{
501
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
502
- [key: string]: any;
503
- }>[];
491
+ default: () => vue.VNode[];
504
492
  }>>, {
505
493
  P: {};
506
494
  B: {};
@@ -546,9 +534,9 @@ declare const VTimePickerClock: {
546
534
  scrollable: boolean;
547
535
  ampm: boolean;
548
536
  }>;
549
- __isFragment?: undefined;
550
- __isTeleport?: undefined;
551
- __isSuspense?: undefined;
537
+ __isFragment?: never;
538
+ __isTeleport?: never;
539
+ __isSuspense?: never;
552
540
  } & vue.ComponentOptionsBase<{
553
541
  max: number;
554
542
  min: number;
@@ -590,9 +578,7 @@ declare const VTimePickerClock: {
590
578
  scrollable: boolean;
591
579
  ampm: boolean;
592
580
  }, {}, string, vue.SlotsType<Partial<{
593
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
594
- [key: string]: any;
595
- }>[];
581
+ default: () => vue.VNode[];
596
582
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
597
583
  allowedValues: PropType<(value: number) => boolean>;
598
584
  ampm: BooleanConstructor;
@@ -727,9 +713,7 @@ declare const VTimePickerControls: {
727
713
  ampmReadonly: boolean;
728
714
  useSeconds: boolean;
729
715
  }, true, {}, vue.SlotsType<Partial<{
730
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
731
- [key: string]: any;
732
- }>[];
716
+ default: () => vue.VNode[];
733
717
  }>>, {
734
718
  P: {};
735
719
  B: {};
@@ -772,9 +756,9 @@ declare const VTimePickerControls: {
772
756
  ampmReadonly: boolean;
773
757
  useSeconds: boolean;
774
758
  }>;
775
- __isFragment?: undefined;
776
- __isTeleport?: undefined;
777
- __isSuspense?: undefined;
759
+ __isFragment?: never;
760
+ __isTeleport?: never;
761
+ __isSuspense?: never;
778
762
  } & vue.ComponentOptionsBase<{
779
763
  disabled: boolean;
780
764
  readonly: boolean;
@@ -813,9 +797,7 @@ declare const VTimePickerControls: {
813
797
  ampmReadonly: boolean;
814
798
  useSeconds: boolean;
815
799
  }, {}, string, vue.SlotsType<Partial<{
816
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
817
- [key: string]: any;
818
- }>[];
800
+ default: () => vue.VNode[];
819
801
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
820
802
  ampm: BooleanConstructor;
821
803
  ampmInTitle: BooleanConstructor;
@@ -27,7 +27,7 @@ export const makeVTreeviewProps = propsFactory({
27
27
  collapseIcon: '$treeviewCollapse',
28
28
  expandIcon: '$treeviewExpand',
29
29
  slim: true
30
- }), ['nav'])
30
+ }), ['itemType', 'nav'])
31
31
  }, 'VTreeview');
32
32
  export const VTreeview = genericComponent()({
33
33
  name: 'VTreeview',
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeview.mjs","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","slim","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","selected","vListRef","opened","flatItems","filteredItems","visibleIds","Set","flatMap","getPath","getChildren","id","path","parent","unshift","parents","get","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event","default"],"sources":["../../../src/labs/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeVTreeviewChildrenProps(),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['nav']),\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n const activated = useProxiedModel(props, 'activated')\n const selected = useProxiedModel(props, 'selected')\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) {\n return null\n }\n return new Set(filteredItems.value.flatMap(item => {\n return [...getPath(item.props.value), ...getChildren(item.props.value)]\n }))\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n while (parent != null) {\n path.unshift(parent)\n parent = vListRef.value?.parents.get(parent)\n }\n return path\n }\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (item: any) {\n let ids: number[] = []\n\n for (const i of item) {\n if (!i.children) continue\n\n ids.push(i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(props, 'collapseIcon'),\n expandIcon: toRef(props, 'expandIcon'),\n },\n VTreeviewItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n props.class,\n ]}\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\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","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","openAll","Boolean","search","String","filterKeys","collapseIcon","expandIcon","slim","VTreeview","name","props","emits","val","value","setup","_ref","slots","activeColor","baseColor","color","activated","selected","vListRef","opened","flatItems","filteredItems","visibleIds","Set","flatMap","getPath","getChildren","id","path","parent","unshift","parents","get","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","_createVNode","_mergeProps","class","style","$event","default"],"sources":["../../../src/labs/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n openAll: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeVTreeviewChildrenProps(),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['itemType', 'nav']),\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n const activated = useProxiedModel(props, 'activated')\n const selected = useProxiedModel(props, 'selected')\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(props, 'search')\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) {\n return null\n }\n return new Set(filteredItems.value.flatMap(item => {\n return [...getPath(item.props.value), ...getChildren(item.props.value)]\n }))\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n while (parent != null) {\n path.unshift(parent)\n parent = vListRef.value?.parents.get(parent)\n }\n return path\n }\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (item: any) {\n let ids: number[] = []\n\n for (const i of item) {\n if (!i.children) continue\n\n ids.push(i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(props, 'collapseIcon'),\n expandIcon: toRef(props, 'expandIcon'),\n },\n VTreeviewItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n props.class,\n ]}\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ items.value }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}