@vuetify/nightly 3.8.6-master.2025-05-26 → 3.8.7-dev.2025-05-30

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 (149) hide show
  1. package/CHANGELOG.md +25 -20
  2. package/dist/json/attributes.json +3672 -3588
  3. package/dist/json/importMap-labs.json +28 -28
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +21 -0
  6. package/dist/json/web-types.json +6618 -6326
  7. package/dist/vuetify-labs.cjs +338 -140
  8. package/dist/vuetify-labs.css +4581 -4553
  9. package/dist/vuetify-labs.d.ts +1533 -1116
  10. package/dist/vuetify-labs.esm.js +339 -141
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +338 -140
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +332 -129
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3805 -3777
  17. package/dist/vuetify.d.ts +1022 -645
  18. package/dist/vuetify.esm.js +333 -130
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +332 -129
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1200 -1185
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +6 -1
  26. package/lib/components/VAlert/VAlert.d.ts +35 -0
  27. package/lib/components/VAlert/VAlert.js +15 -10
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +7 -1
  30. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  31. package/lib/components/VAutocomplete/VAutocomplete.d.ts +154 -103
  32. package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
  33. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  34. package/lib/components/VBtn/VBtn.d.ts +20 -10
  35. package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
  36. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  37. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  38. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  39. package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
  40. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  41. package/lib/components/VCard/VCard.d.ts +20 -10
  42. package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
  43. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  44. package/lib/components/VChip/VChip.d.ts +20 -10
  45. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  46. package/lib/components/VCombobox/VCombobox.d.ts +154 -103
  47. package/lib/components/VCombobox/VCombobox.js +22 -3
  48. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  49. package/lib/components/VDataTable/VDataTable.d.ts +18 -0
  50. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  51. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  52. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  53. package/lib/components/VDataTable/VDataTableServer.d.ts +13 -0
  54. package/lib/components/VDataTable/VDataTableVirtual.d.ts +13 -0
  55. package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
  56. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  57. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  58. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  59. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  60. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  61. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  62. package/lib/components/VFab/VFab.d.ts +20 -10
  63. package/lib/components/VField/VField.d.ts +3 -3
  64. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  65. package/lib/components/VInput/VInput.d.ts +4 -4
  66. package/lib/components/VList/VList.d.ts +13 -0
  67. package/lib/components/VList/VList.js +4 -1
  68. package/lib/components/VList/VList.js.map +1 -1
  69. package/lib/components/VList/VListChildren.js.map +1 -1
  70. package/lib/components/VList/VListItem.d.ts +23 -10
  71. package/lib/components/VList/VListItem.js +7 -3
  72. package/lib/components/VList/VListItem.js.map +1 -1
  73. package/lib/components/VList/list.d.ts +9 -2
  74. package/lib/components/VList/list.js +7 -0
  75. package/lib/components/VList/list.js.map +1 -1
  76. package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
  77. package/lib/components/VNumberInput/VNumberInput.js +19 -4
  78. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  79. package/lib/components/VOtpInput/VOtpInput.js +2 -1
  80. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  81. package/lib/components/VOverlay/VOverlay.css +1 -1
  82. package/lib/components/VOverlay/_variables.scss +1 -1
  83. package/lib/components/VRadio/VRadio.d.ts +20 -10
  84. package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
  85. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  86. package/lib/components/VSelect/VSelect.d.ts +171 -107
  87. package/lib/components/VSelect/VSelect.js +21 -3
  88. package/lib/components/VSelect/VSelect.js.map +1 -1
  89. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  90. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  91. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  92. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  93. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  94. package/lib/components/VSlider/VSlider.d.ts +3 -3
  95. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  96. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  97. package/lib/components/VSwitch/VSwitch.d.ts +23 -13
  98. package/lib/components/VTabs/VTab.d.ts +56 -28
  99. package/lib/components/VTabs/VTabs.d.ts +10 -0
  100. package/lib/components/VTextField/VTextField.d.ts +27 -27
  101. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  102. package/lib/composables/calendar.d.ts +6 -0
  103. package/lib/composables/calendar.js +2 -1
  104. package/lib/composables/calendar.js.map +1 -1
  105. package/lib/composables/date/DateAdapter.d.ts +1 -1
  106. package/lib/composables/date/DateAdapter.js.map +1 -1
  107. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  108. package/lib/composables/date/adapters/vuetify.js +4 -4
  109. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  110. package/lib/composables/date/date.d.ts +1 -1
  111. package/lib/composables/date/index.d.ts +1 -0
  112. package/lib/composables/date/index.js +1 -0
  113. package/lib/composables/date/index.js.map +1 -1
  114. package/lib/composables/filter.js +3 -0
  115. package/lib/composables/filter.js.map +1 -1
  116. package/lib/composables/iconSizes.d.ts +28 -0
  117. package/lib/composables/iconSizes.js +23 -0
  118. package/lib/composables/iconSizes.js.map +1 -0
  119. package/lib/composables/theme.d.ts +6 -1
  120. package/lib/composables/theme.js +94 -26
  121. package/lib/composables/theme.js.map +1 -1
  122. package/lib/composables/virtual.js +6 -1
  123. package/lib/composables/virtual.js.map +1 -1
  124. package/lib/directives/ripple/index.d.ts +2 -1
  125. package/lib/directives/ripple/index.js +12 -7
  126. package/lib/directives/ripple/index.js.map +1 -1
  127. package/lib/entry-bundler.d.ts +1 -1
  128. package/lib/entry-bundler.js +1 -1
  129. package/lib/entry-bundler.js.map +1 -1
  130. package/lib/framework.d.ts +64 -59
  131. package/lib/framework.js +1 -1
  132. package/lib/framework.js.map +1 -1
  133. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  134. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  135. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  136. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  137. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  138. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  139. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  140. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  141. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  142. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  143. package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
  144. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  145. package/lib/labs/entry-bundler.d.ts +1 -1
  146. package/lib/util/globals.d.ts +1 -0
  147. package/lib/util/globals.js +1 -0
  148. package/lib/util/globals.js.map +1 -1
  149. package/package.json +3 -1
