vuetify 3.0.6 → 3.1.0

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 (189) hide show
  1. package/_settings.scss +1 -0
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +460 -12
  4. package/dist/json/importMap-labs.json +28 -0
  5. package/dist/json/importMap.json +60 -60
  6. package/dist/json/tags.json +154 -8
  7. package/dist/json/web-types.json +1522 -26
  8. package/dist/vuetify-labs.d.ts +875 -0
  9. package/dist/vuetify-labs.js +9748 -0
  10. package/dist/vuetify.css +36 -55
  11. package/dist/vuetify.d.ts +173 -196
  12. package/dist/vuetify.esm.js +190 -128
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +189 -127
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +788 -780
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.d.ts +3 -2
  20. package/lib/blueprints/md1.d.ts +3 -2
  21. package/lib/blueprints/md2.d.ts +3 -2
  22. package/lib/blueprints/md3.d.ts +3 -2
  23. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  24. package/lib/components/VAlert/index.d.ts +1 -0
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/index.d.ts +3 -12
  28. package/lib/components/VAvatar/VAvatar.mjs +2 -1
  29. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  30. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +23 -20
  31. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  32. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +21 -2
  33. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  34. package/lib/components/VBreadcrumbs/index.d.ts +4 -15
  35. package/lib/components/VColorPicker/VColorPicker.mjs +0 -1
  36. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  37. package/lib/components/VCombobox/VCombobox.mjs +8 -10
  38. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  39. package/lib/components/VCombobox/index.d.ts +3 -12
  40. package/lib/components/VDivider/VDivider.css +1 -1
  41. package/lib/components/VDivider/VDivider.sass +1 -0
  42. package/lib/components/VDivider/_variables.scss +2 -1
  43. package/lib/components/VIcon/VIcon.mjs +25 -20
  44. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  45. package/lib/components/VIcon/index.d.ts +4 -8
  46. package/lib/components/VList/VListItem.css +0 -4
  47. package/lib/components/VList/VListItem.sass +12 -6
  48. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +10 -2
  49. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  50. package/lib/components/VNavigationDrawer/index.d.ts +11 -3
  51. package/lib/components/VPagination/VPagination.mjs +12 -5
  52. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  53. package/lib/components/VRadioGroup/VRadioGroup.mjs +3 -2
  54. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  55. package/lib/components/VSelect/VSelect.mjs +11 -8
  56. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  57. package/lib/components/VSelectionControl/VSelectionControl.mjs +11 -2
  58. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  59. package/lib/components/VSelectionControl/index.d.ts +2 -2
  60. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +12 -3
  61. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  62. package/lib/components/VSlider/VSliderThumb.css +2 -0
  63. package/lib/components/VSlider/VSliderThumb.sass +2 -0
  64. package/lib/components/VTable/VTable.css +12 -29
  65. package/lib/components/VTable/VTable.mjs +3 -3
  66. package/lib/components/VTable/VTable.mjs.map +1 -1
  67. package/lib/components/VTable/VTable.sass +10 -17
  68. package/lib/components/VTable/_variables.scss +4 -2
  69. package/lib/components/index.d.ts +27 -51
  70. package/lib/composables/filter.mjs +18 -10
  71. package/lib/composables/filter.mjs.map +1 -1
  72. package/lib/composables/icons.mjs +12 -7
  73. package/lib/composables/icons.mjs.map +1 -1
  74. package/lib/entry-bundler.mjs +1 -1
  75. package/lib/framework.mjs +15 -13
  76. package/lib/framework.mjs.map +1 -1
  77. package/lib/iconsets/fa-svg.d.ts +3 -2
  78. package/lib/iconsets/fa.d.ts +3 -2
  79. package/lib/iconsets/fa.mjs +2 -1
  80. package/lib/iconsets/fa.mjs.map +1 -1
  81. package/lib/iconsets/fa4.d.ts +3 -2
  82. package/lib/iconsets/fa4.mjs +2 -1
  83. package/lib/iconsets/fa4.mjs.map +1 -1
  84. package/lib/iconsets/md.d.ts +3 -2
  85. package/lib/iconsets/md.mjs +2 -1
  86. package/lib/iconsets/md.mjs.map +1 -1
  87. package/lib/iconsets/mdi-svg.d.ts +3 -2
  88. package/lib/iconsets/mdi-svg.mjs +2 -1
  89. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  90. package/lib/iconsets/mdi.d.ts +3 -2
  91. package/lib/iconsets/mdi.mjs +2 -1
  92. package/lib/iconsets/mdi.mjs.map +1 -1
  93. package/lib/index.d.ts +19 -18
  94. package/lib/labs/VDataTable/VDataTable.css +119 -0
  95. package/lib/labs/VDataTable/VDataTable.mjs +146 -0
  96. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -0
  97. package/lib/labs/VDataTable/VDataTable.sass +106 -0
  98. package/lib/labs/VDataTable/VDataTableColumn.mjs +37 -0
  99. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -0
  100. package/lib/labs/VDataTable/VDataTableFooter.css +22 -0
  101. package/lib/labs/VDataTable/VDataTableFooter.mjs +105 -0
  102. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -0
  103. package/lib/labs/VDataTable/VDataTableFooter.sass +23 -0
  104. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +88 -0
  105. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -0
  106. package/lib/labs/VDataTable/VDataTableHeaders.mjs +143 -0
  107. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -0
  108. package/lib/labs/VDataTable/VDataTableRow.mjs +75 -0
  109. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -0
  110. package/lib/labs/VDataTable/VDataTableRows.mjs +87 -0
  111. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -0
  112. package/lib/labs/VDataTable/VDataTableServer.mjs +124 -0
  113. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -0
  114. package/lib/labs/VDataTable/VDataTableVirtual.mjs +154 -0
  115. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -0
  116. package/lib/labs/VDataTable/_variables.scss +6 -0
  117. package/lib/labs/VDataTable/composables/expand.mjs +51 -0
  118. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -0
  119. package/lib/labs/VDataTable/composables/group.mjs +124 -0
  120. package/lib/labs/VDataTable/composables/group.mjs.map +1 -0
  121. package/lib/labs/VDataTable/composables/headers.mjs +152 -0
  122. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -0
  123. package/lib/labs/VDataTable/composables/items.mjs +30 -0
  124. package/lib/labs/VDataTable/composables/items.mjs.map +1 -0
  125. package/lib/labs/VDataTable/composables/options.mjs +44 -0
  126. package/lib/labs/VDataTable/composables/options.mjs.map +1 -0
  127. package/lib/labs/VDataTable/composables/paginate.mjs +62 -0
  128. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -0
  129. package/lib/labs/VDataTable/composables/select.mjs +57 -0
  130. package/lib/labs/VDataTable/composables/select.mjs.map +1 -0
  131. package/lib/labs/VDataTable/composables/sort.mjs +109 -0
  132. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -0
  133. package/lib/labs/VDataTable/composables/virtual.mjs +77 -0
  134. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -0
  135. package/lib/labs/VDataTable/index.d.ts +705 -0
  136. package/lib/labs/VDataTable/index.mjs +6 -0
  137. package/lib/labs/VDataTable/index.mjs.map +1 -0
  138. package/lib/labs/VDataTable/types.mjs +2 -0
  139. package/lib/labs/VDataTable/types.mjs.map +1 -0
  140. package/lib/labs/VVirtualScroll/VVirtualScroll.css +11 -0
  141. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +118 -0
  142. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -0
  143. package/lib/{components → labs}/VVirtualScroll/VVirtualScroll.sass +0 -5
  144. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs +35 -0
  145. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -0
  146. package/lib/labs/VVirtualScroll/index.d.ts +154 -0
  147. package/lib/labs/VVirtualScroll/index.mjs +2 -0
  148. package/lib/labs/VVirtualScroll/index.mjs.map +1 -0
  149. package/lib/labs/components.d.ts +856 -0
  150. package/lib/labs/components.mjs +3 -0
  151. package/lib/labs/components.mjs.map +1 -0
  152. package/lib/labs/index.mjs +3 -0
  153. package/lib/labs/index.mjs.map +1 -0
  154. package/lib/util/defineComponent.mjs +4 -0
  155. package/lib/util/defineComponent.mjs.map +1 -1
  156. package/lib/util/helpers.mjs +0 -38
  157. package/lib/util/helpers.mjs.map +1 -1
  158. package/package.json +4 -2
  159. package/lib/components/VDataTable/MobileRow.mjs +0 -63
  160. package/lib/components/VDataTable/MobileRow.mjs.map +0 -1
  161. package/lib/components/VDataTable/Row.mjs +0 -57
  162. package/lib/components/VDataTable/Row.mjs.map +0 -1
  163. package/lib/components/VDataTable/RowGroup.mjs +0 -48
  164. package/lib/components/VDataTable/RowGroup.mjs.map +0 -1
  165. package/lib/components/VDataTable/VDataTable.mjs +0 -577
  166. package/lib/components/VDataTable/VDataTable.mjs.map +0 -1
  167. package/lib/components/VDataTable/VDataTable.sass +0 -98
  168. package/lib/components/VDataTable/VDataTableHeader.mjs +0 -42
  169. package/lib/components/VDataTable/VDataTableHeader.mjs.map +0 -1
  170. package/lib/components/VDataTable/VDataTableHeader.sass +0 -80
  171. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +0 -96
  172. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +0 -1
  173. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +0 -89
  174. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +0 -1
  175. package/lib/components/VDataTable/VEditDialog.mjs +0 -127
  176. package/lib/components/VDataTable/VEditDialog.mjs.map +0 -1
  177. package/lib/components/VDataTable/VEditDialog.sass +0 -22
  178. package/lib/components/VDataTable/VVirtualTable.mjs +0 -132
  179. package/lib/components/VDataTable/VVirtualTable.mjs.map +0 -1
  180. package/lib/components/VDataTable/VVirtualTable.sass +0 -13
  181. package/lib/components/VDataTable/_variables.scss +0 -24
  182. package/lib/components/VDataTable/index.mjs +0 -21
  183. package/lib/components/VDataTable/index.mjs.map +0 -1
  184. package/lib/components/VDataTable/mixins/header.mjs +0 -71
  185. package/lib/components/VDataTable/mixins/header.mjs.map +0 -1
  186. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +0 -108
  187. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +0 -1
  188. package/lib/components/VVirtualScroll/index.mjs +0 -4
  189. package/lib/components/VVirtualScroll/index.mjs.map +0 -1
