@vuetify/nightly 3.8.9-master.2025-06-14 → 3.8.10-dev.2025-06-18

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 (231) hide show
  1. package/CHANGELOG.md +46 -14
  2. package/dist/json/attributes.json +3541 -3137
  3. package/dist/json/importMap-labs.json +30 -26
  4. package/dist/json/importMap.json +174 -174
  5. package/dist/json/tags.json +108 -2
  6. package/dist/json/web-types.json +7295 -5648
  7. package/dist/vuetify-labs.cjs +795 -198
  8. package/dist/vuetify-labs.css +4855 -4806
  9. package/dist/vuetify-labs.d.ts +10430 -3099
  10. package/dist/vuetify-labs.esm.js +796 -199
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +795 -198
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +520 -183
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +2398 -2349
  17. package/dist/vuetify.d.ts +2798 -2091
  18. package/dist/vuetify.esm.js +521 -184
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +520 -183
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1257 -1234
  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/VAppBar.d.ts +15 -3
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +175 -110
  33. package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +60 -0
  36. package/lib/components/VBadge/VBadge.js +7 -2
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.css +3 -0
  39. package/lib/components/VBtn/VBtn.d.ts +20 -10
  40. package/lib/components/VBtn/VBtn.sass +3 -0
  41. package/lib/components/VBtnGroup/VBtnGroup.css +32 -8
  42. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  43. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  44. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  45. package/lib/components/VBtnGroup/VBtnGroup.sass +46 -18
  46. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  47. package/lib/components/VCard/VCard.d.ts +20 -10
  48. package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
  49. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  50. package/lib/components/VChip/VChip.d.ts +20 -10
  51. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  52. package/lib/components/VCombobox/VCombobox.d.ts +175 -110
  53. package/lib/components/VCombobox/VCombobox.js +22 -3
  54. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  55. package/lib/components/VDataTable/VDataTable.d.ts +60 -0
  56. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  57. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  58. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  59. package/lib/components/VDataTable/VDataTableServer.d.ts +42 -0
  60. package/lib/components/VDataTable/VDataTableVirtual.d.ts +42 -0
  61. package/lib/components/VDatePicker/VDatePicker.d.ts +80 -5
  62. package/lib/components/VDatePicker/VDatePicker.js +10 -4
  63. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  64. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  65. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  66. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  67. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  68. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  69. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  70. package/lib/components/VFab/VFab.d.ts +20 -10
  71. package/lib/components/VField/VField.d.ts +3 -3
  72. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  73. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +9 -3
  74. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +29 -0
  75. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  76. package/lib/components/VInput/VInput.d.ts +4 -4
  77. package/lib/components/VKbd/VKbd.css +13 -2
  78. package/lib/components/VKbd/VKbd.d.ts +221 -0
  79. package/lib/components/VKbd/VKbd.js +55 -0
  80. package/lib/components/VKbd/VKbd.js.map +1 -0
  81. package/lib/components/VKbd/VKbd.sass +2 -1
  82. package/lib/components/VKbd/_variables.scss +12 -1
  83. package/lib/components/VKbd/index.d.ts +1 -95
  84. package/lib/components/VKbd/index.js +1 -4
  85. package/lib/components/VKbd/index.js.map +1 -1
  86. package/lib/components/VList/VList.d.ts +13 -0
  87. package/lib/components/VList/VList.js +4 -1
  88. package/lib/components/VList/VList.js.map +1 -1
  89. package/lib/components/VList/VListChildren.js +4 -3
  90. package/lib/components/VList/VListChildren.js.map +1 -1
  91. package/lib/components/VList/VListGroup.d.ts +10 -0
  92. package/lib/components/VList/VListGroup.js +2 -2
  93. package/lib/components/VList/VListGroup.js.map +1 -1
  94. package/lib/components/VList/VListItem.d.ts +28 -10
  95. package/lib/components/VList/VListItem.js +7 -3
  96. package/lib/components/VList/VListItem.js.map +1 -1
  97. package/lib/components/VList/list.d.ts +9 -2
  98. package/lib/components/VList/list.js +7 -0
  99. package/lib/components/VList/list.js.map +1 -1
  100. package/lib/components/VMenu/VMenu.d.ts +13 -0
  101. package/lib/components/VMenu/VMenu.js +2 -1
  102. package/lib/components/VMenu/VMenu.js.map +1 -1
  103. package/lib/components/VNumberInput/VNumberInput.d.ts +114 -89
  104. package/lib/components/VNumberInput/VNumberInput.js +43 -20
  105. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  106. package/lib/components/VOtpInput/VOtpInput.js +19 -2
  107. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  108. package/lib/components/VOverlay/VOverlay.css +1 -1
  109. package/lib/components/VOverlay/_variables.scss +1 -1
  110. package/lib/components/VRadio/VRadio.d.ts +20 -10
  111. package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
  112. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  113. package/lib/components/VSelect/VSelect.d.ts +204 -118
  114. package/lib/components/VSelect/VSelect.js +21 -3
  115. package/lib/components/VSelect/VSelect.js.map +1 -1
  116. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  117. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  118. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  119. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  120. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  121. package/lib/components/VSlider/VSlider.d.ts +3 -3
  122. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  123. package/lib/components/VSpeedDial/VSpeedDial.d.ts +13 -0
  124. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  125. package/lib/components/VSwitch/VSwitch.d.ts +23 -13
  126. package/lib/components/VTable/VTable.css +6 -0
  127. package/lib/components/VTable/VTable.d.ts +55 -24
  128. package/lib/components/VTable/VTable.js +9 -2
  129. package/lib/components/VTable/VTable.js.map +1 -1
  130. package/lib/components/VTable/VTable.sass +14 -0
  131. package/lib/components/VTable/_variables.scss +1 -0
  132. package/lib/components/VTabs/VTab.d.ts +56 -28
  133. package/lib/components/VTabs/VTabs.d.ts +10 -0
  134. package/lib/components/VTextField/VTextField.d.ts +27 -27
  135. package/lib/components/VTextField/VTextField.js +4 -4
  136. package/lib/components/VTextField/VTextField.js.map +1 -1
  137. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  138. package/lib/components/VTextarea/VTextarea.js +4 -4
  139. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  140. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  141. package/lib/components/VToolbar/VToolbar.js +6 -3
  142. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  143. package/lib/composables/autofocus.d.ts +7 -0
  144. package/lib/composables/autofocus.js +10 -0
  145. package/lib/composables/autofocus.js.map +1 -0
  146. package/lib/composables/calendar.d.ts +5 -0
  147. package/lib/composables/calendar.js +2 -1
  148. package/lib/composables/calendar.js.map +1 -1
  149. package/lib/composables/date/DateAdapter.d.ts +3 -3
  150. package/lib/composables/date/DateAdapter.js.map +1 -1
  151. package/lib/composables/date/adapters/string.d.ts +54 -0
  152. package/lib/composables/date/adapters/string.js +153 -0
  153. package/lib/composables/date/adapters/string.js.map +1 -0
  154. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  155. package/lib/composables/date/adapters/vuetify.js +4 -4
  156. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  157. package/lib/composables/date/date.d.ts +3 -3
  158. package/lib/composables/date/index.d.ts +1 -0
  159. package/lib/composables/date/index.js +1 -0
  160. package/lib/composables/date/index.js.map +1 -1
  161. package/lib/composables/filter.js +3 -0
  162. package/lib/composables/filter.js.map +1 -1
  163. package/lib/composables/group.js +1 -0
  164. package/lib/composables/group.js.map +1 -1
  165. package/lib/composables/iconSizes.d.ts +28 -0
  166. package/lib/composables/iconSizes.js +23 -0
  167. package/lib/composables/iconSizes.js.map +1 -0
  168. package/lib/composables/intersectionObserver.js +2 -2
  169. package/lib/composables/intersectionObserver.js.map +1 -1
  170. package/lib/composables/locale.d.ts +5 -1
  171. package/lib/composables/locale.js.map +1 -1
  172. package/lib/composables/mask.d.ts +38 -0
  173. package/lib/composables/mask.js +183 -0
  174. package/lib/composables/mask.js.map +1 -0
  175. package/lib/composables/selectLink.js +2 -2
  176. package/lib/composables/selectLink.js.map +1 -1
  177. package/lib/composables/theme.d.ts +6 -1
  178. package/lib/composables/theme.js +97 -29
  179. package/lib/composables/theme.js.map +1 -1
  180. package/lib/composables/virtual.js +6 -1
  181. package/lib/composables/virtual.js.map +1 -1
  182. package/lib/directives/ripple/index.d.ts +2 -1
  183. package/lib/directives/ripple/index.js +12 -7
  184. package/lib/directives/ripple/index.js.map +1 -1
  185. package/lib/entry-bundler.d.ts +4 -3
  186. package/lib/entry-bundler.js +1 -1
  187. package/lib/entry-bundler.js.map +1 -1
  188. package/lib/framework.d.ts +92 -73
  189. package/lib/framework.js +1 -1
  190. package/lib/framework.js.map +1 -1
  191. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  192. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  193. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  194. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  195. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  196. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  197. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  198. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  199. package/lib/labs/VMaskInput/VMaskInput.d.ts +6993 -0
  200. package/lib/labs/VMaskInput/VMaskInput.js +67 -0
  201. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -0
  202. package/lib/labs/VMaskInput/index.d.ts +1 -0
  203. package/lib/labs/VMaskInput/index.js +2 -0
  204. package/lib/labs/VMaskInput/index.js.map +1 -0
  205. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  206. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  207. package/lib/labs/VTreeview/VTreeview.d.ts +51 -38
  208. package/lib/labs/VTreeview/VTreeview.js +1 -1
  209. package/lib/labs/VTreeview/VTreeview.js.map +1 -1
  210. package/lib/labs/VTreeview/VTreeviewChildren.d.ts +35 -0
  211. package/lib/labs/VTreeview/VTreeviewChildren.js +21 -3
  212. package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
  213. package/lib/labs/VTreeview/VTreeviewGroup.d.ts +10 -0
  214. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  215. package/lib/labs/VTreeview/VTreeviewItem.js +1 -0
  216. package/lib/labs/VTreeview/VTreeviewItem.js.map +1 -1
  217. package/lib/labs/components.d.ts +1 -0
  218. package/lib/labs/components.js +1 -0
  219. package/lib/labs/components.js.map +1 -1
  220. package/lib/labs/entry-bundler.d.ts +4 -3
  221. package/lib/locale/adapters/vue-i18n.js +6 -1
  222. package/lib/locale/adapters/vue-i18n.js.map +1 -1
  223. package/lib/locale/adapters/vuetify.js +7 -1
  224. package/lib/locale/adapters/vuetify.js.map +1 -1
  225. package/lib/util/globals.d.ts +1 -0
  226. package/lib/util/globals.js +1 -0
  227. package/lib/util/globals.js.map +1 -1
  228. package/lib/util/helpers.d.ts +2 -1
  229. package/lib/util/helpers.js +12 -7
  230. package/lib/util/helpers.js.map +1 -1
  231. package/package.json +9 -7