@@ -360,14 +360,18 @@ export declare const makeVFabProps: <Defaults extends {
360
360
  default: boolean;
361
361
  }, "type" | "default"> & {
362
362
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
363
- class: string;
363
+ class?: string;
364
+ keys?: number[];
364
365
  } | undefined : boolean | {
365
- class: string;
366
+ class?: string;
367
+ keys?: number[];
366
368
  } | Defaults["ripple"] | undefined>;
367
369
  default: unknown extends Defaults["ripple"] ? boolean | {
368
- class: string;
370
+ class?: string;
371
+ keys?: number[];
369
372
  } | undefined : NonNullable<boolean | {
370
- class: string;
373
+ class?: string;
374
+ keys?: number[];
371
375
  } | undefined> | Defaults["ripple"];
372
376
  };
373
377
  app: unknown extends Defaults["app"] ? BooleanConstructor : {
@@ -430,7 +434,8 @@ export declare const VFab: {
430
434
  slim: boolean;
431
435
  stacked: boolean;
432
436
  ripple: boolean | {
433
- class: string;
437
+ class?: string;
438
+ keys?: number[];
434
439
  } | undefined;
435
440
  extended: boolean;
436
441
  } & {
@@ -503,7 +508,8 @@ export declare const VFab: {
503
508
  slim: boolean;
504
509
  stacked: boolean;
505
510
  ripple: boolean | {
506
- class: string;
511
+ class?: string;
512
+ keys?: number[];
507
513
  } | undefined;
508
514
  extended: boolean;
509
515
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -543,7 +549,8 @@ export declare const VFab: {
543
549
  slim: boolean;
544
550
  stacked: boolean;
545
551
  ripple: boolean | {
546
- class: string;
552
+ class?: string;
553
+ keys?: number[];
547
554
  } | undefined;
548
555
  extended: boolean;
549
556
  } & {
@@ -614,7 +621,8 @@ export declare const VFab: {
614
621
  slim: boolean;
615
622
  stacked: boolean;
616
623
  ripple: boolean | {
617
- class: string;
624
+ class?: string;
625
+ keys?: number[];
618
626
  } | undefined;
619
627
  extended: boolean;
620
628
  }>;
@@ -649,7 +657,8 @@ export declare const VFab: {
649
657
  slim: boolean;
650
658
  stacked: boolean;
651
659
  ripple: boolean | {
652
- class: string;
660
+ class?: string;
661
+ keys?: number[];
653
662
  } | undefined;
654
663
  extended: boolean;
655
664
  } & {
@@ -722,7 +731,8 @@ export declare const VFab: {
722
731
  slim: boolean;
723
732
  stacked: boolean;
724
733
  ripple: boolean | {
725
- class: string;
734
+ class?: string;
735
+ keys?: number[];
726
736
  } | undefined;
727
737
  extended: boolean;
728
738
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -241,13 +241,13 @@ export declare const VField: {
241
241
  rounded?: string | number | boolean | undefined;
242
242
  baseColor?: string | undefined;
243
243
  bgColor?: string | undefined;
244
+ iconColor?: string | boolean | undefined;
244
245
  appendInnerIcon?: IconValue | undefined;
245
246
  prependInnerIcon?: IconValue | undefined;
246
247
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
247
248
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
248
249
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
249
250
  centerAffix?: boolean | undefined;
250
- iconColor?: string | boolean | undefined;
251
251
  } & {
252
252
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
253
253
  }, {
@@ -320,13 +320,13 @@ export declare const VField: {
320
320
  rounded?: string | number | boolean | undefined;
321
321
  baseColor?: string | undefined;
322
322
  bgColor?: string | undefined;
323
+ iconColor?: string | boolean | undefined;
323
324
  appendInnerIcon?: IconValue | undefined;
324
325
  prependInnerIcon?: IconValue | undefined;
325
326
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
326
327
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
327
328
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
328
329
  centerAffix?: boolean | undefined;
329
- iconColor?: string | boolean | undefined;
330
330
  } & {
331
331
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
332
332
  }, {
@@ -381,13 +381,13 @@ export declare const VField: {
381
381
  rounded?: string | number | boolean | undefined;
382
382
  baseColor?: string | undefined;
383
383
  bgColor?: string | undefined;
384
+ iconColor?: string | boolean | undefined;
384
385
  appendInnerIcon?: IconValue | undefined;
385
386
  prependInnerIcon?: IconValue | undefined;
386
387
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
387
388
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
388
389
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
389
390
  centerAffix?: boolean | undefined;
390
- iconColor?: string | boolean | undefined;
391
391
  } & {
392
392
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
393
393
  }, {
@@ -495,6 +495,7 @@ export declare const VFileInput: {
495
495
  baseColor?: string | undefined;
496
496
  bgColor?: string | undefined;
497
497
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
498
+ iconColor?: string | boolean | undefined;
498
499
  appendInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
499
500
  prependInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
500
501
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
@@ -503,7 +504,6 @@ export declare const VFileInput: {
503
504
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
504
505
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
505
506
  centerAffix?: boolean | undefined;
506
- iconColor?: string | boolean | undefined;
507
507
  hint?: string | undefined;
508
508
  hideDetails?: boolean | "auto" | undefined;
509
509
  } & {
@@ -630,9 +630,9 @@ export declare const VFileInput: {
630
630
  baseColor?: string | undefined;
631
631
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
632
632
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
633
+ iconColor?: string | boolean | undefined;
633
634
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
634
635
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
635
- iconColor?: string | boolean | undefined;
636
636
  hint?: string | undefined;
637
637
  hideDetails?: boolean | "auto" | undefined;
638
638
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint">;
@@ -686,9 +686,9 @@ export declare const VFileInput: {
686
686
  baseColor?: string | undefined;
687
687
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
688
688
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
689
+ iconColor?: string | boolean | undefined;
689
690
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
690
691
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
691
- iconColor?: string | boolean | undefined;
692
692
  hint?: string | undefined;
693
693
  hideDetails?: boolean | "auto" | undefined;
694
694
  } & {}, {
@@ -789,9 +789,9 @@ export declare const VFileInput: {
789
789
  baseColor?: string | undefined;
790
790
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
791
791
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
792
+ iconColor?: string | boolean | undefined;
792
793
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
793
794
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
794
- iconColor?: string | boolean | undefined;
795
795
  hint?: string | undefined;
796
796
  hideDetails?: boolean | "auto" | undefined;
797
797
  } & {}, "reset" | "isValid" | "validate" | "resetValidation" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")> & import("vue").ShallowUnwrapRef<{
@@ -803,7 +803,7 @@ export declare const VFileInput: {
803
803
  }> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
804
804
  modelValue?: unknown;
805
805
  'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
806
- }, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "iconColor" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
806
+ }, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "iconColor" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
807
807
  _allExposed: {
808
808
  reset: () => Promise<void>;
809
809
  resetValidation: () => Promise<void>;
@@ -933,6 +933,7 @@ export declare const VFileInput: {
933
933
  baseColor?: string | undefined;
934
934
  bgColor?: string | undefined;
935
935
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
936
+ iconColor?: string | boolean | undefined;
936
937
  appendInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
937
938
  prependInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
938
939
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
@@ -941,7 +942,6 @@ export declare const VFileInput: {
941
942
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
942
943
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
943
944
  centerAffix?: boolean | undefined;
944
- iconColor?: string | boolean | undefined;
945
945
  hint?: string | undefined;
946
946
  hideDetails?: boolean | "auto" | undefined;
947
947
  } & {
@@ -1068,9 +1068,9 @@ export declare const VFileInput: {
1068
1068
  baseColor?: string | undefined;
1069
1069
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
1070
1070
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1071
+ iconColor?: string | boolean | undefined;
1071
1072
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1072
1073
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
1073
- iconColor?: string | boolean | undefined;
1074
1074
  hint?: string | undefined;
1075
1075
  hideDetails?: boolean | "auto" | undefined;
1076
1076
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint">;
@@ -1124,9 +1124,9 @@ export declare const VFileInput: {
1124
1124
  baseColor?: string | undefined;
1125
1125
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
1126
1126
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1127
+ iconColor?: string | boolean | undefined;
1127
1128
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1128
1129
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
1129
- iconColor?: string | boolean | undefined;
1130
1130
  hint?: string | undefined;
1131
1131
  hideDetails?: boolean | "auto" | undefined;
1132
1132
  } & {}, {
@@ -1227,9 +1227,9 @@ export declare const VFileInput: {
1227
1227
  baseColor?: string | undefined;
1228
1228
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
1229
1229
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1230
+ iconColor?: string | boolean | undefined;
1230
1231
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1231
1232
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
1232
- iconColor?: string | boolean | undefined;
1233
1233
  hint?: string | undefined;
1234
1234
  hideDetails?: boolean | "auto" | undefined;
1235
1235
  } & {}, "reset" | "isValid" | "validate" | "resetValidation" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")> & import("vue").ShallowUnwrapRef<{
@@ -1241,7 +1241,7 @@ export declare const VFileInput: {
1241
1241
  }> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
1242
1242
  modelValue?: unknown;
1243
1243
  'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
1244
- }, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "iconColor" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
1244
+ }, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "iconColor" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
1245
1245
  _allExposed: {
1246
1246
  reset: () => Promise<void>;
1247
1247
  resetValidation: () => Promise<void>;
@@ -1341,6 +1341,7 @@ export declare const VFileInput: {
1341
1341
  baseColor?: string | undefined;
1342
1342
  bgColor?: string | undefined;
1343
1343
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1344
+ iconColor?: string | boolean | undefined;
1344
1345
  appendInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
1345
1346
  prependInnerIcon?: import("../../composables/icons.js").IconValue | undefined;
1346
1347
  'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
@@ -1349,7 +1350,6 @@ export declare const VFileInput: {
1349
1350
  'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
1350
1351
  'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
1351
1352
  centerAffix?: boolean | undefined;
1352
- iconColor?: string | boolean | undefined;
1353
1353
  hint?: string | undefined;
1354
1354
  hideDetails?: boolean | "auto" | undefined;
1355
1355
  } & {
@@ -1476,9 +1476,9 @@ export declare const VFileInput: {
1476
1476
  baseColor?: string | undefined;
1477
1477
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
1478
1478
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1479
+ iconColor?: string | boolean | undefined;
1479
1480
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1480
1481
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
1481
- iconColor?: string | boolean | undefined;
1482
1482
  hint?: string | undefined;
1483
1483
  hideDetails?: boolean | "auto" | undefined;
1484
1484
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint">;
@@ -1532,9 +1532,9 @@ export declare const VFileInput: {
1532
1532
  baseColor?: string | undefined;
1533
1533
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
1534
1534
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1535
+ iconColor?: string | boolean | undefined;
1535
1536
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1536
1537
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
1537
- iconColor?: string | boolean | undefined;
1538
1538
  hint?: string | undefined;
1539
1539
  hideDetails?: boolean | "auto" | undefined;
1540
1540
  } & {}, {
@@ -1635,9 +1635,9 @@ export declare const VFileInput: {
1635
1635
  baseColor?: string | undefined;
1636
1636
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
1637
1637
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
1638
+ iconColor?: string | boolean | undefined;
1638
1639
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
1639
1640
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
1640
- iconColor?: string | boolean | undefined;
1641
1641
  hint?: string | undefined;
1642
1642
  hideDetails?: boolean | "auto" | undefined;
1643
1643
  } & {}, "reset" | "isValid" | "validate" | "resetValidation" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")> & import("vue").ShallowUnwrapRef<{
@@ -1649,7 +1649,7 @@ export declare const VFileInput: {
1649
1649
  }> & {} & import("vue").ComponentCustomProperties & {} & import("../../util/index.js").GenericProps<{
1650
1650
  modelValue?: unknown;
1651
1651
  'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
1652
- }, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "iconColor" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
1652
+ }, VInputSlots>, "name" | "id" | "width" | "color" | "maxWidth" | "minWidth" | "label" | "class" | "theme" | "$children" | "v-slots" | "v-slot:default" | keyof import("vue").VNodeProps | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "baseColor" | "prependIcon" | "appendIcon" | "v-slot:prepend" | "v-slot:append" | "iconColor" | "onClick:append" | "onClick:prepend" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint")>, `$${any}`> & {
1653
1653
  _allExposed: {
1654
1654
  reset: () => Promise<void>;
1655
1655
  resetValidation: () => Promise<void>;
@@ -251,7 +251,7 @@ export declare const makeVInputProps: <Defaults extends {
251
251
  validator: (v: any) => boolean;
252
252
  }, "type" | "default"> & {
253
253
  type: PropType<unknown extends Defaults["direction"] ? "horizontal" | "vertical" : "horizontal" | "vertical" | Defaults["direction"]>;
254
- default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" : Defaults["direction"] | NonNullable<"horizontal" | "vertical">;
254
+ default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" : NonNullable<"horizontal" | "vertical"> | Defaults["direction"];
255
255
  };
256
256
  'onClick:prepend': unknown extends Defaults["onClick:prepend"] ? PropType<(args_0: MouseEvent) => void> : {
257
257
  type: PropType<unknown extends Defaults["onClick:prepend"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick:prepend"]>;
@@ -302,9 +302,9 @@ export declare const VInput: {
302
302
  baseColor?: string | undefined;
303
303
  prependIcon?: IconValue | undefined;
304
304
  appendIcon?: IconValue | undefined;
305
+ iconColor?: string | boolean | undefined;
305
306
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
306
307
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
307
- iconColor?: string | boolean | undefined;
308
308
  hint?: string | undefined;
309
309
  hideDetails?: boolean | "auto" | undefined;
310
310
  } & {}, {
@@ -376,9 +376,9 @@ export declare const VInput: {
376
376
  baseColor?: string | undefined;
377
377
  prependIcon?: IconValue | undefined;
378
378
  appendIcon?: IconValue | undefined;
379
+ iconColor?: string | boolean | undefined;
379
380
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
380
381
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
381
- iconColor?: string | boolean | undefined;
382
382
  hint?: string | undefined;
383
383
  hideDetails?: boolean | "auto" | undefined;
384
384
  } & {}, {
@@ -439,9 +439,9 @@ export declare const VInput: {
439
439
  baseColor?: string | undefined;
440
440
  prependIcon?: IconValue | undefined;
441
441
  appendIcon?: IconValue | undefined;
442
+ iconColor?: string | boolean | undefined;
442
443
  'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
443
444
  'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
444
- iconColor?: string | boolean | undefined;
445
445
  hint?: string | undefined;
446
446
  hideDetails?: boolean | "auto" | undefined;
447
447
  } & {}, {
@@ -51,6 +51,7 @@ export declare const makeVListProps: <Defaults extends {
51
51
  activeClass?: unknown;
52
52
  bgColor?: unknown;
53
53
  disabled?: unknown;
54
+ filterable?: unknown;
54
55
  expandIcon?: unknown;
55
56
  collapseIcon?: unknown;
56
57
  lines?: unknown;
@@ -310,6 +311,10 @@ export declare const makeVListProps: <Defaults extends {
310
311
  type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
311
312
  default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
312
313
  };
314
+ filterable: unknown extends Defaults["filterable"] ? BooleanConstructor : {
315
+ type: PropType<unknown extends Defaults["filterable"] ? boolean : boolean | Defaults["filterable"]>;
316
+ default: unknown extends Defaults["filterable"] ? boolean : boolean | Defaults["filterable"];
317
+ };
313
318
  expandIcon: unknown extends Defaults["expandIcon"] ? PropType<IconValue> : {
314
319
  type: PropType<unknown extends Defaults["expandIcon"] ? IconValue : IconValue | Defaults["expandIcon"]>;
315
320
  default: unknown extends Defaults["expandIcon"] ? IconValue : NonNullable<IconValue> | Defaults["expandIcon"];
@@ -404,6 +409,7 @@ export declare const VList: {
404
409
  density: import("../../composables/density.js").Density;
405
410
  tile: boolean;
406
411
  slim: boolean;
412
+ filterable: boolean;
407
413
  activatable: boolean;
408
414
  selectable: boolean;
409
415
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -477,6 +483,7 @@ export declare const VList: {
477
483
  rounded: string | number | boolean;
478
484
  tile: boolean;
479
485
  slim: boolean;
486
+ filterable: boolean;
480
487
  activatable: boolean;
481
488
  selectable: boolean;
482
489
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -527,6 +534,7 @@ export declare const VList: {
527
534
  density: import("../../composables/density.js").Density;
528
535
  tile: boolean;
529
536
  slim: boolean;
537
+ filterable: boolean;
530
538
  activatable: boolean;
531
539
  selectable: boolean;
532
540
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -581,6 +589,7 @@ export declare const VList: {
581
589
  rounded: string | number | boolean;
582
590
  tile: boolean;
583
591
  slim: boolean;
592
+ filterable: boolean;
584
593
  activatable: boolean;
585
594
  selectable: boolean;
586
595
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -602,6 +611,7 @@ export declare const VList: {
602
611
  density: import("../../composables/density.js").Density;
603
612
  tile: boolean;
604
613
  slim: boolean;
614
+ filterable: boolean;
605
615
  activatable: boolean;
606
616
  selectable: boolean;
607
617
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -675,6 +685,7 @@ export declare const VList: {
675
685
  rounded: string | number | boolean;
676
686
  tile: boolean;
677
687
  slim: boolean;
688
+ filterable: boolean;
678
689
  activatable: boolean;
679
690
  selectable: boolean;
680
691
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -812,6 +823,7 @@ export declare const VList: {
812
823
  activeClass: StringConstructor;
813
824
  bgColor: StringConstructor;
814
825
  disabled: BooleanConstructor;
826
+ filterable: BooleanConstructor;
815
827
  expandIcon: PropType<IconValue>;
816
828
  collapseIcon: PropType<IconValue>;
817
829
  lines: {
@@ -918,6 +930,7 @@ export declare const VList: {
918
930
  activeClass: StringConstructor;
919
931
  bgColor: StringConstructor;
920
932
  disabled: BooleanConstructor;
933
+ filterable: BooleanConstructor;
921
934
  expandIcon: PropType<IconValue>;
922
935
  collapseIcon: PropType<IconValue>;
923
936
  lines: {
@@ -61,6 +61,7 @@ export const makeVListProps = propsFactory({
61
61
  activeClass: String,
62
62
  bgColor: String,
63
63
  disabled: Boolean,
64
+ filterable: Boolean,
64
65
  expandIcon: IconValue,
65
66
  collapseIcon: IconValue,
66
67
  lines: {
@@ -144,7 +145,9 @@ export const VList = genericComponent()({
144
145
  const activeColor = toRef(() => props.activeColor);
145
146
  const baseColor = toRef(() => props.baseColor);
146
147
  const color = toRef(() => props.color);
147
- createList();
148
+ createList({
149
+ filterable: props.filterable
150
+ });
148
151
  provideDefaults({
149
152
  VListGroup: {
150
153
  activeColor,
@@ -1 +1 @@
1
- {"version":3,"file":"VList.js","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","EventProp","focusChild","genericComponent","getPropertyFromItem","isPrimitive","omit","propsFactory","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","makeVListProps","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","expandIcon","collapseIcon","lines","default","slim","nav","selectStrategy","openStrategy","variant","VList","name","emits","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","parents","select","getPath","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","target","includes","tagName","key","preventDefault","onMousedown","location","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","returnObject"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport {\n EventProp,\n focusChild,\n genericComponent,\n getPropertyFromItem,\n isPrimitive,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType?: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType?: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useListItems (props: ItemProps & { itemType?: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n expandIcon: IconValue,\n collapseIcon: IconValue,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n 'onClick:open': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onClick:select': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onUpdate:opened': EventProp<[]>(),\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent<new <\n T extends readonly any[],\n S = unknown,\n O = unknown\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemChildren?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n selected?: S\n 'onUpdate:selected'?: (value: S) => void\n 'onClick:open'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n 'onClick:select'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n opened?: O\n 'onUpdate:opened'?: (value: O) => void\n },\n slots: VListChildrenSlots<ItemType<T>>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown) => true,\n 'update:activated': (value: unknown) => true,\n 'update:opened': (value: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:activate': (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 { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { children, open, parents, select, getPath } = useNested(props)\n const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(() => props.expandIcon),\n collapseIcon: toRef(() => props.collapseIcon),\n },\n VListItem: {\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 nav: toRef(() => props.nav),\n slim: toRef(() => props.slim),\n variant: toRef(() => props.variant),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function onMousedown (e: MouseEvent) {\n isFocused.value = true\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last' | number) {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n onMousedown={ onMousedown }\n >\n <VListChildren\n items={ items.value }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VList.js","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","EventProp","focusChild","genericComponent","getPropertyFromItem","isPrimitive","omit","propsFactory","useRender","transformItem","props","item","type","itemType","title","itemTitle","value","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","makeVListProps","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","filterable","expandIcon","collapseIcon","lines","default","slim","nav","selectStrategy","openStrategy","variant","VList","name","emits","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","parents","select","getPath","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","target","includes","tagName","key","preventDefault","onMousedown","location","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","returnObject"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport {\n EventProp,\n focusChild,\n genericComponent,\n getPropertyFromItem,\n isPrimitive,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction transformItem (props: ItemProps & { itemType?: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType?: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useListItems (props: ItemProps & { itemType?: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n filterable: Boolean,\n expandIcon: IconValue,\n collapseIcon: IconValue,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n 'onClick:open': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onClick:select': EventProp<[{ id: unknown, value: boolean, path: unknown[] }]>(),\n 'onUpdate:opened': EventProp<[]>(),\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent<new <\n T extends readonly any[],\n S = unknown,\n O = unknown\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemChildren?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n selected?: S\n 'onUpdate:selected'?: (value: S) => void\n 'onClick:open'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n 'onClick:select'?: (value: { id: unknown, value: boolean, path: unknown[] }) => void\n opened?: O\n 'onUpdate:opened'?: (value: O) => void\n },\n slots: VListChildrenSlots<ItemType<T>>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown) => true,\n 'update:activated': (value: unknown) => true,\n 'update:opened': (value: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:activate': (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 { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { children, open, parents, select, getPath } = useNested(props)\n const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n\n createList({\n filterable: props.filterable,\n })\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(() => props.expandIcon),\n collapseIcon: toRef(() => props.collapseIcon),\n },\n VListItem: {\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 nav: toRef(() => props.nav),\n slim: toRef(() => props.slim),\n variant: toRef(() => props.variant),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function onMousedown (e: MouseEvent) {\n isFocused.value = true\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last' | number) {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n onMousedown={ onMousedown }\n >\n <VListChildren\n items={ items.value }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"VListChildren.js","names":["VListGroup","VListItem","VListSubheader","VDivider","createList","genericComponent","propsFactory","makeVListChildrenProps","items","Array","returnObject","Boolean","VListChildren","name","props","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","filterProps","_mergeProps","value","activator","_ref3","activatorProps","listItemProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '../VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType<readonly InternalListItem[]>,\n returnObject: Boolean,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n returnObject?: boolean\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader { ...itemProps } />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const listGroupProps = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value,\n }\n\n return slots.header\n ? slots.header({ props: listItemProps })\n : (\n <VListItem { ...listItemProps } v-slots={ slotsWithItem } />\n )\n },\n default: () => (\n <VListChildren\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n <VListItem\n { ...itemProps }\n value={ props.returnObject ? item : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VListChildren.js","names":["VListGroup","VListItem","VListSubheader","VDivider","createList","genericComponent","propsFactory","makeVListChildrenProps","items","Array","returnObject","Boolean","VListChildren","name","props","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","filterProps","_mergeProps","value","activator","_ref3","activatorProps","listItemProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '@/components/VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType<readonly InternalListItem[]>,\n returnObject: Boolean,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n returnObject?: boolean\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader { ...itemProps } />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const listGroupProps = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value,\n }\n\n return slots.header\n ? slots.header({ props: listItemProps })\n : (\n <VListItem { ...listItemProps } v-slots={ slotsWithItem } />\n )\n },\n default: () => (\n <VListChildren\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n <VListItem\n { ...itemProps }\n value={ props.returnObject ? item : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}