@@ -692,7 +692,6 @@ declare const IconValue: PropType<IconValue>;
692
692
  declare const VComponentIcon: vue.DefineComponent<{
693
693
  icon: {
694
694
  type: PropType<IconValue>;
695
- required: true;
696
695
  };
697
696
  tag: {
698
697
  type: StringConstructor;
@@ -701,17 +700,16 @@ declare const VComponentIcon: vue.DefineComponent<{
701
700
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
702
701
  icon: {
703
702
  type: PropType<IconValue>;
704
- required: true;
705
703
  };
706
704
  tag: {
707
705
  type: StringConstructor;
708
706
  required: true;
709
707
  };
710
708
  }>>, {}>;
709
+ declare type VComponentIcon = InstanceType<typeof VComponentIcon>;
711
710
  declare const VSvgIcon: vue.DefineComponent<{
712
711
  icon: {
713
712
  type: PropType<IconValue>;
714
- required: true;
715
713
  };
716
714
  tag: {
717
715
  type: StringConstructor;
@@ -720,17 +718,16 @@ declare const VSvgIcon: vue.DefineComponent<{
720
718
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
721
719
  icon: {
722
720
  type: PropType<IconValue>;
723
- required: true;
724
721
  };
725
722
  tag: {
726
723
  type: StringConstructor;
727
724
  required: true;
728
725
  };
729
726
  }>>, {}>;
727
+ declare type VSvgIcon = InstanceType<typeof VSvgIcon>;
730
728
  declare const VLigatureIcon: vue.DefineComponent<{
731
729
  icon: {
732
730
  type: PropType<IconValue>;
733
- required: true;
734
731
  };
735
732
  tag: {
736
733
  type: StringConstructor;
@@ -739,17 +736,16 @@ declare const VLigatureIcon: vue.DefineComponent<{
739
736
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
740
737
  icon: {
741
738
  type: PropType<IconValue>;
742
- required: true;
743
739
  };
744
740
  tag: {
745
741
  type: StringConstructor;
746
742
  required: true;
747
743
  };
748
744
  }>>, {}>;
745
+ declare type VLigatureIcon = InstanceType<typeof VLigatureIcon>;
749
746
  declare const VClassIcon: vue.DefineComponent<{
750
747
  icon: {
751
748
  type: PropType<IconValue>;
752
- required: true;
753
749
  };
754
750
  tag: {
755
751
  type: StringConstructor;
@@ -758,13 +754,13 @@ declare const VClassIcon: vue.DefineComponent<{
758
754
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
759
755
  icon: {
760
756
  type: PropType<IconValue>;
761
- required: true;
762
757
  };
763
758
  tag: {
764
759
  type: StringConstructor;
765
760
  required: true;
766
761
  };
767
762
  }>>, {}>;
763
+ declare type VClassIcon = InstanceType<typeof VClassIcon>;
768
764
 
769
765
  declare const VAppBarNavIcon: vue.DefineComponent<{
770
766
  icon: {
@@ -959,6 +955,7 @@ declare const VAlertTitle: vue.DefineComponent<{
959
955
  }>>, {
960
956
  tag: string;
961
957
  }>;
958
+ declare type VAlertTitle = InstanceType<typeof VAlertTitle>;
962
959
 
963
960
  interface LoaderSlotProps {
964
961
  color: string | undefined;
@@ -2345,10 +2342,7 @@ declare const VAutocomplete: {
2345
2342
  search: vue.Ref<string | undefined> & {
2346
2343
  readonly externalValue: string | undefined;
2347
2344
  };
2348
- filteredItems: vue.ComputedRef<{
2349
- item: InternalItem<any>;
2350
- matches: Record<string, FilterMatch>;
2351
- }[]>;
2345
+ filteredItems: vue.Ref<InternalItem<any>[]>;
2352
2346
  select: (item: InternalItem) => void;
2353
2347
  } & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
2354
2348
  'update:search': (val: any) => boolean;
@@ -2759,10 +2753,7 @@ declare const VAutocomplete: {
2759
2753
  search: vue.Ref<string | undefined> & {
2760
2754
  readonly externalValue: string | undefined;
2761
2755
  };
2762
- filteredItems: vue.ComputedRef<{
2763
- item: InternalItem<any>;
2764
- matches: Record<string, FilterMatch>;
2765
- }[]>;
2756
+ filteredItems: vue.Ref<InternalItem<any>[]>;
2766
2757
  select: (item: InternalItem) => void;
2767
2758
  } & Omit<any, string | number | symbol>> & {} & vue.ComponentCustomProperties;
2768
2759
  __isFragment?: undefined;
@@ -3110,10 +3101,7 @@ declare const VAutocomplete: {
3110
3101
  search: vue.Ref<string | undefined> & {
3111
3102
  readonly externalValue: string | undefined;
3112
3103
  };
3113
- filteredItems: vue.ComputedRef<{
3114
- item: InternalItem<any>;
3115
- matches: Record<string, FilterMatch>;
3116
- }[]>;
3104
+ filteredItems: vue.Ref<InternalItem<any>[]>;
3117
3105
  select: (item: InternalItem) => void;
3118
3106
  } & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
3119
3107
  'update:search': (val: any) => boolean;
@@ -3983,21 +3971,10 @@ declare const VBreadcrumbsItem: vue.DefineComponent<{
3983
3971
  declare type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>;
3984
3972
 
3985
3973
  declare const VBreadcrumbsDivider: vue.DefineComponent<{
3986
- tag: {
3987
- type: StringConstructor;
3988
- default: string;
3989
- };
3990
- }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
3991
- [key: string]: any;
3992
- }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
3993
- tag: {
3994
- type: StringConstructor;
3995
- default: string;
3996
- };
3997
- }>>, {
3998
- tag: string;
3999
- }>;
4000
- declare type VBreadcrumbsDivider = InstanceType<typeof VBreadcrumbsDivider>;
3974
+ divider: (StringConstructor | NumberConstructor)[];
3975
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
3976
+ divider: (StringConstructor | NumberConstructor)[];
3977
+ }>>, {}>;
4001
3978
 
4002
3979
  interface GroupItem {
4003
3980
  id: number;
@@ -6124,10 +6101,7 @@ declare const VCombobox: {
6124
6101
  };
6125
6102
  search: vue.WritableComputedRef<string>;
6126
6103
  selectionIndex: vue.Ref<number>;
6127
- filteredItems: vue.ComputedRef<{
6128
- item: InternalItem<any>;
6129
- matches: Record<string, FilterMatch>;
6130
- }[]>;
6104
+ filteredItems: vue.Ref<InternalItem<any>[]>;
6131
6105
  select: (item: InternalItem) => void;
6132
6106
  } & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
6133
6107
  'update:modelValue': (val: any) => boolean;
@@ -6543,10 +6517,7 @@ declare const VCombobox: {
6543
6517
  };
6544
6518
  search: vue.WritableComputedRef<string>;
6545
6519
  selectionIndex: vue.Ref<number>;
6546
- filteredItems: vue.ComputedRef<{
6547
- item: InternalItem<any>;
6548
- matches: Record<string, FilterMatch>;
6549
- }[]>;
6520
+ filteredItems: vue.Ref<InternalItem<any>[]>;
6550
6521
  select: (item: InternalItem) => void;
6551
6522
  } & Omit<any, string | number | symbol>> & {} & vue.ComponentCustomProperties;
6552
6523
  __isFragment?: undefined;
@@ -6899,10 +6870,7 @@ declare const VCombobox: {
6899
6870
  };
6900
6871
  search: vue.WritableComputedRef<string>;
6901
6872
  selectionIndex: vue.Ref<number>;
6902
- filteredItems: vue.ComputedRef<{
6903
- item: InternalItem<any>;
6904
- matches: Record<string, FilterMatch>;
6905
- }[]>;
6873
+ filteredItems: vue.Ref<InternalItem<any>[]>;
6906
6874
  select: (item: InternalItem) => void;
6907
6875
  } & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
6908
6876
  'update:modelValue': (val: any) => boolean;
@@ -14248,7 +14216,10 @@ declare const VNavigationDrawer: vue.DefineComponent<{
14248
14216
  default: null;
14249
14217
  };
14250
14218
  permanent: BooleanConstructor;
14251
- rail: BooleanConstructor;
14219
+ rail: {
14220
+ type: PropType<boolean | null>;
14221
+ default: null;
14222
+ };
14252
14223
  railWidth: {
14253
14224
  type: (StringConstructor | NumberConstructor)[];
14254
14225
  default: number;
@@ -14274,6 +14245,7 @@ declare const VNavigationDrawer: vue.DefineComponent<{
14274
14245
  isStuck: vue.Ref<boolean | "top" | "bottom">;
14275
14246
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
14276
14247
  'update:modelValue': (val: boolean) => true;
14248
+ 'update:rail': (val: boolean) => true;
14277
14249
  }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
14278
14250
  theme: StringConstructor;
14279
14251
  tag: Omit<{
@@ -14310,7 +14282,10 @@ declare const VNavigationDrawer: vue.DefineComponent<{
14310
14282
  default: null;
14311
14283
  };
14312
14284
  permanent: BooleanConstructor;
14313
- rail: BooleanConstructor;
14285
+ rail: {
14286
+ type: PropType<boolean | null>;
14287
+ default: null;
14288
+ };
14314
14289
  railWidth: {
14315
14290
  type: (StringConstructor | NumberConstructor)[];
14316
14291
  default: number;
@@ -14334,6 +14309,7 @@ declare const VNavigationDrawer: vue.DefineComponent<{
14334
14309
  sticky: BooleanConstructor;
14335
14310
  }>> & {
14336
14311
  "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
14312
+ "onUpdate:rail"?: ((val: boolean) => any) | undefined;
14337
14313
  }, {
14338
14314
  absolute: boolean;
14339
14315
  location: "end" | "start" | "left" | "bottom" | "right";
@@ -14351,7 +14327,7 @@ declare const VNavigationDrawer: vue.DefineComponent<{
14351
14327
  disableRouteWatcher: boolean;
14352
14328
  expandOnHover: boolean;
14353
14329
  permanent: boolean;
14354
- rail: boolean;
14330
+ rail: boolean | null;
14355
14331
  railWidth: string | number;
14356
14332
  }>;
14357
14333
  declare type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>;
@@ -17459,7 +17435,7 @@ declare const VSelectionControl: {
17459
17435
  errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
17460
17436
  };
17461
17437
  $forceUpdate: () => void;
17462
- $nextTick: typeof vue.nextTick;
17438
+ $nextTick: typeof nextTick;
17463
17439
  $watch(source: string | Function, cb: Function, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
17464
17440
  } & Readonly<ExtractPropTypes<Omit<{
17465
17441
  density: {
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable no-labels */
3
3
  // Utilities
4
4
  import { getPropertyFromItem, propsFactory, wrapInArray } from "../util/index.mjs";
5
- import { computed, unref } from 'vue';
5
+ import { computed, ref, unref, watchEffect } from 'vue';
6
6
 
7
7
  // Types
8
8
 
@@ -29,7 +29,7 @@ export function filterItems(items, query, options) {
29
29
  const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;
30
30
  if (!(items != null && items.length)) return array;
31
31
  loop: for (let i = 0; i < items.length; i++) {
32
- const item = items[i];
32
+ const item = items[i].raw;
33
33
  const customMatches = {};
34
34
  const defaultMatches = {};
35
35
  let match = -1;
@@ -71,28 +71,36 @@ export function filterItems(items, query, options) {
71
71
  }
72
72
  export function useFilter(props, items, query) {
73
73
  const strQuery = computed(() => typeof (query == null ? void 0 : query.value) !== 'string' && typeof (query == null ? void 0 : query.value) !== 'number' ? '' : String(query.value));
74
- const filteredItems = computed(() => {
74
+ const filteredItems = ref([]);
75
+ const filteredMatches = ref(new Map());
76
+ watchEffect(() => {
77
+ filteredItems.value = [];
78
+ filteredMatches.value = new Map();
75
79
  const transformedItems = unref(items);
76
- const matches = filterItems(transformedItems, strQuery.value, {
80
+ const results = filterItems(transformedItems, strQuery.value, {
77
81
  customKeyFilter: props.customKeyFilter,
78
82
  default: props.customFilter,
79
83
  filterKeys: props.filterKeys,
80
84
  filterMode: props.filterMode,
81
85
  noFilter: props.noFilter
82
86
  });
83
- return matches.map(_ref => {
87
+ results.forEach(_ref => {
84
88
  let {
85
89
  index,
86
90
  matches
87
91
  } = _ref;
88
- return {
89
- item: transformedItems[index],
90
- matches
91
- };
92
+ const item = transformedItems[index];
93
+ filteredItems.value.push(item);
94
+ filteredMatches.value.set(item.value, matches);
92
95
  });
93
96
  });
97
+ function getMatches(item) {
98
+ return filteredMatches.value.get(item.value);
99
+ }
94
100
  return {
95
- filteredItems
101
+ filteredItems,
102
+ filteredMatches,
103
+ getMatches
96
104
  };
97
105
  }
98
106
  //# sourceMappingURL=filter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.mjs","names":["getPropertyFromItem","propsFactory","wrapInArray","computed","unref","defaultFilter","value","query","item","toString","toLocaleLowerCase","indexOf","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","Array","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","length","loop","i","customMatches","defaultMatches","match","key","keyFilter","title","defaultMatchesLength","customMatchesLength","push","index","matches","useFilter","props","strQuery","filteredItems","transformedItems","map"],"sources":["../../src/composables/filter.ts"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\nimport { computed, unref } from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\nimport type { InternalItem } from './items'\n\n/**\n * - match without highlight\n * - single match (index), length already known\n * - single match (start, end)\n * - multiple matches (start, end), probably shouldn't overlap\n */\nexport type FilterMatch = boolean | number | [number, number] | [number, number][]\nexport type FilterFunction = (value: string, query: string, item?: any) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase())\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: any[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatch> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if (query && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(item)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(item as any, key, item)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match\n else defaultMatches[key] = match\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = match\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter (\n props: FilterProps,\n items: MaybeRef<InternalItem[]>,\n query?: Ref<string | undefined>,\n) {\n const strQuery = computed(() => (\n typeof query?.value !== 'string' &&\n typeof query?.value !== 'number'\n ) ? '' : String(query.value))\n\n const filteredItems = computed(() => {\n const transformedItems = unref(items)\n const matches = filterItems(\n transformedItems,\n strQuery.value,\n {\n customKeyFilter: props.customKeyFilter,\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n return matches.map(({ index, matches }) => ({\n item: transformedItems[index],\n matches,\n }))\n })\n\n return { filteredItems }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"filter.mjs","names":["getPropertyFromItem","propsFactory","wrapInArray","computed","ref","unref","watchEffect","defaultFilter","value","query","item","toString","toLocaleLowerCase","indexOf","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","Array","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","length","loop","i","raw","customMatches","defaultMatches","match","key","keyFilter","title","defaultMatchesLength","customMatchesLength","push","index","matches","useFilter","props","strQuery","filteredItems","filteredMatches","Map","transformedItems","results","forEach","set","getMatches","get"],"sources":["../../src/composables/filter.ts"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\nimport { computed, ref, unref, watchEffect } from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\nimport type { InternalItem } from './items'\n\n/**\n * - match without highlight\n * - single match (index), length already known\n * - single match (start, end)\n * - multiple matches (start, end), probably shouldn't overlap\n */\nexport type FilterMatch = boolean | number | [number, number] | [number, number][]\nexport type FilterFunction = (value: string, query: string, item?: any) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase())\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatch> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const item = items[i].raw\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if (query && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(item)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(item as any, key, item)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match\n else defaultMatches[key] = match\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = match\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query?: Ref<string | undefined>,\n) {\n const strQuery = computed(() => (\n typeof query?.value !== 'string' &&\n typeof query?.value !== 'number'\n ) ? '' : String(query.value))\n\n const filteredItems: Ref<T[]> = ref([])\n const filteredMatches: Ref<Map<unknown, Record<string, FilterMatch>>> = ref(new Map())\n\n watchEffect(() => {\n filteredItems.value = []\n filteredMatches.value = new Map()\n\n const transformedItems = unref(items)\n const results = filterItems(\n transformedItems,\n strQuery.value,\n {\n customKeyFilter: props.customKeyFilter,\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n results.forEach(({ index, matches }) => {\n const item = transformedItems[index]\n filteredItems.value.push(item)\n filteredMatches.value.set(item.value, matches)\n })\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n"],"mappings":"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"}
@@ -7,8 +7,7 @@ export const IconValue = [String, Function, Object];
7
7
  export const IconSymbol = Symbol.for('vuetify:icons');
8
8
  export const makeIconProps = propsFactory({
9
9
  icon: {
10
- type: IconValue,
11
- required: true
10
+ type: IconValue
12
11
  },
13
12
  // Could not remove this and use makeTagProps, types complained because it is not required
14
13
  tag: {
@@ -19,10 +18,14 @@ export const makeIconProps = propsFactory({
19
18
  export const VComponentIcon = defineComponent({
20
19
  name: 'VComponentIcon',
21
20
  props: makeIconProps(),
22
- setup(props) {
21
+ setup(props, _ref) {
22
+ let {
23
+ slots
24
+ } = _ref;
23
25
  return () => {
26
+ var _slots$default;
24
27
  return _createVNode(props.tag, null, {
25
- default: () => [_createVNode(props.icon, null, null)]
28
+ default: () => [props.icon ? _createVNode(props.icon, null, null) : (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]
26
29
  });
27
30
  };
28
31
  }
@@ -31,10 +34,10 @@ export const VSvgIcon = defineComponent({
31
34
  name: 'VSvgIcon',
32
35
  inheritAttrs: false,
33
36
  props: makeIconProps(),
34
- setup(props, _ref) {
37
+ setup(props, _ref2) {
35
38
  let {
36
39
  attrs
37
- } = _ref;
40
+ } = _ref2;
38
41
  return () => {
39
42
  return _createVNode(props.tag, _mergeProps(attrs, {
40
43
  "style": null
@@ -99,7 +102,9 @@ export const useIcon = props => {
99
102
  if (!icons) throw new Error('Missing Vuetify Icons provide!');
100
103
  const iconData = computed(() => {
101
104
  const iconAlias = isRef(props) ? props.value : props.icon;
102
- if (!iconAlias) throw new Error('Icon value is undefined or null');
105
+ if (!iconAlias) return {
106
+ component: VComponentIcon
107
+ };
103
108
  let icon = iconAlias;
104
109
  if (typeof icon === 'string') {
105
110
  icon = icon.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"icons.mjs","names":["aliases","mdi","computed","inject","isRef","defineComponent","mergeDeep","propsFactory","IconValue","String","Function","Object","IconSymbol","Symbol","for","makeIconProps","icon","type","required","tag","VComponentIcon","name","props","setup","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","createIcons","options","defaultSet","sets","useIcon","icons","Error","iconData","iconAlias","value","trim","startsWith","slice","iconSetName","keys","find","setName","iconName","length","iconSet"],"sources":["../../src/composables/icons.tsx"],"sourcesContent":["// Icons\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, mergeDeep, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\nexport const IconValue = [String, Function, Object] as PropType<IconValue>\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport function createIcons (options?: IconOptions) {\n return mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, options)\n}\n\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof icon === 'string') {\n icon = icon.trim()\n\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)]\n }\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"icons.mjs","names":["aliases","mdi","computed","inject","isRef","defineComponent","mergeDeep","propsFactory","IconValue","String","Function","Object","IconSymbol","Symbol","for","makeIconProps","icon","type","tag","required","VComponentIcon","name","props","setup","slots","default","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","createIcons","options","defaultSet","sets","useIcon","icons","Error","iconData","iconAlias","value","trim","startsWith","slice","iconSetName","keys","find","setName","iconName","length","iconSet"],"sources":["../../src/composables/icons.tsx"],"sourcesContent":["// Icons\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, mergeDeep, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\nexport const IconValue = [String, Function, Object] as PropType<IconValue>\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sortAsc: IconValue\n sortDesc: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon?: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon?: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag>\n { props.icon ? <props.icon /> : slots.default?.() }\n </props.tag>\n )\n }\n },\n})\nexport type VComponentIcon = InstanceType<typeof VComponentIcon>\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\nexport type VSvgIcon = InstanceType<typeof VSvgIcon>\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\nexport type VLigatureIcon = InstanceType<typeof VLigatureIcon>\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\nexport type VClassIcon = InstanceType<typeof VClassIcon>\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport function createIcons (options?: IconOptions) {\n return mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, options)\n}\n\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) return { component: VComponentIcon }\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof icon === 'string') {\n icon = icon.trim()\n\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)]\n }\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "3.0.6";
13
+ export const version = "3.1.0";
14
14
  createVuetify.version = version;
15
15
  export { components, directives };
16
16
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -64,19 +64,21 @@ export function createVuetify() {
64
64
  }
65
65
  }
66
66
  getUid.reset();
67
- app.mixin({
68
- computed: {
69
- $vuetify() {
70
- return reactive({
71
- defaults: inject.call(this, DefaultsSymbol),
72
- display: inject.call(this, DisplaySymbol),
73
- theme: inject.call(this, ThemeSymbol),
74
- icons: inject.call(this, IconSymbol),
75
- locale: inject.call(this, LocaleSymbol)
76
- });
67
+ if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {
68
+ app.mixin({
69
+ computed: {
70
+ $vuetify() {
71
+ return reactive({
72
+ defaults: inject.call(this, DefaultsSymbol),
73
+ display: inject.call(this, DisplaySymbol),
74
+ theme: inject.call(this, ThemeSymbol),
75
+ icons: inject.call(this, IconSymbol),
76
+ locale: inject.call(this, LocaleSymbol)
77
+ });
78
+ }
77
79
  }
78
- }
79
- });
80
+ });
81
+ }
80
82
  };
81
83
  return {
82
84
  install,
@@ -87,7 +89,7 @@ export function createVuetify() {
87
89
  locale
88
90
  };
89
91
  }
90
- export const version = "3.0.6";
92
+ export const version = "3.1.0";
91
93
  createVuetify.version = version;
92
94
 
93
95
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,cAAc;AAAA,SAC9BC,aAAa,EAAEC,aAAa;AAAA,SAC5BC,WAAW,EAAEC,UAAU;AAAA,SACvBC,YAAY,EAAEC,YAAY;AAAA,SAC1BC,WAAW,EAAEC,WAAW,mCAEjC;AAAA,SACSC,eAAe,EAAEC,MAAM,EAAEC,UAAU,EAAEC,SAAS;AACvD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,KAAK;;AAExC;AAAA;AAyBA,OAAO,SAASC,aAAa,GAAgC;EAAA,IAA9BC,OAAuB,uEAAG,CAAC,CAAC;EACzD,MAAM;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGF,OAAO;EACtC,MAAMG,OAAO,GAAGP,SAAS,CAACK,SAAS,EAAEC,IAAI,CAAC;EAC1C,MAAM;IACJE,OAAO,GAAG,CAAC,CAAC;IACZC,UAAU,GAAG,CAAC,CAAC;IACfC,UAAU,GAAG,CAAC;EAChB,CAAC,GAAGH,OAAO;EAEX,MAAMI,QAAQ,GAAGxB,cAAc,CAACoB,OAAO,CAACI,QAAQ,CAAC;EACjD,MAAMC,OAAO,GAAGvB,aAAa,CAACkB,OAAO,CAACK,OAAO,EAAEL,OAAO,CAACM,GAAG,CAAC;EAC3D,MAAMC,KAAK,GAAGnB,WAAW,CAACY,OAAO,CAACO,KAAK,CAAC;EACxC,MAAMC,KAAK,GAAGxB,WAAW,CAACgB,OAAO,CAACQ,KAAK,CAAC;EACxC,MAAMC,MAAM,GAAGvB,YAAY,CAACc,OAAO,CAACS,MAAM,CAAC;EAE3C,MAAMC,OAAO,GAAIC,GAAQ,IAAK;IAC5B,KAAK,MAAMC,GAAG,IAAIT,UAAU,EAAE;MAC5BQ,GAAG,CAACE,SAAS,CAACD,GAAG,EAAET,UAAU,CAACS,GAAG,CAAC,CAAC;IACrC;IAEA,KAAK,MAAMA,GAAG,IAAIV,UAAU,EAAE;MAC5BS,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEV,UAAU,CAACU,GAAG,CAAC,CAAC;IACrC;IAEA,KAAK,MAAMA,GAAG,IAAIX,OAAO,EAAE;MACzBU,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEtB,eAAe,CAAC;QACjC,GAAGW,OAAO,CAACW,GAAG,CAAC;QACfG,IAAI,EAAEH,GAAG;QACTI,SAAS,EAAEf,OAAO,CAACW,GAAG,CAAC,CAACG;MAC1B,CAAC,CAAC,CAAC;IACL;IAEAR,KAAK,CAACG,OAAO,CAACC,GAAG,CAAC;IAElBA,GAAG,CAACM,OAAO,CAACpC,cAAc,EAAEuB,QAAQ,CAAC;IACrCO,GAAG,CAACM,OAAO,CAAClC,aAAa,EAAEsB,OAAO,CAAC;IACnCM,GAAG,CAACM,OAAO,CAAC5B,WAAW,EAAEkB,KAAK,CAAC;IAC/BI,GAAG,CAACM,OAAO,CAAChC,UAAU,EAAEuB,KAAK,CAAC;IAC9BG,GAAG,CAACM,OAAO,CAAC9B,YAAY,EAAEsB,MAAM,CAAC;IAEjC,IAAIjB,UAAU,IAAIQ,OAAO,CAACM,GAAG,EAAE;MAC7B,IAAIK,GAAG,CAACO,KAAK,EAAE;QACbP,GAAG,CAACO,KAAK,CAACC,IAAI,CAAC,sBAAsB,EAAE,MAAM;UAC3Cd,OAAO,CAACe,MAAM,EAAE;QAClB,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM;UAAEC;QAAM,CAAC,GAAGV,GAAG;QACrBA,GAAG,CAACU,KAAK,GAAG,YAAa;UACvB,MAAMC,EAAE,GAAGD,KAAK,CAAC,YAAO,CAAC;UACzB3B,QAAQ,CAAC,MAAMW,OAAO,CAACe,MAAM,EAAE,CAAC;UAChCT,GAAG,CAACU,KAAK,GAAGA,KAAK;UACjB,OAAOC,EAAE;QACX,CAAC;MACH;IACF;IAEA/B,MAAM,CAACgC,KAAK,EAAE;IAEdZ,GAAG,CAACa,KAAK,CAAC;MACRC,QAAQ,EAAE;QACRC,QAAQ,GAAI;UACV,OAAO/B,QAAQ,CAAC;YACdS,QAAQ,EAAEuB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE/C,cAAc,CAAC;YAC3CwB,OAAO,EAAEsB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE7C,aAAa,CAAC;YACzCwB,KAAK,EAAEoB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEvC,WAAW,CAAC;YACrCmB,KAAK,EAAEmB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE3C,UAAU,CAAC;YACpCwB,MAAM,EAAEkB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEzC,YAAY;UACxC,CAAC,CAAC;QACJ;MACF;IACF,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLuB,OAAO;IACPN,QAAQ;IACRC,OAAO;IACPE,KAAK;IACLC,KAAK;IACLC;EACF,CAAC;AACH;AAEA,OAAO,MAAMoB,OAAO,UAAsB;AAC1CjC,aAAa,CAACiC,OAAO,GAAGA,OAAO;;AAE/B;AACA,SAASF,MAAM,CAAiCf,GAA+B,EAAE;EAAA;EAC/E,MAAMU,EAAE,GAAG,IAAI,CAACQ,CAAC;EAEjB,MAAMC,QAAQ,GAAG,eAAAT,EAAE,CAACU,MAAM,qBAAT,WAAWD,QAAQ,8BAAIT,EAAE,CAACW,KAAK,CAACC,UAAU,qBAAnB,qBAAqBH,QAAQ;EAErE,IAAIA,QAAQ,IAAKnB,GAAG,IAAYmB,QAAQ,EAAE;IACxC,OAAOA,QAAQ,CAAEnB,GAAG,CAAY;EAClC;AACF"}
1
+ {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
@@ -19,7 +19,8 @@ interface IconAliases {
19
19
  checkboxOff: IconValue;
20
20
  checkboxIndeterminate: IconValue;
21
21
  delimiter: IconValue;
22
- sort: IconValue;
22
+ sortAsc: IconValue;
23
+ sortDesc: IconValue;
23
24
  expand: IconValue;
24
25
  menu: IconValue;
25
26
  subgroup: IconValue;
@@ -40,7 +41,7 @@ interface IconAliases {
40
41
  }
41
42
  interface IconProps {
42
43
  tag: string;
43
- icon: IconValue;
44
+ icon?: IconValue;
44
45
  disabled?: Boolean;
45
46
  }
46
47
  declare type IconComponent = JSXComponent<IconProps>;
@@ -19,7 +19,8 @@ interface IconAliases {
19
19
  checkboxOff: IconValue;
20
20
  checkboxIndeterminate: IconValue;
21
21
  delimiter: IconValue;
22
- sort: IconValue;
22
+ sortAsc: IconValue;
23
+ sortDesc: IconValue;
23
24
  expand: IconValue;
24
25
  menu: IconValue;
25
26
  subgroup: IconValue;
@@ -40,7 +41,7 @@ interface IconAliases {
40
41
  }
41
42
  interface IconProps {
42
43
  tag: string;
43
- icon: IconValue;
44
+ icon?: IconValue;
44
45
  disabled?: Boolean;
45
46
  }
46
47
  declare type IconComponent = JSXComponent<IconProps>;
@@ -21,7 +21,8 @@ const aliases = {
21
21
  checkboxIndeterminate: 'fas fa-minus-square',
22
22
  delimiter: 'fas fa-circle',
23
23
  // for carousel
24
- sort: 'fas fa-sort-up',
24
+ sortAsc: 'fas fa-sort-up',
25
+ sortDesc: 'fas fa-sort-down',
25
26
  expand: 'fas fa-chevron-down',
26
27
  menu: 'fas fa-bars',
27
28
  subgroup: 'fas fa-caret-down',
@@ -1 +1 @@
1
- {"version":3,"file":"fa.mjs","names":["VClassIcon","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sort","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","fa","component"],"sources":["../../src/iconsets/fa.ts"],"sourcesContent":["// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fas fa-chevron-up',\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sort: 'fas fa-sort-up',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n}\n\nconst fa: IconSet = {\n component: VClassIcon,\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,cAAc;EACxBC,MAAM,EAAE,qBAAqB;EAC7BC,KAAK,EAAE,cAAc;EACrBC,MAAM,EAAE,qBAAqB;EAAE;EAC/BC,KAAK,EAAE,qBAAqB;EAAE;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,IAAI,EAAE,oBAAoB;EAC1BC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,eAAe;EAAE;EAC9BC,qBAAqB,EAAE,qBAAqB;EAC5CC,SAAS,EAAE,eAAe;EAAE;EAC5BC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,aAAa;EACnBC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,mBAAmB;EAC7BC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,eAAe;EACzBC,IAAI,EAAE,aAAa;EACnBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,aAAa;EACtBC,KAAK,EAAE,sBAAsB;EAC7BC,IAAI,EAAE,qBAAqB;EAC3BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAErC;AACb,CAAC;AAED,SAASC,OAAO,EAAEmC,EAAE"}
1
+ {"version":3,"file":"fa.mjs","names":["VClassIcon","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","fa","component"],"sources":["../../src/iconsets/fa.ts"],"sourcesContent":["// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fas fa-chevron-up',\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sortAsc: 'fas fa-sort-up',\n sortDesc: 'fas fa-sort-down',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n}\n\nconst fa: IconSet = {\n component: VClassIcon,\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,cAAc;EACxBC,MAAM,EAAE,qBAAqB;EAC7BC,KAAK,EAAE,cAAc;EACrBC,MAAM,EAAE,qBAAqB;EAAE;EAC/BC,KAAK,EAAE,qBAAqB;EAAE;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,IAAI,EAAE,oBAAoB;EAC1BC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,eAAe;EAAE;EAC9BC,qBAAqB,EAAE,qBAAqB;EAC5CC,SAAS,EAAE,eAAe;EAAE;EAC5BC,OAAO,EAAE,gBAAgB;EACzBC,QAAQ,EAAE,kBAAkB;EAC5BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,aAAa;EACnBC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,mBAAmB;EAC7BC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,eAAe;EACzBC,IAAI,EAAE,aAAa;EACnBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,aAAa;EACtBC,KAAK,EAAE,sBAAsB;EAC7BC,IAAI,EAAE,qBAAqB;EAC3BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAEtC;AACb,CAAC;AAED,SAASC,OAAO,EAAEoC,EAAE"}
@@ -19,7 +19,8 @@ interface IconAliases {
19
19
  checkboxOff: IconValue;
20
20
  checkboxIndeterminate: IconValue;
21
21
  delimiter: IconValue;
22
- sort: IconValue;
22
+ sortAsc: IconValue;
23
+ sortDesc: IconValue;
23
24
  expand: IconValue;
24
25
  menu: IconValue;
25
26
  subgroup: IconValue;
@@ -40,7 +41,7 @@ interface IconAliases {
40
41
  }
41
42
  interface IconProps {
42
43
  tag: string;
43
- icon: IconValue;
44
+ icon?: IconValue;
44
45
  disabled?: Boolean;
45
46
  }
46
47
  declare type IconComponent = JSXComponent<IconProps>;