vuetify 3.1.12 → 3.1.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 (490) hide show
  1. package/dist/_component-variables-labs.sass +2 -1
  2. package/dist/json/attributes.json +4138 -3902
  3. package/dist/json/importMap-labs.json +8 -4
  4. package/dist/json/importMap.json +154 -154
  5. package/dist/json/tags.json +608 -544
  6. package/dist/json/web-types.json +14730 -14109
  7. package/dist/vuetify-labs.css +479 -236
  8. package/dist/vuetify-labs.d.ts +2356 -1425
  9. package/dist/vuetify-labs.esm.js +716 -505
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +716 -507
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +156 -133
  14. package/dist/vuetify.d.ts +1772 -1110
  15. package/dist/vuetify.esm.js +556 -480
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +556 -482
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +202 -186
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  23. package/lib/components/VApp/VApp.mjs.map +1 -1
  24. package/lib/components/VApp/index.d.ts +2 -2
  25. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  26. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs +7 -5
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  30. package/lib/components/VAutocomplete/index.d.ts +77 -71
  31. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  32. package/lib/components/VBadge/VBadge.mjs +1 -1
  33. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  34. package/lib/components/VBadge/index.d.ts +13 -13
  35. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  36. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  37. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  38. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  39. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  40. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  41. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  42. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  43. package/lib/components/VBtn/index.d.ts +4 -4
  44. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  45. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  46. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  47. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  48. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  49. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  50. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  51. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  52. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  53. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  54. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  55. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  56. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  57. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  58. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  59. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  60. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  61. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  62. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  63. package/lib/components/VCard/VCard.mjs.map +1 -1
  64. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  65. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  66. package/lib/components/VCard/index.d.ts +1 -13
  67. package/lib/components/VCarousel/VCarousel.mjs +10 -10
  68. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  69. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  70. package/lib/components/VCarousel/index.d.ts +197 -19
  71. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  72. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  73. package/lib/components/VCheckbox/index.d.ts +14 -14
  74. package/lib/components/VChip/VChip.mjs +2 -2
  75. package/lib/components/VChip/VChip.mjs.map +1 -1
  76. package/lib/components/VChip/index.d.ts +14 -14
  77. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  78. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  79. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  81. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  82. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  84. package/lib/components/VColorPicker/index.d.ts +113 -50
  85. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  86. package/lib/components/VCombobox/VCombobox.mjs +8 -6
  87. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  88. package/lib/components/VCombobox/index.d.ts +77 -71
  89. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  90. package/lib/components/VCounter/index.d.ts +123 -24
  91. package/lib/components/VData/VData.mjs.map +1 -1
  92. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  93. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  94. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  95. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  97. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  98. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  99. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  100. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  101. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  102. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  103. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  104. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  105. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  106. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  107. package/lib/components/VDialog/index.d.ts +43 -43
  108. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  109. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  110. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  111. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  112. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  113. package/lib/components/VField/VField.mjs +3 -3
  114. package/lib/components/VField/VField.mjs.map +1 -1
  115. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  116. package/lib/components/VField/index.d.ts +20 -20
  117. package/lib/components/VFileInput/VFileInput.mjs +0 -1
  118. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  119. package/lib/components/VFileInput/index.d.ts +59 -65
  120. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  121. package/lib/components/VForm/VForm.mjs.map +1 -1
  122. package/lib/components/VGrid/VCol.mjs.map +1 -1
  123. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  124. package/lib/components/VGrid/VRow.mjs.map +1 -1
  125. package/lib/components/VHover/VHover.mjs.map +1 -1
  126. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  127. package/lib/components/VImg/VImg.mjs +3 -3
  128. package/lib/components/VImg/VImg.mjs.map +1 -1
  129. package/lib/components/VImg/index.d.ts +28 -28
  130. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  131. package/lib/components/VInput/VInput.mjs +2 -2
  132. package/lib/components/VInput/VInput.mjs.map +1 -1
  133. package/lib/components/VInput/index.d.ts +14 -14
  134. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  135. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  136. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  137. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  138. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  139. package/lib/components/VLayout/index.d.ts +2 -2
  140. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  141. package/lib/components/VLazy/index.d.ts +13 -13
  142. package/lib/components/VList/VList.mjs +2 -1
  143. package/lib/components/VList/VList.mjs.map +1 -1
  144. package/lib/components/VList/VListChildren.mjs.map +1 -1
  145. package/lib/components/VList/VListGroup.mjs +24 -13
  146. package/lib/components/VList/VListGroup.mjs.map +1 -1
  147. package/lib/components/VList/VListItem.css +12 -0
  148. package/lib/components/VList/VListItem.mjs +2 -2
  149. package/lib/components/VList/VListItem.mjs.map +1 -1
  150. package/lib/components/VList/VListItem.sass +5 -0
  151. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  152. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  153. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  154. package/lib/components/VList/index.d.ts +14 -14
  155. package/lib/components/VList/list.mjs.map +1 -1
  156. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  157. package/lib/components/VMain/VMain.mjs.map +1 -1
  158. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  159. package/lib/components/VMenu/index.d.ts +43 -43
  160. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  161. package/lib/components/VMessages/index.d.ts +123 -24
  162. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  163. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  164. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  165. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  166. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  167. package/lib/components/VNoSsr/index.d.ts +1 -13
  168. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  169. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  170. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  171. package/lib/components/VOverlay/index.d.ts +15 -15
  172. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  173. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  174. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  175. package/lib/components/VOverlay/useActivator.mjs +1 -0
  176. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  177. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  178. package/lib/components/VPagination/VPagination.mjs +2 -2
  179. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  180. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  181. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  182. package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
  183. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  184. package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
  185. package/lib/components/VProgressCircular/_variables.scss +1 -0
  186. package/lib/components/VProgressLinear/VProgressLinear.css +6 -3
  187. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  188. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
  189. package/lib/components/VProgressLinear/_variables.scss +1 -1
  190. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  191. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  192. package/lib/components/VRadioGroup/index.d.ts +14 -14
  193. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  194. package/lib/components/VRangeSlider/index.d.ts +14 -14
  195. package/lib/components/VRating/VRating.mjs.map +1 -1
  196. package/lib/components/VRating/index.d.ts +2 -2
  197. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  198. package/lib/components/VSelect/VSelect.mjs +31 -2
  199. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  200. package/lib/components/VSelect/index.d.ts +77 -71
  201. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  202. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  203. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  204. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  205. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  206. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  207. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  208. package/lib/components/VSlideGroup/index.d.ts +17 -17
  209. package/lib/components/VSlider/VSlider.mjs +1 -1
  210. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  211. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  212. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  213. package/lib/components/VSlider/index.d.ts +14 -14
  214. package/lib/components/VSlider/slider.mjs +1 -1
  215. package/lib/components/VSlider/slider.mjs.map +1 -1
  216. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  217. package/lib/components/VSnackbar/index.d.ts +43 -43
  218. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  219. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  220. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  221. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  222. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  223. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  224. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  225. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  226. package/lib/components/VSwitch/VSwitch.css +4 -0
  227. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  228. package/lib/components/VSwitch/VSwitch.sass +4 -0
  229. package/lib/components/VSwitch/index.d.ts +14 -14
  230. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  231. package/lib/components/VTable/VTable.css +1 -1
  232. package/lib/components/VTable/VTable.mjs.map +1 -1
  233. package/lib/components/VTable/VTable.sass +1 -1
  234. package/lib/components/VTabs/VTab.mjs.map +1 -1
  235. package/lib/components/VTabs/VTabs.mjs +25 -30
  236. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  237. package/lib/components/VTabs/index.d.ts +165 -28
  238. package/lib/components/VTextField/VTextField.mjs +3 -6
  239. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  240. package/lib/components/VTextField/index.d.ts +83 -77
  241. package/lib/components/VTextarea/VTextarea.mjs +9 -6
  242. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  243. package/lib/components/VTextarea/index.d.ts +56 -50
  244. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  245. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  246. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  247. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  248. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  249. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  250. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  251. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  252. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  253. package/lib/components/VTimeline/index.d.ts +8 -8
  254. package/lib/components/VToolbar/VToolbar.css +2 -0
  255. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  256. package/lib/components/VToolbar/VToolbar.sass +2 -0
  257. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  258. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  259. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  260. package/lib/components/VTooltip/index.d.ts +43 -43
  261. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  262. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  263. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  264. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  265. package/lib/components/VWindow/VWindow.mjs +38 -37
  266. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  267. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  268. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  269. package/lib/components/index.d.ts +1655 -993
  270. package/lib/components/transitions/createTransition.mjs +59 -50
  271. package/lib/components/transitions/createTransition.mjs.map +1 -1
  272. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  273. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  274. package/lib/components/transitions/index.d.ts +150 -15
  275. package/lib/composables/border.mjs.map +1 -1
  276. package/lib/composables/color.mjs.map +1 -1
  277. package/lib/composables/defaults.mjs +1 -1
  278. package/lib/composables/defaults.mjs.map +1 -1
  279. package/lib/composables/delay.mjs.map +1 -1
  280. package/lib/composables/density.mjs.map +1 -1
  281. package/lib/composables/dimensions.mjs.map +1 -1
  282. package/lib/composables/display.mjs.map +1 -1
  283. package/lib/composables/elevation.mjs.map +1 -1
  284. package/lib/composables/filter.mjs.map +1 -1
  285. package/lib/composables/focus.mjs.map +1 -1
  286. package/lib/composables/form.mjs.map +1 -1
  287. package/lib/composables/forwardRefs.mjs +17 -0
  288. package/lib/composables/forwardRefs.mjs.map +1 -1
  289. package/lib/composables/group.mjs.map +1 -1
  290. package/lib/composables/hydration.mjs.map +1 -1
  291. package/lib/composables/icons.mjs.map +1 -1
  292. package/lib/composables/intersectionObserver.mjs.map +1 -1
  293. package/lib/composables/items.mjs.map +1 -1
  294. package/lib/composables/layout.mjs.map +1 -1
  295. package/lib/composables/lazy.mjs.map +1 -1
  296. package/lib/composables/loader.mjs.map +1 -1
  297. package/lib/composables/locale.mjs.map +1 -1
  298. package/lib/composables/location.mjs.map +1 -1
  299. package/lib/composables/mutationObserver.mjs.map +1 -1
  300. package/lib/composables/nested/nested.mjs.map +1 -1
  301. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  302. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  303. package/lib/composables/position.mjs.map +1 -1
  304. package/lib/composables/proxiedModel.mjs +2 -1
  305. package/lib/composables/proxiedModel.mjs.map +1 -1
  306. package/lib/composables/refs.mjs.map +1 -1
  307. package/lib/composables/resizeObserver.mjs.map +1 -1
  308. package/lib/composables/rounded.mjs.map +1 -1
  309. package/lib/composables/router.mjs.map +1 -1
  310. package/lib/composables/scopeId.mjs.map +1 -1
  311. package/lib/composables/scroll.mjs.map +1 -1
  312. package/lib/composables/selectLink.mjs.map +1 -1
  313. package/lib/composables/size.mjs.map +1 -1
  314. package/lib/composables/ssrBoot.mjs.map +1 -1
  315. package/lib/composables/stack.mjs.map +1 -1
  316. package/lib/composables/teleport.mjs.map +1 -1
  317. package/lib/composables/theme.mjs +1 -1
  318. package/lib/composables/theme.mjs.map +1 -1
  319. package/lib/composables/toggleScope.mjs.map +1 -1
  320. package/lib/composables/touch.mjs.map +1 -1
  321. package/lib/composables/transition.mjs.map +1 -1
  322. package/lib/composables/validation.mjs +1 -1
  323. package/lib/composables/validation.mjs.map +1 -1
  324. package/lib/composables/variant.mjs.map +1 -1
  325. package/lib/directives/click-outside/index.mjs.map +1 -1
  326. package/lib/directives/color/index.mjs.map +1 -1
  327. package/lib/directives/intersect/index.mjs.map +1 -1
  328. package/lib/directives/mutate/index.mjs.map +1 -1
  329. package/lib/directives/resize/index.mjs.map +1 -1
  330. package/lib/directives/ripple/index.mjs.map +1 -1
  331. package/lib/directives/scroll/index.mjs.map +1 -1
  332. package/lib/directives/touch/index.mjs.map +1 -1
  333. package/lib/entry-bundler.mjs +1 -1
  334. package/lib/entry-bundler.mjs.map +1 -1
  335. package/lib/framework.mjs +1 -1
  336. package/lib/framework.mjs.map +1 -1
  337. package/lib/index.d.ts +39 -39
  338. package/lib/labs/VDataTable/VDataTable.mjs +7 -5
  339. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  340. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  341. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  342. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  343. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  344. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  345. package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
  346. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  347. package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
  348. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  349. package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
  350. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  351. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  352. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  353. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  354. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  355. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  356. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  357. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  358. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  359. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  360. package/lib/labs/VDataTable/index.d.ts +393 -340
  361. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  362. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  363. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  364. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  365. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  366. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  367. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  368. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  369. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  370. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  371. package/lib/labs/components.d.ts +608 -341
  372. package/lib/labs/components.mjs +1 -0
  373. package/lib/labs/components.mjs.map +1 -1
  374. package/lib/labs/entry-bundler.mjs.map +1 -1
  375. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  376. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  377. package/lib/locale/af.mjs +2 -1
  378. package/lib/locale/af.mjs.map +1 -1
  379. package/lib/locale/ar.mjs +2 -1
  380. package/lib/locale/ar.mjs.map +1 -1
  381. package/lib/locale/az.mjs +2 -1
  382. package/lib/locale/az.mjs.map +1 -1
  383. package/lib/locale/bg.mjs +2 -1
  384. package/lib/locale/bg.mjs.map +1 -1
  385. package/lib/locale/ca.mjs +2 -1
  386. package/lib/locale/ca.mjs.map +1 -1
  387. package/lib/locale/ckb.mjs +2 -1
  388. package/lib/locale/ckb.mjs.map +1 -1
  389. package/lib/locale/cs.mjs +2 -1
  390. package/lib/locale/cs.mjs.map +1 -1
  391. package/lib/locale/da.mjs +2 -1
  392. package/lib/locale/da.mjs.map +1 -1
  393. package/lib/locale/de.mjs +2 -1
  394. package/lib/locale/de.mjs.map +1 -1
  395. package/lib/locale/el.mjs +2 -1
  396. package/lib/locale/el.mjs.map +1 -1
  397. package/lib/locale/en.mjs +2 -1
  398. package/lib/locale/en.mjs.map +1 -1
  399. package/lib/locale/es.mjs +2 -1
  400. package/lib/locale/es.mjs.map +1 -1
  401. package/lib/locale/et.mjs +2 -1
  402. package/lib/locale/et.mjs.map +1 -1
  403. package/lib/locale/fa.mjs +2 -1
  404. package/lib/locale/fa.mjs.map +1 -1
  405. package/lib/locale/fi.mjs +2 -1
  406. package/lib/locale/fi.mjs.map +1 -1
  407. package/lib/locale/fr.mjs +2 -1
  408. package/lib/locale/fr.mjs.map +1 -1
  409. package/lib/locale/he.mjs +2 -1
  410. package/lib/locale/he.mjs.map +1 -1
  411. package/lib/locale/hr.mjs +2 -1
  412. package/lib/locale/hr.mjs.map +1 -1
  413. package/lib/locale/hu.mjs +2 -1
  414. package/lib/locale/hu.mjs.map +1 -1
  415. package/lib/locale/id.mjs +2 -1
  416. package/lib/locale/id.mjs.map +1 -1
  417. package/lib/locale/index.d.ts +42 -0
  418. package/lib/locale/it.mjs +2 -1
  419. package/lib/locale/it.mjs.map +1 -1
  420. package/lib/locale/ja.mjs +2 -1
  421. package/lib/locale/ja.mjs.map +1 -1
  422. package/lib/locale/ko.mjs +2 -1
  423. package/lib/locale/ko.mjs.map +1 -1
  424. package/lib/locale/lt.mjs +2 -1
  425. package/lib/locale/lt.mjs.map +1 -1
  426. package/lib/locale/lv.mjs +2 -1
  427. package/lib/locale/lv.mjs.map +1 -1
  428. package/lib/locale/nl.mjs +2 -1
  429. package/lib/locale/nl.mjs.map +1 -1
  430. package/lib/locale/no.mjs +2 -1
  431. package/lib/locale/no.mjs.map +1 -1
  432. package/lib/locale/pl.mjs +2 -1
  433. package/lib/locale/pl.mjs.map +1 -1
  434. package/lib/locale/pt.mjs +2 -1
  435. package/lib/locale/pt.mjs.map +1 -1
  436. package/lib/locale/ro.mjs +2 -1
  437. package/lib/locale/ro.mjs.map +1 -1
  438. package/lib/locale/ru.mjs +2 -1
  439. package/lib/locale/ru.mjs.map +1 -1
  440. package/lib/locale/sk.mjs +2 -1
  441. package/lib/locale/sk.mjs.map +1 -1
  442. package/lib/locale/sl.mjs +2 -1
  443. package/lib/locale/sl.mjs.map +1 -1
  444. package/lib/locale/sr-Cyrl.mjs +2 -1
  445. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  446. package/lib/locale/sr-Latn.mjs +2 -1
  447. package/lib/locale/sr-Latn.mjs.map +1 -1
  448. package/lib/locale/sv.mjs +2 -1
  449. package/lib/locale/sv.mjs.map +1 -1
  450. package/lib/locale/th.mjs +2 -1
  451. package/lib/locale/th.mjs.map +1 -1
  452. package/lib/locale/tr.mjs +2 -1
  453. package/lib/locale/tr.mjs.map +1 -1
  454. package/lib/locale/uk.mjs +2 -1
  455. package/lib/locale/uk.mjs.map +1 -1
  456. package/lib/locale/vi.mjs +2 -1
  457. package/lib/locale/vi.mjs.map +1 -1
  458. package/lib/locale/zh-Hans.mjs +2 -1
  459. package/lib/locale/zh-Hans.mjs.map +1 -1
  460. package/lib/locale/zh-Hant.mjs +2 -1
  461. package/lib/locale/zh-Hant.mjs.map +1 -1
  462. package/lib/services/goto/index.mjs.map +1 -1
  463. package/lib/services/goto/util.mjs.map +1 -1
  464. package/lib/util/anchor.mjs.map +1 -1
  465. package/lib/util/animation.mjs.map +1 -1
  466. package/lib/util/box.mjs.map +1 -1
  467. package/lib/util/color/APCA.mjs.map +1 -1
  468. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  469. package/lib/util/color/transformSRGB.mjs.map +1 -1
  470. package/lib/util/colorUtils.mjs.map +1 -1
  471. package/lib/util/console.mjs.map +1 -1
  472. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  473. package/lib/util/dateTimeUtils.mjs.map +1 -1
  474. package/lib/util/defineComponent.mjs.map +1 -1
  475. package/lib/util/dom.mjs.map +1 -1
  476. package/lib/util/getCurrentInstance.mjs.map +1 -1
  477. package/lib/util/getScrollParent.mjs.map +1 -1
  478. package/lib/util/helpers.mjs +1 -1
  479. package/lib/util/helpers.mjs.map +1 -1
  480. package/lib/util/injectSelf.mjs.map +1 -1
  481. package/lib/util/isFixedPosition.mjs.map +1 -1
  482. package/lib/util/propsFactory.mjs.map +1 -1
  483. package/lib/util/useRender.mjs.map +1 -1
  484. package/package.json +25 -25
  485. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  486. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  487. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  488. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  489. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  490. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VField.mjs","names":["VExpandXTransition","useInputIcon","VFieldLabel","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeFocusProps","useFocus","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","computed","ref","toRef","watch","animate","convertToUnit","EventProp","genericComponent","getUid","isOn","nullifyTransforms","pick","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","color","dirty","disabled","error","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","val","setup","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","isActive","hasLabel","uid","messagesId","value","labelRef","floatingLabelRef","controlRef","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","undefined","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","loading","loader","class","stopPropagation","filterFieldProps","keys","Object","filter","k"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { PropType, Ref } from 'vue'\nimport type { VInputSlot } from '@/components/VInput/VInput'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp,\n 'onClick:appendInner': EventProp,\n 'onClick:prependInner': EventProp,\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport type VFieldSlots = MakeSlots<{\n clear: []\n 'prepend-inner': [DefaultInputSlot & VInputSlot]\n 'append-inner': [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}>\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n } & SlotsToProps<VFieldSlots>\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['solo', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n )}\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot)}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n {['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k))\n return pick(attrs, keys)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VField.mjs","names":["VExpandXTransition","useInputIcon","VFieldLabel","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeFocusProps","useFocus","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","computed","ref","toRef","watch","animate","convertToUnit","EventProp","genericComponent","getUid","isOn","nullifyTransforms","pick","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","color","dirty","disabled","error","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","val","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","isActive","hasLabel","uid","messagesId","value","labelRef","floatingLabelRef","controlRef","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","undefined","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createVNode","_mergeProps","loading","loader","class","_withDirectives","stopPropagation","_vShow","_Fragment","filterFieldProps","keys","Object","filter","k"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { PropType, Ref } from 'vue'\nimport type { VInputSlot } from '@/components/VInput/VInput'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport type VFieldSlots = MakeSlots<{\n clear: []\n 'prepend-inner': [DefaultInputSlot & VInputSlot]\n 'append-inner': [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}>\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n } & SlotsToProps<VFieldSlots>\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['solo', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n )}\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot)}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n {['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k))\n return pick(attrs, keys)\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VFieldLabel.mjs","names":["VLabel","genericComponent","useRender","VFieldLabel","name","props","floating","Boolean","setup","slots","undefined"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n"],"mappings":";AAAA;AAAA,SACSA,MAAM,+BAEf;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,WAAW,GAAGF,gBAAgB,EAAE,CAAC;EAC5CG,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAE;IACLC,QAAQ,EAAEC;EACZ,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrBP,SAAS,CAAC;MAAA,SAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEG,KAAK,CAACC;MAAS,CAAC,CAC9C;MAAA,eACaD,KAAK,CAACC,QAAQ,IAAII;IAAS,GAC/BD,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VFieldLabel.mjs","names":["VLabel","genericComponent","useRender","VFieldLabel","name","props","floating","Boolean","setup","_ref","slots","_createVNode","undefined"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n"],"mappings":";AAAA;AAAA,SACSA,MAAM,+BAEf;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,WAAW,GAAGF,gBAAgB,EAAE,CAAC;EAC5CG,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAE;IACLC,QAAQ,EAAEC;EACZ,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBP,SAAS,CAAC,MAAAS,YAAA,CAAAX,MAAA;MAAA,SAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEK,KAAK,CAACC;MAAS,CAAC,CAC9C;MAAA,eACaD,KAAK,CAACC,QAAQ,IAAIM;IAAS,GAC/BF,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -5,8 +5,8 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
5
5
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
6
6
  }
7
7
 
8
- type EventProp<T = (...args: any[]) => any> = T | T[];
9
- declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
8
+ type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
9
+ declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
10
10
 
11
11
  type IconValue = string | JSXComponent;
12
12
  declare const IconValue: PropType<IconValue>;
@@ -81,9 +81,9 @@ declare const VField: {
81
81
  default: string;
82
82
  validator: (v: any) => boolean;
83
83
  };
84
- 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
85
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
86
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
84
+ 'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
85
+ 'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
86
+ 'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
87
87
  focused: BooleanConstructor;
88
88
  id: StringConstructor;
89
89
  }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & {
@@ -127,9 +127,9 @@ declare const VField: {
127
127
  default: string;
128
128
  validator: (v: any) => boolean;
129
129
  };
130
- 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
131
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
132
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
130
+ 'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
131
+ 'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
132
+ 'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
133
133
  focused: BooleanConstructor;
134
134
  id: StringConstructor;
135
135
  }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & {
@@ -196,9 +196,9 @@ declare const VField: {
196
196
  default: string;
197
197
  validator: (v: any) => boolean;
198
198
  };
199
- 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
200
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
201
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
199
+ 'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
200
+ 'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
201
+ 'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
202
202
  focused: BooleanConstructor;
203
203
  id: StringConstructor;
204
204
  }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & {
@@ -234,9 +234,9 @@ declare const VField: {
234
234
  default: string;
235
235
  validator: (v: any) => boolean;
236
236
  };
237
- 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
238
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
239
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
237
+ 'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
238
+ 'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
239
+ 'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
240
240
  focused: BooleanConstructor;
241
241
  id: StringConstructor;
242
242
  }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & {
@@ -320,9 +320,9 @@ declare const VField: {
320
320
  default: string;
321
321
  validator: (v: any) => boolean;
322
322
  };
323
- 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
324
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
325
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
323
+ 'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
324
+ 'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
325
+ 'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
326
326
  focused: BooleanConstructor;
327
327
  id: StringConstructor;
328
328
  }, vue.ExtractPropTypes<{
@@ -350,9 +350,9 @@ declare const VField: {
350
350
  default: string;
351
351
  validator: (v: any) => boolean;
352
352
  };
353
- 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
354
- 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
355
- 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
353
+ 'onClick:clear': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
354
+ 'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
355
+ 'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
356
356
  focused: BooleanConstructor;
357
357
  id: StringConstructor;
358
358
  }>>;
