vuetify 3.7.12 → 3.7.14

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 (272) hide show
  1. package/dist/json/attributes.json +2442 -2430
  2. package/dist/json/importMap-labs.json +8 -8
  3. package/dist/json/importMap.json +146 -146
  4. package/dist/json/tags.json +4 -1
  5. package/dist/json/web-types.json +4796 -4506
  6. package/dist/vuetify-labs.css +2781 -2771
  7. package/dist/vuetify-labs.d.ts +427 -163
  8. package/dist/vuetify-labs.esm.js +224 -143
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +223 -142
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +4465 -4469
  13. package/dist/vuetify.d.ts +173 -152
  14. package/dist/vuetify.esm.js +103 -85
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +102 -84
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +1082 -1077
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +1 -1
  22. package/lib/blueprints/md1.d.mts +1 -1
  23. package/lib/blueprints/md2.d.mts +1 -1
  24. package/lib/blueprints/md3.d.mts +1 -1
  25. package/lib/components/VAlert/VAlert.mjs +1 -1
  26. package/lib/components/VAlert/index.d.mts +1 -1
  27. package/lib/components/VAppBar/VAppBar.mjs +1 -1
  28. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  29. package/lib/components/VAppBar/VAppBarTitle.mjs +1 -1
  30. package/lib/components/VAppBar/index.d.mts +5 -5
  31. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  32. package/lib/components/VAutocomplete/index.d.mts +4 -4
  33. package/lib/components/VAvatar/index.d.mts +1 -1
  34. package/lib/components/VBadge/VBadge.mjs +1 -1
  35. package/lib/components/VBadge/index.d.mts +1 -1
  36. package/lib/components/VBanner/VBanner.mjs +1 -1
  37. package/lib/components/VBanner/index.d.mts +1 -1
  38. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -0
  39. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -0
  40. package/lib/components/VBottomNavigation/index.d.mts +1 -1
  41. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  42. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
  43. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +1 -1
  44. package/lib/components/VBreadcrumbs/index.d.mts +5 -5
  45. package/lib/components/VBtn/VBtn.mjs +1 -1
  46. package/lib/components/VBtn/index.d.mts +5 -5
  47. package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -1
  48. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
  49. package/lib/components/VBtnToggle/index.d.mts +1 -1
  50. package/lib/components/VCard/VCard.mjs +1 -1
  51. package/lib/components/VCard/VCardItem.mjs +1 -1
  52. package/lib/components/VCard/VCardSubtitle.mjs +1 -1
  53. package/lib/components/VCard/VCardText.mjs +1 -1
  54. package/lib/components/VCard/index.d.mts +5 -5
  55. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  56. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  57. package/lib/components/VCarousel/index.d.mts +1 -1
  58. package/lib/components/VCheckbox/VCheckbox.mjs +1 -1
  59. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  60. package/lib/components/VCheckbox/index.d.mts +1 -1
  61. package/lib/components/VChip/VChip.mjs +1 -1
  62. package/lib/components/VChip/index.d.mts +5 -5
  63. package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
  64. package/lib/components/VChipGroup/index.d.mts +1 -1
  65. package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
  66. package/lib/components/VColorPicker/index.d.mts +10 -10
  67. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  68. package/lib/components/VCombobox/index.d.mts +4 -4
  69. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +1 -1
  70. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +5 -5
  71. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
  72. package/lib/components/VConfirmEdit/index.d.mts +1 -1
  73. package/lib/components/VCounter/VCounter.mjs +1 -1
  74. package/lib/components/VDataIterator/index.d.mts +1 -1
  75. package/lib/components/VDataTable/VDataTable.mjs +1 -1
  76. package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
  77. package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs +1 -1
  78. package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
  79. package/lib/components/VDataTable/VDataTableRow.mjs +1 -1
  80. package/lib/components/VDataTable/VDataTableRows.mjs +1 -1
  81. package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
  82. package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
  83. package/lib/components/VDataTable/composables/sort.mjs +12 -8
  84. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  85. package/lib/components/VDataTable/index.d.mts +1 -1
  86. package/lib/components/VDatePicker/VDatePicker.mjs +20 -11
  87. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  88. package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -1
  89. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  90. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  91. package/lib/components/VDatePicker/VDatePickerMonths.mjs +1 -1
  92. package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
  93. package/lib/components/VDatePicker/index.d.mts +28 -16
  94. package/lib/components/VDialog/VDialog.mjs +1 -1
  95. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +1 -1
  96. package/lib/components/VDialog/index.d.mts +3 -3
  97. package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
  98. package/lib/components/VEmptyState/index.d.mts +1 -1
  99. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
  100. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  101. package/lib/components/VExpansionPanel/index.d.mts +1 -1
  102. package/lib/components/VFab/VFab.mjs +1 -1
  103. package/lib/components/VFab/index.d.mts +5 -5
  104. package/lib/components/VField/VField.mjs +1 -1
  105. package/lib/components/VField/VFieldLabel.mjs +1 -1
  106. package/lib/components/VField/index.d.mts +1 -1
  107. package/lib/components/VFileInput/VFileInput.css +0 -1
  108. package/lib/components/VFileInput/VFileInput.mjs +13 -4
  109. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  110. package/lib/components/VFileInput/VFileInput.sass +0 -1
  111. package/lib/components/VFileInput/index.d.mts +4 -4
  112. package/lib/components/VFooter/VFooter.mjs +1 -1
  113. package/lib/components/VGrid/VContainer.mjs +1 -1
  114. package/lib/components/VIcon/index.d.mts +1 -1
  115. package/lib/components/VImg/VImg.mjs +1 -1
  116. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  117. package/lib/components/VInput/VInput.mjs +3 -3
  118. package/lib/components/VInput/VInput.mjs.map +1 -1
  119. package/lib/components/VInput/index.d.mts +1 -1
  120. package/lib/components/VItemGroup/index.d.mts +1 -1
  121. package/lib/components/VLazy/VLazy.mjs +1 -1
  122. package/lib/components/VList/VList.mjs +2 -2
  123. package/lib/components/VList/VList.mjs.map +1 -1
  124. package/lib/components/VList/VListChildren.mjs +1 -1
  125. package/lib/components/VList/VListGroup.mjs +1 -1
  126. package/lib/components/VList/VListItem.mjs +3 -2
  127. package/lib/components/VList/VListItem.mjs.map +1 -1
  128. package/lib/components/VList/VListItemAction.mjs +1 -1
  129. package/lib/components/VList/VListItemMedia.mjs +1 -1
  130. package/lib/components/VList/VListItemSubtitle.mjs +1 -1
  131. package/lib/components/VList/index.d.mts +17 -5
  132. package/lib/components/VMenu/VMenu.mjs +1 -1
  133. package/lib/components/VMenu/index.d.mts +3 -3
  134. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +0 -4
  135. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -6
  136. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  137. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -5
  138. package/lib/components/VOtpInput/VOtpInput.mjs +3 -3
  139. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  140. package/lib/components/VOverlay/VOverlay.mjs +1 -1
  141. package/lib/components/VPagination/VPagination.mjs +1 -1
  142. package/lib/components/VPagination/index.d.mts +1 -1
  143. package/lib/components/VParallax/VParallax.mjs +1 -1
  144. package/lib/components/VRadio/VRadio.mjs +1 -1
  145. package/lib/components/VRadio/index.d.mts +1 -1
  146. package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -1
  147. package/lib/components/VRadioGroup/index.d.mts +1 -1
  148. package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
  149. package/lib/components/VRating/VRating.mjs +1 -1
  150. package/lib/components/VRating/index.d.mts +1 -1
  151. package/lib/components/VSelect/VSelect.mjs +1 -1
  152. package/lib/components/VSelect/index.d.mts +4 -4
  153. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
  154. package/lib/components/VSelectionControl/index.d.mts +1 -1
  155. package/lib/components/VSelectionControlGroup/index.d.mts +1 -1
  156. package/lib/components/VSheet/VSheet.mjs +1 -1
  157. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +1 -1
  158. package/lib/components/VSlideGroup/index.d.mts +1 -1
  159. package/lib/components/VSlider/VSlider.mjs +1 -1
  160. package/lib/components/VSlider/VSliderThumb.mjs +1 -1
  161. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  162. package/lib/components/VSnackbar/index.d.mts +3 -3
  163. package/lib/components/VSparkline/VBarline.mjs +1 -2
  164. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  165. package/lib/components/VSparkline/VSparkline.mjs +1 -1
  166. package/lib/components/VSparkline/VTrendline.mjs +1 -2
  167. package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
  168. package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
  169. package/lib/components/VStepper/VStepper.mjs +3 -3
  170. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  171. package/lib/components/VStepper/VStepperItem.mjs +1 -1
  172. package/lib/components/VStepper/VStepperWindow.mjs +1 -1
  173. package/lib/components/VStepper/VStepperWindowItem.mjs +1 -1
  174. package/lib/components/VStepper/index.d.mts +1 -1
  175. package/lib/components/VSwitch/VSwitch.mjs +1 -1
  176. package/lib/components/VSwitch/index.d.mts +1 -1
  177. package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
  178. package/lib/components/VTabs/VTab.mjs +1 -1
  179. package/lib/components/VTabs/VTabs.mjs +1 -1
  180. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  181. package/lib/components/VTabs/VTabsWindow.mjs +1 -1
  182. package/lib/components/VTabs/VTabsWindowItem.mjs +1 -1
  183. package/lib/components/VTabs/index.d.mts +21 -21
  184. package/lib/components/VTextField/VTextField.mjs +1 -1
  185. package/lib/components/VTextField/index.d.mts +7 -7
  186. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  187. package/lib/components/VTextarea/index.d.mts +4 -4
  188. package/lib/components/VTimeline/VTimeline.mjs +3 -3
  189. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  190. package/lib/components/VTimeline/VTimelineDivider.mjs +1 -1
  191. package/lib/components/VTimeline/VTimelineItem.mjs +1 -1
  192. package/lib/components/VTimeline/index.d.mts +1 -1
  193. package/lib/components/VToolbar/VToolbar.mjs +1 -1
  194. package/lib/components/VTooltip/VTooltip.mjs +1 -1
  195. package/lib/components/VTooltip/index.d.mts +3 -3
  196. package/lib/components/VValidation/index.d.mts +1 -1
  197. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  198. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
  199. package/lib/components/VVirtualScroll/index.d.mts +1 -1
  200. package/lib/components/VWindow/VWindow.mjs +1 -1
  201. package/lib/components/VWindow/VWindowItem.mjs +1 -1
  202. package/lib/components/VWindow/index.d.mts +1 -1
  203. package/lib/components/index.d.mts +127 -106
  204. package/lib/components/transitions/dialog-transition.mjs +1 -2
  205. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  206. package/lib/composables/calendar.mjs +4 -1
  207. package/lib/composables/calendar.mjs.map +1 -1
  208. package/lib/composables/date/adapters/vuetify.mjs +9 -21
  209. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  210. package/lib/composables/density.mjs +1 -1
  211. package/lib/composables/density.mjs.map +1 -1
  212. package/lib/composables/icons.mjs +1 -1
  213. package/lib/composables/list-items.mjs +2 -3
  214. package/lib/composables/list-items.mjs.map +1 -1
  215. package/lib/composables/nested/nested.mjs +16 -1
  216. package/lib/composables/nested/nested.mjs.map +1 -1
  217. package/lib/composables/variant.mjs +1 -1
  218. package/lib/entry-bundler.mjs +1 -1
  219. package/lib/framework.mjs +1 -1
  220. package/lib/iconsets/fa-svg.d.mts +1 -1
  221. package/lib/iconsets/fa.d.mts +1 -1
  222. package/lib/iconsets/fa4.d.mts +1 -1
  223. package/lib/iconsets/md.d.mts +1 -1
  224. package/lib/iconsets/mdi-svg.d.mts +1 -1
  225. package/lib/iconsets/mdi.d.mts +1 -1
  226. package/lib/index.d.mts +47 -47
  227. package/lib/labs/VCalendar/VCalendar.mjs +1 -1
  228. package/lib/labs/VCalendar/VCalendarDay.mjs +1 -1
  229. package/lib/labs/VCalendar/index.d.mts +8 -2
  230. package/lib/labs/VDateInput/VDateInput.mjs +4 -3
  231. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  232. package/lib/labs/VDateInput/index.d.mts +256 -3
  233. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -3
  234. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  235. package/lib/labs/VFileUpload/VFileUploadItem.mjs +1 -1
  236. package/lib/labs/VFileUpload/index.d.mts +5 -5
  237. package/lib/labs/VNumberInput/VNumberInput.css +10 -2
  238. package/lib/labs/VNumberInput/VNumberInput.mjs +94 -36
  239. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  240. package/lib/labs/VNumberInput/VNumberInput.sass +12 -2
  241. package/lib/labs/VNumberInput/index.d.mts +59 -32
  242. package/lib/labs/VPicker/VPicker.mjs +1 -1
  243. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +1 -1
  244. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  245. package/lib/labs/VStepperVertical/VStepperVertical.mjs +1 -1
  246. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +1 -1
  247. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -1
  248. package/lib/labs/VStepperVertical/index.d.mts +1 -1
  249. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  250. package/lib/labs/VTimePicker/VTimePickerControls.mjs +1 -1
  251. package/lib/labs/VTimePicker/VTimePickerControls.sass +16 -16
  252. package/lib/labs/VTimePicker/_variables.scss +12 -12
  253. package/lib/labs/VTreeview/VTreeview.mjs +7 -3
  254. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  255. package/lib/labs/VTreeview/VTreeviewChildren.mjs +6 -9
  256. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  257. package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
  258. package/lib/labs/VTreeview/VTreeviewItem.css +15 -9
  259. package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -14
  260. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  261. package/lib/labs/VTreeview/VTreeviewItem.sass +16 -10
  262. package/lib/labs/VTreeview/_variables.scss +2 -5
  263. package/lib/labs/VTreeview/index.d.mts +14 -20
  264. package/lib/labs/components.d.mts +365 -122
  265. package/lib/locale/adapters/vue-i18n.mjs +0 -1
  266. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  267. package/lib/locale/ja.mjs +19 -19
  268. package/lib/locale/ja.mjs.map +1 -1
  269. package/lib/styles/tools/_functions.sass +1 -1
  270. package/lib/util/helpers.mjs +3 -9
  271. package/lib/util/helpers.mjs.map +1 -1
  272. package/package.json +17 -16
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, Ref } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, ComputedRef, Ref } from 'vue';
3
3
 
