@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":"VCalendarInterval.js","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","inheritAttrs","props","index","required","setup","_ref","attrs","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createVNode","_mergeProps","intervalTitle","value","some","intervalBody","event","intervalEvent","_ref2","height","margin","eventClass","_ref3"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\ntype Interval = {\n label: string\n start: unknown\n end: unknown\n events: any[]\n}\n\nexport type VCalendarIntervalSlots = {\n intervalBody: { interval: Interval }\n intervalEvent: {\n height: string\n margin: string\n eventClass: string\n event: any\n interval: Interval\n }\n intervalTitle: { interval: Interval }\n}\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent<VCalendarIntervalSlots>()({\n name: 'VCalendarInterval',\n\n inheritAttrs: false,\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div\n class=\"v-calendar-day__row-label\"\n { ...getPrefixedEventHandlers(attrs, ':time', () => props) }\n >\n {\n slots.intervalTitle?.({ interval: interval.value }) ?? (\n props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : '12 AM'\n )\n }\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n <div>\n {\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n }\n </div>\n )\n }\n </div>\n </div>\n ) : (\n <div\n class=\"v-calendar-day__row-without-label\"\n style={ `height: ${convertToUnit(props.intervalHeight)}` }\n >\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through' : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n )\n }\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarInterval.js","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","inheritAttrs","props","index","required","setup","_ref","attrs","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createElementVNode","_normalizeStyle","_mergeProps","intervalTitle","value","some","intervalBody","event","_createVNode","intervalEvent","_ref2","height","margin","eventClass","_ref3"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\ntype Interval = {\n label: string\n start: unknown\n end: unknown\n events: any[]\n}\n\nexport type VCalendarIntervalSlots = {\n intervalBody: { interval: Interval }\n intervalEvent: {\n height: string\n margin: string\n eventClass: string\n event: any\n interval: Interval\n }\n intervalTitle: { interval: Interval }\n}\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent<VCalendarIntervalSlots>()({\n name: 'VCalendarInterval',\n\n inheritAttrs: false,\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div\n class=\"v-calendar-day__row-label\"\n { ...getPrefixedEventHandlers(attrs, ':time', () => props) }\n >\n {\n slots.intervalTitle?.({ interval: interval.value }) ?? (\n props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : '12 AM'\n )\n }\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n <div>\n {\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n }\n </div>\n )\n }\n </div>\n </div>\n ) : (\n <div\n class=\"v-calendar-day__row-without-label\"\n style={ `height: ${convertToUnit(props.intervalHeight)}` }\n >\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through' : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n )\n }\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, createElementVNode as _createElementVNode } from "vue";
2
2
  // Styles
3
3
  import "./VCalendarIntervalEvent.css";
4
4
 
@@ -68,7 +68,7 @@ export const VCalendarIntervalEvent = genericComponent()({
68
68
  }
69
69
  };
70
70
  useRender(() => {
71
- return _createVNode("div", null, [slots.intervalEvent?.({
71
+ return _createElementVNode("div", null, [slots.intervalEvent?.({
72
72
  height: calcHeight().height,
73
73
  margin: calcHeight().margin,
74
74
  eventClass: 'v-calendar-internal-event',
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarIntervalEvent.js","names":["VSheet","useDate","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","inheritAttrs","props","setup","_ref","attrs","emit","slots","adapter","calcHeight","first","last","isEqual","end","height","margin","Array","from","length","_","x","reduce","total","div","index","isBefore","addMinutes","start","_createVNode","intervalEvent","eventClass","_mergeProps","color","undefined","day","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\nexport type VCalendarIntervalEventSlots = {\n intervalEvent: { height: string, margin: string, eventClass: string, event: any, interval: any }\n}\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent<VCalendarIntervalEventSlots>()({\n name: 'VCalendarIntervalEvent',\n\n inheritAttrs: false,\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.end, props.interval?.end)) {\n return { height: `${props.intervalHeight}px`, margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (_, x: number) => (x + 1) * (props.intervalDuration / props.intervalDivisions)\n )\n .reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <div>\n {\n slots.intervalEvent?.({\n height: calcHeight().height,\n margin: calcHeight().margin,\n eventClass: 'v-calendar-internal-event',\n event: props.event,\n interval: props.interval,\n }) ?? (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={\n props.event?.first && props.event?.last ? true\n : props.event?.first ? 't'\n : props.event?.last ? 'b'\n : false\n }\n { ...getPrefixedEventHandlers(attrs, ':event', () => ({\n event: props.event,\n allDay: false,\n day: null,\n interval: props.interval,\n intervalDivisions: props.intervalDivisions,\n intervalDuration: props.intervalDuration,\n intervalHeight: props.intervalHeight,\n }))}\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n }\n </div>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarIntervalEvent.js","names":["VSheet","useDate","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","inheritAttrs","props","setup","_ref","attrs","emit","slots","adapter","calcHeight","first","last","isEqual","end","height","margin","Array","from","length","_","x","reduce","total","div","index","isBefore","addMinutes","start","_createElementVNode","intervalEvent","eventClass","_createVNode","_mergeProps","color","undefined","day","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\nexport type VCalendarIntervalEventSlots = {\n intervalEvent: { height: string, margin: string, eventClass: string, event: any, interval: any }\n}\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent<VCalendarIntervalEventSlots>()({\n name: 'VCalendarIntervalEvent',\n\n inheritAttrs: false,\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.end, props.interval?.end)) {\n return { height: `${props.intervalHeight}px`, margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (_, x: number) => (x + 1) * (props.intervalDuration / props.intervalDivisions)\n )\n .reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <div>\n {\n slots.intervalEvent?.({\n height: calcHeight().height,\n margin: calcHeight().margin,\n eventClass: 'v-calendar-internal-event',\n event: props.event,\n interval: props.interval,\n }) ?? (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={\n props.event?.first && props.event?.last ? true\n : props.event?.first ? 't'\n : props.event?.last ? 'b'\n : false\n }\n { ...getPrefixedEventHandlers(attrs, ':event', () => ({\n event: props.event,\n allDay: false,\n day: null,\n interval: props.interval,\n intervalDivisions: props.intervalDivisions,\n intervalDuration: props.intervalDuration,\n intervalHeight: props.intervalHeight,\n }))}\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n }\n </div>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, createElementVNode as _createElementVNode } from "vue";
2
2
  // Styles
3
3
  import "./VCalendarMonthDay.css";
4
4
 
@@ -26,9 +26,9 @@ export const VCalendarMonthDay = genericComponent()({
26
26
  slots
27
27
  } = _ref;
28
28
  useRender(() => {
29
- return _createVNode("div", _mergeProps({
29
+ return _createElementVNode("div", _mergeProps({
30
30
  "class": ['v-calendar-month__day']
31
- }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? _createVNode("div", {
31
+ }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? _createElementVNode("div", {
32
32
  "key": "title",
33
33
  "class": "v-calendar-weekly__day-label"
34
34
  }, [slots.dayTitle?.({
@@ -41,13 +41,13 @@ export const VCalendarMonthDay = genericComponent()({
41
41
  "size": "x-small",
42
42
  "variant": props.day?.isToday ? undefined : 'flat',
43
43
  "text": `${props.title}`
44
- }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? _createVNode("div", {
44
+ }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? _createElementVNode("div", {
45
45
  "key": "content",
46
46
  "class": "v-calendar-weekly__day-content"
47
47
  }, [slots.dayBody?.({
48
48
  day: props.day,
49
49
  events: props.events
50
- }) ?? _createVNode("div", null, [_createVNode("div", {
50
+ }) ?? _createElementVNode("div", null, [_createElementVNode("div", {
51
51
  "class": "v-calendar-weekly__day-alldayevents-container"
52
52
  }, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
53
53
  day: props.day,
@@ -57,7 +57,7 @@ export const VCalendarMonthDay = genericComponent()({
57
57
  "day": props.day,
58
58
  "event": event,
59
59
  "allDay": true
60
- }, attrs), null))]), _createVNode("div", {
60
+ }, attrs), null))]), _createElementVNode("div", {
61
61
  "class": "v-calendar-weekly__day-events-container"
62
62
  }, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
63
63
  day: props.day,
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarMonthDay.js","names":["VCalendarEvent","VBtn","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarMonthDayProps","active","Boolean","color","String","day","type","Object","disabled","events","Array","title","Number","VCalendarMonthDay","name","inheritAttrs","props","setup","_ref","attrs","slots","_createVNode","_mergeProps","isHidden","dayTitle","isToday","undefined","dayBody","filter","event","allDay","map","dayEvent"],"sources":["../../../src/labs/VCalendar/VCalendarMonthDay.tsx"],"sourcesContent":["// Styles\nimport './VCalendarMonthDay.sass'\n\n// Components\nimport { VCalendarEvent } from './VCalendarEvent'\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CalendarDay } from '@/composables/calendar'\n\nexport type VCalendarMonthDaySlots = {\n dayBody: { day?: CalendarDay, events?: Array<any> }\n dayEvent: { day?: CalendarDay, allDay: boolean, event: Record<string, unknown> }\n dayTitle: { title?: number | string }\n}\n\nexport const makeVCalendarMonthDayProps = propsFactory({\n active: Boolean,\n color: String,\n day: {\n type: Object as PropType<CalendarDay>,\n },\n disabled: Boolean,\n events: Array<any>,\n title: [Number, String],\n}, 'VCalendarMonthDay')\n\nexport const VCalendarMonthDay = genericComponent<VCalendarMonthDaySlots>()({\n name: 'VCalendarMonthDay',\n\n inheritAttrs: false,\n\n props: makeVCalendarMonthDayProps(),\n\n setup (props, { attrs, slots }) {\n useRender(() => {\n return (\n <div\n class={[\n 'v-calendar-month__day',\n ]}\n { ...getPrefixedEventHandlers(attrs, ':day', () => props) }\n >\n { !props.day?.isHidden ? (\n <div key=\"title\" class=\"v-calendar-weekly__day-label\">\n { slots.dayTitle?.({ title: props.title }) ?? (\n <VBtn\n class={ props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined }\n color={ props.color }\n disabled={ props.disabled }\n icon\n size=\"x-small\"\n variant={ props.day?.isToday ? undefined : 'flat' }\n text={ `${props.title}` }\n { ...getPrefixedEventHandlers(attrs, ':date', () => props) }\n />\n )\n }\n </div>\n ) : undefined }\n\n { !props.day?.isHidden ? (\n <div key=\"content\" class=\"v-calendar-weekly__day-content\" >\n { slots.dayBody?.({ day: props.day, events: props.events }) ?? (\n <div>\n <div class=\"v-calendar-weekly__day-alldayevents-container\">\n { props.events?.filter(event => event.allDay).map(event => slots.dayEvent\n ? slots.dayEvent({ day: props.day, allDay: true, event })\n : (\n <VCalendarEvent day={ props.day } event={ event } allDay { ...attrs } />\n ))}\n </div>\n\n <div class=\"v-calendar-weekly__day-events-container\">\n { props.events?.filter(event => !event.allDay).map(event => slots.dayEvent\n ? slots.dayEvent({ day: props.day, event, allDay: false })\n : (\n <VCalendarEvent day={ props.day } event={ event } { ...attrs } />\n ))}\n </div>\n </div>\n )}\n </div>\n ) : undefined }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCalendarMonthDay = InstanceType<typeof VCalendarMonthDay>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarMonthDay.js","names":["VCalendarEvent","VBtn","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarMonthDayProps","active","Boolean","color","String","day","type","Object","disabled","events","Array","title","Number","VCalendarMonthDay","name","inheritAttrs","props","setup","_ref","attrs","slots","_createElementVNode","_mergeProps","isHidden","dayTitle","_createVNode","isToday","undefined","dayBody","filter","event","allDay","map","dayEvent"],"sources":["../../../src/labs/VCalendar/VCalendarMonthDay.tsx"],"sourcesContent":["// Styles\nimport './VCalendarMonthDay.sass'\n\n// Components\nimport { VCalendarEvent } from './VCalendarEvent'\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CalendarDay } from '@/composables/calendar'\n\nexport type VCalendarMonthDaySlots = {\n dayBody: { day?: CalendarDay, events?: Array<any> }\n dayEvent: { day?: CalendarDay, allDay: boolean, event: Record<string, unknown> }\n dayTitle: { title?: number | string }\n}\n\nexport const makeVCalendarMonthDayProps = propsFactory({\n active: Boolean,\n color: String,\n day: {\n type: Object as PropType<CalendarDay>,\n },\n disabled: Boolean,\n events: Array<any>,\n title: [Number, String],\n}, 'VCalendarMonthDay')\n\nexport const VCalendarMonthDay = genericComponent<VCalendarMonthDaySlots>()({\n name: 'VCalendarMonthDay',\n\n inheritAttrs: false,\n\n props: makeVCalendarMonthDayProps(),\n\n setup (props, { attrs, slots }) {\n useRender(() => {\n return (\n <div\n class={[\n 'v-calendar-month__day',\n ]}\n { ...getPrefixedEventHandlers(attrs, ':day', () => props) }\n >\n { !props.day?.isHidden ? (\n <div key=\"title\" class=\"v-calendar-weekly__day-label\">\n { slots.dayTitle?.({ title: props.title }) ?? (\n <VBtn\n class={ props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined }\n color={ props.color }\n disabled={ props.disabled }\n icon\n size=\"x-small\"\n variant={ props.day?.isToday ? undefined : 'flat' }\n text={ `${props.title}` }\n { ...getPrefixedEventHandlers(attrs, ':date', () => props) }\n />\n )\n }\n </div>\n ) : undefined }\n\n { !props.day?.isHidden ? (\n <div key=\"content\" class=\"v-calendar-weekly__day-content\" >\n { slots.dayBody?.({ day: props.day, events: props.events }) ?? (\n <div>\n <div class=\"v-calendar-weekly__day-alldayevents-container\">\n { props.events?.filter(event => event.allDay).map(event => slots.dayEvent\n ? slots.dayEvent({ day: props.day, allDay: true, event })\n : (\n <VCalendarEvent day={ props.day } event={ event } allDay { ...attrs } />\n ))}\n </div>\n\n <div class=\"v-calendar-weekly__day-events-container\">\n { props.events?.filter(event => !event.allDay).map(event => slots.dayEvent\n ? slots.dayEvent({ day: props.day, event, allDay: false })\n : (\n <VCalendarEvent day={ props.day } event={ event } { ...attrs } />\n ))}\n </div>\n </div>\n )}\n </div>\n ) : undefined }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCalendarMonthDay = InstanceType<typeof VCalendarMonthDay>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
1
+ import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Styles
3
3
  import "./VColorInput.css";
4
4
 
@@ -80,11 +80,11 @@ export const VColorInput = genericComponent()({
80
80
  }
81
81
  }), {
82
82
  ...slots,
83
- prepend: props.pipIcon ? arg => _createVNode(_Fragment, null, [hasPrepend && _createVNode(VIcon, {
83
+ prepend: props.pipIcon ? arg => _createElementVNode(_Fragment, null, [hasPrepend && _createVNode(VIcon, {
84
84
  "color": props.pip ? model.value : undefined,
85
85
  "icon": props.pipIcon
86
86
  }, null), slots.prepend?.(arg)]) : undefined,
87
- default: () => _createVNode(_Fragment, null, [_createVNode(VMenu, {
87
+ default: () => _createElementVNode(_Fragment, null, [_createVNode(VMenu, {
88
88
  "modelValue": menu.value,
89
89
  "onUpdate:modelValue": $event => menu.value = $event,
90
90
  "activator": "parent",
@@ -1 +1 @@
1
- {"version":3,"file":"VColorInput.js","names":["makeVColorPickerProps","VColorPicker","makeVConfirmEditProps","VConfirmEdit","VIcon","VMenu","makeVTextFieldProps","VTextField","makeFocusProps","useFocus","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","makeVColorInputProps","pip","Boolean","pipIcon","type","String","default","VColorInput","name","props","emits","val","setup","_ref","slots","isFocused","focus","blur","model","menu","isInteractive","disabled","readonly","display","value","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","colorPickerProps","textFieldProps","hasPrepend","prepend","_createVNode","_mergeProps","class","style","undefined","arg","_Fragment","$event","_ref2","actions","proxyModel","save","cancel","isPristine","hideActions"],"sources":["../../../src/labs/VColorInput/VColorInput.tsx"],"sourcesContent":["// Styles\nimport './VColorInput.sass'\n\n// Components\nimport { makeVColorPickerProps, VColorPicker } from '@/components/VColorPicker/VColorPicker'\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VColorInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VColorInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VColorInputActionsSlot\n default: never\n}\n\nexport const makeVColorInputProps = propsFactory({\n pip: Boolean,\n pipIcon: {\n type: String,\n default: '$color',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps(),\n ...omit(makeVColorPickerProps(), ['width']),\n}, 'VColorInput')\n\nexport const VColorInput = genericComponent<VColorInputSlots>()({\n name: 'VColorInput',\n\n props: makeVColorInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue')\n const menu = shallowRef(false)\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const display = computed(() => model.value || null)\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']))\n const textFieldProps = VTextField.filterProps(omit(props, ['prependInnerIcon']))\n\n const hasPrepend = !!(slots.prepend || props.pipIcon)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={[\n 'v-color-input',\n props.class,\n ]}\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prependInner={ isInteractive.value ? onClick : undefined }\n onClick:appendInner={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ val => {\n model.value = val\n }}\n >\n {{\n ...slots,\n prepend: props.pipIcon ? arg => (\n <>\n { hasPrepend && (\n <VIcon\n color={ props.pip ? model.value as string : undefined }\n icon={ props.pipIcon }\n />\n )}\n\n { slots.prepend?.(arg) }\n </>\n ) : undefined,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n return (\n <VColorPicker\n { ...colorPickerProps }\n modelValue={ proxyModel.value }\n onUpdate:modelValue={ val => {\n proxyModel.value = val\n model.value = val\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VColorPicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VColorInput = InstanceType<typeof VColorInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VColorInput.js","names":["makeVColorPickerProps","VColorPicker","makeVConfirmEditProps","VConfirmEdit","VIcon","VMenu","makeVTextFieldProps","VTextField","makeFocusProps","useFocus","useProxiedModel","computed","shallowRef","genericComponent","omit","propsFactory","useRender","makeVColorInputProps","pip","Boolean","pipIcon","type","String","default","VColorInput","name","props","emits","val","setup","_ref","slots","isFocused","focus","blur","model","menu","isInteractive","disabled","readonly","display","value","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onSave","confirmEditProps","filterProps","colorPickerProps","textFieldProps","hasPrepend","prepend","_createVNode","_mergeProps","class","style","undefined","arg","_createElementVNode","_Fragment","$event","_ref2","actions","proxyModel","save","cancel","isPristine","hideActions"],"sources":["../../../src/labs/VColorInput/VColorInput.tsx"],"sourcesContent":["// Styles\nimport './VColorInput.sass'\n\n// Components\nimport { makeVColorPickerProps, VColorPicker } from '@/components/VColorPicker/VColorPicker'\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VColorInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VColorInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VColorInputActionsSlot\n default: never\n}\n\nexport const makeVColorInputProps = propsFactory({\n pip: Boolean,\n pipIcon: {\n type: String,\n default: '$color',\n },\n\n ...makeFocusProps(),\n ...makeVConfirmEditProps(),\n ...makeVTextFieldProps(),\n ...omit(makeVColorPickerProps(), ['width']),\n}, 'VColorInput')\n\nexport const VColorInput = genericComponent<VColorInputSlots>()({\n name: 'VColorInput',\n\n props: makeVColorInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots }) {\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(props, 'modelValue')\n const menu = shallowRef(false)\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const display = computed(() => model.value || null)\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n menu.value = true\n }\n\n function onSave () {\n menu.value = false\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']))\n const textFieldProps = VTextField.filterProps(omit(props, ['prependInnerIcon']))\n\n const hasPrepend = !!(slots.prepend || props.pipIcon)\n\n return (\n <VTextField\n { ...textFieldProps }\n class={[\n 'v-color-input',\n props.class,\n ]}\n style={ props.style }\n modelValue={ display.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ blur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prependInner={ isInteractive.value ? onClick : undefined }\n onClick:appendInner={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ val => {\n model.value = val\n }}\n >\n {{\n ...slots,\n prepend: props.pipIcon ? arg => (\n <>\n { hasPrepend && (\n <VIcon\n color={ props.pip ? model.value as string : undefined }\n icon={ props.pipIcon }\n />\n )}\n\n { slots.prepend?.(arg) }\n </>\n ) : undefined,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n return (\n <VColorPicker\n { ...colorPickerProps }\n modelValue={ proxyModel.value }\n onUpdate:modelValue={ val => {\n proxyModel.value = val\n model.value = val\n }}\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VColorPicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VColorInput = InstanceType<typeof VColorInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,KAAK;AAAA,SACLC,KAAK;AAAA,SACLC,mBAAmB,EAAEC,UAAU,qDAExC;AAAA,SACSC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,eAAe,6CAExB;AACA,SAASC,QAAQ,EAAEC,UAAU,QAAQ,KAAK;AAAA,SACjCC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,+BAExD;AAcA,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,GAAG,EAAEC,OAAO;EACZC,OAAO,EAAE;IACPC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EAED,GAAGf,cAAc,CAAC,CAAC;EACnB,GAAGN,qBAAqB,CAAC,CAAC;EAC1B,GAAGI,mBAAmB,CAAC,CAAC;EACxB,GAAGQ,IAAI,CAACd,qBAAqB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;AAC5C,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMwB,WAAW,GAAGX,gBAAgB,CAAmB,CAAC,CAAC;EAC9DY,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAET,oBAAoB,CAAC,CAAC;EAE7BU,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAW,IAAK;EACxC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGzB,QAAQ,CAACiB,KAAK,CAAC;IAClD,MAAMS,KAAK,GAAGzB,eAAe,CAACgB,KAAK,EAAE,YAAY,CAAC;IAClD,MAAMU,IAAI,GAAGxB,UAAU,CAAC,KAAK,CAAC;IAE9B,MAAMyB,aAAa,GAAG1B,QAAQ,CAAC,MAAM,CAACe,KAAK,CAACY,QAAQ,IAAI,CAACZ,KAAK,CAACa,QAAQ,CAAC;IAExE,MAAMC,OAAO,GAAG7B,QAAQ,CAAC,MAAMwB,KAAK,CAACM,KAAK,IAAI,IAAI,CAAC;IAEnD,SAASC,SAASA,CAAEC,CAAgB,EAAE;MACpC,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MAEvB,IAAI,CAACR,IAAI,CAACK,KAAK,IAAI,CAACT,SAAS,CAACS,KAAK,EAAE;QACnCL,IAAI,CAACK,KAAK,GAAG,IAAI;QAEjB;MACF;MAEA,MAAMI,MAAM,GAAGF,CAAC,CAACE,MAA0B;MAE3CV,KAAK,CAACM,KAAK,GAAGI,MAAM,CAACJ,KAAK;IAC5B;IAEA,SAASK,OAAOA,CAAEH,CAAa,EAAE;MAC/BA,CAAC,CAACI,cAAc,CAAC,CAAC;MAClBJ,CAAC,CAACK,eAAe,CAAC,CAAC;MAEnBZ,IAAI,CAACK,KAAK,GAAG,IAAI;IACnB;IAEA,SAASQ,MAAMA,CAAA,EAAI;MACjBb,IAAI,CAACK,KAAK,GAAG,KAAK;IACpB;IAEAzB,SAAS,CAAC,MAAM;MACd,MAAMkC,gBAAgB,GAAG/C,YAAY,CAACgD,WAAW,CAACzB,KAAK,CAAC;MACxD,MAAM0B,gBAAgB,GAAGnD,YAAY,CAACkD,WAAW,CAACrC,IAAI,CAACY,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;MACnF,MAAM2B,cAAc,GAAG9C,UAAU,CAAC4C,WAAW,CAACrC,IAAI,CAACY,KAAK,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;MAEhF,MAAM4B,UAAU,GAAG,CAAC,EAAEvB,KAAK,CAACwB,OAAO,IAAI7B,KAAK,CAACN,OAAO,CAAC;MAErD,OAAAoC,YAAA,CAAAjD,UAAA,EAAAkD,WAAA,CAESJ,cAAc;QAAA,SACZ,CACL,eAAe,EACf3B,KAAK,CAACgC,KAAK,CACZ;QAAA,SACOhC,KAAK,CAACiC,KAAK;QAAA,cACNnB,OAAO,CAACC,KAAK;QAAA,aACdJ,aAAa,CAACI,KAAK,GAAGC,SAAS,GAAGkB,SAAS;QAAA,WAC7CxB,IAAI,CAACK,KAAK,IAAIT,SAAS,CAACS,KAAK;QAAA,WAC7BR,KAAK;QAAA,UACNC,IAAI;QAAA,mBACKG,aAAa,CAACI,KAAK,GAAGK,OAAO,GAAGc,SAAS;QAAA,wBACpCvB,aAAa,CAACI,KAAK,GAAGK,OAAO,GAAGc,SAAS;QAAA,uBAC1CvB,aAAa,CAACI,KAAK,GAAGK,OAAO,GAAGc,SAAS;QAAA,uBACzChC,GAAG,IAAI;UAC3BO,KAAK,CAACM,KAAK,GAAGb,GAAG;QACnB;MAAC;QAGC,GAAGG,KAAK;QACRwB,OAAO,EAAE7B,KAAK,CAACN,OAAO,GAAGyC,GAAG,IAAAC,mBAAA,CAAAC,SAAA,SAEvBT,UAAU,IAAAE,YAAA,CAAApD,KAAA;UAAA,SAECsB,KAAK,CAACR,GAAG,GAAGiB,KAAK,CAACM,KAAK,GAAamB,SAAS;UAAA,QAC9ClC,KAAK,CAACN;QAAO,QAExB,EAEEW,KAAK,CAACwB,OAAO,GAAGM,GAAG,CAAC,EAEzB,GAAGD,SAAS;QACbrC,OAAO,EAAEA,CAAA,KAAAuC,mBAAA,CAAAC,SAAA,SAAAP,YAAA,CAAAnD,KAAA;UAAA,cAGO+B,IAAI,CAACK,KAAK;UAAA,uBAAAuB,MAAA,IAAV5B,IAAI,CAACK,KAAK,GAAAuB,MAAA;UAAA;UAAA;UAAA,uBAGE,KAAK;UAAA,eACb;QAAK;UAAAzC,OAAA,EAAAA,CAAA,MAAAiC,YAAA,CAAArD,YAAA,EAAAsD,WAAA,CAGZP,gBAAgB;YAAA,cACXf,KAAK,CAACM,KAAK;YAAA,uBAAAuB,MAAA,IAAX7B,KAAK,CAACM,KAAK,GAAAuB,MAAA;YAAA,UACZf;UAAM;YAGb1B,OAAO,EAAE0C,KAAA,IAA8D;cAAA,IAA7D;gBAAEC,OAAO;gBAAE/B,KAAK,EAAEgC,UAAU;gBAAEC,IAAI;gBAAEC,MAAM;gBAAEC;cAAW,CAAC,GAAAL,KAAA;cAChE,OAAAT,YAAA,CAAAvD,YAAA,EAAAwD,WAAA,CAESL,gBAAgB;gBAAA,cACRe,UAAU,CAAC1B,KAAK;gBAAA,uBACPb,GAAG,IAAI;kBAC3BuC,UAAU,CAAC1B,KAAK,GAAGb,GAAG;kBACtBO,KAAK,CAACM,KAAK,GAAGb,GAAG;gBACnB,CAAC;gBAAA,eACce,CAAa,IAAKA,CAAC,CAACI,cAAc,CAAC;cAAC;gBAGjDmB,OAAO,EAAE,CAACxC,KAAK,CAAC6C,WAAW,GAAG,MAAMxC,KAAK,CAACmC,OAAO,GAAG;kBAAEE,IAAI;kBAAEC,MAAM;kBAAEC;gBAAW,CAAC,CAAC,IAAIJ,OAAO,CAAC,CAAC,GAAGN;cAAS;YAIlH;UAAC;QAAA,IAKL7B,KAAK,CAACR,OAAO,GAAG,CAAC;MAEtB;IAIT,CAAC,CAAC;EACJ;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, createVNode as _createVNode, createElementVNode as _createElementVNode } from "vue";
2
2
  // Components
3
3
  import { makeVConfirmEditProps, VConfirmEdit } from "../../components/VConfirmEdit/VConfirmEdit.js";
4
4
  import { makeVDatePickerProps, VDatePicker } from "../../components/VDatePicker/VDatePicker.js";
@@ -210,7 +210,7 @@ export const VDateInput = genericComponent()({
210
210
  "onUpdate:modelValue": onUpdateDisplayModel
211
211
  }), {
212
212
  ...slots,
213
- default: () => _createVNode(_Fragment, null, [_createVNode(VMenu, {
213
+ default: () => _createElementVNode(_Fragment, null, [_createVNode(VMenu, {
214
214
  "modelValue": menu.value,
215
215
  "onUpdate:modelValue": $event => menu.value = $event,
216
216
  "activator": "parent",
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","createRange","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","isFocused","focus","blur","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","getRange","inputDates","stop","toSorted","a","b","isAfter","diff","getDiff","i","addDays","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { createRange, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n }\n\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = parseDate(value)\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n model.value = getRange(parts)\n } else {\n model.value = parts.map(parseDate)\n }\n }\n }\n }\n\n function getRange (inputDates: string[]) {\n const [start, stop] = inputDates.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n const diff = adapter.getDiff(stop ?? start, start, 'days')\n return [start, ...createRange(diff, 1)\n .map(i => adapter.addDays(start, i))]\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDateFormatProps","useDateFormat","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","createRange","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","menu","Boolean","updateOn","Array","mobile","hideActions","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","current","currentLocale","adapter","isValid","parseDate","formatDate","parserFormat","isFocused","focus","blur","emptyModelValue","multiple","model","isArray","map","item","toJsDate","date","isEditingInput","vTextFieldRef","disabledActions","format","display","length","start","end","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","includes","onUserInput","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onBlur","_ref2","trim","parts","split","every","getRange","inputDates","stop","toSorted","a","b","isAfter","diff","getDiff","i","addDays","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","placeholder","_createElementVNode","_Fragment","$event","_ref3","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDateFormatProps, useDateFormat } from '@/composables/dateFormat'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { createRange, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n menu: Boolean,\n updateOn: {\n type: Array as PropType<('blur' | 'enter')[]>,\n default: () => ['blur', 'enter'],\n },\n\n ...makeDateFormatProps(),\n ...makeDisplayProps({\n mobile: null,\n }),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t, current: currentLocale } = useLocale()\n const adapter = useDate()\n const { isValid, parseDate, formatDate, parserFormat } = useDateFormat(props, currentLocale)\n const { mobile } = useDisplay(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const emptyModelValue = () => props.multiple ? [] : null\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n emptyModelValue(),\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = useProxiedModel(props, 'menu')\n const isEditingInput = shallowRef(false)\n const vTextFieldRef = ref<VTextField>()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n if (props.displayFormat) {\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n return formatDate(date)\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n\n const isReadonly = computed(() => {\n if (!props.updateOn.length) return true\n\n return !(mobile.value && isEditingInput.value) && props.readonly\n })\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n }\n\n if (props.updateOn.includes('enter')) {\n onUserInput(e.target as HTMLInputElement)\n }\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: unknown) {\n if (value != null) return\n\n model.value = emptyModelValue()\n }\n\n function onBlur (e: FocusEvent) {\n if (props.updateOn.includes('blur')) {\n onUserInput(e.target as HTMLInputElement)\n }\n\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n function onUserInput ({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue()\n } else if (!props.multiple) {\n if (isValid(value)) {\n model.value = parseDate(value)\n }\n } else {\n const parts = value.trim().split(/\\D+-\\D+|[^\\d\\-/.]+/)\n if (parts.every(isValid)) {\n if (props.multiple === 'range') {\n model.value = getRange(parts)\n } else {\n model.value = parts.map(parseDate)\n }\n }\n }\n }\n\n function getRange (inputDates: string[]) {\n const [start, stop] = inputDates.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1)\n const diff = adapter.getDiff(stop ?? start, start, 'days')\n return [start, ...createRange(diff, 1)\n .map(i => adapter.addDays(start, i))]\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']))\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n placeholder={ props.placeholder ?? parserFormat.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n validationValue={ model.value }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
1
+ import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VFileUpload.css";
4
4
 
@@ -120,7 +120,7 @@ export const VFileUpload = genericComponent()({
120
120
  const cardProps = VSheet.filterProps(props);
121
121
  const dividerProps = VDivider.filterProps(props);
122
122
  const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
123
- const inputNode = _createVNode("input", _mergeProps({
123
+ const inputNode = _createElementVNode("input", _mergeProps({
124
124
  "ref": inputRef,
125
125
  "type": "file",
126
126
  "disabled": props.disabled,
@@ -132,7 +132,7 @@ export const VFileUpload = genericComponent()({
132
132
  model.value = [...(target.files ?? [])];
133
133
  }
134
134
  }, inputAttrs), null);
135
- return _createVNode(_Fragment, null, [_createVNode(VSheet, _mergeProps({
135
+ return _createElementVNode(_Fragment, null, [_createVNode(VSheet, _mergeProps({
136
136
  "ref": vSheetRef
137
137
  }, cardProps, {
138
138
  "class": ['v-file-upload', {
@@ -146,7 +146,7 @@ export const VFileUpload = genericComponent()({
146
146
  "onDrop": onDrop,
147
147
  "onClick": !hasBrowse ? onClick : undefined
148
148
  }, rootAttrs), {
149
- default: () => [hasIcon && _createVNode("div", {
149
+ default: () => [hasIcon && _createElementVNode("div", {
150
150
  "key": "icon",
151
151
  "class": "v-file-upload-icon"
152
152
  }, [!slots.icon ? _createVNode(VIcon, {
@@ -161,15 +161,15 @@ export const VFileUpload = genericComponent()({
161
161
  }
162
162
  }, {
163
163
  default: () => [slots.icon()]
164
- })]), hasTitle && _createVNode("div", {
164
+ })]), hasTitle && _createElementVNode("div", {
165
165
  "key": "title",
166
166
  "class": "v-file-upload-title"
167
- }, [slots.title?.() ?? t(props.title)]), props.density === 'default' && _createVNode(_Fragment, null, [_createVNode("div", {
167
+ }, [slots.title?.() ?? t(props.title)]), props.density === 'default' && _createElementVNode(_Fragment, null, [_createElementVNode("div", {
168
168
  "key": "upload-divider",
169
169
  "class": "v-file-upload-divider"
170
170
  }, [slots.divider?.() ?? _createVNode(VDivider, dividerProps, {
171
171
  default: () => [t(props.dividerText)]
172
- })]), hasBrowse && _createVNode(_Fragment, null, [!slots.browse ? _createVNode(VBtn, {
172
+ })]), hasBrowse && _createElementVNode(_Fragment, null, [!slots.browse ? _createVNode(VBtn, {
173
173
  "readonly": props.disabled,
174
174
  "size": "large",
175
175
  "text": t(props.browseText),
@@ -190,7 +190,7 @@ export const VFileUpload = genericComponent()({
190
190
  onClick
191
191
  }
192
192
  })]
193
- })]), props.subtitle && _createVNode("div", {
193
+ })]), props.subtitle && _createElementVNode("div", {
194
194
  "class": "v-file-upload-subtitle"
195
195
  }, [props.subtitle])]), _createVNode(VOverlay, {
196
196
  "model-value": isDragging.value,
@@ -199,7 +199,7 @@ export const VFileUpload = genericComponent()({
199
199
  }, null), slots.input?.({
200
200
  inputNode
201
201
  }) ?? inputNode]
202
- }), model.value.length > 0 && _createVNode("div", {
202
+ }), model.value.length > 0 && _createElementVNode("div", {
203
203
  "class": "v-file-upload-items"
204
204
  }, [model.value.map((file, i) => {
205
205
  const slotProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"VFileUpload.js","names":["VFileUploadItem","VBtn","VDefaultsProvider","makeVDividerProps","VDivider","VIcon","VOverlay","makeVSheetProps","VSheet","makeDelayProps","makeDensityProps","useDensity","IconValue","useLocale","useProxiedModel","ref","shallowRef","filterInputAttrs","genericComponent","pick","propsFactory","useRender","wrapInArray","makeVFileUploadProps","browseText","type","String","default","dividerText","title","subtitle","icon","modelValue","Array","Object","validator","val","every","v","clearable","Boolean","disabled","hideBrowse","multiple","scrim","showSize","name","length","VFileUpload","inheritAttrs","props","emits","files","setup","_ref","attrs","slots","t","densityClasses","model","isArray","isDragging","vSheetRef","inputRef","onDragover","e","preventDefault","stopImmediatePropagation","value","onDragleave","onDrop","dataTransfer","DataTransfer","file","items","add","dispatchEvent","Event","bubbles","onClick","click","onClickRemove","index","newValue","filter","_","i","hasTitle","hasIcon","hasBrowse","browse","density","cardProps","filterProps","dividerProps","rootAttrs","inputAttrs","inputNode","_createVNode","_mergeProps","target","_Fragment","class","style","undefined","divider","readonly","size","text","variant","input","map","slotProps","onClick:remove","item"],"sources":["../../../src/labs/VFileUpload/VFileUpload.tsx"],"sourcesContent":["// Styles\nimport './VFileUpload.sass'\n\n// Components\nimport { VFileUploadItem } from './VFileUploadItem'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVDividerProps, VDivider } from '@/components/VDivider/VDivider'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { makeDelayProps } from '@/composables/delay'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { ref, shallowRef } from 'vue'\nimport { filterInputAttrs, genericComponent, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\nexport type VFileUploadSlots = {\n browse: {\n props: { onClick: (e: MouseEvent) => void }\n }\n default: never\n icon: never\n input: {\n inputNode: VNode\n }\n item: {\n file: File\n props: { 'onClick:remove': () => void }\n }\n title: never\n divider: never\n}\n\nexport const makeVFileUploadProps = propsFactory({\n browseText: {\n type: String,\n default: '$vuetify.fileUpload.browse',\n },\n dividerText: {\n type: String,\n default: '$vuetify.fileUpload.divider',\n },\n title: {\n type: String,\n default: '$vuetify.fileUpload.title',\n },\n subtitle: String,\n icon: {\n type: IconValue,\n default: '$upload',\n },\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n clearable: Boolean,\n disabled: Boolean,\n hideBrowse: Boolean,\n multiple: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n showSize: Boolean,\n name: String,\n\n ...makeDelayProps(),\n ...makeDensityProps(),\n ...pick(makeVDividerProps({\n length: 150,\n }), ['length', 'thickness', 'opacity']),\n ...makeVSheetProps(),\n}, 'VFileUpload')\n\nexport const VFileUpload = genericComponent<VFileUploadSlots>()({\n name: 'VFileUpload',\n\n inheritAttrs: false,\n\n props: makeVFileUploadProps(),\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const { densityClasses } = useDensity(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n\n const isDragging = shallowRef(false)\n const vSheetRef = ref<InstanceType<typeof VSheet> | null>(null)\n const inputRef = ref<HTMLInputElement | null>(null)\n\n function onDragover (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n isDragging.value = true\n }\n\n function onDragleave (e: DragEvent) {\n e.preventDefault()\n isDragging.value = false\n }\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 function onClick () {\n inputRef.value?.click()\n }\n\n function onClickRemove (index: number) {\n const newValue = model.value.filter((_, i) => i !== index)\n model.value = newValue\n\n if (newValue.length > 0 || !inputRef.value) return\n\n inputRef.value.value = ''\n }\n\n useRender(() => {\n const hasTitle = !!(slots.title || props.title)\n const hasIcon = !!(slots.icon || props.icon)\n const hasBrowse = !!(!props.hideBrowse && (slots.browse || props.density === 'default'))\n const cardProps = VSheet.filterProps(props)\n const dividerProps = VDivider.filterProps(props)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n const inputNode = (\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n name={ props.name }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n <VSheet\n ref={ vSheetRef }\n { ...cardProps }\n class={[\n 'v-file-upload',\n {\n 'v-file-upload--clickable': !hasBrowse,\n 'v-file-upload--disabled': props.disabled,\n 'v-file-upload--dragging': isDragging.value,\n },\n densityClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n onDragleave={ onDragleave }\n onDragover={ onDragover }\n onDrop={ onDrop }\n onClick={ !hasBrowse ? onClick : undefined }\n { ...rootAttrs }\n >\n { hasIcon && (\n <div key=\"icon\" class=\"v-file-upload-icon\">\n { !slots.icon ? (\n <VIcon\n key=\"icon-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.icon() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-file-upload-title\">\n { slots.title?.() ?? t(props.title) }\n </div>\n )}\n\n { props.density === 'default' && (\n <>\n <div key=\"upload-divider\" class=\"v-file-upload-divider\">\n { slots.divider?.() ?? (\n <VDivider { ...dividerProps }>\n { t(props.dividerText) }\n </VDivider>\n )}\n </div>\n\n { hasBrowse && (\n <>\n { !slots.browse ? (\n <VBtn\n readonly={ props.disabled }\n size=\"large\"\n text={ t(props.browseText) }\n variant=\"tonal\"\n onClick={ onClick }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n readonly: props.disabled,\n size: 'large',\n text: t(props.browseText),\n variant: 'tonal',\n },\n }}\n >\n { slots.browse({ props: { onClick } }) }\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { props.subtitle && (\n <div class=\"v-file-upload-subtitle\">\n { props.subtitle }\n </div>\n )}\n </>\n )}\n\n <VOverlay\n model-value={ isDragging.value }\n contained\n scrim={ props.scrim }\n />\n\n { slots.input?.({ inputNode }) ?? inputNode }\n </VSheet>\n\n { model.value.length > 0 && (\n <div class=\"v-file-upload-items\">\n { model.value.map((file, i) => {\n const slotProps = {\n file,\n props: {\n 'onClick:remove': () => onClickRemove(i),\n },\n }\n\n return (\n <VDefaultsProvider\n key={ i }\n defaults={{\n VFileUploadItem: {\n file,\n clearable: props.clearable,\n disabled: props.disabled,\n showSize: props.showSize,\n },\n }}\n >\n { slots.item?.(slotProps) ?? (\n <VFileUploadItem\n key={ i }\n onClick:remove={ () => onClickRemove(i) }\n v-slots={ slots }\n />\n )}\n </VDefaultsProvider>\n )\n })}\n </div>\n )}\n </>\n )\n })\n },\n})\n\nexport type VFileUpload = InstanceType<typeof VFileUpload>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFileUpload.js","names":["VFileUploadItem","VBtn","VDefaultsProvider","makeVDividerProps","VDivider","VIcon","VOverlay","makeVSheetProps","VSheet","makeDelayProps","makeDensityProps","useDensity","IconValue","useLocale","useProxiedModel","ref","shallowRef","filterInputAttrs","genericComponent","pick","propsFactory","useRender","wrapInArray","makeVFileUploadProps","browseText","type","String","default","dividerText","title","subtitle","icon","modelValue","Array","Object","validator","val","every","v","clearable","Boolean","disabled","hideBrowse","multiple","scrim","showSize","name","length","VFileUpload","inheritAttrs","props","emits","files","setup","_ref","attrs","slots","t","densityClasses","model","isArray","isDragging","vSheetRef","inputRef","onDragover","e","preventDefault","stopImmediatePropagation","value","onDragleave","onDrop","dataTransfer","DataTransfer","file","items","add","dispatchEvent","Event","bubbles","onClick","click","onClickRemove","index","newValue","filter","_","i","hasTitle","hasIcon","hasBrowse","browse","density","cardProps","filterProps","dividerProps","rootAttrs","inputAttrs","inputNode","_createElementVNode","_mergeProps","target","_Fragment","_createVNode","class","style","undefined","divider","readonly","size","text","variant","input","map","slotProps","onClick:remove","item"],"sources":["../../../src/labs/VFileUpload/VFileUpload.tsx"],"sourcesContent":["// Styles\nimport './VFileUpload.sass'\n\n// Components\nimport { VFileUploadItem } from './VFileUploadItem'\nimport { VBtn } from '@/components/VBtn/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { makeVDividerProps, VDivider } from '@/components/VDivider/VDivider'\nimport { VIcon } from '@/components/VIcon/VIcon'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { makeDelayProps } from '@/composables/delay'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { ref, shallowRef } from 'vue'\nimport { filterInputAttrs, genericComponent, pick, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\nexport type VFileUploadSlots = {\n browse: {\n props: { onClick: (e: MouseEvent) => void }\n }\n default: never\n icon: never\n input: {\n inputNode: VNode\n }\n item: {\n file: File\n props: { 'onClick:remove': () => void }\n }\n title: never\n divider: never\n}\n\nexport const makeVFileUploadProps = propsFactory({\n browseText: {\n type: String,\n default: '$vuetify.fileUpload.browse',\n },\n dividerText: {\n type: String,\n default: '$vuetify.fileUpload.divider',\n },\n title: {\n type: String,\n default: '$vuetify.fileUpload.title',\n },\n subtitle: String,\n icon: {\n type: IconValue,\n default: '$upload',\n },\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n clearable: Boolean,\n disabled: Boolean,\n hideBrowse: Boolean,\n multiple: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n showSize: Boolean,\n name: String,\n\n ...makeDelayProps(),\n ...makeDensityProps(),\n ...pick(makeVDividerProps({\n length: 150,\n }), ['length', 'thickness', 'opacity']),\n ...makeVSheetProps(),\n}, 'VFileUpload')\n\nexport const VFileUpload = genericComponent<VFileUploadSlots>()({\n name: 'VFileUpload',\n\n inheritAttrs: false,\n\n props: makeVFileUploadProps(),\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const { densityClasses } = useDensity(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n\n const isDragging = shallowRef(false)\n const vSheetRef = ref<InstanceType<typeof VSheet> | null>(null)\n const inputRef = ref<HTMLInputElement | null>(null)\n\n function onDragover (e: DragEvent) {\n e.preventDefault()\n e.stopImmediatePropagation()\n isDragging.value = true\n }\n\n function onDragleave (e: DragEvent) {\n e.preventDefault()\n isDragging.value = false\n }\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 function onClick () {\n inputRef.value?.click()\n }\n\n function onClickRemove (index: number) {\n const newValue = model.value.filter((_, i) => i !== index)\n model.value = newValue\n\n if (newValue.length > 0 || !inputRef.value) return\n\n inputRef.value.value = ''\n }\n\n useRender(() => {\n const hasTitle = !!(slots.title || props.title)\n const hasIcon = !!(slots.icon || props.icon)\n const hasBrowse = !!(!props.hideBrowse && (slots.browse || props.density === 'default'))\n const cardProps = VSheet.filterProps(props)\n const dividerProps = VDivider.filterProps(props)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n const inputNode = (\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n name={ props.name }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n <VSheet\n ref={ vSheetRef }\n { ...cardProps }\n class={[\n 'v-file-upload',\n {\n 'v-file-upload--clickable': !hasBrowse,\n 'v-file-upload--disabled': props.disabled,\n 'v-file-upload--dragging': isDragging.value,\n },\n densityClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n onDragleave={ onDragleave }\n onDragover={ onDragover }\n onDrop={ onDrop }\n onClick={ !hasBrowse ? onClick : undefined }\n { ...rootAttrs }\n >\n { hasIcon && (\n <div key=\"icon\" class=\"v-file-upload-icon\">\n { !slots.icon ? (\n <VIcon\n key=\"icon-icon\"\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n defaults={{\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.icon() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-file-upload-title\">\n { slots.title?.() ?? t(props.title) }\n </div>\n )}\n\n { props.density === 'default' && (\n <>\n <div key=\"upload-divider\" class=\"v-file-upload-divider\">\n { slots.divider?.() ?? (\n <VDivider { ...dividerProps }>\n { t(props.dividerText) }\n </VDivider>\n )}\n </div>\n\n { hasBrowse && (\n <>\n { !slots.browse ? (\n <VBtn\n readonly={ props.disabled }\n size=\"large\"\n text={ t(props.browseText) }\n variant=\"tonal\"\n onClick={ onClick }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n readonly: props.disabled,\n size: 'large',\n text: t(props.browseText),\n variant: 'tonal',\n },\n }}\n >\n { slots.browse({ props: { onClick } }) }\n </VDefaultsProvider>\n )}\n </>\n )}\n\n { props.subtitle && (\n <div class=\"v-file-upload-subtitle\">\n { props.subtitle }\n </div>\n )}\n </>\n )}\n\n <VOverlay\n model-value={ isDragging.value }\n contained\n scrim={ props.scrim }\n />\n\n { slots.input?.({ inputNode }) ?? inputNode }\n </VSheet>\n\n { model.value.length > 0 && (\n <div class=\"v-file-upload-items\">\n { model.value.map((file, i) => {\n const slotProps = {\n file,\n props: {\n 'onClick:remove': () => onClickRemove(i),\n },\n }\n\n return (\n <VDefaultsProvider\n key={ i }\n defaults={{\n VFileUploadItem: {\n file,\n clearable: props.clearable,\n disabled: props.disabled,\n showSize: props.showSize,\n },\n }}\n >\n { slots.item?.(slotProps) ?? (\n <VFileUploadItem\n key={ i }\n onClick:remove={ () => onClickRemove(i) }\n v-slots={ slots }\n />\n )}\n </VDefaultsProvider>\n )\n })}\n </div>\n )}\n </>\n )\n })\n },\n})\n\nexport type VFileUpload = InstanceType<typeof VFileUpload>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
1
+ import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Components
3
3
  import { VAvatar } from "../../components/VAvatar/VAvatar.js";
4
4
  import { VBtn } from "../../components/VBtn/VBtn.js";
@@ -52,7 +52,7 @@ export const VFileUploadItem = genericComponent()({
52
52
  "class": "v-file-upload-item"
53
53
  }), {
54
54
  ...slots,
55
- prepend: slotProps => _createVNode(_Fragment, null, [!slots.prepend ? _createVNode(VAvatar, {
55
+ prepend: slotProps => _createElementVNode(_Fragment, null, [!slots.prepend ? _createVNode(VAvatar, {
56
56
  "icon": props.fileIcon,
57
57
  "image": preview.value,
58
58
  "rounded": true
@@ -67,7 +67,7 @@ export const VFileUploadItem = genericComponent()({
67
67
  }, {
68
68
  default: () => [slots.prepend?.(slotProps) ?? _createVNode(VAvatar, null, null)]
69
69
  })]),
70
- append: slotProps => _createVNode(_Fragment, null, [props.clearable && _createVNode(_Fragment, null, [!slots.clear ? _createVNode(VBtn, {
70
+ append: slotProps => _createElementVNode(_Fragment, null, [props.clearable && _createElementVNode(_Fragment, null, [!slots.clear ? _createVNode(VBtn, {
71
71
  "icon": "$clear",
72
72
  "density": "comfortable",
73
73
  "variant": "text",