@@ -30,7 +30,6 @@ export const VFileInput = genericComponent()({
30
30
  multiple: Boolean,
31
31
  hint: String,
32
32
  persistentHint: Boolean,
33
- placeholder: String,
34
33
  showSize: {
35
34
  type: [Boolean, Number],
36
35
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"VFileInput.mjs","names":["filterFieldProps","makeVFieldProps","filterInputProps","makeVInputProps","VInput","VChip","VCounter","VField","forwardRefs","useLocale","useProxiedModel","computed","nextTick","ref","watch","callEvent","filterInputAttrs","genericComponent","humanReadableFileSize","useRender","wrapInArray","VFileInput","name","inheritAttrs","props","chips","Boolean","counter","counterSizeString","type","String","default","counterString","multiple","hint","persistentHint","placeholder","showSize","Number","validator","v","includes","prependIcon","modelValue","Array","val","every","clearable","emits","e","files","setup","attrs","emit","slots","t","model","base","undefined","totalBytes","value","reduce","bytes","size","totalBytesReadable","fileNames","map","file","counterValue","fileCount","length","vInputRef","vFieldRef","isFocused","inputRef","messages","onFocus","document","activeElement","focus","onClickPrepend","onControlClick","onControlMousedown","click","onClear","stopPropagation","newValue","hasModelReset","isArray","hasCounter","hasDetails","details","rootAttrs","inputAttrs","_","inputProps","fieldProps","id","isDisabled","isDirty","isReadonly","isValid","class","fieldClass","slotProps","target","selection","text","color","join"],"sources":["../../../src/components/VFileInput/VFileInput.tsx"],"sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & MakeSlots<{\n counter: []\n}>\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n hint: String,\n persistentHint: Boolean,\n placeholder: String,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps({ prependIcon: '$file' }),\n\n modelValue: {\n type: Array as PropType<File[]>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) {\n isFocused.value = true\n }\n }\n function onClickPrepend (e: MouseEvent) {\n callEvent(props['onClick:prepend'], e)\n onControlClick(e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n callEvent(props['onClick:clear'], e)\n })\n }\n\n watch(model, newValue => {\n const hasModelReset = !Array.isArray(newValue) || !newValue.length\n\n if (hasModelReset && inputRef.value) {\n inputRef.value.value = ''\n }\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class=\"v-file-input\"\n onClick:prepend={ onClickPrepend }\n onClick:append={ props['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n focused={ isFocused.value }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isDirty.value || isFocused.value }\n dirty={ isDirty.value }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n onFocus()\n }}\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && (\n slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ')\n )}\n </div>\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ !!model.value?.length }\n value={ counterValue.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,gBAAgB,EAAEC,eAAe;AAAA,SACjCC,gBAAgB,EAAEC,eAAe,EAAEC,MAAM;AAAA,SACzCC,KAAK;AAAA,SACLC,QAAQ;AAAA,SACRC,MAAM,+BAEf;AAAA,SACSC,WAAW;AAAA,SACXC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAElDC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,SAAS,EACTC,WAAW,gCAGb;AAUA,OAAO,MAAMC,UAAU,GAAGJ,gBAAgB,EAAmB,CAAC;EAC5DK,IAAI,EAAE,YAAY;EAElBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACLC,KAAK,EAAEC,OAAO;IACdC,OAAO,EAAED,OAAO;IAChBE,iBAAiB,EAAE;MACjBC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,aAAa,EAAE;MACbH,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDE,QAAQ,EAAEP,OAAO;IACjBQ,IAAI,EAAEJ,MAAM;IACZK,cAAc,EAAET,OAAO;IACvBU,WAAW,EAAEN,MAAM;IACnBO,QAAQ,EAAE;MACRR,IAAI,EAAE,CAACH,OAAO,EAAEY,MAAM,CAAoC;MAC1DP,OAAO,EAAE,KAAK;MACdQ,SAAS,EAAGC,CAAmB,IAAK;QAClC,OACE,OAAOA,CAAC,KAAK,SAAS,IACtB,CAAC,IAAI,EAAE,IAAI,CAAC,CAACC,QAAQ,CAACD,CAAC,CAAC;MAE5B;IACF,CAAC;IAED,GAAGrC,eAAe,CAAC;MAAEuC,WAAW,EAAE;IAAQ,CAAC,CAAC;IAE5CC,UAAU,EAAE;MACVd,IAAI,EAAEe,KAAyB;MAC/Bb,OAAO,EAAE,MAAO,EAAG;MACnBQ,SAAS,EAAGM,GAAQ,IAAK;QACvB,OAAOzB,WAAW,CAACyB,GAAG,CAAC,CAACC,KAAK,CAACN,CAAC,IAAIA,CAAC,IAAI,IAAI,IAAI,OAAOA,CAAC,KAAK,QAAQ,CAAC;MACxE;IACF,CAAC;IAED,GAAGvC,eAAe,CAAC;MAAE8C,SAAS,EAAE;IAAK,CAAC;EACxC,CAAC;EAEDC,KAAK,EAAE;IACL,eAAe,EAAGC,CAAa,IAAK,IAAI;IACxC,mBAAmB,EAAGA,CAAa,IAAK,IAAI;IAC5C,mBAAmB,EAAGC,KAAa,IAAK;EAC1C,CAAC;EAEDC,KAAK,CAAE3B,KAAK,QAA0B;IAAA,IAAxB;MAAE4B,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC;IAClC,MAAM;MAAEC;IAAE,CAAC,GAAG9C,SAAS,EAAE;IACzB,MAAM+C,KAAK,GAAG9C,eAAe,CAACc,KAAK,EAAE,YAAY,CAAC;IAClD,MAAMiC,IAAI,GAAG9C,QAAQ,CAAC,MAAM,OAAOa,KAAK,CAACa,QAAQ,KAAK,SAAS,GAAGb,KAAK,CAACa,QAAQ,GAAGqB,SAAS,CAAC;IAC7F,MAAMC,UAAU,GAAGhD,QAAQ,CAAC,MAAM,CAAC6C,KAAK,CAACI,KAAK,IAAI,EAAE,EAAEC,MAAM,CAAC,CAACC,KAAK;MAAA,IAAE;QAAEC,IAAI,GAAG;MAAE,CAAC;MAAA,OAAKD,KAAK,GAAGC,IAAI;IAAA,GAAE,CAAC,CAAC,CAAC;IACvG,MAAMC,kBAAkB,GAAGrD,QAAQ,CAAC,MAAMO,qBAAqB,CAACyC,UAAU,CAACC,KAAK,EAAEH,IAAI,CAACG,KAAK,CAAC,CAAC;IAE9F,MAAMK,SAAS,GAAGtD,QAAQ,CAAC,MAAM,CAAC6C,KAAK,CAACI,KAAK,IAAI,EAAE,EAAEM,GAAG,CAACC,IAAI,IAAI;MAC/D,MAAM;QAAE7C,IAAI,GAAG,EAAE;QAAEyC,IAAI,GAAG;MAAE,CAAC,GAAGI,IAAI;MAEpC,OAAO,CAAC3C,KAAK,CAACa,QAAQ,GAClBf,IAAI,GACH,GAAEA,IAAK,KAAIJ,qBAAqB,CAAC6C,IAAI,EAAEN,IAAI,CAACG,KAAK,CAAE,GAAE;IAC5D,CAAC,CAAC,CAAC;IAEH,MAAMQ,YAAY,GAAGzD,QAAQ,CAAC,MAAM;MAClC,MAAM0D,SAAS,GAAGb,KAAK,CAACI,KAAK,EAAEU,MAAM,IAAI,CAAC;MAC1C,IAAI9C,KAAK,CAACa,QAAQ,EAAE,OAAOkB,CAAC,CAAC/B,KAAK,CAACI,iBAAiB,EAAEyC,SAAS,EAAEL,kBAAkB,CAACJ,KAAK,CAAC,MACrF,OAAOL,CAAC,CAAC/B,KAAK,CAACQ,aAAa,EAAEqC,SAAS,CAAC;IAC/C,CAAC,CAAC;IACF,MAAME,SAAS,GAAG1D,GAAG,EAAU;IAC/B,MAAM2D,SAAS,GAAG3D,GAAG,EAAU;IAC/B,MAAM4D,SAAS,GAAG5D,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM6D,QAAQ,GAAG7D,GAAG,EAAoB;IACxC,MAAM8D,QAAQ,GAAGhE,QAAQ,CAAC,MAAM;MAC9B,OAAOa,KAAK,CAACmD,QAAQ,CAACL,MAAM,GACxB9C,KAAK,CAACmD,QAAQ,GACbnD,KAAK,CAACW,cAAc,GAAIX,KAAK,CAACU,IAAI,GAAG,EAAE;IAC9C,CAAC,CAAC;IACF,SAAS0C,OAAO,GAAI;MAClB,IAAIF,QAAQ,CAACd,KAAK,KAAKiB,QAAQ,CAACC,aAAa,EAAE;QAC7CJ,QAAQ,CAACd,KAAK,EAAEmB,KAAK,EAAE;MACzB;MAEA,IAAI,CAACN,SAAS,CAACb,KAAK,EAAE;QACpBa,SAAS,CAACb,KAAK,GAAG,IAAI;MACxB;IACF;IACA,SAASoB,cAAc,CAAE/B,CAAa,EAAE;MACtClC,SAAS,CAACS,KAAK,CAAC,iBAAiB,CAAC,EAAEyB,CAAC,CAAC;MACtCgC,cAAc,CAAChC,CAAC,CAAC;IACnB;IACA,SAASiC,kBAAkB,CAAEjC,CAAa,EAAE;MAC1CI,IAAI,CAAC,mBAAmB,EAAEJ,CAAC,CAAC;IAC9B;IACA,SAASgC,cAAc,CAAEhC,CAAa,EAAE;MACtCyB,QAAQ,CAACd,KAAK,EAAEuB,KAAK,EAAE;MAEvB9B,IAAI,CAAC,eAAe,EAAEJ,CAAC,CAAC;IAC1B;IACA,SAASmC,OAAO,CAAEnC,CAAa,EAAE;MAC/BA,CAAC,CAACoC,eAAe,EAAE;MAEnBT,OAAO,EAAE;MAEThE,QAAQ,CAAC,MAAM;QACb4C,KAAK,CAACI,KAAK,GAAG,EAAE;QAEhB7C,SAAS,CAACS,KAAK,CAAC,eAAe,CAAC,EAAEyB,CAAC,CAAC;MACtC,CAAC,CAAC;IACJ;IAEAnC,KAAK,CAAC0C,KAAK,EAAE8B,QAAQ,IAAI;MACvB,MAAMC,aAAa,GAAG,CAAC3C,KAAK,CAAC4C,OAAO,CAACF,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAAChB,MAAM;MAElE,IAAIiB,aAAa,IAAIb,QAAQ,CAACd,KAAK,EAAE;QACnCc,QAAQ,CAACd,KAAK,CAACA,KAAK,GAAG,EAAE;MAC3B;IACF,CAAC,CAAC;IAEFzC,SAAS,CAAC,MAAM;MACd,MAAMsE,UAAU,GAAG,CAAC,EAAEnC,KAAK,CAAC3B,OAAO,IAAIH,KAAK,CAACG,OAAO,CAAC;MACrD,MAAM+D,UAAU,GAAG,CAAC,EAAED,UAAU,IAAInC,KAAK,CAACqC,OAAO,CAAC;MAClD,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,GAAG7E,gBAAgB,CAACoC,KAAK,CAAC;MACvD,MAAM,CAAC;QAAET,UAAU,EAAEmD,CAAC;QAAE,GAAGC;MAAW,CAAC,CAAC,GAAG7F,gBAAgB,CAACsB,KAAK,CAAC;MAClE,MAAM,CAACwE,UAAU,CAAC,GAAGhG,gBAAgB,CAACwB,KAAK,CAAC;MAE5C;QAAA,OAEU+C,SAAS;QAAA,cACLf,KAAK,CAACI,KAAK;QAAA,iCAAXJ,KAAK,CAACI,KAAK;QAAA,SACf,cAAc;QAAA,mBACFoB,cAAc;QAAA,kBACfxD,KAAK,CAAC,gBAAgB;MAAC,GACnCoE,SAAS,EACTG,UAAU;QAAA,WACLtB,SAAS,CAACb,KAAK;QAAA,YACde,QAAQ,CAACf;MAAK;QAGvB,GAAGN,KAAK;QACRvB,OAAO,EAAE;UAAA,IAAC;YACRkE,EAAE;YACFC,UAAU;YACVC,OAAO;YACPC,UAAU;YACVC;UACF,CAAC;UAAA;YAAA,OAES7B,SAAS;YAAA,gBACAhD,KAAK,CAACkB,WAAW;YAAA,eAClBwC,kBAAkB;YAAA,WACtBD,cAAc;YAAA,iBACRG,OAAO;YAAA,wBACA5D,KAAK,CAAC,sBAAsB,CAAC;YAAA,uBAC9BA,KAAK,CAAC,qBAAqB;UAAC,GAC7CwE,UAAU;YAAA,MACVC,EAAE,CAACrC,KAAK;YAAA,UACJuC,OAAO,CAACvC,KAAK,IAAIa,SAAS,CAACb,KAAK;YAAA,SACjCuC,OAAO,CAACvC,KAAK;YAAA,YACVsC,UAAU,CAACtC,KAAK;YAAA,WACjBa,SAAS,CAACb,KAAK;YAAA,SACjByC,OAAO,CAACzC,KAAK,KAAK;UAAK;YAG7B,GAAGN,KAAK;YACRvB,OAAO,EAAE;cAAA,IAAC;gBACRP,KAAK,EAAE;kBAAE8E,KAAK,EAAEC,UAAU;kBAAE,GAAGC;gBAAU;cAC3C,CAAC;cAAA;gBAAA,OAGW9B,QAAQ;gBAAA,QACT,MAAM;gBAAA,YACA0B,UAAU,CAACxC,KAAK;gBAAA,YAChBsC,UAAU,CAACtC,KAAK;gBAAA,YAChBpC,KAAK,CAACS,QAAQ;gBAAA,QAClBT,KAAK,CAACF,IAAI;gBAAA,WACP2B,CAAC,IAAI;kBACbA,CAAC,CAACoC,eAAe,EAAE;kBAEnBT,OAAO,EAAE;gBACX,CAAC;gBAAA,YACU3B,CAAC,IAAI;kBACd,IAAI,CAACA,CAAC,CAACwD,MAAM,EAAE;kBAEf,MAAMA,MAAM,GAAGxD,CAAC,CAACwD,MAA0B;kBAC3CjD,KAAK,CAACI,KAAK,GAAG,CAAC,IAAG6C,MAAM,CAACvD,KAAK,IAAI,EAAE,EAAC;gBACvC,CAAC;gBAAA,WACS0B,OAAO;gBAAA,UACR,MAAOH,SAAS,CAACb,KAAK,GAAG;cAAM,GACnC4C,SAAS,EACTX,UAAU;gBAAA,SAGJU;cAAU,IACnB,CAAC,CAAC/C,KAAK,CAACI,KAAK,EAAEU,MAAM,KACrBhB,KAAK,CAACoD,SAAS,GAAGpD,KAAK,CAACoD,SAAS,CAAC;gBAChCzC,SAAS,EAAEA,SAAS,CAACL,KAAK;gBAC1BD,UAAU,EAAEA,UAAU,CAACC,KAAK;gBAC5BI,kBAAkB,EAAEA,kBAAkB,CAACJ;cACzC,CAAC,CAAC,GACApC,KAAK,CAACC,KAAK,GAAGwC,SAAS,CAACL,KAAK,CAACM,GAAG,CAACyC,IAAI;gBAAA,OAE9BA,IAAI;gBAAA,QACL,OAAO;gBAAA,SACJnF,KAAK,CAACoF;cAAK;gBAAA,gBAClBD,IAAI;cAAA,EACR,CAAC,GACA1C,SAAS,CAACL,KAAK,CAACiD,IAAI,CAAC,IAAI,CAAC,CAC7B;YAAA;UAGN;QAAA,CAGN;QACDlB,OAAO,EAAED,UAAU,GAAGc,SAAS,mCAEzBlD,KAAK,CAACqC,OAAO,GAAGa,SAAS,CAAC,EAE1Bf,UAAU;UAAA,UAKG,CAAC,CAACjC,KAAK,CAACI,KAAK,EAAEU,MAAM;UAAA,SACtBF,YAAY,CAACR;QAAK,GACRN,KAAK,CAAC3B,OAAO,GAGpC,EAEJ,GAAG+B;MAAS;IAIrB,CAAC,CAAC;IAEF,OAAOlD,WAAW,CAAC,CAAC,CAAC,EAAE+D,SAAS,EAAEC,SAAS,EAAEE,QAAQ,CAAC;EACxD;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VFileInput.mjs","names":["filterFieldProps","makeVFieldProps","filterInputProps","makeVInputProps","VInput","VChip","VCounter","VField","forwardRefs","useLocale","useProxiedModel","computed","nextTick","ref","watch","callEvent","filterInputAttrs","genericComponent","humanReadableFileSize","useRender","wrapInArray","VFileInput","name","inheritAttrs","props","chips","Boolean","counter","counterSizeString","type","String","default","counterString","multiple","hint","persistentHint","showSize","Number","validator","v","includes","prependIcon","modelValue","Array","val","every","clearable","emits","e","files","setup","_ref","attrs","emit","slots","t","model","base","undefined","totalBytes","value","reduce","bytes","_ref2","size","totalBytesReadable","fileNames","map","file","counterValue","fileCount","length","vInputRef","vFieldRef","isFocused","inputRef","messages","onFocus","document","activeElement","focus","onClickPrepend","onControlClick","onControlMousedown","click","onClear","stopPropagation","newValue","hasModelReset","isArray","hasCounter","hasDetails","details","rootAttrs","inputAttrs","_","inputProps","fieldProps","_createVNode","_mergeProps","$event","_ref3","id","isDisabled","isDirty","isReadonly","isValid","_ref4","class","fieldClass","slotProps","_Fragment","target","onBlur","selection","text","color","join"],"sources":["../../../src/components/VFileInput/VFileInput.tsx"],"sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & MakeSlots<{\n counter: []\n}>\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n hint: String,\n persistentHint: Boolean,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps({ prependIcon: '$file' }),\n\n modelValue: {\n type: Array as PropType<File[]>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) {\n isFocused.value = true\n }\n }\n function onClickPrepend (e: MouseEvent) {\n callEvent(props['onClick:prepend'], e)\n onControlClick(e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n callEvent(props['onClick:clear'], e)\n })\n }\n\n watch(model, newValue => {\n const hasModelReset = !Array.isArray(newValue) || !newValue.length\n\n if (hasModelReset && inputRef.value) {\n inputRef.value.value = ''\n }\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class=\"v-file-input\"\n onClick:prepend={ onClickPrepend }\n onClick:append={ props['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n focused={ isFocused.value }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isDirty.value || isFocused.value }\n dirty={ isDirty.value }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n onFocus()\n }}\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && (\n slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ')\n )}\n </div>\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ !!model.value?.length }\n value={ counterValue.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,gBAAgB,EAAEC,eAAe;AAAA,SACjCC,gBAAgB,EAAEC,eAAe,EAAEC,MAAM;AAAA,SACzCC,KAAK;AAAA,SACLC,QAAQ;AAAA,SACRC,MAAM,+BAEf;AAAA,SACSC,WAAW;AAAA,SACXC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAElDC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,SAAS,EACTC,WAAW,gCAGb;AAUA,OAAO,MAAMC,UAAU,GAAGJ,gBAAgB,EAAmB,CAAC;EAC5DK,IAAI,EAAE,YAAY;EAElBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACLC,KAAK,EAAEC,OAAO;IACdC,OAAO,EAAED,OAAO;IAChBE,iBAAiB,EAAE;MACjBC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDC,aAAa,EAAE;MACbH,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX,CAAC;IACDE,QAAQ,EAAEP,OAAO;IACjBQ,IAAI,EAAEJ,MAAM;IACZK,cAAc,EAAET,OAAO;IACvBU,QAAQ,EAAE;MACRP,IAAI,EAAE,CAACH,OAAO,EAAEW,MAAM,CAAoC;MAC1DN,OAAO,EAAE,KAAK;MACdO,SAAS,EAAGC,CAAmB,IAAK;QAClC,OACE,OAAOA,CAAC,KAAK,SAAS,IACtB,CAAC,IAAI,EAAE,IAAI,CAAC,CAACC,QAAQ,CAACD,CAAC,CAAC;MAE5B;IACF,CAAC;IAED,GAAGpC,eAAe,CAAC;MAAEsC,WAAW,EAAE;IAAQ,CAAC,CAAC;IAE5CC,UAAU,EAAE;MACVb,IAAI,EAAEc,KAAyB;MAC/BZ,OAAO,EAAEA,CAAA,KAAO,EAAG;MACnBO,SAAS,EAAGM,GAAQ,IAAK;QACvB,OAAOxB,WAAW,CAACwB,GAAG,CAAC,CAACC,KAAK,CAACN,CAAC,IAAIA,CAAC,IAAI,IAAI,IAAI,OAAOA,CAAC,KAAK,QAAQ,CAAC;MACxE;IACF,CAAC;IAED,GAAGtC,eAAe,CAAC;MAAE6C,SAAS,EAAE;IAAK,CAAC;EACxC,CAAC;EAEDC,KAAK,EAAE;IACL,eAAe,EAAGC,CAAa,IAAK,IAAI;IACxC,mBAAmB,EAAGA,CAAa,IAAK,IAAI;IAC5C,mBAAmB,EAAGC,KAAa,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAE1B,KAAK,EAAA2B,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAE,CAAC,GAAG9C,SAAS,EAAE;IACzB,MAAM+C,KAAK,GAAG9C,eAAe,CAACc,KAAK,EAAE,YAAY,CAAC;IAClD,MAAMiC,IAAI,GAAG9C,QAAQ,CAAC,MAAM,OAAOa,KAAK,CAACY,QAAQ,KAAK,SAAS,GAAGZ,KAAK,CAACY,QAAQ,GAAGsB,SAAS,CAAC;IAC7F,MAAMC,UAAU,GAAGhD,QAAQ,CAAC,MAAM,CAAC6C,KAAK,CAACI,KAAK,IAAI,EAAE,EAAEC,MAAM,CAAC,CAACC,KAAK,EAAAC,KAAA;MAAA,IAAE;QAAEC,IAAI,GAAG;MAAE,CAAC,GAAAD,KAAA;MAAA,OAAKD,KAAK,GAAGE,IAAI;IAAA,GAAE,CAAC,CAAC,CAAC;IACvG,MAAMC,kBAAkB,GAAGtD,QAAQ,CAAC,MAAMO,qBAAqB,CAACyC,UAAU,CAACC,KAAK,EAAEH,IAAI,CAACG,KAAK,CAAC,CAAC;IAE9F,MAAMM,SAAS,GAAGvD,QAAQ,CAAC,MAAM,CAAC6C,KAAK,CAACI,KAAK,IAAI,EAAE,EAAEO,GAAG,CAACC,IAAI,IAAI;MAC/D,MAAM;QAAE9C,IAAI,GAAG,EAAE;QAAE0C,IAAI,GAAG;MAAE,CAAC,GAAGI,IAAI;MAEpC,OAAO,CAAC5C,KAAK,CAACY,QAAQ,GAClBd,IAAI,GACH,GAAEA,IAAK,KAAIJ,qBAAqB,CAAC8C,IAAI,EAAEP,IAAI,CAACG,KAAK,CAAE,GAAE;IAC5D,CAAC,CAAC,CAAC;IAEH,MAAMS,YAAY,GAAG1D,QAAQ,CAAC,MAAM;MAClC,MAAM2D,SAAS,GAAGd,KAAK,CAACI,KAAK,EAAEW,MAAM,IAAI,CAAC;MAC1C,IAAI/C,KAAK,CAACY,QAAQ,EAAE,OAAOmB,CAAC,CAAC/B,KAAK,CAACI,iBAAiB,EAAE0C,SAAS,EAAEL,kBAAkB,CAACL,KAAK,CAAC,MACrF,OAAOL,CAAC,CAAC/B,KAAK,CAACQ,aAAa,EAAEsC,SAAS,CAAC;IAC/C,CAAC,CAAC;IACF,MAAME,SAAS,GAAG3D,GAAG,EAAU;IAC/B,MAAM4D,SAAS,GAAG5D,GAAG,EAAU;IAC/B,MAAM6D,SAAS,GAAG7D,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM8D,QAAQ,GAAG9D,GAAG,EAAoB;IACxC,MAAM+D,QAAQ,GAAGjE,QAAQ,CAAC,MAAM;MAC9B,OAAOa,KAAK,CAACoD,QAAQ,CAACL,MAAM,GACxB/C,KAAK,CAACoD,QAAQ,GACbpD,KAAK,CAACW,cAAc,GAAIX,KAAK,CAACU,IAAI,GAAG,EAAE;IAC9C,CAAC,CAAC;IACF,SAAS2C,OAAOA,CAAA,EAAI;MAClB,IAAIF,QAAQ,CAACf,KAAK,KAAKkB,QAAQ,CAACC,aAAa,EAAE;QAC7CJ,QAAQ,CAACf,KAAK,EAAEoB,KAAK,EAAE;MACzB;MAEA,IAAI,CAACN,SAAS,CAACd,KAAK,EAAE;QACpBc,SAAS,CAACd,KAAK,GAAG,IAAI;MACxB;IACF;IACA,SAASqB,cAAcA,CAAEjC,CAAa,EAAE;MACtCjC,SAAS,CAACS,KAAK,CAAC,iBAAiB,CAAC,EAAEwB,CAAC,CAAC;MACtCkC,cAAc,CAAClC,CAAC,CAAC;IACnB;IACA,SAASmC,kBAAkBA,CAAEnC,CAAa,EAAE;MAC1CK,IAAI,CAAC,mBAAmB,EAAEL,CAAC,CAAC;IAC9B;IACA,SAASkC,cAAcA,CAAElC,CAAa,EAAE;MACtC2B,QAAQ,CAACf,KAAK,EAAEwB,KAAK,EAAE;MAEvB/B,IAAI,CAAC,eAAe,EAAEL,CAAC,CAAC;IAC1B;IACA,SAASqC,OAAOA,CAAErC,CAAa,EAAE;MAC/BA,CAAC,CAACsC,eAAe,EAAE;MAEnBT,OAAO,EAAE;MAETjE,QAAQ,CAAC,MAAM;QACb4C,KAAK,CAACI,KAAK,GAAG,EAAE;QAEhB7C,SAAS,CAACS,KAAK,CAAC,eAAe,CAAC,EAAEwB,CAAC,CAAC;MACtC,CAAC,CAAC;IACJ;IAEAlC,KAAK,CAAC0C,KAAK,EAAE+B,QAAQ,IAAI;MACvB,MAAMC,aAAa,GAAG,CAAC7C,KAAK,CAAC8C,OAAO,CAACF,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAAChB,MAAM;MAElE,IAAIiB,aAAa,IAAIb,QAAQ,CAACf,KAAK,EAAE;QACnCe,QAAQ,CAACf,KAAK,CAACA,KAAK,GAAG,EAAE;MAC3B;IACF,CAAC,CAAC;IAEFzC,SAAS,CAAC,MAAM;MACd,MAAMuE,UAAU,GAAG,CAAC,EAAEpC,KAAK,CAAC3B,OAAO,IAAIH,KAAK,CAACG,OAAO,CAAC;MACrD,MAAMgE,UAAU,GAAG,CAAC,EAAED,UAAU,IAAIpC,KAAK,CAACsC,OAAO,CAAC;MAClD,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,GAAG9E,gBAAgB,CAACoC,KAAK,CAAC;MACvD,MAAM,CAAC;QAAEV,UAAU,EAAEqD,CAAC;QAAE,GAAGC;MAAW,CAAC,CAAC,GAAG9F,gBAAgB,CAACsB,KAAK,CAAC;MAClE,MAAM,CAACyE,UAAU,CAAC,GAAGjG,gBAAgB,CAACwB,KAAK,CAAC;MAE5C,OAAA0E,YAAA,CAAA9F,MAAA,EAAA+F,WAAA;QAAA,OAEU3B,SAAS;QAAA,cACLhB,KAAK,CAACI,KAAK;QAAA,uBAAAwC,MAAA,IAAX5C,KAAK,CAACI,KAAK,GAAAwC,MAAA;QAAA,SACf,cAAc;QAAA,mBACFnB,cAAc;QAAA,kBACfzD,KAAK,CAAC,gBAAgB;MAAC,GACnCqE,SAAS,EACTG,UAAU;QAAA,WACLtB,SAAS,CAACd,KAAK;QAAA,YACdgB,QAAQ,CAAChB;MAAK;QAGvB,GAAGN,KAAK;QACRvB,OAAO,EAAEsE,KAAA;UAAA,IAAC;YACRC,EAAE;YACFC,UAAU;YACVC,OAAO;YACPC,UAAU;YACVC;UACF,CAAC,GAAAL,KAAA;UAAA,OAAAH,YAAA,CAAA3F,MAAA,EAAA4F,WAAA;YAAA,OAES1B,SAAS;YAAA,gBACAjD,KAAK,CAACiB,WAAW;YAAA,eAClB0C,kBAAkB;YAAA,WACtBD,cAAc;YAAA,iBACRG,OAAO;YAAA,wBACA7D,KAAK,CAAC,sBAAsB,CAAC;YAAA,uBAC9BA,KAAK,CAAC,qBAAqB;UAAC,GAC7CyE,UAAU;YAAA,MACVK,EAAE,CAAC1C,KAAK;YAAA,UACJ4C,OAAO,CAAC5C,KAAK,IAAIc,SAAS,CAACd,KAAK;YAAA,SACjC4C,OAAO,CAAC5C,KAAK;YAAA,YACV2C,UAAU,CAAC3C,KAAK;YAAA,WACjBc,SAAS,CAACd,KAAK;YAAA,SACjB8C,OAAO,CAAC9C,KAAK,KAAK;UAAK;YAG7B,GAAGN,KAAK;YACRvB,OAAO,EAAE4E,KAAA;cAAA,IAAC;gBACRnF,KAAK,EAAE;kBAAEoF,KAAK,EAAEC,UAAU;kBAAE,GAAGC;gBAAU;cAC3C,CAAC,GAAAH,KAAA;cAAA,OAAAT,YAAA,CAAAa,SAAA,SAAAb,YAAA,UAAAC,WAAA;gBAAA,OAGWxB,QAAQ;gBAAA,QACT,MAAM;gBAAA,YACA8B,UAAU,CAAC7C,KAAK;gBAAA,YAChB2C,UAAU,CAAC3C,KAAK;gBAAA,YAChBpC,KAAK,CAACS,QAAQ;gBAAA,QAClBT,KAAK,CAACF,IAAI;gBAAA,WACP0B,CAAC,IAAI;kBACbA,CAAC,CAACsC,eAAe,EAAE;kBAEnBT,OAAO,EAAE;gBACX,CAAC;gBAAA,YACU7B,CAAC,IAAI;kBACd,IAAI,CAACA,CAAC,CAACgE,MAAM,EAAE;kBAEf,MAAMA,MAAM,GAAGhE,CAAC,CAACgE,MAA0B;kBAC3CxD,KAAK,CAACI,KAAK,GAAG,CAAC,IAAGoD,MAAM,CAAC/D,KAAK,IAAI,EAAE,EAAC;gBACvC,CAAC;gBAAA,WACS4B,OAAO;gBAAA,UACRoC,CAAA,KAAOvC,SAAS,CAACd,KAAK,GAAG;cAAM,GACnCkD,SAAS,EACThB,UAAU,UAAAI,YAAA;gBAAA,SAGJW;cAAU,IACnB,CAAC,CAACrD,KAAK,CAACI,KAAK,EAAEW,MAAM,KACrBjB,KAAK,CAAC4D,SAAS,GAAG5D,KAAK,CAAC4D,SAAS,CAAC;gBAChChD,SAAS,EAAEA,SAAS,CAACN,KAAK;gBAC1BD,UAAU,EAAEA,UAAU,CAACC,KAAK;gBAC5BK,kBAAkB,EAAEA,kBAAkB,CAACL;cACzC,CAAC,CAAC,GACApC,KAAK,CAACC,KAAK,GAAGyC,SAAS,CAACN,KAAK,CAACO,GAAG,CAACgD,IAAI,IAAAjB,YAAA,CAAA7F,KAAA;gBAAA,OAE9B8G,IAAI;gBAAA,QACL,OAAO;gBAAA,SACJ3F,KAAK,CAAC4F;cAAK;gBAAArF,OAAA,EAAAA,CAAA,MAClBoF,IAAI;cAAA,EACR,CAAC,GACAjD,SAAS,CAACN,KAAK,CAACyD,IAAI,CAAC,IAAI,CAAC,CAC7B;YAAA;UAGN;QAAA,CAGN;QACDzB,OAAO,EAAED,UAAU,GAAGmB,SAAS,IAAAZ,YAAA,CAAAa,SAAA,SAEzBzD,KAAK,CAACsC,OAAO,GAAGkB,SAAS,CAAC,EAE1BpB,UAAU,IAAAQ,YAAA,CAAAa,SAAA,SAAAb,YAAA,sBAAAA,YAAA,CAAA5F,QAAA;UAAA,UAKG,CAAC,CAACkD,KAAK,CAACI,KAAK,EAAEW,MAAM;UAAA,SACtBF,YAAY,CAACT;QAAK,GACRN,KAAK,CAAC3B,OAAO,GAGpC,EAEJ,GAAG+B;MAAS;IAIrB,CAAC,CAAC;IAEF,OAAOlD,WAAW,CAAC,CAAC,CAAC,EAAEgE,SAAS,EAAEC,SAAS,EAAEE,QAAQ,CAAC;EACxD;AACF,CAAC,CAAC"}