4
4
  type ClassValue = any;
5
5
 
@@ -33,6 +33,17 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
33
33
  type EventProp<T extends any[] = any[], F = (...args: T) => void> = F;
34
34
  declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T>>;
35
35
 
36
+ type VCounterSlot = {
37
+ counter: string;
38
+ max: string | number | undefined;
39
+ value: string | number | undefined;
40
+ };
41
+
42
+ interface LoaderSlotProps {
43
+ color: string | undefined;
44
+ isActive: boolean;
45
+ }
46
+
36
47
  type Density = null | 'default' | 'comfortable' | 'compact';
37
48
 
38
49
  type ValidationResult = string | boolean;
@@ -61,6 +72,32 @@ type JSXComponent<Props = any> = {
61
72
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
62
73
  declare const IconValue: PropType<IconValue>;
63
74
 
75
+ type VMessageSlot = {
76
+ message: string;
77
+ };
78
+
79
+ interface VInputSlot {
80
+ id: ComputedRef<string>;
81
+ messagesId: ComputedRef<string>;
82
+ isDirty: ComputedRef<boolean>;
83
+ isDisabled: ComputedRef<boolean>;
84
+ isReadonly: ComputedRef<boolean>;
85
+ isPristine: Ref<boolean>;
86
+ isValid: ComputedRef<boolean | null>;
87
+ isValidating: Ref<boolean>;
88
+ reset: () => void;
89
+ resetValidation: () => void;
90
+ validate: () => void;
91
+ }
92
+
93
+ interface DefaultInputSlot {
94
+ isActive: Ref<boolean>;
95
+ isFocused: Ref<boolean>;
96
+ controlRef: Ref<HTMLElement | undefined>;
97
+ focus: () => void;
98
+ blur: () => void;
99
+ }
100
+
64
101
  interface LocationStrategyData {
65
102
  contentEl: Ref<HTMLElement | undefined>;
66
103
  target: Ref<HTMLElement | [x: number, y: number] | undefined>;
@@ -202,14 +239,59 @@ declare const VDateInput: {
202
239
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
203
240
  } & {
204
241
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
242
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
243
+ clear?: ((arg: DefaultInputSlot & {
244
+ props: Record<string, any>;
245
+ }) => vue.VNodeChild) | undefined;
246
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
247
+ label?: ((arg: DefaultInputSlot & {
248
+ label: string | undefined;
249
+ props: Record<string, any>;
250
+ }) => vue.VNodeChild) | undefined;
251
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
252
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
253
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
254
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
255
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
256
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
205
257
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
206
258
  default?: (() => vue.VNodeChild) | undefined;
207
259
  };
208
260
  'v-slots'?: {
261
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
262
+ clear?: false | ((arg: DefaultInputSlot & {
263
+ props: Record<string, any>;
264
+ }) => vue.VNodeChild) | undefined;
265
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
266
+ label?: false | ((arg: DefaultInputSlot & {
267
+ label: string | undefined;
268
+ props: Record<string, any>;
269
+ }) => vue.VNodeChild) | undefined;
270
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
271
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
272
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
273
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
274
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
275
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
209
276
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
210
277
  default?: false | (() => vue.VNodeChild) | undefined;
211
278
  } | undefined;
212
279
  } & {
280
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
281
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
282
+ props: Record<string, any>;
283
+ }) => vue.VNodeChild) | undefined;
284
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
285
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
286
+ label: string | undefined;
287
+ props: Record<string, any>;
288
+ }) => vue.VNodeChild) | undefined;
289
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
290
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
291
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
292
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
293
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
294
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
213
295
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
214
296
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
215
297
  } & {
@@ -317,14 +399,59 @@ declare const VDateInput: {
317
399
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
318
400
  } & {
319
401
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
402
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
403
+ clear?: ((arg: DefaultInputSlot & {
404
+ props: Record<string, any>;
405
+ }) => vue.VNodeChild) | undefined;
406
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
407
+ label?: ((arg: DefaultInputSlot & {
408
+ label: string | undefined;
409
+ props: Record<string, any>;
410
+ }) => vue.VNodeChild) | undefined;
411
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
412
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
413
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
414
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
415
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
416
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
320
417
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
321
418
  default?: (() => vue.VNodeChild) | undefined;
322
419
  };
323
420
  'v-slots'?: {
421
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
422
+ clear?: false | ((arg: DefaultInputSlot & {
423
+ props: Record<string, any>;
424
+ }) => vue.VNodeChild) | undefined;
425
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
426
+ label?: false | ((arg: DefaultInputSlot & {
427
+ label: string | undefined;
428
+ props: Record<string, any>;
429
+ }) => vue.VNodeChild) | undefined;
430
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
431
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
432
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
433
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
434
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
435
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
324
436
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
325
437
  default?: false | (() => vue.VNodeChild) | undefined;
326
438
  } | undefined;
327
439
  } & {
440
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
441
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
442
+ props: Record<string, any>;
443
+ }) => vue.VNodeChild) | undefined;
444
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
445
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
446
+ label: string | undefined;
447
+ props: Record<string, any>;
448
+ }) => vue.VNodeChild) | undefined;
449
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
450
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
451
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
452
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
453
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
454
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
328
455
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
329
456
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
330
457
  } & {
@@ -382,6 +509,21 @@ declare const VDateInput: {
382
509
  hideHeader: boolean;
383
510
  hideActions: boolean;
384
511
  }, true, {}, vue.SlotsType<Partial<{
512
+ message: (arg: VMessageSlot) => vue.VNode[];
513
+ clear: (arg: DefaultInputSlot & {
514
+ props: Record<string, any>;
515
+ }) => vue.VNode[];
516
+ details: (arg: VInputSlot) => vue.VNode[];
517
+ label: (arg: DefaultInputSlot & {
518
+ label: string | undefined;
519
+ props: Record<string, any>;
520
+ }) => vue.VNode[];
521
+ append: (arg: VInputSlot) => vue.VNode[];
522
+ prepend: (arg: VInputSlot) => vue.VNode[];
523
+ loader: (arg: LoaderSlotProps) => vue.VNode[];
524
+ counter: (arg: VCounterSlot) => vue.VNode[];
525
+ 'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[];
526
+ 'append-inner': (arg: DefaultInputSlot) => vue.VNode[];
385
527
  actions: (arg: VDateInputActionsSlot) => vue.VNode[];
386
528
  default: () => vue.VNode[];
387
529
  }>>, {
@@ -492,14 +634,59 @@ declare const VDateInput: {
492
634
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
493
635
  } & {
494
636
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
637
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
638
+ clear?: ((arg: DefaultInputSlot & {
639
+ props: Record<string, any>;
640
+ }) => vue.VNodeChild) | undefined;
641
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
642
+ label?: ((arg: DefaultInputSlot & {
643
+ label: string | undefined;
644
+ props: Record<string, any>;
645
+ }) => vue.VNodeChild) | undefined;
646
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
647
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
648
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
649
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
650
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
651
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
495
652
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
496
653
  default?: (() => vue.VNodeChild) | undefined;
497
654
  };
498
655
  'v-slots'?: {
656
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
657
+ clear?: false | ((arg: DefaultInputSlot & {
658
+ props: Record<string, any>;
659
+ }) => vue.VNodeChild) | undefined;
660
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
661
+ label?: false | ((arg: DefaultInputSlot & {
662
+ label: string | undefined;
663
+ props: Record<string, any>;
664
+ }) => vue.VNodeChild) | undefined;
665
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
666
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
667
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
668
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
669
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
670
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
499
671
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
500
672
  default?: false | (() => vue.VNodeChild) | undefined;
501
673
  } | undefined;
502
674
  } & {
675
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
676
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
677
+ props: Record<string, any>;
678
+ }) => vue.VNodeChild) | undefined;
679
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
680
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
681
+ label: string | undefined;
682
+ props: Record<string, any>;
683
+ }) => vue.VNodeChild) | undefined;
684
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
685
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
686
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
687
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
688
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
689
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
503
690
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
504
691
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
505
692
  } & {
@@ -661,14 +848,59 @@ declare const VDateInput: {
661
848
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
662
849
  } & {
663
850
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
851
+ message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
852
+ clear?: ((arg: DefaultInputSlot & {
853
+ props: Record<string, any>;
854
+ }) => vue.VNodeChild) | undefined;
855
+ details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
856
+ label?: ((arg: DefaultInputSlot & {
857
+ label: string | undefined;
858
+ props: Record<string, any>;
859
+ }) => vue.VNodeChild) | undefined;
860
+ append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
861
+ prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
862
+ loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
863
+ counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
864
+ 'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
865
+ 'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
664
866
  actions?: ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
665
867
  default?: (() => vue.VNodeChild) | undefined;
666
868
  };
667
869
  'v-slots'?: {
870
+ message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
871
+ clear?: false | ((arg: DefaultInputSlot & {
872
+ props: Record<string, any>;
873
+ }) => vue.VNodeChild) | undefined;
874
+ details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
875
+ label?: false | ((arg: DefaultInputSlot & {
876
+ label: string | undefined;
877
+ props: Record<string, any>;
878
+ }) => vue.VNodeChild) | undefined;
879
+ append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
880
+ prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
881
+ loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
882
+ counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
883
+ 'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
884
+ 'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
668
885
  actions?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
669
886
  default?: false | (() => vue.VNodeChild) | undefined;
670
887
  } | undefined;
671
888
  } & {
889
+ "v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
890
+ "v-slot:clear"?: false | ((arg: DefaultInputSlot & {
891
+ props: Record<string, any>;
892
+ }) => vue.VNodeChild) | undefined;
893
+ "v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
894
+ "v-slot:label"?: false | ((arg: DefaultInputSlot & {
895
+ label: string | undefined;
896
+ props: Record<string, any>;
897
+ }) => vue.VNodeChild) | undefined;
898
+ "v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
899
+ "v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
900
+ "v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
901
+ "v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
902
+ "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
903
+ "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
672
904
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
673
905
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
674
906
  } & {
@@ -728,6 +960,21 @@ declare const VDateInput: {
728
960
  hideHeader: boolean;
729
961
  hideActions: boolean;
730
962
  }, {}, string, vue.SlotsType<Partial<{
963
+ message: (arg: VMessageSlot) => vue.VNode[];
964
+ clear: (arg: DefaultInputSlot & {
965
+ props: Record<string, any>;
966
+ }) => vue.VNode[];
967
+ details: (arg: VInputSlot) => vue.VNode[];
968
+ label: (arg: DefaultInputSlot & {
969
+ label: string | undefined;
970
+ props: Record<string, any>;
971
+ }) => vue.VNode[];
972
+ append: (arg: VInputSlot) => vue.VNode[];
973
+ prepend: (arg: VInputSlot) => vue.VNode[];
974
+ loader: (arg: LoaderSlotProps) => vue.VNode[];
975
+ counter: (arg: VCounterSlot) => vue.VNode[];
976
+ 'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[];
977
+ 'append-inner': (arg: DefaultInputSlot) => vue.VNode[];
731
978
  actions: (arg: VDateInputActionsSlot) => vue.VNode[];
732
979
  default: () => vue.VNode[];
733
980
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
@@ -762,7 +1009,10 @@ declare const VDateInput: {
762
1009
  default: string;
763
1010
  };
764
1011
  text: StringConstructor;
765
- disabled: BooleanConstructor;
1012
+ disabled: {
1013
+ type: BooleanConstructor;
1014
+ default: null;
1015
+ };
766
1016
  multiple: PropType<boolean | "range" | number | (string & {})>;
767
1017
  month: (StringConstructor | NumberConstructor)[];
768
1018
  year: NumberConstructor;
@@ -980,7 +1230,10 @@ declare const VDateInput: {
980
1230
  default: string;
981
1231
  };
982
1232
  text: StringConstructor;
983
- disabled: BooleanConstructor;
1233
+ disabled: {
1234
+ type: BooleanConstructor;
1235
+ default: null;
1236
+ };
984
1237
  multiple: PropType<boolean | "range" | number | (string & {})>;
985
1238
  month: (StringConstructor | NumberConstructor)[];
986
1239
  year: NumberConstructor;
@@ -1,4 +1,4 @@
1
- import { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VFileUpload.css";
4
4
 
@@ -16,7 +16,7 @@ import { IconValue } from "../../composables/icons.mjs";
16
16
  import { useLocale } from "../../composables/locale.mjs";
17
17
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
18
18
  import { onMounted, onUnmounted, ref, shallowRef } from 'vue';
19
- import { filterInputAttrs, genericComponent, only, propsFactory, useRender, wrapInArray } from "../../util/index.mjs"; // Types
19
+ import { filterInputAttrs, genericComponent, pick, propsFactory, useRender, wrapInArray } from "../../util/index.mjs"; // Types
20
20
  export const makeVFileUploadProps = propsFactory({
21
21
  browseText: {
22
22
  type: String,
@@ -54,7 +54,7 @@ export const makeVFileUploadProps = propsFactory({
54
54
  name: String,
55
55
  ...makeDelayProps(),
56
56
  ...makeDensityProps(),
57
- ...only(makeVDividerProps({
57
+ ...pick(makeVDividerProps({
58
58
  length: 150
59
59
  }), ['length', 'thickness', 'opacity']),
60
60
  ...makeVSheetProps()
@@ -1 +1 @@
1
- {"version":3,"file":"VFileUpload.mjs","names":["VFileUploadItem","VBtn","VDefaultsProvider","makeVDividerProps","VDivider","VIcon","VOverlay","makeVSheetProps","VSheet","makeDelayProps","makeDensityProps","useDensity","IconValue","useLocale","useProxiedModel","onMounted","onUnmounted","ref","shallowRef","filterInputAttrs","genericComponent","only","propsFactory","useRender","wrapInArray","makeVFileUploadProps","browseText","type","String","default","dividerText","title","subtitle","icon","modelValue","Array","Object","validator","val","every","v","clearable","Boolean","disabled","hideBrowse","multiple","scrim","showSize","name","length","VFileUpload","inheritAttrs","props","emits","files","setup","_ref","attrs","slots","t","densityClasses","model","isArray","dragOver","vSheetRef","inputRef","value","$el","addEventListener","onDragOver","onDrop","removeEventListener","e","preventDefault","stopImmediatePropagation","onDragLeave","from","dataTransfer","array","slice","file","some","f","push","onClick","click","onClickRemove","index","filter","_","i","hasTitle","hasIcon","hasBrowse","browse","density","cardProps","filterProps","dividerProps","rootAttrs","inputAttrs","inputNode","_createVNode","_mergeProps","target","_Fragment","undefined","divider","readonly","size","text","variant","input","map","slotProps","onClick:remove","item"],"sources":["../../../src/labs/VFileUpload/VFileUpload.tsx"],"sourcesContent":["// Styles\nimport './VFileUpload.sass'\n\n// Components\nimport { VFileUploadItem } from './VFileUploadItem'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVDividerProps, VDivider } from '@/components/VDivider/VDivider'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { makeDelayProps } from '@/composables/delay'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, onUnmounted, ref, shallowRef } from 'vue'\nimport { filterInputAttrs, genericComponent, only, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\nexport type VFileUploadSlots = {\n browse: {\n props: { onClick: (e: MouseEvent) => void }\n }\n default: never\n icon: never\n input: {\n inputNode: VNode\n }\n item: {\n file: File\n props: { 'onClick:remove': () => void }\n }\n title: never\n divider: never\n}\n\nexport const makeVFileUploadProps = propsFactory({\n browseText: {\n type: String,\n default: '$vuetify.fileUpload.browse',\n },\n dividerText: {\n type: String,\n default: '$vuetify.fileUpload.divider',\n },\n title: {\n type: String,\n default: '$vuetify.fileUpload.title',\n },\n subtitle: String,\n icon: {\n type: IconValue,\n default: '$upload',\n },\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n clearable: Boolean,\n disabled: Boolean,\n hideBrowse: Boolean,\n multiple: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n showSize: Boolean,\n name: String,\n\n ...makeDelayProps(),\n ...makeDensityProps(),\n ...only(makeVDividerProps({\n length: 150,\n }), ['length', 'thickness', 'opacity']),\n ...makeVSheetProps(),\n}, 'VFileUpload')\n\nexport const VFileUpload = genericComponent<VFileUploadSlots>()({\n name: 'VFileUpload',\n\n inheritAttrs: false,\n\n props: makeVFileUploadProps(),\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const { densityClasses } = useDensity(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n\n const dragOver = shallowRef(false)\n const vSheetRef = ref<InstanceType<typeof VSheet> | null>(null)\n const inputRef = ref<HTMLInputElement | null>(null)\n\n onMounted(() => {\n vSheetRef.value?.$el.addEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.addEventListener('drop', onDrop)\n })\n\n onUnmounted(() => {\n vSheetRef.value?.$el.removeEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.removeEventListener('drop', onDrop)\n })\n\n function onDragOver (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = true\n }\n\n function onDragLeave (e: DragEvent) {\n e.preventDefault()\n dragOver.value = false\n }\n\n function onDrop (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = false\n\n const files = Array.from(e.dataTransfer?.files ?? [])\n\n if (!files.length) return\n\n if (!props.multiple) {\n model.value = [files[0]]\n\n return\n }\n\n const array = model.value.slice()\n\n for (const file of files) {\n if (!array.some(f => f.name === file.name)) {\n array.push(file)\n }\n }\n\n model.value = array\n }\n\n function onClick () {\n inputRef.value?.click()\n }\n\n function onClickRemove (index: number) {\n model.value = model.value.filter((_, i) => i !== index)\n\n if (model.value.length > 0 || !inputRef.value) return\n\n inputRef.value.value = ''\n }\n\n useRender(() => {\n const hasTitle = !!(slots.title || props.title)\n const hasIcon = !!(slots.icon || props.icon)\n const hasBrowse = !!(!props.hideBrowse && (slots.browse || props.density === 'default'))\n const cardProps = VSheet.filterProps(props)\n const dividerProps = VDivider.filterProps(props)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n const inputNode = (\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n name={ props.name }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n <VSheet\n ref={ vSheetRef }\n { ...cardProps }\n class={[\n 'v-file-upload',\n {\n 'v-file-upload--clickable': !hasBrowse,\n 'v-file-upload--disabled': props.disabled,\n 'v-file-upload--dragging': dragOver.value,\n },\n densityClasses.value,\n ]}\n onDragleave={ onDragLeave }\n onDragover={ onDragOver }\n onDrop={ onDrop }\n onClick={ !hasBrowse ? onClick : undefined }\n { ...rootAttrs }\n >\n { hasIcon && (\n <div key=\"icon\" class=\"v-file-upload-icon\">\n { !slots.icon ? (\n <VIcon\n key=\"icon-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.icon() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-file-upload-title\">\n { slots.title?.() ?? t(props.title) }\n </div>\n )}\n\n { props.density === 'default' && (\n <>\n <div key=\"upload-divider\" class=\"v-file-upload-divider\">\n { slots.divider?.() ?? (\n <VDivider { ...dividerProps }>\n { t(props.dividerText) }\n </VDivider>\n )}\n </div>\n\n { hasBrowse && (\n <>\n { !slots.browse ? (\n <VBtn\n readonly={ props.disabled }\n size=\"large\"\n text={ t(props.browseText) }\n variant=\"tonal\"\n onClick={ onClick }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n readonly: props.disabled,\n size: 'large',\n text: t(props.browseText),\n variant: 'tonal',\n },\n }}\n >\n { slots.browse({ props: { onClick } }) }\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { props.subtitle && (\n <div class=\"v-file-upload-subtitle\">\n { props.subtitle }\n </div>\n )}\n </>\n )}\n\n <VOverlay\n model-value={ dragOver.value }\n contained\n scrim={ props.scrim }\n />\n\n { slots.input?.({ inputNode }) ?? inputNode }\n </VSheet>\n\n { model.value.length > 0 && (\n <div class=\"v-file-upload-items\">\n { model.value.map((file, i) => {\n const slotProps = {\n file,\n props: {\n 'onClick:remove': () => onClickRemove(i),\n },\n }\n\n return (\n <VDefaultsProvider\n key={ i }\n defaults={{\n VFileUploadItem: {\n file,\n clearable: props.clearable,\n disabled: props.disabled,\n showSize: props.showSize,\n },\n }}\n >\n { slots.item?.(slotProps) ?? (\n <VFileUploadItem\n key={ i }\n onClick:remove={ () => onClickRemove(i) }\n v-slots={ slots }\n />\n )}\n </VDefaultsProvider>\n )\n })}\n </div>\n )}\n </>\n )\n })\n },\n})\n\nexport type VFileUpload = InstanceType<typeof VFileUpload>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFileUpload.mjs","names":["VFileUploadItem","VBtn","VDefaultsProvider","makeVDividerProps","VDivider","VIcon","VOverlay","makeVSheetProps","VSheet","makeDelayProps","makeDensityProps","useDensity","IconValue","useLocale","useProxiedModel","onMounted","onUnmounted","ref","shallowRef","filterInputAttrs","genericComponent","pick","propsFactory","useRender","wrapInArray","makeVFileUploadProps","browseText","type","String","default","dividerText","title","subtitle","icon","modelValue","Array","Object","validator","val","every","v","clearable","Boolean","disabled","hideBrowse","multiple","scrim","showSize","name","length","VFileUpload","inheritAttrs","props","emits","files","setup","_ref","attrs","slots","t","densityClasses","model","isArray","dragOver","vSheetRef","inputRef","value","$el","addEventListener","onDragOver","onDrop","removeEventListener","e","preventDefault","stopImmediatePropagation","onDragLeave","from","dataTransfer","array","slice","file","some","f","push","onClick","click","onClickRemove","index","filter","_","i","hasTitle","hasIcon","hasBrowse","browse","density","cardProps","filterProps","dividerProps","rootAttrs","inputAttrs","inputNode","_createVNode","_mergeProps","target","_Fragment","undefined","divider","readonly","size","text","variant","input","map","slotProps","onClick:remove","item"],"sources":["../../../src/labs/VFileUpload/VFileUpload.tsx"],"sourcesContent":["// Styles\nimport './VFileUpload.sass'\n\n// Components\nimport { VFileUploadItem } from './VFileUploadItem'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVDividerProps, VDivider } from '@/components/VDivider/VDivider'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { makeDelayProps } from '@/composables/delay'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { onMounted, onUnmounted, ref, shallowRef } from 'vue'\nimport { filterInputAttrs, genericComponent, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\nexport type VFileUploadSlots = {\n browse: {\n props: { onClick: (e: MouseEvent) => void }\n }\n default: never\n icon: never\n input: {\n inputNode: VNode\n }\n item: {\n file: File\n props: { 'onClick:remove': () => void }\n }\n title: never\n divider: never\n}\n\nexport const makeVFileUploadProps = propsFactory({\n browseText: {\n type: String,\n default: '$vuetify.fileUpload.browse',\n },\n dividerText: {\n type: String,\n default: '$vuetify.fileUpload.divider',\n },\n title: {\n type: String,\n default: '$vuetify.fileUpload.title',\n },\n subtitle: String,\n icon: {\n type: IconValue,\n default: '$upload',\n },\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n clearable: Boolean,\n disabled: Boolean,\n hideBrowse: Boolean,\n multiple: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n showSize: Boolean,\n name: String,\n\n ...makeDelayProps(),\n ...makeDensityProps(),\n ...pick(makeVDividerProps({\n length: 150,\n }), ['length', 'thickness', 'opacity']),\n ...makeVSheetProps(),\n}, 'VFileUpload')\n\nexport const VFileUpload = genericComponent<VFileUploadSlots>()({\n name: 'VFileUpload',\n\n inheritAttrs: false,\n\n props: makeVFileUploadProps(),\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const { densityClasses } = useDensity(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n\n const dragOver = shallowRef(false)\n const vSheetRef = ref<InstanceType<typeof VSheet> | null>(null)\n const inputRef = ref<HTMLInputElement | null>(null)\n\n onMounted(() => {\n vSheetRef.value?.$el.addEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.addEventListener('drop', onDrop)\n })\n\n onUnmounted(() => {\n vSheetRef.value?.$el.removeEventListener('dragover', onDragOver)\n vSheetRef.value?.$el.removeEventListener('drop', onDrop)\n })\n\n function onDragOver (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = true\n }\n\n function onDragLeave (e: DragEvent) {\n e.preventDefault()\n dragOver.value = false\n }\n\n function onDrop (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n dragOver.value = false\n\n const files = Array.from(e.dataTransfer?.files ?? [])\n\n if (!files.length) return\n\n if (!props.multiple) {\n model.value = [files[0]]\n\n return\n }\n\n const array = model.value.slice()\n\n for (const file of files) {\n if (!array.some(f => f.name === file.name)) {\n array.push(file)\n }\n }\n\n model.value = array\n }\n\n function onClick () {\n inputRef.value?.click()\n }\n\n function onClickRemove (index: number) {\n model.value = model.value.filter((_, i) => i !== index)\n\n if (model.value.length > 0 || !inputRef.value) return\n\n inputRef.value.value = ''\n }\n\n useRender(() => {\n const hasTitle = !!(slots.title || props.title)\n const hasIcon = !!(slots.icon || props.icon)\n const hasBrowse = !!(!props.hideBrowse && (slots.browse || props.density === 'default'))\n const cardProps = VSheet.filterProps(props)\n const dividerProps = VDivider.filterProps(props)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n const inputNode = (\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n name={ props.name }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n <VSheet\n ref={ vSheetRef }\n { ...cardProps }\n class={[\n 'v-file-upload',\n {\n 'v-file-upload--clickable': !hasBrowse,\n 'v-file-upload--disabled': props.disabled,\n 'v-file-upload--dragging': dragOver.value,\n },\n densityClasses.value,\n ]}\n onDragleave={ onDragLeave }\n onDragover={ onDragOver }\n onDrop={ onDrop }\n onClick={ !hasBrowse ? onClick : undefined }\n { ...rootAttrs }\n >\n { hasIcon && (\n <div key=\"icon\" class=\"v-file-upload-icon\">\n { !slots.icon ? (\n <VIcon\n key=\"icon-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.icon() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-file-upload-title\">\n { slots.title?.() ?? t(props.title) }\n </div>\n )}\n\n { props.density === 'default' && (\n <>\n <div key=\"upload-divider\" class=\"v-file-upload-divider\">\n { slots.divider?.() ?? (\n <VDivider { ...dividerProps }>\n { t(props.dividerText) }\n </VDivider>\n )}\n </div>\n\n { hasBrowse && (\n <>\n { !slots.browse ? (\n <VBtn\n readonly={ props.disabled }\n size=\"large\"\n text={ t(props.browseText) }\n variant=\"tonal\"\n onClick={ onClick }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n readonly: props.disabled,\n size: 'large',\n text: t(props.browseText),\n variant: 'tonal',\n },\n }}\n >\n { slots.browse({ props: { onClick } }) }\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { props.subtitle && (\n <div class=\"v-file-upload-subtitle\">\n { props.subtitle }\n </div>\n )}\n </>\n )}\n\n <VOverlay\n model-value={ dragOver.value }\n contained\n scrim={ props.scrim }\n />\n\n { slots.input?.({ inputNode }) ?? inputNode }\n </VSheet>\n\n { model.value.length > 0 && (\n <div class=\"v-file-upload-items\">\n { model.value.map((file, i) => {\n const slotProps = {\n file,\n props: {\n 'onClick:remove': () => onClickRemove(i),\n },\n }\n\n return (\n <VDefaultsProvider\n key={ i }\n defaults={{\n VFileUploadItem: {\n file,\n clearable: props.clearable,\n disabled: props.disabled,\n showSize: props.showSize,\n },\n }}\n >\n { slots.item?.(slotProps) ?? (\n <VFileUploadItem\n key={ i }\n onClick:remove={ () => onClickRemove(i) }\n v-slots={ slots }\n />\n )}\n </VDefaultsProvider>\n )\n })}\n </div>\n )}\n </>\n )\n })\n },\n})\n\nexport type VFileUpload = InstanceType<typeof VFileUpload>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
1
+ import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Components
3
3
  import { VAvatar } from "../../components/VAvatar/VAvatar.mjs";
4
4
  import { VBtn } from "../../components/VBtn/VBtn.mjs";
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, VNode, DirectiveBinding } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, ComponentPublicInstance, FunctionalComponent, PropType, VNode, DirectiveBinding } from 'vue';
3
3
  // @ts-ignore
4
4
  import * as vue_router from 'vue-router';
5
5
 
@@ -754,7 +754,7 @@ declare const VFileUploadItem: {
754
754
  title?: string | number | undefined;
755
755
  class?: any;
756
756
  theme?: string | undefined;
757
- to?: vue_router.RouteLocationRaw | undefined;
757
+ to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
758
758
  onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
759
759
  onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
760
760
  href?: string | undefined;
@@ -844,7 +844,7 @@ declare const VFileUploadItem: {
844
844
  title?: string | number | undefined;
845
845
  class?: any;
846
846
  theme?: string | undefined;
847
- to?: vue_router.RouteLocationRaw | undefined;
847
+ to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
848
848
  onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
849
849
  onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
850
850
  href?: string | undefined;
@@ -972,7 +972,7 @@ declare const VFileUploadItem: {
972
972
  title?: string | number | undefined;
973
973
  class?: any;
974
974
  theme?: string | undefined;
975
- to?: vue_router.RouteLocationRaw | undefined;
975
+ to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
976
976
  onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
977
977
  onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
978
978
  href?: string | undefined;
@@ -1086,7 +1086,7 @@ declare const VFileUploadItem: {
1086
1086
  title?: string | number | undefined;
1087
1087
  class?: any;
1088
1088
  theme?: string | undefined;
1089
- to?: vue_router.RouteLocationRaw | undefined;
1089
+ to?: string | vue_router.RouteLocationAsRelativeGeneric | vue_router.RouteLocationAsPathGeneric | undefined;
1090
1090
  onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
1091
1091
  onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
1092
1092
  href?: string | undefined;
@@ -4,10 +4,18 @@
4
4
  .v-number-input input[type=number]::-webkit-outer-spin-button, .v-number-input input[type=number]::-webkit-inner-spin-button {
5
5
  -webkit-appearance: none;
6
6
  }
7
- .v-number-input .v-field {
8
- padding-inline-end: 0;
7
+ .v-number-input .v-field:not(:has(.v-field__prepend-inner > .v-icon)) {
9
8
  padding-inline-start: 0;
10
9
  }
10
+ .v-number-input .v-field:not(:has(.v-field__append-inner > .v-icon)) {
11
+ padding-inline-end: 0;
12
+ }
13
+ .v-number-input .v-field__prepend-inner:has(.v-number-input__control) > .v-icon {
14
+ margin-inline-end: 12px;
15
+ }
16
+ .v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon {
17
+ margin-inline-start: 12px;
18
+ }
11
19
  .v-number-input--inset .v-divider {
12
20
  height: 55%;
13
21
  width: 55%;