@vuetify/nightly 3.8.6-master.2025-05-24 → 3.8.6-master.2025-05-26

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 (325) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/dist/json/attributes.json +3745 -3745
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +174 -174
  5. package/dist/json/web-types.json +6589 -6589
  6. package/dist/vuetify-labs.cjs +868 -868
  7. package/dist/vuetify-labs.css +2585 -2585
  8. package/dist/vuetify-labs.d.ts +58 -58
  9. package/dist/vuetify-labs.esm.js +869 -869
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +868 -868
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +755 -755
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3542 -3542
  16. package/dist/vuetify.d.ts +58 -58
  17. package/dist/vuetify.esm.js +756 -756
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +755 -755
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +958 -958
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.js +11 -11
  25. package/lib/components/VAlert/VAlert.js.map +1 -1
  26. package/lib/components/VApp/VApp.js +5 -5
  27. package/lib/components/VApp/VApp.js.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.js +9 -9
  29. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  30. package/lib/components/VAvatar/VAvatar.js +4 -4
  31. package/lib/components/VAvatar/VAvatar.js.map +1 -1
  32. package/lib/components/VBadge/VBadge.js +3 -3
  33. package/lib/components/VBadge/VBadge.js.map +1 -1
  34. package/lib/components/VBanner/VBanner.js +6 -6
  35. package/lib/components/VBanner/VBanner.js.map +1 -1
  36. package/lib/components/VBanner/VBannerActions.js +4 -4
  37. package/lib/components/VBanner/VBannerActions.js.map +1 -1
  38. package/lib/components/VBottomNavigation/VBottomNavigation.js +6 -6
  39. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  40. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +5 -5
  41. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  42. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js +4 -4
  43. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.js.map +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +5 -5
  45. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  46. package/lib/components/VBtn/VBtn.js +7 -7
  47. package/lib/components/VBtn/VBtn.js.map +1 -1
  48. package/lib/components/VBtnGroup/VBtnGroup.js +4 -4
  49. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  50. package/lib/components/VCard/VCard.js +5 -5
  51. package/lib/components/VCard/VCard.js.map +1 -1
  52. package/lib/components/VCard/VCardActions.js +4 -4
  53. package/lib/components/VCard/VCardActions.js.map +1 -1
  54. package/lib/components/VCard/VCardItem.js +9 -9
  55. package/lib/components/VCard/VCardItem.js.map +1 -1
  56. package/lib/components/VCard/VCardSubtitle.js +4 -4
  57. package/lib/components/VCard/VCardSubtitle.js.map +1 -1
  58. package/lib/components/VCard/VCardText.js +4 -4
  59. package/lib/components/VCard/VCardText.js.map +1 -1
  60. package/lib/components/VCarousel/VCarousel.js +4 -4
  61. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  62. package/lib/components/VChip/VChip.js +11 -11
  63. package/lib/components/VChip/VChip.js.map +1 -1
  64. package/lib/components/VColorPicker/VColorPicker.js +3 -3
  65. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  66. package/lib/components/VColorPicker/VColorPickerCanvas.js +9 -9
  67. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  68. package/lib/components/VColorPicker/VColorPickerEdit.js +6 -6
  69. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  70. package/lib/components/VColorPicker/VColorPickerPreview.js +11 -11
  71. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  72. package/lib/components/VColorPicker/VColorPickerSwatches.js +10 -10
  73. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  74. package/lib/components/VCombobox/VCombobox.js +9 -9
  75. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  76. package/lib/components/VConfirmEdit/VConfirmEdit.js +3 -3
  77. package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
  78. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.js +3 -3
  79. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.js.map +1 -1
  80. package/lib/components/VCounter/VCounter.js +5 -5
  81. package/lib/components/VCounter/VCounter.js.map +1 -1
  82. package/lib/components/VDataIterator/VDataIterator.js +5 -5
  83. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  84. package/lib/components/VDataTable/VDataTable.js +4 -4
  85. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  86. package/lib/components/VDataTable/VDataTableColumn.js +5 -5
  87. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  88. package/lib/components/VDataTable/VDataTableFooter.js +6 -6
  89. package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
  90. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +7 -7
  91. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  92. package/lib/components/VDataTable/VDataTableHeaders.js +11 -11
  93. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  94. package/lib/components/VDataTable/VDataTableRow.js +6 -6
  95. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  96. package/lib/components/VDataTable/VDataTableRows.js +7 -7
  97. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  98. package/lib/components/VDataTable/VDataTableServer.js +4 -4
  99. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  100. package/lib/components/VDataTable/VDataTableVirtual.js +14 -14
  101. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  102. package/lib/components/VDatePicker/VDatePicker.js +3 -3
  103. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  104. package/lib/components/VDatePicker/VDatePickerControls.js +5 -5
  105. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  106. package/lib/components/VDatePicker/VDatePickerHeader.js +8 -8
  107. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  108. package/lib/components/VDatePicker/VDatePickerMonth.js +10 -10
  109. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  110. package/lib/components/VDatePicker/VDatePickerMonths.js +5 -5
  111. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  112. package/lib/components/VDatePicker/VDatePickerYears.js +5 -5
  113. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  114. package/lib/components/VDialog/__test__/VDialog.spec.browser.js +5 -5
  115. package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
  116. package/lib/components/VDivider/VDivider.js +10 -10
  117. package/lib/components/VDivider/VDivider.js.map +1 -1
  118. package/lib/components/VEmptyState/VEmptyState.js +14 -14
  119. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  120. package/lib/components/VExpansionPanel/VExpansionPanel.js +6 -6
  121. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  122. package/lib/components/VExpansionPanel/VExpansionPanelText.js +5 -5
  123. package/lib/components/VExpansionPanel/VExpansionPanelText.js.map +1 -1
  124. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js +10 -10
  125. package/lib/components/VExpansionPanel/VExpansionPanelTitle.js.map +1 -1
  126. package/lib/components/VExpansionPanel/VExpansionPanels.js +4 -4
  127. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  128. package/lib/components/VFab/VFab.js +7 -7
  129. package/lib/components/VFab/VFab.js.map +1 -1
  130. package/lib/components/VField/VField.js +16 -16
  131. package/lib/components/VField/VField.js.map +1 -1
  132. package/lib/components/VField/VFieldLabel.js +4 -4
  133. package/lib/components/VField/VFieldLabel.js.map +1 -1
  134. package/lib/components/VFileInput/VFileInput.js +5 -5
  135. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  136. package/lib/components/VFooter/VFooter.js +4 -4
  137. package/lib/components/VFooter/VFooter.js.map +1 -1
  138. package/lib/components/VForm/VForm.js +4 -4
  139. package/lib/components/VForm/VForm.js.map +1 -1
  140. package/lib/components/VGrid/VContainer.js +4 -4
  141. package/lib/components/VGrid/VContainer.js.map +1 -1
  142. package/lib/components/VIcon/VIcon.js +5 -5
  143. package/lib/components/VIcon/VIcon.js.map +1 -1
  144. package/lib/components/VImg/VImg.js +19 -19
  145. package/lib/components/VImg/VImg.js.map +1 -1
  146. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +10 -10
  147. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  148. package/lib/components/VInput/VInput.js +9 -9
  149. package/lib/components/VInput/VInput.js.map +1 -1
  150. package/lib/components/VItemGroup/VItemGroup.js +3 -3
  151. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  152. package/lib/components/VLabel/VLabel.js +5 -5
  153. package/lib/components/VLabel/VLabel.js.map +1 -1
  154. package/lib/components/VLayout/VLayout.js +4 -4
  155. package/lib/components/VLayout/VLayout.js.map +1 -1
  156. package/lib/components/VLayout/VLayoutItem.js +4 -4
  157. package/lib/components/VLayout/VLayoutItem.js.map +1 -1
  158. package/lib/components/VLazy/VLazy.js +6 -6
  159. package/lib/components/VLazy/VLazy.js.map +1 -1
  160. package/lib/components/VList/VList.js +4 -4
  161. package/lib/components/VList/VList.js.map +1 -1
  162. package/lib/components/VList/VListGroup.js +5 -5
  163. package/lib/components/VList/VListGroup.js.map +1 -1
  164. package/lib/components/VList/VListItem.js +11 -11
  165. package/lib/components/VList/VListItem.js.map +1 -1
  166. package/lib/components/VList/VListItemAction.js +4 -4
  167. package/lib/components/VList/VListItemAction.js.map +1 -1
  168. package/lib/components/VList/VListItemMedia.js +4 -4
  169. package/lib/components/VList/VListItemMedia.js.map +1 -1
  170. package/lib/components/VList/VListItemSubtitle.js +4 -4
  171. package/lib/components/VList/VListItemSubtitle.js.map +1 -1
  172. package/lib/components/VList/VListSubheader.js +6 -6
  173. package/lib/components/VList/VListSubheader.js.map +1 -1
  174. package/lib/components/VLocaleProvider/VLocaleProvider.js +4 -4
  175. package/lib/components/VLocaleProvider/VLocaleProvider.js.map +1 -1
  176. package/lib/components/VMain/VMain.js +5 -5
  177. package/lib/components/VMain/VMain.js.map +1 -1
  178. package/lib/components/VMessages/VMessages.js +4 -4
  179. package/lib/components/VMessages/VMessages.js.map +1 -1
  180. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +7 -7
  181. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  182. package/lib/components/VNumberInput/VNumberInput.js +8 -8
  183. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  184. package/lib/components/VOtpInput/VOtpInput.js +7 -7
  185. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  186. package/lib/components/VOverlay/VOverlay.js +8 -8
  187. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  188. package/lib/components/VPagination/VPagination.js +11 -11
  189. package/lib/components/VPagination/VPagination.js.map +1 -1
  190. package/lib/components/VParallax/VParallax.js +4 -4
  191. package/lib/components/VParallax/VParallax.js.map +1 -1
  192. package/lib/components/VProgressCircular/VProgressCircular.js +12 -12
  193. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  194. package/lib/components/VProgressLinear/VProgressLinear.js +26 -26
  195. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  196. package/lib/components/VRadioGroup/VRadioGroup.js +2 -2
  197. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  198. package/lib/components/VRangeSlider/VRangeSlider.js +5 -5
  199. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  200. package/lib/components/VRating/VRating.js +14 -14
  201. package/lib/components/VRating/VRating.js.map +1 -1
  202. package/lib/components/VResponsive/VResponsive.js +9 -9
  203. package/lib/components/VResponsive/VResponsive.js.map +1 -1
  204. package/lib/components/VSelect/VSelect.js +7 -7
  205. package/lib/components/VSelect/VSelect.js.map +1 -1
  206. package/lib/components/VSelectionControl/VSelectionControl.js +11 -11
  207. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  208. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js +5 -5
  209. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.js.map +1 -1
  210. package/lib/components/VSheet/VSheet.js +3 -3
  211. package/lib/components/VSheet/VSheet.js.map +1 -1
  212. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
  213. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  214. package/lib/components/VSlideGroup/VSlideGroup.js +12 -12
  215. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  216. package/lib/components/VSlider/VSlider.js +4 -4
  217. package/lib/components/VSlider/VSlider.js.map +1 -1
  218. package/lib/components/VSlider/VSliderThumb.js +19 -19
  219. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  220. package/lib/components/VSlider/VSliderTrack.js +23 -23
  221. package/lib/components/VSlider/VSliderTrack.js.map +1 -1
  222. package/lib/components/VSnackbar/VSnackbar.js +4 -4
  223. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  224. package/lib/components/VSnackbarQueue/VSnackbarQueue.js +3 -3
  225. package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
  226. package/lib/components/VSparkline/VBarline.js +12 -12
  227. package/lib/components/VSparkline/VBarline.js.map +1 -1
  228. package/lib/components/VSparkline/VTrendline.js +8 -8
  229. package/lib/components/VSparkline/VTrendline.js.map +1 -1
  230. package/lib/components/VStepper/VStepper.js +2 -2
  231. package/lib/components/VStepper/VStepper.js.map +1 -1
  232. package/lib/components/VStepper/VStepperActions.js +2 -2
  233. package/lib/components/VStepper/VStepperActions.js.map +1 -1
  234. package/lib/components/VStepper/VStepperItem.js +10 -10
  235. package/lib/components/VStepper/VStepperItem.js.map +1 -1
  236. package/lib/components/VSwitch/VSwitch.js +10 -10
  237. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  238. package/lib/components/VSystemBar/VSystemBar.js +4 -4
  239. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  240. package/lib/components/VTable/VTable.js +8 -8
  241. package/lib/components/VTable/VTable.js.map +1 -1
  242. package/lib/components/VTabs/VTab.js +4 -4
  243. package/lib/components/VTabs/VTab.js.map +1 -1
  244. package/lib/components/VTabs/VTabs.js +2 -2
  245. package/lib/components/VTabs/VTabs.js.map +1 -1
  246. package/lib/components/VTextField/VTextField.js +12 -12
  247. package/lib/components/VTextField/VTextField.js.map +1 -1
  248. package/lib/components/VTextarea/VTextarea.js +10 -10
  249. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  250. package/lib/components/VThemeProvider/VThemeProvider.js +3 -3
  251. package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
  252. package/lib/components/VTimeline/VTimeline.js +5 -5
  253. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  254. package/lib/components/VTimeline/VTimelineDivider.js +17 -17
  255. package/lib/components/VTimeline/VTimelineDivider.js.map +1 -1
  256. package/lib/components/VTimeline/VTimelineItem.js +9 -9
  257. package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
  258. package/lib/components/VToolbar/VToolbar.js +13 -13
  259. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  260. package/lib/components/VToolbar/VToolbarItems.js +4 -4
  261. package/lib/components/VToolbar/VToolbarItems.js.map +1 -1
  262. package/lib/components/VToolbar/VToolbarTitle.js +4 -4
  263. package/lib/components/VToolbar/VToolbarTitle.js.map +1 -1
  264. package/lib/components/VVirtualScroll/VVirtualScroll.js +13 -13
  265. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  266. package/lib/components/VVirtualScroll/VVirtualScrollItem.js +3 -3
  267. package/lib/components/VVirtualScroll/VVirtualScrollItem.js.map +1 -1
  268. package/lib/components/VWindow/VWindow.js +13 -13
  269. package/lib/components/VWindow/VWindow.js.map +1 -1
  270. package/lib/components/VWindow/VWindowItem.js +6 -6
  271. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  272. package/lib/composables/filter.js +8 -8
  273. package/lib/composables/filter.js.map +1 -1
  274. package/lib/composables/icons.js +6 -6
  275. package/lib/composables/icons.js.map +1 -1
  276. package/lib/composables/loader.js +3 -3
  277. package/lib/composables/loader.js.map +1 -1
  278. package/lib/composables/variant.js +5 -5
  279. package/lib/composables/variant.js.map +1 -1
  280. package/lib/entry-bundler.js +1 -1
  281. package/lib/framework.d.ts +58 -58
  282. package/lib/framework.js +1 -1
  283. package/lib/labs/VCalendar/VCalendar.js +15 -15
  284. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  285. package/lib/labs/VCalendar/VCalendarDay.js +4 -4
  286. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  287. package/lib/labs/VCalendar/VCalendarHeader.js +4 -4
  288. package/lib/labs/VCalendar/VCalendarHeader.js.map +1 -1
  289. package/lib/labs/VCalendar/VCalendarInterval.js +10 -10
  290. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  291. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +2 -2
  292. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  293. package/lib/labs/VCalendar/VCalendarMonthDay.js +6 -6
  294. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  295. package/lib/labs/VColorInput/VColorInput.js +3 -3
  296. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  297. package/lib/labs/VDateInput/VDateInput.js +2 -2
  298. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  299. package/lib/labs/VFileUpload/VFileUpload.js +9 -9
  300. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  301. package/lib/labs/VFileUpload/VFileUploadItem.js +3 -3
  302. package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
  303. package/lib/labs/VIconBtn/VIconBtn.js +7 -7
  304. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  305. package/lib/labs/VPicker/VPicker.js +7 -7
  306. package/lib/labs/VPicker/VPicker.js.map +1 -1
  307. package/lib/labs/VPullToRefresh/VPullToRefresh.js +13 -13
  308. package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
  309. package/lib/labs/VStepperVertical/VStepperVertical.js +2 -2
  310. package/lib/labs/VStepperVertical/VStepperVertical.js.map +1 -1
  311. package/lib/labs/VStepperVertical/VStepperVerticalItem.js +5 -5
  312. package/lib/labs/VStepperVertical/VStepperVerticalItem.js.map +1 -1
  313. package/lib/labs/VTimePicker/VTimePicker.js +2 -2
  314. package/lib/labs/VTimePicker/VTimePicker.js.map +1 -1
  315. package/lib/labs/VTimePicker/VTimePickerClock.js +15 -15
  316. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  317. package/lib/labs/VTimePicker/VTimePickerControls.js +24 -24
  318. package/lib/labs/VTimePicker/VTimePickerControls.js.map +1 -1
  319. package/lib/labs/VTreeview/VTreeviewChildren.js +2 -2
  320. package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
  321. package/lib/labs/VTreeview/VTreeviewGroup.js +2 -2
  322. package/lib/labs/VTreeview/VTreeviewGroup.js.map +1 -1
  323. package/lib/labs/VTreeview/VTreeviewItem.js +3 -3
  324. package/lib/labs/VTreeview/VTreeviewItem.js.map +1 -1
  325. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","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","class","loading","loader","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","tabindex","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', '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 centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\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 ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\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': (value: 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 const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.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) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\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--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\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 roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\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' : (typeof props.loading === 'string' ? props.loading : 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\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\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 id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\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 <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1,\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n tabindex={ -1 }\n />\n )}\n </VDefaultsProvider>\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\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.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 { isPlainOrUnderlined.value && hasFloatingLabel.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 fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","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","_createElementVNode","_mergeProps","class","_createVNode","loading","loader","_normalizeClass","_normalizeStyle","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","tabindex","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', '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 centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\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 ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\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': (value: 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 const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.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) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\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--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\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 roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\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' : (typeof props.loading === 'string' ? props.loading : 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\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\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 id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\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 <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1,\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n tabindex={ -1 }\n />\n )}\n </VDefaultsProvider>\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\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.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 { isPlainOrUnderlined.value && hasFloatingLabel.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 fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { VLabel } from "../VLabel/index.js"; // Composables
4
4
  import { makeComponentProps } from "../../composables/component.js"; // Utilities
@@ -15,10 +15,10 @@ export const VFieldLabel = genericComponent()({
15
15
  slots
16
16
  } = _ref;
17
17
  useRender(() => _createVNode(VLabel, {
18
- "class": ['v-field-label', {
18
+ "class": _normalizeClass(['v-field-label', {
19
19
  'v-field-label--floating': props.floating
20
- }, props.class],
21
- "style": props.style,
20
+ }, props.class]),
21
+ "style": _normalizeStyle(props.style),
22
22
  "aria-hidden": props.floating || undefined
23
23
  }, slots));
24
24
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"VFieldLabel.js","names":["VLabel","makeComponentProps","genericComponent","propsFactory","useRender","makeVFieldLabelProps","floating","Boolean","VFieldLabel","name","props","setup","_ref","slots","_createVNode","class","style","undefined"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n\n ...makeComponentProps(),\n}, 'VFieldLabel')\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: makeVFieldLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n props.class,\n ]}\n style={ props.style }\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,8BAEf;AAAA,SACSC,kBAAkB,0CAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,QAAQ,EAAEC,OAAO;EAEjB,GAAGN,kBAAkB,CAAC;AACxB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMO,WAAW,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,oBAAoB,CAAC,CAAC;EAE7BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAd,MAAA;MAAA,SAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEU,KAAK,CAACJ;MAAS,CAAC,EAC7CI,KAAK,CAACK,KAAK,CACZ;MAAA,SACOL,KAAK,CAACM,KAAK;MAAA,eACLN,KAAK,CAACJ,QAAQ,IAAIW;IAAS,GAC/BJ,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VFieldLabel.js","names":["VLabel","makeComponentProps","genericComponent","propsFactory","useRender","makeVFieldLabelProps","floating","Boolean","VFieldLabel","name","props","setup","_ref","slots","_createVNode","_normalizeClass","class","_normalizeStyle","style","undefined"],"sources":["../../../src/components/VField/VFieldLabel.tsx"],"sourcesContent":["// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n\n ...makeComponentProps(),\n}, 'VFieldLabel')\n\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n\n props: makeVFieldLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n props.class,\n ]}\n style={ props.style }\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,8BAEf;AAAA,SACSC,kBAAkB,0CAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,QAAQ,EAAEC,OAAO;EAEjB,GAAGN,kBAAkB,CAAC;AACxB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMO,WAAW,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EAC5CO,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,oBAAoB,CAAC,CAAC;EAE7BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAd,MAAA;MAAA,SAAAe,eAAA,CAEC,CACL,eAAe,EACf;QAAE,yBAAyB,EAAEL,KAAK,CAACJ;MAAS,CAAC,EAC7CI,KAAK,CAACM,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOP,KAAK,CAACQ,KAAK;MAAA,eACLR,KAAK,CAACJ,QAAQ,IAAIa;IAAS,GAC/BN,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Fragment as _Fragment, mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { Fragment as _Fragment, mergeProps as _mergeProps, createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass } from "vue";
2
2
  // Styles