@@ -31,6 +31,8 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
31
31
  selectable?: unknown;
32
32
  selectedColor?: unknown;
33
33
  selectStrategy?: unknown;
34
+ index?: unknown;
35
+ path?: unknown;
34
36
  } = {}>(defaults?: Defaults | undefined) => {
35
37
  density: unknown extends Defaults["density"] ? {
36
38
  type: PropType<import("../../composables/density.js").Density>;
@@ -110,9 +112,24 @@ export declare const makeVTreeviewChildrenProps: <Defaults extends {
110
112
  type: PropType<unknown extends Defaults["selectStrategy"] ? SelectStrategyProp : SelectStrategyProp | Defaults["selectStrategy"]>;
111
113
  default: unknown extends Defaults["selectStrategy"] ? SelectStrategyProp : NonNullable<SelectStrategyProp> | Defaults["selectStrategy"];
112
114
  };
115
+ index: unknown extends Defaults["index"] ? NumberConstructor : {
116
+ type: PropType<unknown extends Defaults["index"] ? number : number | Defaults["index"]>;
117
+ default: unknown extends Defaults["index"] ? number : number | Defaults["index"];
118
+ };
119
+ path: unknown extends Defaults["path"] ? {
120
+ type: PropType<Number[]>;
121
+ default: () => never[];
122
+ } : Omit<{
123
+ type: PropType<Number[]>;
124
+ default: () => never[];
125
+ }, "type" | "default"> & {
126
+ type: PropType<unknown extends Defaults["path"] ? Number[] : Number[] | Defaults["path"]>;
127
+ default: unknown extends Defaults["path"] ? Number[] : Number[] | Defaults["path"];
128
+ };
113
129
  };
114
130
  export declare const VTreeviewChildren: {
115
131
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
132
+ path: Number[];
116
133
  disabled: boolean;
117
134
  returnObject: boolean;
118
135
  density: import("../../composables/density.js").Density;
@@ -120,6 +137,7 @@ export declare const VTreeviewChildren: {
120
137
  selectable: boolean;
121
138
  loadingIcon: string;
122
139
  } & {
140
+ index?: number | undefined;
123
141
  selectStrategy?: SelectStrategyProp | undefined;
124
142
  openOnClick?: boolean | undefined;
125
143
  falseIcon?: IconValue | undefined;
@@ -129,6 +147,7 @@ export declare const VTreeviewChildren: {
129
147
  }, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
130
148
  [key: string]: any;
131
149
  }>[] | JSX.Element)[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
150
+ path: Number[];
132
151
  disabled: boolean;
133
152
  returnObject: boolean;
134
153
  density: import("../../composables/density.js").Density;
@@ -167,6 +186,7 @@ export declare const VTreeviewChildren: {
167
186
  M: {};
168
187
  Defaults: {};
169
188
  }, {
189
+ path: Number[];
170
190
  disabled: boolean;
171
191
  returnObject: boolean;
172
192
  density: import("../../composables/density.js").Density;
@@ -174,6 +194,7 @@ export declare const VTreeviewChildren: {
174
194
  selectable: boolean;
175
195
  loadingIcon: string;
176
196
  } & {
197
+ index?: number | undefined;
177
198
  selectStrategy?: SelectStrategyProp | undefined;
178
199
  openOnClick?: boolean | undefined;
179
200
  falseIcon?: IconValue | undefined;
@@ -183,6 +204,7 @@ export declare const VTreeviewChildren: {
183
204
  }, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
184
205
  [key: string]: any;
185
206
  }>[] | JSX.Element)[] | undefined, {}, {}, {}, {
207
+ path: Number[];
186
208
  disabled: boolean;
187
209
  returnObject: boolean;
188
210
  density: import("../../composables/density.js").Density;
@@ -195,6 +217,7 @@ export declare const VTreeviewChildren: {
195
217
  __isTeleport?: never;
196
218
  __isSuspense?: never;
197
219
  } & import("vue").ComponentOptionsBase<{
220
+ path: Number[];
198
221
  disabled: boolean;
199
222
  returnObject: boolean;
200
223
  density: import("../../composables/density.js").Density;
@@ -202,6 +225,7 @@ export declare const VTreeviewChildren: {
202
225
  selectable: boolean;
203
226
  loadingIcon: string;
204
227
  } & {
228
+ index?: number | undefined;
205
229
  selectStrategy?: SelectStrategyProp | undefined;
206
230
  openOnClick?: boolean | undefined;
207
231
  falseIcon?: IconValue | undefined;
@@ -211,6 +235,7 @@ export declare const VTreeviewChildren: {
211
235
  }, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
212
236
  [key: string]: any;
213
237
  }>[] | JSX.Element)[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slots" | "v-slot:default" | "items" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "v-slot:subtitle" | "v-slot:item">, string, {
238
+ path: Number[];
214
239
  disabled: boolean;
215
240
  returnObject: boolean;
216
241
  density: import("../../composables/density.js").Density;
@@ -270,6 +295,11 @@ export declare const VTreeviewChildren: {
270
295
  selectable: BooleanConstructor;
271
296
  selectedColor: StringConstructor;
272
297
  selectStrategy: PropType<SelectStrategyProp>;
298
+ index: NumberConstructor;
299
+ path: {
300
+ type: PropType<Number[]>;
301
+ default: () => never[];
302
+ };
273
303
  }, import("vue").ExtractPropTypes<{
274
304
  density: {
275
305
  type: PropType<import("../../composables/density.js").Density>;
@@ -297,4 +327,9 @@ export declare const VTreeviewChildren: {
297
327
  selectable: BooleanConstructor;
298
328
  selectedColor: StringConstructor;
299
329
  selectStrategy: PropType<SelectStrategyProp>;
330
+ index: NumberConstructor;
331
+ path: {
332
+ type: PropType<Number[]>;
333
+ default: () => never[];
334
+ };
300
335
  }>>;
@@ -29,6 +29,11 @@ export const makeVTreeviewChildrenProps = propsFactory({
29
29
  selectable: Boolean,
30
30
  selectedColor: String,
31
31
  selectStrategy: [String, Function, Object],
32
+ index: Number,
33
+ path: {
34
+ type: Array,
35
+ default: () => []
36
+ },
32
37
  ...makeDensityProps()
33
38
  }, 'VTreeviewChildren');
34
39
  export const VTreeviewChildren = genericComponent()({
@@ -56,12 +61,19 @@ export const VTreeviewChildren = genericComponent()({
56
61
  select(!isSelected);
57
62
  }
58
63
  }
59
- return () => slots.default?.() ?? props.items?.map(item => {
64
+ return () => slots.default?.() ?? props.items?.map((item, index) => {
60
65
  const {
61
66
  children,
62
67
  props: itemProps
63
68
  } = item;
64
69
  const loading = isLoading.has(item.value);
70
+ const treeItemProps = {
71
+ index,
72
+ depth: props.path?.length ?? 0,
73
+ isFirst: index === 0,
74
+ isLast: props.items ? props.items.length - 1 === index : false,
75
+ path: [...props.path, index]
76
+ };
65
77
  const slotsWithItem = {
66
78
  prepend: slotProps => _createElementVNode(_Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && _createElementVNode("div", null, [_createVNode(VCheckboxBtn, {
67
79
  "key": item.value,
@@ -82,11 +94,13 @@ export const VTreeviewChildren = genericComponent()({
82
94
  }
83
95
  }, null)]), slots.prepend?.({
84
96
  ...slotProps,
97
+ ...treeItemProps,
85
98
  item: item.raw,
86
99
  internalItem: item
87
100
  })]),
88
101
  append: slots.append ? slotProps => slots.append?.({
89
102
  ...slotProps,
103
+ ...treeItemProps,
90
104
  item: item.raw,
91
105
  internalItem: item
92
106
  }) : undefined,
@@ -102,9 +116,13 @@ export const VTreeviewChildren = genericComponent()({
102
116
  }) : undefined
103
117
  };
104
118
  const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
105
- const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
119
+ const treeviewChildrenProps = VTreeviewChildren.filterProps({
120
+ ...props,
121
+ ...treeItemProps
122
+ });
106
123
  return children ? _createVNode(VTreeviewGroup, _mergeProps(treeviewGroupProps, {
107
- "value": props.returnObject ? item.raw : treeviewGroupProps?.value
124
+ "value": props.returnObject ? item.raw : treeviewGroupProps?.value,
125
+ "rawId": treeviewGroupProps?.value
108
126
  }), {
109
127
  activator: _ref2 => {
110
128
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","makeDensityProps","IconValue","computed","reactive","toRaw","withModifiers","genericComponent","propsFactory","makeVTreeviewChildrenProps","disabled","Boolean","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","selectable","selectedColor","selectStrategy","Object","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","e","key","stopPropagation","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick"],"sources":["../../../src/labs/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, toRaw, withModifiers } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n\n const isClickOnOpen = computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(!isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map(item => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onClick={ withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']) }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append ? slotProps => slots.append?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] as any : undefined,\n }\n\n return (\n <VTreeviewItem\n { ...listItemProps }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps, item: item.raw, internalItem: item }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","makeDensityProps","IconValue","computed","reactive","toRaw","withModifiers","genericComponent","propsFactory","makeVTreeviewChildrenProps","disabled","Boolean","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","selectable","selectedColor","selectStrategy","Object","index","Number","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","treeItemProps","depth","isFirst","isLast","slotsWithItem","prepend","slotProps","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","e","key","stopPropagation","internalItem","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick"],"sources":["../../../src/labs/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, toRaw, withModifiers } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n path: {\n type: Array as PropType<Number[]>,\n default: () => [],\n },\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n\n const isClickOnOpen = computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(!isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n\n const treeItemProps = {\n index,\n depth: props.path?.length ?? 0,\n isFirst: index === 0,\n isLast: props.items ? props.items.length - 1 === index : false,\n path: [...props.path, index],\n }\n\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onClick={ withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']) }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] as any : undefined,\n }\n\n return (\n <VTreeviewItem\n { ...listItemProps }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps, item: item.raw, internalItem: item }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ export declare const makeVTreeviewGroupProps: <Defaults extends {
11
11
  appendIcon?: unknown;
12
12
  collapseIcon?: unknown;
13
13
  expandIcon?: unknown;
14
+ rawId?: unknown;
14
15
  fluid?: unknown;
15
16
  } = {}>(defaults?: Defaults | undefined) => {
16
17
  color: unknown extends Defaults["color"] ? StringConstructor : {
@@ -97,6 +98,10 @@ export declare const makeVTreeviewGroupProps: <Defaults extends {
97
98
  type: import("vue").PropType<unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : import("../../composables/icons.js").IconValue | Defaults["expandIcon"]>;
98
99
  default: unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : NonNullable<import("../../composables/icons.js").IconValue> | Defaults["expandIcon"];
99
100
  };
101
+ rawId: unknown extends Defaults["rawId"] ? (StringConstructor | NumberConstructor)[] : {
102
+ type: import("vue").PropType<unknown extends Defaults["rawId"] ? string | number : string | number | Defaults["rawId"]>;
103
+ default: unknown extends Defaults["rawId"] ? string | number : NonNullable<string | number> | Defaults["rawId"];
104
+ };
100
105
  fluid: unknown extends Defaults["fluid"] ? BooleanConstructor : {
101
106
  type: import("vue").PropType<unknown extends Defaults["fluid"] ? boolean : boolean | Defaults["fluid"]>;
102
107
  default: unknown extends Defaults["fluid"] ? boolean : boolean | Defaults["fluid"];
@@ -118,6 +123,7 @@ export declare const VTreeviewGroup: {
118
123
  activeColor?: string | undefined;
119
124
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
120
125
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
126
+ rawId?: string | number | undefined;
121
127
  } & {
122
128
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
123
129
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -173,6 +179,7 @@ export declare const VTreeviewGroup: {
173
179
  activeColor?: string | undefined;
174
180
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
175
181
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
182
+ rawId?: string | number | undefined;
176
183
  } & {
177
184
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
178
185
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -219,6 +226,7 @@ export declare const VTreeviewGroup: {
219
226
  activeColor?: string | undefined;
220
227
  prependIcon?: import("../../composables/icons.js").IconValue | undefined;
221
228
  appendIcon?: import("../../composables/icons.js").IconValue | undefined;
229
+ rawId?: string | number | undefined;
222
230
  } & {
223
231
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
224
232
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -283,6 +291,7 @@ export declare const VTreeviewGroup: {
283
291
  type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
284
292
  default: NonNullable<import("../../composables/icons.js").IconValue>;
285
293
  };
294
+ rawId: (StringConstructor | NumberConstructor)[];
286
295
  fluid: BooleanConstructor;
287
296
  }, import("vue").ExtractPropTypes<{
288
297
  color: StringConstructor;
@@ -315,6 +324,7 @@ export declare const VTreeviewGroup: {
315
324
  type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
316
325
  default: NonNullable<import("../../composables/icons.js").IconValue>;
317
326
  };
327
+ rawId: (StringConstructor | NumberConstructor)[];
318
328
  fluid: BooleanConstructor;
319
329
  }>>;
320
330
  export type VTreeviewGroup = InstanceType<typeof VTreeviewGroup>;
@@ -241,14 +241,18 @@ export declare const makeVTreeviewItemProps: <Defaults extends {
241
241
  default: boolean;
242
242
  }, "type" | "default"> & {
243
243
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
244
- class: string;
244
+ class?: string;
245
+ keys?: number[];
245
246
  } | undefined : boolean | {
246
- class: string;
247
+ class?: string;
248
+ keys?: number[];
247
249
  } | Defaults["ripple"] | undefined>;
248
250
  default: unknown extends Defaults["ripple"] ? boolean | {
249
- class: string;
251
+ class?: string;
252
+ keys?: number[];
250
253
  } | undefined : NonNullable<boolean | {
251
- class: string;
254
+ class?: string;
255
+ keys?: number[];
252
256
  } | undefined> | Defaults["ripple"];
253
257
  };
254
258
  slim: unknown extends Defaults["slim"] ? {
@@ -316,7 +320,8 @@ export declare const VTreeviewItem: {
316
320
  tile: boolean;
317
321
  slim: boolean;
318
322
  ripple: boolean | {
319
- class: string;
323
+ class?: string;
324
+ keys?: number[];
320
325
  } | undefined;
321
326
  } & {
322
327
  link?: boolean | undefined;
@@ -391,7 +396,8 @@ export declare const VTreeviewItem: {
391
396
  tile: boolean;
392
397
  slim: boolean;
393
398
  ripple: boolean | {
394
- class: string;
399
+ class?: string;
400
+ keys?: number[];
395
401
  } | undefined;
396
402
  subtitle: string | number | boolean;
397
403
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -420,7 +426,8 @@ export declare const VTreeviewItem: {
420
426
  tile: boolean;
421
427
  slim: boolean;
422
428
  ripple: boolean | {
423
- class: string;
429
+ class?: string;
430
+ keys?: number[];
424
431
  } | undefined;
425
432
  } & {
426
433
  link?: boolean | undefined;
@@ -493,7 +500,8 @@ export declare const VTreeviewItem: {
493
500
  tile: boolean;
494
501
  slim: boolean;
495
502
  ripple: boolean | {
496
- class: string;
503
+ class?: string;
504
+ keys?: number[];
497
505
  } | undefined;
498
506
  subtitle: string | number | boolean;
499
507
  }>;
@@ -513,7 +521,8 @@ export declare const VTreeviewItem: {
513
521
  tile: boolean;
514
522
  slim: boolean;
515
523
  ripple: boolean | {
516
- class: string;
524
+ class?: string;
525
+ keys?: number[];
517
526
  } | undefined;
518
527
  } & {
519
528
  link?: boolean | undefined;
@@ -588,7 +597,8 @@ export declare const VTreeviewItem: {
588
597
  tile: boolean;
589
598
  slim: boolean;
590
599
  ripple: boolean | {
591
- class: string;
600
+ class?: string;
601
+ keys?: number[];
592
602
  } | undefined;
593
603
  subtitle: string | number | boolean;
594
604
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -44,6 +44,7 @@ export const VTreeviewItem = genericComponent()({
44
44
  }
45
45
  function onClickAction(e) {
46
46
  e.preventDefault();
47
+ e.stopPropagation();
47
48
  emit('toggleExpand', e);
48
49
  }
49
50
  useRender(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeviewItem.js","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","IconValue","computed","inject","ref","toRaw","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","emits","toggleExpand","value","setup","_ref","slots","emit","visibleIds","vListItemRef","isActivatableGroupActivator","root","activatable","isGroupActivator","vListItemRefIsClickable","link","isClickable","list","disabled","isFiltered","has","id","activateGroupActivator","e","activate","isActivated","onClickAction","preventDefault","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","class","onClick","slotProps","_createElementVNode","_Fragment","default","loader","undefined"],"sources":["../../../src/labs/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, inject, ref, toRaw } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n emits: {\n toggleExpand: (value: PointerEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n const vListItemRef = ref<VListItem>()\n\n const isActivatableGroupActivator = computed(() =>\n (vListItemRef.value?.root.activatable.value) &&\n vListItemRef.value?.isGroupActivator\n )\n const vListItemRefIsClickable = computed(() => (\n vListItemRef.value?.link.isClickable.value ||\n (props.value != null && !!vListItemRef.value?.list)\n ))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value)\n )\n const isFiltered = computed(() => visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id)))\n\n function activateGroupActivator (e: MouseEvent | KeyboardEvent) {\n if (isClickable.value && isActivatableGroupActivator.value) {\n vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e)\n }\n }\n\n function onClickAction (e: PointerEvent) {\n e.preventDefault()\n emit('toggleExpand', e)\n }\n\n useRender(() => {\n const listItemProps = omit(VListItem.filterProps(props), ['onClick'])\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n active={ vListItemRef.value?.isActivated }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,\n 'v-treeview-item--filtered': isFiltered.value,\n },\n props.class,\n ]}\n ripple={ false }\n onClick={ props.onClick ?? activateGroupActivator }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n <VListItemAction start={ false }>\n { props.toggleIcon ? (\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n onClick={ onClickAction }\n >\n {{\n loader () {\n return (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n )\n },\n }}\n </VBtn>\n ) : (\n <div class=\"v-treeview-item__level\" />\n )}\n </VListItemAction>\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeviewItem.js","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","IconValue","computed","inject","ref","toRaw","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","emits","toggleExpand","value","setup","_ref","slots","emit","visibleIds","vListItemRef","isActivatableGroupActivator","root","activatable","isGroupActivator","vListItemRefIsClickable","link","isClickable","list","disabled","isFiltered","has","id","activateGroupActivator","e","activate","isActivated","onClickAction","preventDefault","stopPropagation","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","class","onClick","slotProps","_createElementVNode","_Fragment","default","loader","undefined"],"sources":["../../../src/labs/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, inject, ref, toRaw } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n emits: {\n toggleExpand: (value: PointerEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n const vListItemRef = ref<VListItem>()\n\n const isActivatableGroupActivator = computed(() =>\n (vListItemRef.value?.root.activatable.value) &&\n vListItemRef.value?.isGroupActivator\n )\n const vListItemRefIsClickable = computed(() => (\n vListItemRef.value?.link.isClickable.value ||\n (props.value != null && !!vListItemRef.value?.list)\n ))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value)\n )\n const isFiltered = computed(() => visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id)))\n\n function activateGroupActivator (e: MouseEvent | KeyboardEvent) {\n if (isClickable.value && isActivatableGroupActivator.value) {\n vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e)\n }\n }\n\n function onClickAction (e: PointerEvent) {\n e.preventDefault()\n e.stopPropagation()\n emit('toggleExpand', e)\n }\n\n useRender(() => {\n const listItemProps = omit(VListItem.filterProps(props), ['onClick'])\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n active={ vListItemRef.value?.isActivated }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,\n 'v-treeview-item--filtered': isFiltered.value,\n },\n props.class,\n ]}\n ripple={ false }\n onClick={ props.onClick ?? activateGroupActivator }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n <VListItemAction start={ false }>\n { props.toggleIcon ? (\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n onClick={ onClickAction }\n >\n {{\n loader () {\n return (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n )\n },\n }}\n </VBtn>\n ) : (\n <div class=\"v-treeview-item__level\" />\n )}\n </VListItemAction>\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ export * from './VColorInput/index.js';
3
3
  export * from './VDateInput/index.js';
4
4
  export * from './VFileUpload/index.js';
5
5
  export * from './VIconBtn/index.js';
6
+ export * from './VMaskInput/index.js';
6
7
  export * from './VPicker/index.js';
7
8
  export * from './VStepperVertical/index.js';
8
9
  export * from './VPullToRefresh/index.js';
@@ -3,6 +3,7 @@ export * from "./VColorInput/index.js";
3
3
  export * from "./VDateInput/index.js";
4
4
  export * from "./VFileUpload/index.js";
5
5
  export * from "./VIconBtn/index.js";
6
+ export * from "./VMaskInput/index.js";
6
7
  export * from "./VPicker/index.js";
7
8
  export * from "./VStepperVertical/index.js";
8
9
  export * from "./VPullToRefresh/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","names":[],"sources":["../../src/labs/components.ts"],"sourcesContent":["export * from './VCalendar'\nexport * from './VColorInput'\nexport * from './VDateInput'\nexport * from './VFileUpload'\nexport * from './VIconBtn'\nexport * from './VPicker'\nexport * from './VStepperVertical'\nexport * from './VPullToRefresh'\nexport * from './VTimePicker'\nexport * from './VTreeview'\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"components.js","names":[],"sources":["../../src/labs/components.ts"],"sourcesContent":["export * from './VCalendar'\nexport * from './VColorInput'\nexport * from './VDateInput'\nexport * from './VFileUpload'\nexport * from './VIconBtn'\nexport * from './VMaskInput'\nexport * from './VPicker'\nexport * from './VStepperVertical'\nexport * from './VPullToRefresh'\nexport * from './VTimePicker'\nexport * from './VTreeview'\n"],"mappings":"","ignoreList":[]}
@@ -16,6 +16,7 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
16
16
  rtl: import("vue").Ref<Record<string, boolean>>;
17
17
  rtlClasses: import("vue").Ref<string>;
18
18
  name: string;
19
+ decimalSeparator: import("vue").ShallowRef<string>;
19
20
  messages: import("vue").Ref<import("../framework.js").LocaleMessages>;
20
21
  current: import("vue").Ref<string>;
21
22
  fallback: import("vue").Ref<string>;
@@ -41,10 +42,10 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
41
42
  startOfYear: (date: unknown) => unknown;
42
43
  endOfYear: (date: unknown) => unknown;
43
44
  isAfter: (date: unknown, comparing: unknown) => boolean;
44
- isAfterDay: (value: unknown, comparing: unknown) => boolean;
45
+ isAfterDay: (date: unknown, comparing: unknown) => boolean;
45
46
  isSameDay: (date: unknown, comparing: unknown) => boolean;
46
47
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
47
- isSameYear: (value: unknown, comparing: unknown) => boolean;
48
+ isSameYear: (date: unknown, comparing: unknown) => boolean;
48
49
  isBefore: (date: unknown, comparing: unknown) => boolean;
49
50
  isEqual: (date: unknown, comparing: unknown) => boolean;
50
51
  isValid: (date: any) => boolean;
@@ -58,7 +59,7 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
58
59
  setYear: (date: unknown, year: number) => unknown;
59
60
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
60
61
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
61
- getWeekdays: (firstDayOfWeek?: number | string) => string[];
62
+ getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
62
63
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
63
64
  getMonth: (date: unknown) => number;
64
65
  setMonth: (date: unknown, month: number) => unknown;
@@ -1,6 +1,6 @@
1
1
  // Composables
2
2
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
3
- import { watch } from 'vue';
3
+ import { toRef, watch } from 'vue';
4
4
 
5
5
  // Types
6
6
 
@@ -14,6 +14,9 @@ function useProvided(props, prop, provided) {
14
14
  });
15
15
  return internal;
16
16
  }
17
+ function inferDecimalSeparator(format) {
18
+ return format(0.1).includes(',') ? ',' : '.';
19
+ }
17
20
  function createProvideFunction(data) {
18
21
  return props => {
19
22
  const current = useProvided(props, 'locale', data.current);
@@ -35,6 +38,7 @@ function createProvideFunction(data) {
35
38
  current,
36
39
  fallback,
37
40
  messages,
41
+ decimalSeparator: toRef(() => props.decimalSeparator ?? inferDecimalSeparator(i18n.n)),
38
42
  t: function (key) {
39
43
  for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
40
44
  params[_key - 1] = arguments[_key];
@@ -64,6 +68,7 @@ export function createVueI18nAdapter(_ref) {
64
68
  current,
65
69
  fallback,
66
70
  messages,
71
+ decimalSeparator: toRef(() => inferDecimalSeparator(i18n.global.n)),
67
72
  t: function (key) {
68
73
  for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
69
74
  params[_key2 - 1] = arguments[_key2];
@@ -1 +1 @@
1
- {"version":3,"file":"vue-i18n.js","names":["useProxiedModel","watch","useProvided","props","prop","provided","internal","value","v","createProvideFunction","data","current","fallback","messages","i18n","useI18n","locale","fallbackLocale","useScope","legacy","inheritLocale","name","t","key","_len","arguments","length","params","Array","_key","n","provide","createVueI18nAdapter","_ref","global","_len2","_key2"],"sources":["../../../src/locale/adapters/vue-i18n.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { I18n, useI18n } from 'vue-i18n'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\ntype VueI18nAdapterParams = {\n i18n: I18n<any, {}, {}, string, false>\n useI18n: typeof useI18n\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop)\n\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = v\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (data: {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n useI18n: typeof useI18n\n}) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', data.current)\n const fallback = useProvided(props, 'fallback', data.fallback)\n const messages = useProvided(props, 'messages', data.messages)\n\n const i18n = data.useI18n({\n locale: current.value,\n fallbackLocale: fallback.value,\n messages: messages.value as any,\n useScope: 'local',\n legacy: false,\n inheritLocale: false,\n })\n\n watch(current, v => {\n i18n.locale.value = v\n })\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n t: (key: string, ...params: unknown[]) => i18n.t(key, params),\n n: i18n.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n: data.useI18n }),\n }\n }\n}\n\nexport function createVueI18nAdapter ({ i18n, useI18n }: VueI18nAdapterParams): LocaleInstance {\n const current = i18n.global.locale\n const fallback = i18n.global.fallbackLocale as Ref<any>\n const messages = i18n.global.messages\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n t: (key: string, ...params: unknown[]) => i18n.global.t(key, params),\n n: i18n.global.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n }),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"vue-i18n.js","names":["useProxiedModel","toRef","watch","useProvided","props","prop","provided","internal","value","v","inferDecimalSeparator","format","includes","createProvideFunction","data","current","fallback","messages","i18n","useI18n","locale","fallbackLocale","useScope","legacy","inheritLocale","name","decimalSeparator","n","t","key","_len","arguments","length","params","Array","_key","provide","createVueI18nAdapter","_ref","global","_len2","_key2"],"sources":["../../../src/locale/adapters/vue-i18n.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { toRef, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { I18n, useI18n } from 'vue-i18n'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\ntype VueI18nAdapterParams = {\n i18n: I18n<any, {}, {}, string, false>\n useI18n: typeof useI18n\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop)\n\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = v\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction inferDecimalSeparator (format: (v: number) => string) {\n return format(0.1).includes(',') ? ',' : '.'\n}\n\nfunction createProvideFunction (data: {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n useI18n: typeof useI18n\n}) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', data.current)\n const fallback = useProvided(props, 'fallback', data.fallback)\n const messages = useProvided(props, 'messages', data.messages)\n\n const i18n = data.useI18n({\n locale: current.value,\n fallbackLocale: fallback.value,\n messages: messages.value as any,\n useScope: 'local',\n legacy: false,\n inheritLocale: false,\n })\n\n watch(current, v => {\n i18n.locale.value = v\n })\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n decimalSeparator: toRef(() => props.decimalSeparator ?? inferDecimalSeparator(i18n.n)),\n t: (key: string, ...params: unknown[]) => i18n.t(key, params),\n n: i18n.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n: data.useI18n }),\n }\n }\n}\n\nexport function createVueI18nAdapter ({ i18n, useI18n }: VueI18nAdapterParams): LocaleInstance {\n const current = i18n.global.locale\n const fallback = i18n.global.fallbackLocale as Ref<any>\n const messages = i18n.global.messages\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n decimalSeparator: toRef(() => inferDecimalSeparator(i18n.global.n)),\n t: (key: string, ...params: unknown[]) => i18n.global.t(key, params),\n n: i18n.global.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n }),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  // Composables
2
2
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
3
- import { ref, shallowRef, watch } from 'vue';
3
+ import { ref, shallowRef, toRef, watch } from 'vue';
4
4
  import { consoleError, consoleWarn, getObjectValueByPath } from "../../util/index.js"; // Locales
5
5
  import en from "../en.js"; // Types
6
6
  const LANG_PREFIX = '$vuetify.';
@@ -42,6 +42,10 @@ function createNumberFunction(current, fallback) {
42
42
  return numberFormat.format(value);
43
43
  };
44
44
  }
45
+ function inferDecimalSeparator(current, fallback) {
46
+ const format = createNumberFunction(current, fallback);
47
+ return format(0.1).includes(',') ? ',' : '.';
48
+ }
45
49
  function useProvided(props, prop, provided) {
46
50
  const internal = useProxiedModel(props, prop, props[prop] ?? provided.value);
47
51
 
@@ -64,6 +68,7 @@ function createProvideFunction(state) {
64
68
  current,
65
69
  fallback,
66
70
  messages,
71
+ decimalSeparator: toRef(() => inferDecimalSeparator(current, fallback)),
67
72
  t: createTranslateFunction(current, fallback, messages),
68
73
  n: createNumberFunction(current, fallback),
69
74
  provide: createProvideFunction({
@@ -86,6 +91,7 @@ export function createVuetifyAdapter(options) {
86
91
  current,
87
92
  fallback,
88
93
  messages,
94
+ decimalSeparator: toRef(() => options?.decimalSeparator ?? inferDecimalSeparator(current, fallback)),
89
95
  t: createTranslateFunction(current, fallback, messages),
90
96
  n: createNumberFunction(current, fallback),
91
97
  provide: createProvideFunction({