3
3
  import "./VFileInput.css";
4
4
 
@@ -210,7 +210,7 @@ export const VFileInput = genericComponent()({
210
210
  ...slotProps
211
211
  }
212
212
  } = _ref4;
213
- return _createVNode(_Fragment, null, [_createVNode("input", _mergeProps({
213
+ return _createElementVNode(_Fragment, null, [_createElementVNode("input", _mergeProps({
214
214
  "ref": inputRef,
215
215
  "type": "file",
216
216
  "readonly": isReadonly.value,
@@ -230,8 +230,8 @@ export const VFileInput = genericComponent()({
230
230
  "onDragleave": onDragleave,
231
231
  "onFocus": onFocus,
232
232
  "onBlur": blur
233
- }, slotProps, inputAttrs), null), _createVNode("div", {
234
- "class": fieldClass
233
+ }, slotProps, inputAttrs), null), _createElementVNode("div", {
234
+ "class": _normalizeClass(fieldClass)
235
235
  }, [!!model.value?.length && !props.hideInput && (slots.selection ? slots.selection({
236
236
  fileNames: fileNames.value,
237
237
  totalBytes: totalBytes.value,
@@ -244,7 +244,7 @@ export const VFileInput = genericComponent()({
244
244
  }
245
245
  });
246
246
  },
247
- details: hasDetails ? slotProps => _createVNode(_Fragment, null, [slots.details?.(slotProps), hasCounter && _createVNode(_Fragment, null, [_createVNode("span", null, null), _createVNode(VCounter, {
247
+ details: hasDetails ? slotProps => _createElementVNode(_Fragment, null, [slots.details?.(slotProps), hasCounter && _createElementVNode(_Fragment, null, [_createElementVNode("span", null, null), _createVNode(VCounter, {
248
248
  "active": !!model.value?.length,
249
249
  "value": counterValue.value,
250
250
  "disabled": props.disabled
@@ -1 +1 @@
1
- {"version":3,"file":"VFileInput.js","names":["VChip","VCounter","VField","makeVFieldProps","makeVInputProps","VInput","useFocus","forwardRefs","useLocale","useProxiedModel","computed","nextTick","ref","shallowRef","toRef","watch","callEvent","filterInputAttrs","genericComponent","humanReadableFileSize","propsFactory","useRender","wrapInArray","makeVFileInputProps","chips","Boolean","counter","counterSizeString","type","String","default","counterString","hideInput","multiple","showSize","Number","validator","v","includes","prependIcon","modelValue","Array","Object","props","val","every","clearable","VFileInput","name","inheritAttrs","emits","e","focused","files","setup","_ref","attrs","emit","slots","t","model","isArray","isFocused","focus","blur","base","undefined","totalBytes","value","reduce","bytes","_ref2","size","totalBytesReadable","fileNames","map","file","counterValue","fileCount","length","vInputRef","vFieldRef","inputRef","isActive","active","isPlainOrUnderlined","variant","isDragging","onFocus","document","activeElement","onClickPrepend","click","onControlMousedown","onControlClick","onClear","stopPropagation","onDragover","preventDefault","stopImmediatePropagation","onDragleave","onDrop","dataTransfer","DataTransfer","items","add","dispatchEvent","Event","bubbles","newValue","hasModelReset","hasCounter","hasDetails","details","rootAttrs","inputAttrs","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","class","style","_ref3","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref4","fieldClass","slotProps","_Fragment","target","selection","text","join","disabled"],"sources":["../../../src/components/VFileInput/VFileInput.tsx"],"sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\nimport { makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, shallowRef, toRef, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & {\n counter: never\n selection: {\n fileNames: string[]\n totalBytes: number\n totalBytesReadable: string\n }\n}\n\nexport const makeVFileInputProps = propsFactory({\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 hideInput: Boolean,\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number, String] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(Number(v))\n )\n },\n },\n\n ...makeVInputProps({ prependIcon: '$file' }),\n\n modelValue: {\n type: [Array, Object] as PropType<File[] | File | null>,\n default: (props: any) => props.multiple ? [] : null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n}, 'VFileInput')\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: makeVFileInputProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (files: File | File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (!props.multiple && Array.isArray(val)) ? val[0] : val,\n )\n const { isFocused, focus, blur } = useFocus(props)\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 inputRef = ref<HTMLInputElement>()\n const isActive = toRef(() => isFocused.value || props.active)\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const isDragging = shallowRef(false)\n\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onClickPrepend (e: MouseEvent) {\n inputRef.value?.click()\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 function onDragover (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n isDragging.value = true\n }\n function onDragleave (e: DragEvent) {\n e.preventDefault()\n isDragging.value = false\n }\n function onDrop (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n isDragging.value = false\n\n if (!e.dataTransfer?.files?.length || !inputRef.value) return\n\n const dataTransfer = new DataTransfer()\n\n for (const file of e.dataTransfer.files) {\n dataTransfer.items.add(file)\n }\n\n inputRef.value.files = dataTransfer.files\n inputRef.value.dispatchEvent(new Event('change', { bubbles: true }))\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 } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n modelValue={ props.multiple ? model.value : model.value[0] }\n class={[\n 'v-file-input',\n {\n 'v-file-input--chips': !!props.chips,\n 'v-file-input--dragging': isDragging.value,\n 'v-file-input--hide': props.hideInput,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n onClick:prepend={ onClickPrepend }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.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={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n onDragover={ onDragover }\n onDrop={ onDrop }\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 if (isReadonly.value) e.preventDefault()\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 onDragleave={ onDragleave }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && !props.hideInput && (\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 text={ text }\n />\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 disabled={ props.disabled }\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":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFileInput.js","names":["VChip","VCounter","VField","makeVFieldProps","makeVInputProps","VInput","useFocus","forwardRefs","useLocale","useProxiedModel","computed","nextTick","ref","shallowRef","toRef","watch","callEvent","filterInputAttrs","genericComponent","humanReadableFileSize","propsFactory","useRender","wrapInArray","makeVFileInputProps","chips","Boolean","counter","counterSizeString","type","String","default","counterString","hideInput","multiple","showSize","Number","validator","v","includes","prependIcon","modelValue","Array","Object","props","val","every","clearable","VFileInput","name","inheritAttrs","emits","e","focused","files","setup","_ref","attrs","emit","slots","t","model","isArray","isFocused","focus","blur","base","undefined","totalBytes","value","reduce","bytes","_ref2","size","totalBytesReadable","fileNames","map","file","counterValue","fileCount","length","vInputRef","vFieldRef","inputRef","isActive","active","isPlainOrUnderlined","variant","isDragging","onFocus","document","activeElement","onClickPrepend","click","onControlMousedown","onControlClick","onClear","stopPropagation","onDragover","preventDefault","stopImmediatePropagation","onDragleave","onDrop","dataTransfer","DataTransfer","items","add","dispatchEvent","Event","bubbles","newValue","hasModelReset","hasCounter","hasDetails","details","rootAttrs","inputAttrs","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","class","style","_ref3","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref4","fieldClass","slotProps","_createElementVNode","_Fragment","target","_normalizeClass","selection","text","join","disabled"],"sources":["../../../src/components/VFileInput/VFileInput.tsx"],"sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\nimport { makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, shallowRef, toRef, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & {\n counter: never\n selection: {\n fileNames: string[]\n totalBytes: number\n totalBytesReadable: string\n }\n}\n\nexport const makeVFileInputProps = propsFactory({\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 hideInput: Boolean,\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number, String] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(Number(v))\n )\n },\n },\n\n ...makeVInputProps({ prependIcon: '$file' }),\n\n modelValue: {\n type: [Array, Object] as PropType<File[] | File | null>,\n default: (props: any) => props.multiple ? [] : null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n}, 'VFileInput')\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: makeVFileInputProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (files: File | File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (!props.multiple && Array.isArray(val)) ? val[0] : val,\n )\n const { isFocused, focus, blur } = useFocus(props)\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 inputRef = ref<HTMLInputElement>()\n const isActive = toRef(() => isFocused.value || props.active)\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const isDragging = shallowRef(false)\n\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onClickPrepend (e: MouseEvent) {\n inputRef.value?.click()\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 function onDragover (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n isDragging.value = true\n }\n function onDragleave (e: DragEvent) {\n e.preventDefault()\n isDragging.value = false\n }\n function onDrop (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n isDragging.value = false\n\n if (!e.dataTransfer?.files?.length || !inputRef.value) return\n\n const dataTransfer = new DataTransfer()\n\n for (const file of e.dataTransfer.files) {\n dataTransfer.items.add(file)\n }\n\n inputRef.value.files = dataTransfer.files\n inputRef.value.dispatchEvent(new Event('change', { bubbles: true }))\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 } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n modelValue={ props.multiple ? model.value : model.value[0] }\n class={[\n 'v-file-input',\n {\n 'v-file-input--chips': !!props.chips,\n 'v-file-input--dragging': isDragging.value,\n 'v-file-input--hide': props.hideInput,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n onClick:prepend={ onClickPrepend }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.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={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n onDragover={ onDragover }\n onDrop={ onDrop }\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 if (isReadonly.value) e.preventDefault()\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 onDragleave={ onDragleave }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && !props.hideInput && (\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 text={ text }\n />\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 disabled={ props.disabled }\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":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VFooter.css";
4
4
 
@@ -80,10 +80,10 @@ export const VFooter = genericComponent()({
80
80
  });
81
81
  useRender(() => _createVNode(props.tag, {
82
82
  "ref": resizeRef,
83
- "class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
84
- "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
83
+ "class": _normalizeClass(['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class]),
84
+ "style": _normalizeStyle([backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
85
85
  height: convertToUnit(props.height)
86
- }, props.style]
86
+ }, props.style])
87
87
  }, slots));
88
88
  return {};
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VFooter.js","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","layoutItemStyles","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layout","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const layoutItemStyles = ref()\n\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: toRef(() => props.app),\n absolute: toRef(() => props.absolute),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFooter.js","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","layoutItemStyles","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layout","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","_normalizeClass","class","_normalizeStyle","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const layoutItemStyles = ref()\n\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: toRef(() => props.app),\n absolute: toRef(() => props.absolute),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from "vue";
2
2
  // Composables
3
3
  import { makeComponentProps } from "../../composables/component.js";
4
4
  import { createForm, makeFormProps } from "../../composables/form.js";
@@ -46,10 +46,10 @@ export const VForm = genericComponent()({
46
46
  }
47
47
  e.preventDefault();
48
48
  }
49
- useRender(() => _createVNode("form", {
49
+ useRender(() => _createElementVNode("form", {
50
50
  "ref": formRef,
51
- "class": ['v-form', props.class],
52
- "style": props.style,
51
+ "class": _normalizeClass(['v-form', props.class]),
52
+ "style": _normalizeStyle(props.style),
53
53
  "novalidate": true,
54
54
  "onReset": onReset,
55
55
  "onSubmit": onSubmit
@@ -1 +1 @@
1
- {"version":3,"file":"VForm.js","names":["makeComponentProps","createForm","makeFormProps","forwardRefs","ref","genericComponent","propsFactory","useRender","makeVFormProps","VForm","name","props","emits","val","submit","e","setup","_ref","slots","emit","form","formRef","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_createVNode","class","style","default"],"sources":["../../../src/components/VForm/VForm.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const makeVFormProps = propsFactory({\n ...makeComponentProps(),\n ...makeFormProps(),\n}, 'VForm')\n\ntype VFormSlots = {\n default: ReturnType<typeof createForm>\n}\n\nexport const VForm = genericComponent<VFormSlots>()({\n name: 'VForm',\n\n props: makeVFormProps(),\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class={[\n 'v-form',\n props.class,\n ]}\n style={ props.style }\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,UAAU,EAAEC,aAAa;AAAA,SACzBC,WAAW,4CAEpB;AACA,SAASC,GAAG,QAAQ,KAAK;AAAA,SAChBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAElD;AAGA,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzC,GAAGN,kBAAkB,CAAC,CAAC;EACvB,GAAGE,aAAa,CAAC;AACnB,CAAC,EAAE,OAAO,CAAC;AAMX,OAAO,MAAMO,KAAK,GAAGJ,gBAAgB,CAAa,CAAC,CAAC;EAClDK,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEH,cAAc,CAAC,CAAC;EAEvBI,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAmB,IAAK,IAAI;IAClDC,MAAM,EAAGC,CAAqB,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAMG,IAAI,GAAGnB,UAAU,CAACU,KAAK,CAAC;IAC9B,MAAMU,OAAO,GAAGjB,GAAG,CAAkB,CAAC;IAEtC,SAASkB,OAAOA,CAAEP,CAAQ,EAAE;MAC1BA,CAAC,CAACQ,cAAc,CAAC,CAAC;MAClBH,IAAI,CAACI,KAAK,CAAC,CAAC;IACd;IAEA,SAASC,QAAQA,CAAEC,EAAS,EAAE;MAC5B,MAAMX,CAAC,GAAGW,EAAwB;MAElC,MAAMC,KAAK,GAAGP,IAAI,CAACQ,QAAQ,CAAC,CAAC;MAC7Bb,CAAC,CAACc,IAAI,GAAGF,KAAK,CAACE,IAAI,CAACC,IAAI,CAACH,KAAK,CAAC;MAC/BZ,CAAC,CAACgB,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACD,IAAI,CAACH,KAAK,CAAC;MACjCZ,CAAC,CAACiB,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACF,IAAI,CAACH,KAAK,CAAC;MAErCR,IAAI,CAAC,QAAQ,EAAEJ,CAAC,CAAC;MAEjB,IAAI,CAACA,CAAC,CAACkB,gBAAgB,EAAE;QACvBN,KAAK,CAACE,IAAI,CAACK,KAAA,IAAe;UAAA,IAAd;YAAEC;UAAM,CAAC,GAAAD,KAAA;UACnB,IAAIC,KAAK,EAAE;YACTd,OAAO,CAACe,KAAK,EAAEtB,MAAM,CAAC,CAAC;UACzB;QACF,CAAC,CAAC;MACJ;MAEAC,CAAC,CAACQ,cAAc,CAAC,CAAC;IACpB;IAEAhB,SAAS,CAAC,MAAA8B,YAAA;MAAA,OAEAhB,OAAO;MAAA,SACN,CACL,QAAQ,EACRV,KAAK,CAAC2B,KAAK,CACZ;MAAA,SACO3B,KAAK,CAAC4B,KAAK;MAAA;MAAA,WAETjB,OAAO;MAAA,YACNG;IAAQ,IAEjBP,KAAK,CAACsB,OAAO,GAAGpB,IAAI,CAAC,EAEzB,CAAC;IAEH,OAAOjB,WAAW,CAACiB,IAAI,EAAEC,OAAO,CAAC;EACnC;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VForm.js","names":["makeComponentProps","createForm","makeFormProps","forwardRefs","ref","genericComponent","propsFactory","useRender","makeVFormProps","VForm","name","props","emits","val","submit","e","setup","_ref","slots","emit","form","formRef","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","default"],"sources":["../../../src/components/VForm/VForm.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const makeVFormProps = propsFactory({\n ...makeComponentProps(),\n ...makeFormProps(),\n}, 'VForm')\n\ntype VFormSlots = {\n default: ReturnType<typeof createForm>\n}\n\nexport const VForm = genericComponent<VFormSlots>()({\n name: 'VForm',\n\n props: makeVFormProps(),\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class={[\n 'v-form',\n props.class,\n ]}\n style={ props.style }\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,UAAU,EAAEC,aAAa;AAAA,SACzBC,WAAW,4CAEpB;AACA,SAASC,GAAG,QAAQ,KAAK;AAAA,SAChBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAElD;AAGA,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzC,GAAGN,kBAAkB,CAAC,CAAC;EACvB,GAAGE,aAAa,CAAC;AACnB,CAAC,EAAE,OAAO,CAAC;AAMX,OAAO,MAAMO,KAAK,GAAGJ,gBAAgB,CAAa,CAAC,CAAC;EAClDK,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEH,cAAc,CAAC,CAAC;EAEvBI,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAmB,IAAK,IAAI;IAClDC,MAAM,EAAGC,CAAqB,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAMG,IAAI,GAAGnB,UAAU,CAACU,KAAK,CAAC;IAC9B,MAAMU,OAAO,GAAGjB,GAAG,CAAkB,CAAC;IAEtC,SAASkB,OAAOA,CAAEP,CAAQ,EAAE;MAC1BA,CAAC,CAACQ,cAAc,CAAC,CAAC;MAClBH,IAAI,CAACI,KAAK,CAAC,CAAC;IACd;IAEA,SAASC,QAAQA,CAAEC,EAAS,EAAE;MAC5B,MAAMX,CAAC,GAAGW,EAAwB;MAElC,MAAMC,KAAK,GAAGP,IAAI,CAACQ,QAAQ,CAAC,CAAC;MAC7Bb,CAAC,CAACc,IAAI,GAAGF,KAAK,CAACE,IAAI,CAACC,IAAI,CAACH,KAAK,CAAC;MAC/BZ,CAAC,CAACgB,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACD,IAAI,CAACH,KAAK,CAAC;MACjCZ,CAAC,CAACiB,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACF,IAAI,CAACH,KAAK,CAAC;MAErCR,IAAI,CAAC,QAAQ,EAAEJ,CAAC,CAAC;MAEjB,IAAI,CAACA,CAAC,CAACkB,gBAAgB,EAAE;QACvBN,KAAK,CAACE,IAAI,CAACK,KAAA,IAAe;UAAA,IAAd;YAAEC;UAAM,CAAC,GAAAD,KAAA;UACnB,IAAIC,KAAK,EAAE;YACTd,OAAO,CAACe,KAAK,EAAEtB,MAAM,CAAC,CAAC;UACzB;QACF,CAAC,CAAC;MACJ;MAEAC,CAAC,CAACQ,cAAc,CAAC,CAAC;IACpB;IAEAhB,SAAS,CAAC,MAAA8B,mBAAA;MAAA,OAEAhB,OAAO;MAAA,SAAAiB,eAAA,CACN,CACL,QAAQ,EACR3B,KAAK,CAAC4B,KAAK,CACZ;MAAA,SAAAC,eAAA,CACO7B,KAAK,CAAC8B,KAAK;MAAA;MAAA,WAETnB,OAAO;MAAA,YACNG;IAAQ,IAEjBP,KAAK,CAACwB,OAAO,GAAGtB,IAAI,CAAC,EAEzB,CAAC;IAEH,OAAOjB,WAAW,CAACiB,IAAI,EAAEC,OAAO,CAAC;EACnC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VGrid.css";
4
4
 
@@ -31,10 +31,10 @@ export const VContainer = genericComponent()({
31
31
  dimensionStyles
32
32
  } = useDimension(props);
33
33
  useRender(() => _createVNode(props.tag, {
34
- "class": ['v-container', {
34
+ "class": _normalizeClass(['v-container', {
35
35
  'v-container--fluid': props.fluid
36
- }, rtlClasses.value, props.class],
37
- "style": [dimensionStyles.value, props.style]
36
+ }, rtlClasses.value, props.class]),
37
+ "style": _normalizeStyle([dimensionStyles.value, props.style])
38
38
  }, slots));
39
39
  return {};
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VContainer.js","names":["makeComponentProps","makeDimensionProps","useDimension","useRtl","makeTagProps","genericComponent","propsFactory","useRender","makeVContainerProps","fluid","type","Boolean","default","VContainer","name","props","setup","_ref","slots","rtlClasses","dimensionStyles","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VGrid/VContainer.tsx"],"sourcesContent":["// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps(),\n}, 'VContainer')\n\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n\n props: makeVContainerProps(),\n\n setup (props, { slots }) {\n const { rtlClasses } = useRtl()\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n rtlClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType<typeof VContainer>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,MAAM;AAAA,SACNC,YAAY,oCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,KAAK,EAAE;IACLC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAE;EACX,CAAC;EAED,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGG,YAAY,CAAC;AAClB,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMS,UAAU,GAAGR,gBAAgB,CAAC,CAAC,CAAC;EAC3CS,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEP,mBAAmB,CAAC,CAAC;EAE5BQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAW,CAAC,GAAGhB,MAAM,CAAC,CAAC;IAC/B,MAAM;MAAEiB;IAAgB,CAAC,GAAGlB,YAAY,CAACa,KAAK,CAAC;IAE/CR,SAAS,CAAC,MAAAc,YAAA,CAAAN,KAAA,CAAAO,GAAA;MAAA,SAEC,CACL,aAAa,EACb;QAAE,oBAAoB,EAAEP,KAAK,CAACN;MAAM,CAAC,EACrCU,UAAU,CAACI,KAAK,EAChBR,KAAK,CAACS,KAAK,CACZ;MAAA,SACM,CACLJ,eAAe,CAACG,KAAK,EACrBR,KAAK,CAACU,KAAK;IACZ,GACSP,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VContainer.js","names":["makeComponentProps","makeDimensionProps","useDimension","useRtl","makeTagProps","genericComponent","propsFactory","useRender","makeVContainerProps","fluid","type","Boolean","default","VContainer","name","props","setup","_ref","slots","rtlClasses","dimensionStyles","_createVNode","tag","_normalizeClass","value","class","_normalizeStyle","style"],"sources":["../../../src/components/VGrid/VContainer.tsx"],"sourcesContent":["// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps(),\n}, 'VContainer')\n\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n\n props: makeVContainerProps(),\n\n setup (props, { slots }) {\n const { rtlClasses } = useRtl()\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n rtlClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType<typeof VContainer>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,MAAM;AAAA,SACNC,YAAY,oCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,KAAK,EAAE;IACLC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAE;EACX,CAAC;EAED,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGG,YAAY,CAAC;AAClB,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMS,UAAU,GAAGR,gBAAgB,CAAC,CAAC,CAAC;EAC3CS,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEP,mBAAmB,CAAC,CAAC;EAE5BQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAW,CAAC,GAAGhB,MAAM,CAAC,CAAC;IAC/B,MAAM;MAAEiB;IAAgB,CAAC,GAAGlB,YAAY,CAACa,KAAK,CAAC;IAE/CR,SAAS,CAAC,MAAAc,YAAA,CAAAN,KAAA,CAAAO,GAAA;MAAA,SAAAC,eAAA,CAEC,CACL,aAAa,EACb;QAAE,oBAAoB,EAAER,KAAK,CAACN;MAAM,CAAC,EACrCU,UAAU,CAACK,KAAK,EAChBT,KAAK,CAACU,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACLN,eAAe,CAACI,KAAK,EACrBT,KAAK,CAACY,KAAK,CACZ;IAAA,GACST,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VIcon.css";
4
4
 
@@ -56,19 +56,19 @@ export const VIcon = genericComponent()({
56
56
  return _createVNode(iconData.value.component, {
57
57
  "tag": props.tag,
58
58
  "icon": iconData.value.icon,
59
- "class": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
59
+ "class": _normalizeClass(['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {
60
60
  'v-icon--clickable': hasClick,
61
61
  'v-icon--disabled': props.disabled,
62
62
  'v-icon--start': props.start,
63
63
  'v-icon--end': props.end
64
- }, props.class],
65
- "style": [{
64
+ }, props.class]),
65
+ "style": _normalizeStyle([{
66
66
  '--v-icon-opacity': props.opacity
67
67
  }, !sizeClasses.value ? {
68
68
  fontSize: convertToUnit(props.size),
69
69
  height: convertToUnit(props.size),
70
70
  width: convertToUnit(props.size)
71
- } : undefined, textColorStyles.value, props.style],
71
+ } : undefined, textColorStyles.value, props.style]),
72
72
  "role": hasClick ? 'button' : undefined,
73
73
  "aria-hidden": !hasClick,
74
74
  "tabindex": hasClick ? props.disabled ? -1 : 0 : undefined
@@ -1 +1 @@
1
- {"version":3,"file":"VIcon.js","names":["useTextColor","makeComponentProps","IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","useTheme","shallowRef","Text","convertToUnit","flattenFragments","genericComponent","propsFactory","useRender","makeVIconProps","color","String","disabled","Boolean","start","end","icon","opacity","Number","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","themeClasses","iconData","value","sizeClasses","textColorClasses","textColorStyles","slotValue","default","filter","node","type","children","hasClick","onClick","onClickOnce","_createVNode","component","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { shallowRef, Text } from 'vue'\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n opacity: [String, Number],\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'VIcon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = shallowRef<string>()\n\n const { themeClasses } = useTheme()\n const { iconData } = useIcon(() => slotIcon.value || props.icon)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce)\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n {\n '--v-icon-opacity': props.opacity,\n },\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ hasClick ? 'button' : undefined }\n aria-hidden={ !hasClick }\n tabindex={ hasClick ? props.disabled ? -1 : 0 : undefined }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VIcon.js","names":["useTextColor","makeComponentProps","IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","useTheme","shallowRef","Text","convertToUnit","flattenFragments","genericComponent","propsFactory","useRender","makeVIconProps","color","String","disabled","Boolean","start","end","icon","opacity","Number","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","themeClasses","iconData","value","sizeClasses","textColorClasses","textColorStyles","slotValue","default","filter","node","type","children","hasClick","onClick","onClickOnce","_createVNode","component","_normalizeClass","class","_normalizeStyle","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { shallowRef, Text } from 'vue'\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n opacity: [String, Number],\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'VIcon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = shallowRef<string>()\n\n const { themeClasses } = useTheme()\n const { iconData } = useIcon(() => slotIcon.value || props.icon)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce)\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n {\n '--v-icon-opacity': props.opacity,\n },\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ hasClick ? 'button' : undefined }\n aria-hidden={ !hasClick }\n tabindex={ hasClick ? props.disabled ? -1 : 0 : undefined }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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","ignoreList":[]}