@dimailn/vuetify 2.7.2-alpha6 → 2.7.2-alpha60

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 (1521) hide show
  1. package/dist/json/attributes.json +4218 -0
  2. package/dist/json/tags.json +1771 -0
  3. package/dist/json/web-types.json +21383 -0
  4. package/dist/vuetify.js +4968 -2679
  5. package/dist/vuetify.js.map +1 -1
  6. package/dist/vuetify.min.css +1 -1
  7. package/dist/vuetify.min.js +2 -2
  8. package/es5/components/VAlert/VAlert.js +46 -12
  9. package/es5/components/VAlert/VAlert.js.map +1 -1
  10. package/es5/components/VApp/VApp.js.map +1 -1
  11. package/es5/components/VAppBar/VAppBar.js +23 -17
  12. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  13. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  14. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  15. package/es5/components/VAppBar/VAppBarTitle.js.map +1 -1
  16. package/es5/components/VAppBar/index.js.map +1 -1
  17. package/es5/components/VAutocomplete/VAutocomplete.js +12 -9
  18. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  19. package/es5/components/VAvatar/VAvatar.js +3 -1
  20. package/es5/components/VAvatar/VAvatar.js.map +1 -1
  21. package/es5/components/VBadge/VBadge.js +46 -14
  22. package/es5/components/VBadge/VBadge.js.map +1 -1
  23. package/es5/components/VBanner/VBanner.js +51 -15
  24. package/es5/components/VBanner/VBanner.js.map +1 -1
  25. package/es5/components/VBottomNavigation/VBottomNavigation.js +41 -14
  26. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  27. package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
  28. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  29. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  30. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +28 -2
  31. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  32. package/es5/components/VBreadcrumbs/index.js.map +1 -1
  33. package/es5/components/VBtn/VBtn.js +20 -16
  34. package/es5/components/VBtn/VBtn.js.map +1 -1
  35. package/es5/components/VBtnToggle/VBtnToggle.js.map +1 -1
  36. package/es5/components/VCalendar/VCalendar.js +27 -29
  37. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  38. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  39. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  40. package/es5/components/VCalendar/VCalendarDaily.js +47 -60
  41. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  42. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  43. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  44. package/es5/components/VCalendar/VCalendarWeekly.js +38 -36
  45. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  46. package/es5/components/VCalendar/index.js.map +1 -1
  47. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  48. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  49. package/es5/components/VCalendar/mixins/calendar-with-events.js +46 -59
  50. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  51. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  52. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  53. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  54. package/es5/components/VCalendar/modes/common.js.map +1 -1
  55. package/es5/components/VCalendar/modes/index.js.map +1 -1
  56. package/es5/components/VCalendar/modes/stack.js.map +1 -1
  57. package/es5/components/VCalendar/util/events.js.map +1 -1
  58. package/es5/components/VCalendar/util/props.js.map +1 -1
  59. package/es5/components/VCalendar/util/timestamp.js.map +1 -1
  60. package/es5/components/VCard/VCard.js +2 -1
  61. package/es5/components/VCard/VCard.js.map +1 -1
  62. package/es5/components/VCard/index.js.map +1 -1
  63. package/es5/components/VCarousel/VCarousel.js +62 -18
  64. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  65. package/es5/components/VCarousel/VCarouselItem.js +11 -4
  66. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  67. package/es5/components/VCarousel/index.js.map +1 -1
  68. package/es5/components/VCheckbox/VCheckbox.js +40 -9
  69. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  70. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  71. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  72. package/es5/components/VCheckbox/index.js.map +1 -1
  73. package/es5/components/VChip/VChip.js +30 -12
  74. package/es5/components/VChip/VChip.js.map +1 -1
  75. package/es5/components/VChipGroup/VChipGroup.js.map +1 -1
  76. package/es5/components/VColorPicker/VColorPicker.js +57 -38
  77. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  78. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  79. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  80. package/es5/components/VColorPicker/VColorPickerEdit.js +36 -28
  81. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  82. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  83. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  84. package/es5/components/VColorPicker/VColorPickerSwatches.js +16 -11
  85. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  86. package/es5/components/VColorPicker/util/index.js.map +1 -1
  87. package/es5/components/VCombobox/VCombobox.js +1 -0
  88. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  89. package/es5/components/VContent/VContent.js +25 -6
  90. package/es5/components/VContent/VContent.js.map +1 -1
  91. package/es5/components/VCounter/VCounter.js.map +1 -1
  92. package/es5/components/VData/VData.js +4 -3
  93. package/es5/components/VData/VData.js.map +1 -1
  94. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  95. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  96. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  97. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  98. package/es5/components/VDataIterator/index.js.map +1 -1
  99. package/es5/components/VDataTable/MobileRow.js.map +1 -1
  100. package/es5/components/VDataTable/Row.js +11 -8
  101. package/es5/components/VDataTable/Row.js.map +1 -1
  102. package/es5/components/VDataTable/RowGroup.js +46 -15
  103. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  104. package/es5/components/VDataTable/VDataTable.js +94 -81
  105. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  106. package/es5/components/VDataTable/VDataTableHeader.js +8 -7
  107. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  108. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  109. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  110. package/es5/components/VDataTable/VDataTableHeaderMobile.js +32 -38
  111. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  112. package/es5/components/VDataTable/VEditDialog.js +26 -22
  113. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  114. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  115. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  116. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  117. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  118. package/es5/components/VDataTable/index.js.map +1 -1
  119. package/es5/components/VDataTable/mixins/header.js +7 -9
  120. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  121. package/es5/components/VDatePicker/VDatePicker.js +57 -38
  122. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  123. package/es5/components/VDatePicker/VDatePickerDateTable.js +2 -2
  124. package/es5/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
  125. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  126. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  127. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  128. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  129. package/es5/components/VDatePicker/VDatePickerTitle.js +61 -16
  130. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  131. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  132. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  133. package/es5/components/VDatePicker/index.js.map +1 -1
  134. package/es5/components/VDatePicker/mixins/date-picker-table.js +52 -31
  135. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  136. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  137. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  138. package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
  139. package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
  140. package/es5/components/VDatePicker/util/index.js.map +1 -1
  141. package/es5/components/VDialog/VDialog.js +60 -34
  142. package/es5/components/VDialog/VDialog.js.map +1 -1
  143. package/es5/components/VDivider/VDivider.js.map +1 -1
  144. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  145. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  146. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  147. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  148. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  149. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  150. package/es5/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  151. package/es5/components/VExpansionPanel/index.js.map +1 -1
  152. package/es5/components/VFileInput/VFileInput.js +55 -28
  153. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  154. package/es5/components/VFooter/VFooter.js +7 -6
  155. package/es5/components/VFooter/VFooter.js.map +1 -1
  156. package/es5/components/VForm/VForm.js +45 -30
  157. package/es5/components/VForm/VForm.js.map +1 -1
  158. package/es5/components/VGrid/VCol.js +6 -4
  159. package/es5/components/VGrid/VCol.js.map +1 -1
  160. package/es5/components/VGrid/VContainer.js +27 -10
  161. package/es5/components/VGrid/VContainer.js.map +1 -1
  162. package/es5/components/VGrid/VRow.js +1 -1
  163. package/es5/components/VGrid/VRow.js.map +1 -1
  164. package/es5/components/VGrid/grid.js +35 -15
  165. package/es5/components/VGrid/grid.js.map +1 -1
  166. package/es5/components/VGrid/index.js.map +1 -1
  167. package/es5/components/VHover/VHover.js +24 -17
  168. package/es5/components/VHover/VHover.js.map +1 -1
  169. package/es5/components/VIcon/VIcon.js +71 -66
  170. package/es5/components/VIcon/VIcon.js.map +1 -1
  171. package/es5/components/VImg/VImg.js +13 -9
  172. package/es5/components/VImg/VImg.js.map +1 -1
  173. package/es5/components/VInput/VInput.js +89 -17
  174. package/es5/components/VInput/VInput.js.map +1 -1
  175. package/es5/components/VItemGroup/VItem.js +21 -17
  176. package/es5/components/VItemGroup/VItem.js.map +1 -1
  177. package/es5/components/VItemGroup/VItemGroup.js +13 -3
  178. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  179. package/es5/components/VItemGroup/index.js.map +1 -1
  180. package/es5/components/VLabel/VLabel.js +18 -9
  181. package/es5/components/VLabel/VLabel.js.map +1 -1
  182. package/es5/components/VLazy/VLazy.js +12 -16
  183. package/es5/components/VLazy/VLazy.js.map +1 -1
  184. package/es5/components/VList/VList.js +2 -2
  185. package/es5/components/VList/VList.js.map +1 -1
  186. package/es5/components/VList/VListGroup.js +73 -40
  187. package/es5/components/VList/VListGroup.js.map +1 -1
  188. package/es5/components/VList/VListItem.js +67 -20
  189. package/es5/components/VList/VListItem.js.map +1 -1
  190. package/es5/components/VList/VListItemAction.js +23 -9
  191. package/es5/components/VList/VListItemAction.js.map +1 -1
  192. package/es5/components/VList/VListItemAvatar.js.map +1 -1
  193. package/es5/components/VList/VListItemGroup.js.map +1 -1
  194. package/es5/components/VList/VListItemIcon.js +3 -1
  195. package/es5/components/VList/VListItemIcon.js.map +1 -1
  196. package/es5/components/VList/index.js.map +1 -1
  197. package/es5/components/VMain/VMain.js +1 -1
  198. package/es5/components/VMain/VMain.js.map +1 -1
  199. package/es5/components/VMenu/VMenu.js +66 -33
  200. package/es5/components/VMenu/VMenu.js.map +1 -1
  201. package/es5/components/VMessages/VMessages.js +40 -10
  202. package/es5/components/VMessages/VMessages.js.map +1 -1
  203. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +41 -19
  204. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  205. package/es5/components/VOtpInput/VOtpInput.js +87 -34
  206. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  207. package/es5/components/VOverflowBtn/VOverflowBtn.js +26 -17
  208. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  209. package/es5/components/VOverlay/VOverlay.js +31 -3
  210. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  211. package/es5/components/VPagination/VPagination.js +48 -27
  212. package/es5/components/VPagination/VPagination.js.map +1 -1
  213. package/es5/components/VParallax/VParallax.js.map +1 -1
  214. package/es5/components/VPicker/VPicker.js +11 -5
  215. package/es5/components/VPicker/VPicker.js.map +1 -1
  216. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  217. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  218. package/es5/components/VProgressLinear/VProgressLinear.js +51 -30
  219. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  220. package/es5/components/VRadioGroup/VRadio.js +11 -2
  221. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  222. package/es5/components/VRadioGroup/VRadioGroup.js +49 -10
  223. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  224. package/es5/components/VRadioGroup/index.js.map +1 -1
  225. package/es5/components/VRangeSlider/VRangeSlider.js +59 -34
  226. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  227. package/es5/components/VRating/VRating.js +45 -17
  228. package/es5/components/VRating/VRating.js.map +1 -1
  229. package/es5/components/VResponsive/VResponsive.js.map +1 -1
  230. package/es5/components/VSelect/VSelect.js +163 -82
  231. package/es5/components/VSelect/VSelect.js.map +1 -1
  232. package/es5/components/VSelect/VSelectList.js +127 -47
  233. package/es5/components/VSelect/VSelectList.js.map +1 -1
  234. package/es5/components/VSheet/VSheet.js +3 -1
  235. package/es5/components/VSheet/VSheet.js.map +1 -1
  236. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  237. package/es5/components/VSlideGroup/VSlideGroup.js +43 -29
  238. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  239. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  240. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  241. package/es5/components/VSlideGroup/index.js.map +1 -1
  242. package/es5/components/VSlider/VSlider.js +67 -35
  243. package/es5/components/VSlider/VSlider.js.map +1 -1
  244. package/es5/components/VSnackbar/VSnackbar.js +8 -3
  245. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  246. package/es5/components/VSparkline/VSparkline.js +48 -68
  247. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  248. package/es5/components/VSparkline/helpers/core.js.map +1 -1
  249. package/es5/components/VSparkline/helpers/math.js.map +1 -1
  250. package/es5/components/VSpeedDial/VSpeedDial.js +19 -19
  251. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  252. package/es5/components/VStepper/VStepper.js +3 -2
  253. package/es5/components/VStepper/VStepper.js.map +1 -1
  254. package/es5/components/VStepper/VStepperContent.js +9 -8
  255. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  256. package/es5/components/VStepper/VStepperStep.js +15 -21
  257. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  258. package/es5/components/VStepper/index.js.map +1 -1
  259. package/es5/components/VSubheader/VSubheader.js +1 -1
  260. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  261. package/es5/components/VSwitch/VSwitch.js +11 -9
  262. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  263. package/es5/components/VSystemBar/VSystemBar.js +5 -5
  264. package/es5/components/VSystemBar/VSystemBar.js.map +1 -1
  265. package/es5/components/VTabs/VTab.js +9 -1
  266. package/es5/components/VTabs/VTab.js.map +1 -1
  267. package/es5/components/VTabs/VTabItem.js.map +1 -1
  268. package/es5/components/VTabs/VTabs.js +74 -25
  269. package/es5/components/VTabs/VTabs.js.map +1 -1
  270. package/es5/components/VTabs/VTabsBar.js +3 -0
  271. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  272. package/es5/components/VTabs/VTabsItems.js +1 -0
  273. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  274. package/es5/components/VTabs/VTabsSlider.js.map +1 -1
  275. package/es5/components/VTabs/index.js.map +1 -1
  276. package/es5/components/VTextField/VTextField.js +55 -34
  277. package/es5/components/VTextField/VTextField.js.map +1 -1
  278. package/es5/components/VTextarea/VTextarea.js +1 -1
  279. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  280. package/es5/components/VThemeProvider/VThemeProvider.js.map +1 -1
  281. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  282. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  283. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  284. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  285. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  286. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  287. package/es5/components/VTimePicker/index.js.map +1 -1
  288. package/es5/components/VTimeline/VTimeline.js.map +1 -1
  289. package/es5/components/VTimeline/VTimelineItem.js +8 -2
  290. package/es5/components/VTimeline/VTimelineItem.js.map +1 -1
  291. package/es5/components/VTimeline/index.js.map +1 -1
  292. package/es5/components/VToolbar/VToolbar.js +3 -6
  293. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  294. package/es5/components/VToolbar/index.js.map +1 -1
  295. package/es5/components/VTooltip/VTooltip.js +14 -20
  296. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  297. package/es5/components/VTreeview/VTreeview.js +25 -19
  298. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  299. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  300. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  301. package/es5/components/VTreeview/index.js.map +1 -1
  302. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  303. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  304. package/es5/components/VWindow/VWindow.js +13 -8
  305. package/es5/components/VWindow/VWindow.js.map +1 -1
  306. package/es5/components/VWindow/VWindowItem.js +10 -10
  307. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  308. package/es5/components/VWindow/index.js.map +1 -1
  309. package/es5/components/transitions/createTransition.js +10 -2
  310. package/es5/components/transitions/createTransition.js.map +1 -1
  311. package/es5/components/transitions/expand-transition.js +1 -0
  312. package/es5/components/transitions/expand-transition.js.map +1 -1
  313. package/es5/components/transitions/index.js.map +1 -1
  314. package/es5/directives/click-outside/index.js +19 -21
  315. package/es5/directives/click-outside/index.js.map +1 -1
  316. package/es5/directives/color/index.js +6 -3
  317. package/es5/directives/color/index.js.map +1 -1
  318. package/es5/directives/intersect/index.js +30 -22
  319. package/es5/directives/intersect/index.js.map +1 -1
  320. package/es5/directives/mutate/index.js +18 -20
  321. package/es5/directives/mutate/index.js.map +1 -1
  322. package/es5/directives/resize/index.js +12 -14
  323. package/es5/directives/resize/index.js.map +1 -1
  324. package/es5/directives/ripple/index.js +5 -2
  325. package/es5/directives/ripple/index.js.map +1 -1
  326. package/es5/directives/scroll/index.js +15 -16
  327. package/es5/directives/scroll/index.js.map +1 -1
  328. package/es5/directives/touch/index.js +16 -12
  329. package/es5/directives/touch/index.js.map +1 -1
  330. package/es5/framework.js +1 -1
  331. package/es5/framework.js.map +1 -1
  332. package/es5/index.js.map +1 -1
  333. package/es5/install.js +10 -33
  334. package/es5/install.js.map +1 -1
  335. package/es5/locale/af.js.map +1 -1
  336. package/es5/locale/ar.js.map +1 -1
  337. package/es5/locale/az.js.map +1 -1
  338. package/es5/locale/bg.js.map +1 -1
  339. package/es5/locale/ca.js.map +1 -1
  340. package/es5/locale/ckb.js.map +1 -1
  341. package/es5/locale/cs.js.map +1 -1
  342. package/es5/locale/da.js.map +1 -1
  343. package/es5/locale/de.js.map +1 -1
  344. package/es5/locale/el.js.map +1 -1
  345. package/es5/locale/en.js.map +1 -1
  346. package/es5/locale/es.js.map +1 -1
  347. package/es5/locale/et.js.map +1 -1
  348. package/es5/locale/fa.js.map +1 -1
  349. package/es5/locale/fi.js.map +1 -1
  350. package/es5/locale/fr.js.map +1 -1
  351. package/es5/locale/he.js.map +1 -1
  352. package/es5/locale/hr.js.map +1 -1
  353. package/es5/locale/hu.js.map +1 -1
  354. package/es5/locale/id.js.map +1 -1
  355. package/es5/locale/it.js.map +1 -1
  356. package/es5/locale/ja.js.map +1 -1
  357. package/es5/locale/ko.js.map +1 -1
  358. package/es5/locale/lt.js.map +1 -1
  359. package/es5/locale/lv.js.map +1 -1
  360. package/es5/locale/nl.js.map +1 -1
  361. package/es5/locale/no.js.map +1 -1
  362. package/es5/locale/pl.js.map +1 -1
  363. package/es5/locale/pt.js.map +1 -1
  364. package/es5/locale/ro.js.map +1 -1
  365. package/es5/locale/ru.js.map +1 -1
  366. package/es5/locale/sk.js.map +1 -1
  367. package/es5/locale/sl.js.map +1 -1
  368. package/es5/locale/sr-Cyrl.js.map +1 -1
  369. package/es5/locale/sr-Latn.js.map +1 -1
  370. package/es5/locale/sv.js.map +1 -1
  371. package/es5/locale/th.js.map +1 -1
  372. package/es5/locale/tr.js.map +1 -1
  373. package/es5/locale/uk.js.map +1 -1
  374. package/es5/locale/vi.js.map +1 -1
  375. package/es5/locale/zh-Hans.js.map +1 -1
  376. package/es5/locale/zh-Hant.js.map +1 -1
  377. package/es5/mixins/activatable/index.js +11 -18
  378. package/es5/mixins/activatable/index.js.map +1 -1
  379. package/es5/mixins/applicationable/index.js +4 -4
  380. package/es5/mixins/applicationable/index.js.map +1 -1
  381. package/es5/mixins/binds-attrs/index.js +1 -1
  382. package/es5/mixins/binds-attrs/index.js.map +1 -1
  383. package/es5/mixins/bootable/index.js +1 -2
  384. package/es5/mixins/bootable/index.js.map +1 -1
  385. package/es5/mixins/button-group/index.js.map +1 -1
  386. package/es5/mixins/colorable/index.js +1 -0
  387. package/es5/mixins/colorable/index.js.map +1 -1
  388. package/es5/mixins/comparable/index.js.map +1 -1
  389. package/es5/mixins/delayable/index.js.map +1 -1
  390. package/es5/mixins/dependent/index.js +36 -14
  391. package/es5/mixins/dependent/index.js.map +1 -1
  392. package/es5/mixins/detachable/index.js +13 -10
  393. package/es5/mixins/detachable/index.js.map +1 -1
  394. package/es5/mixins/elevatable/index.js.map +1 -1
  395. package/es5/mixins/filterable/index.js.map +1 -1
  396. package/es5/mixins/groupable/index.js +6 -2
  397. package/es5/mixins/groupable/index.js.map +1 -1
  398. package/es5/mixins/intersectable/index.js +2 -2
  399. package/es5/mixins/intersectable/index.js.map +1 -1
  400. package/es5/mixins/loadable/index.js +3 -1
  401. package/es5/mixins/loadable/index.js.map +1 -1
  402. package/es5/mixins/localable/index.js.map +1 -1
  403. package/es5/mixins/measurable/index.js.map +1 -1
  404. package/es5/mixins/menuable/index.js +3 -3
  405. package/es5/mixins/menuable/index.js.map +1 -1
  406. package/es5/mixins/mobile/index.js.map +1 -1
  407. package/es5/mixins/mouse/index.js +10 -5
  408. package/es5/mixins/mouse/index.js.map +1 -1
  409. package/es5/mixins/overlayable/index.js +46 -12
  410. package/es5/mixins/overlayable/index.js.map +1 -1
  411. package/es5/mixins/picker/index.js +16 -5
  412. package/es5/mixins/picker/index.js.map +1 -1
  413. package/es5/mixins/picker-button/index.js.map +1 -1
  414. package/es5/mixins/positionable/index.js.map +1 -1
  415. package/es5/mixins/proxyable/index.js +5 -2
  416. package/es5/mixins/proxyable/index.js.map +1 -1
  417. package/es5/mixins/registrable/index.js.map +1 -1
  418. package/es5/mixins/returnable/index.js.map +1 -1
  419. package/es5/mixins/rippleable/index.js.map +1 -1
  420. package/es5/mixins/roundable/index.js.map +1 -1
  421. package/es5/mixins/routable/index.js +17 -8
  422. package/es5/mixins/routable/index.js.map +1 -1
  423. package/es5/mixins/scrollable/index.js.map +1 -1
  424. package/es5/mixins/selectable/index.js +7 -7
  425. package/es5/mixins/selectable/index.js.map +1 -1
  426. package/es5/mixins/sizeable/index.js.map +1 -1
  427. package/es5/mixins/ssr-bootable/index.js.map +1 -1
  428. package/es5/mixins/stackable/index.js.map +1 -1
  429. package/es5/mixins/themeable/index.js.map +1 -1
  430. package/es5/mixins/toggleable/index.js.map +1 -1
  431. package/es5/mixins/transitionable/index.js.map +1 -1
  432. package/es5/mixins/translatable/index.js +1 -1
  433. package/es5/mixins/translatable/index.js.map +1 -1
  434. package/es5/mixins/validatable/index.js +34 -7
  435. package/es5/mixins/validatable/index.js.map +1 -1
  436. package/es5/presets/default/index.js.map +1 -1
  437. package/es5/services/application/index.js.map +1 -1
  438. package/es5/services/breakpoint/index.js.map +1 -1
  439. package/es5/services/goto/index.js.map +1 -1
  440. package/es5/services/goto/util.js +42 -3
  441. package/es5/services/goto/util.js.map +1 -1
  442. package/es5/services/icons/index.js.map +1 -1
  443. package/es5/services/icons/presets/fa-svg.js.map +1 -1
  444. package/es5/services/icons/presets/fa.js.map +1 -1
  445. package/es5/services/icons/presets/fa4.js.map +1 -1
  446. package/es5/services/icons/presets/index.js.map +1 -1
  447. package/es5/services/icons/presets/md.js.map +1 -1
  448. package/es5/services/icons/presets/mdi-svg.js.map +1 -1
  449. package/es5/services/icons/presets/mdi.js.map +1 -1
  450. package/es5/services/lang/index.js.map +1 -1
  451. package/es5/services/presets/index.js.map +1 -1
  452. package/es5/services/service/index.js.map +1 -1
  453. package/es5/services/theme/index.js +21 -72
  454. package/es5/services/theme/index.js.map +1 -1
  455. package/es5/services/theme/utils.js.map +1 -1
  456. package/es5/types/vue-augment.js +4 -0
  457. package/es5/types/vue-augment.js.map +1 -0
  458. package/es5/types/vue-internal.js +6 -0
  459. package/es5/types/vue-internal.js.map +1 -0
  460. package/es5/util/color/transformCIELAB.js.map +1 -1
  461. package/es5/util/color/transformSRGB.js.map +1 -1
  462. package/es5/util/colorUtils.js.map +1 -1
  463. package/es5/util/colors.js.map +1 -1
  464. package/es5/util/console.js +49 -18
  465. package/es5/util/console.js.map +1 -1
  466. package/es5/util/dedupeModelListeners.js.map +1 -1
  467. package/es5/util/helpers.js +107 -21
  468. package/es5/util/helpers.js.map +1 -1
  469. package/es5/util/legacyEventsMixin.js +48 -0
  470. package/es5/util/legacyEventsMixin.js.map +1 -0
  471. package/es5/util/make-directive-activatable.js +1 -1
  472. package/es5/util/make-directive-activatable.js.map +1 -1
  473. package/es5/util/mergeData.js +6 -23
  474. package/es5/util/mergeData.js.map +1 -1
  475. package/es5/util/mixins.js +4 -3
  476. package/es5/util/mixins.js.map +1 -1
  477. package/es5/util/rebuildFunctionalSlots.js.map +1 -1
  478. package/lib/components/VAlert/VAlert.js +17 -13
  479. package/lib/components/VAlert/VAlert.js.map +1 -1
  480. package/lib/components/VApp/VApp.js.map +1 -1
  481. package/lib/components/VAppBar/VAppBar.js +23 -16
  482. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  483. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  484. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  485. package/lib/components/VAppBar/VAppBarTitle.js.map +1 -1
  486. package/lib/components/VAppBar/index.js.map +1 -1
  487. package/lib/components/VAutocomplete/VAutocomplete.js +13 -10
  488. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  489. package/lib/components/VAvatar/VAvatar.js +3 -1
  490. package/lib/components/VAvatar/VAvatar.js.map +1 -1
  491. package/lib/components/VBadge/VBadge.js +26 -13
  492. package/lib/components/VBadge/VBadge.js.map +1 -1
  493. package/lib/components/VBanner/VBanner.js +20 -13
  494. package/lib/components/VBanner/VBanner.js.map +1 -1
  495. package/lib/components/VBottomNavigation/VBottomNavigation.js +21 -15
  496. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  497. package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
  498. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  499. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  500. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +25 -3
  501. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  502. package/lib/components/VBreadcrumbs/index.js.map +1 -1
  503. package/lib/components/VBtn/VBtn.js +21 -21
  504. package/lib/components/VBtn/VBtn.js.map +1 -1
  505. package/lib/components/VBtnToggle/VBtnToggle.js.map +1 -1
  506. package/lib/components/VCalendar/VCalendar.js +26 -31
  507. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  508. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  509. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  510. package/lib/components/VCalendar/VCalendarDaily.js +25 -33
  511. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  512. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  513. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  514. package/lib/components/VCalendar/VCalendarWeekly.js +36 -40
  515. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  516. package/lib/components/VCalendar/index.js.map +1 -1
  517. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  518. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  519. package/lib/components/VCalendar/mixins/calendar-with-events.js +20 -40
  520. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  521. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  522. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  523. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  524. package/lib/components/VCalendar/modes/common.js.map +1 -1
  525. package/lib/components/VCalendar/modes/index.js.map +1 -1
  526. package/lib/components/VCalendar/modes/stack.js.map +1 -1
  527. package/lib/components/VCalendar/util/events.js.map +1 -1
  528. package/lib/components/VCalendar/util/props.js.map +1 -1
  529. package/lib/components/VCalendar/util/timestamp.js.map +1 -1
  530. package/lib/components/VCard/VCard.js +3 -2
  531. package/lib/components/VCard/VCard.js.map +1 -1
  532. package/lib/components/VCard/index.js.map +1 -1
  533. package/lib/components/VCarousel/VCarousel.js +37 -17
  534. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  535. package/lib/components/VCarousel/VCarouselItem.js +4 -3
  536. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  537. package/lib/components/VCarousel/index.js.map +1 -1
  538. package/lib/components/VCheckbox/VCheckbox.js +19 -9
  539. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  540. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  541. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  542. package/lib/components/VCheckbox/index.js.map +1 -1
  543. package/lib/components/VChip/VChip.js +21 -11
  544. package/lib/components/VChip/VChip.js.map +1 -1
  545. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  546. package/lib/components/VColorPicker/VColorPicker.js +48 -45
  547. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  548. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  549. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  550. package/lib/components/VColorPicker/VColorPickerEdit.js +30 -33
  551. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  552. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  553. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  554. package/lib/components/VColorPicker/VColorPickerSwatches.js +16 -10
  555. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  556. package/lib/components/VColorPicker/util/index.js.map +1 -1
  557. package/lib/components/VCombobox/VCombobox.js +1 -0
  558. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  559. package/lib/components/VContent/VContent.js +19 -4
  560. package/lib/components/VContent/VContent.js.map +1 -1
  561. package/lib/components/VCounter/VCounter.js.map +1 -1
  562. package/lib/components/VData/VData.js +6 -4
  563. package/lib/components/VData/VData.js.map +1 -1
  564. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  565. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  566. package/lib/components/VDataIterator/VDataIterator.js +32 -35
  567. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  568. package/lib/components/VDataIterator/index.js.map +1 -1
  569. package/lib/components/VDataTable/MobileRow.js.map +1 -1
  570. package/lib/components/VDataTable/Row.js +11 -8
  571. package/lib/components/VDataTable/Row.js.map +1 -1
  572. package/lib/components/VDataTable/RowGroup.js +30 -14
  573. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  574. package/lib/components/VDataTable/VDataTable.js +67 -73
  575. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  576. package/lib/components/VDataTable/VDataTableHeader.js +10 -8
  577. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  578. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  579. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  580. package/lib/components/VDataTable/VDataTableHeaderMobile.js +19 -26
  581. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  582. package/lib/components/VDataTable/VEditDialog.js +18 -18
  583. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  584. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  585. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  586. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  587. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  588. package/lib/components/VDataTable/index.js.map +1 -1
  589. package/lib/components/VDataTable/mixins/header.js +3 -8
  590. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  591. package/lib/components/VDatePicker/VDatePicker.js +44 -29
  592. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  593. package/lib/components/VDatePicker/VDatePickerDateTable.js +2 -2
  594. package/lib/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
  595. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  596. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  597. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  598. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  599. package/lib/components/VDatePicker/VDatePickerTitle.js +34 -11
  600. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  601. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  602. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  603. package/lib/components/VDatePicker/index.js.map +1 -1
  604. package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -17
  605. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  606. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  607. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  608. package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
  609. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  610. package/lib/components/VDatePicker/util/index.js.map +1 -1
  611. package/lib/components/VDialog/VDialog.js +14 -6
  612. package/lib/components/VDialog/VDialog.js.map +1 -1
  613. package/lib/components/VDivider/VDivider.js.map +1 -1
  614. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  615. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  616. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  617. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  618. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  619. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  620. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  621. package/lib/components/VExpansionPanel/index.js.map +1 -1
  622. package/lib/components/VFileInput/VFileInput.js +46 -26
  623. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  624. package/lib/components/VFooter/VFooter.js +6 -4
  625. package/lib/components/VFooter/VFooter.js.map +1 -1
  626. package/lib/components/VForm/VForm.js +41 -26
  627. package/lib/components/VForm/VForm.js.map +1 -1
  628. package/lib/components/VGrid/VCol.js +8 -7
  629. package/lib/components/VGrid/VCol.js.map +1 -1
  630. package/lib/components/VGrid/VContainer.js +14 -10
  631. package/lib/components/VGrid/VContainer.js.map +1 -1
  632. package/lib/components/VGrid/VRow.js +3 -4
  633. package/lib/components/VGrid/VRow.js.map +1 -1
  634. package/lib/components/VGrid/grid.js +16 -14
  635. package/lib/components/VGrid/grid.js.map +1 -1
  636. package/lib/components/VGrid/index.js.map +1 -1
  637. package/lib/components/VHover/VHover.js +24 -18
  638. package/lib/components/VHover/VHover.js.map +1 -1
  639. package/lib/components/VIcon/VIcon.js +48 -71
  640. package/lib/components/VIcon/VIcon.js.map +1 -1
  641. package/lib/components/VImg/VImg.js +8 -10
  642. package/lib/components/VImg/VImg.js.map +1 -1
  643. package/lib/components/VInput/VInput.js +55 -14
  644. package/lib/components/VInput/VInput.js.map +1 -1
  645. package/lib/components/VItemGroup/VItem.js +24 -20
  646. package/lib/components/VItemGroup/VItem.js.map +1 -1
  647. package/lib/components/VItemGroup/VItemGroup.js +16 -6
  648. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  649. package/lib/components/VItemGroup/index.js.map +1 -1
  650. package/lib/components/VLabel/VLabel.js +13 -3
  651. package/lib/components/VLabel/VLabel.js.map +1 -1
  652. package/lib/components/VLazy/VLazy.js +13 -17
  653. package/lib/components/VLazy/VLazy.js.map +1 -1
  654. package/lib/components/VList/VList.js +3 -3
  655. package/lib/components/VList/VList.js.map +1 -1
  656. package/lib/components/VList/VListGroup.js +34 -32
  657. package/lib/components/VList/VListGroup.js.map +1 -1
  658. package/lib/components/VList/VListItem.js +42 -18
  659. package/lib/components/VList/VListItem.js.map +1 -1
  660. package/lib/components/VList/VListItemAction.js +15 -9
  661. package/lib/components/VList/VListItemAction.js.map +1 -1
  662. package/lib/components/VList/VListItemAvatar.js.map +1 -1
  663. package/lib/components/VList/VListItemGroup.js.map +1 -1
  664. package/lib/components/VList/VListItemIcon.js +3 -1
  665. package/lib/components/VList/VListItemIcon.js.map +1 -1
  666. package/lib/components/VList/index.js.map +1 -1
  667. package/lib/components/VMain/VMain.js +2 -2
  668. package/lib/components/VMain/VMain.js.map +1 -1
  669. package/lib/components/VMenu/VMenu.js +27 -11
  670. package/lib/components/VMenu/VMenu.js.map +1 -1
  671. package/lib/components/VMessages/VMessages.js +20 -6
  672. package/lib/components/VMessages/VMessages.js.map +1 -1
  673. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +17 -12
  674. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  675. package/lib/components/VOtpInput/VOtpInput.js +103 -35
  676. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  677. package/lib/components/VOverflowBtn/VOverflowBtn.js +24 -18
  678. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  679. package/lib/components/VOverlay/VOverlay.js +13 -2
  680. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  681. package/lib/components/VPagination/VPagination.js +28 -23
  682. package/lib/components/VPagination/VPagination.js.map +1 -1
  683. package/lib/components/VParallax/VParallax.js.map +1 -1
  684. package/lib/components/VPicker/VPicker.js +10 -6
  685. package/lib/components/VPicker/VPicker.js.map +1 -1
  686. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  687. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  688. package/lib/components/VProgressLinear/VProgressLinear.js +45 -22
  689. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  690. package/lib/components/VRadioGroup/VRadio.js +3 -2
  691. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  692. package/lib/components/VRadioGroup/VRadioGroup.js +27 -12
  693. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  694. package/lib/components/VRadioGroup/index.js.map +1 -1
  695. package/lib/components/VRangeSlider/VRangeSlider.js +20 -8
  696. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  697. package/lib/components/VRating/VRating.js +11 -0
  698. package/lib/components/VRating/VRating.js.map +1 -1
  699. package/lib/components/VResponsive/VResponsive.js.map +1 -1
  700. package/lib/components/VSelect/VSelect.js +106 -43
  701. package/lib/components/VSelect/VSelect.js.map +1 -1
  702. package/lib/components/VSelect/VSelectList.js +74 -34
  703. package/lib/components/VSelect/VSelectList.js.map +1 -1
  704. package/lib/components/VSheet/VSheet.js +3 -2
  705. package/lib/components/VSheet/VSheet.js.map +1 -1
  706. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  707. package/lib/components/VSlideGroup/VSlideGroup.js +26 -24
  708. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  709. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  710. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  711. package/lib/components/VSlideGroup/index.js.map +1 -1
  712. package/lib/components/VSlider/VSlider.js +36 -26
  713. package/lib/components/VSlider/VSlider.js.map +1 -1
  714. package/lib/components/VSnackbar/VSnackbar.js +2 -1
  715. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  716. package/lib/components/VSparkline/VSparkline.js +48 -67
  717. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  718. package/lib/components/VSparkline/helpers/core.js.map +1 -1
  719. package/lib/components/VSparkline/helpers/math.js.map +1 -1
  720. package/lib/components/VSpeedDial/VSpeedDial.js +13 -17
  721. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  722. package/lib/components/VStepper/VStepper.js +4 -3
  723. package/lib/components/VStepper/VStepper.js.map +1 -1
  724. package/lib/components/VStepper/VStepperContent.js +7 -8
  725. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  726. package/lib/components/VStepper/VStepperStep.js +9 -20
  727. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  728. package/lib/components/VStepper/index.js.map +1 -1
  729. package/lib/components/VSubheader/VSubheader.js +1 -1
  730. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  731. package/lib/components/VSwitch/VSwitch.js +2 -4
  732. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  733. package/lib/components/VSystemBar/VSystemBar.js +1 -2
  734. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  735. package/lib/components/VTabs/VTab.js +8 -2
  736. package/lib/components/VTabs/VTab.js.map +1 -1
  737. package/lib/components/VTabs/VTabItem.js.map +1 -1
  738. package/lib/components/VTabs/VTabs.js +38 -9
  739. package/lib/components/VTabs/VTabs.js.map +1 -1
  740. package/lib/components/VTabs/VTabsBar.js +3 -0
  741. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  742. package/lib/components/VTabs/VTabsItems.js +1 -0
  743. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  744. package/lib/components/VTabs/VTabsSlider.js.map +1 -1
  745. package/lib/components/VTabs/index.js.map +1 -1
  746. package/lib/components/VTextField/VTextField.js +26 -22
  747. package/lib/components/VTextField/VTextField.js.map +1 -1
  748. package/lib/components/VTextarea/VTextarea.js +1 -1
  749. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  750. package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
  751. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  752. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  753. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  754. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  755. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  756. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  757. package/lib/components/VTimePicker/index.js.map +1 -1
  758. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  759. package/lib/components/VTimeline/VTimelineItem.js +4 -2
  760. package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
  761. package/lib/components/VTimeline/index.js.map +1 -1
  762. package/lib/components/VToolbar/VToolbar.js +6 -7
  763. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  764. package/lib/components/VToolbar/index.js.map +1 -1
  765. package/lib/components/VTooltip/VTooltip.js +11 -22
  766. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  767. package/lib/components/VTreeview/VTreeview.js +17 -15
  768. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  769. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  770. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  771. package/lib/components/VTreeview/index.js.map +1 -1
  772. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  773. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  774. package/lib/components/VWindow/VWindow.js +9 -9
  775. package/lib/components/VWindow/VWindow.js.map +1 -1
  776. package/lib/components/VWindow/VWindowItem.js +5 -7
  777. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  778. package/lib/components/VWindow/index.js.map +1 -1
  779. package/lib/components/transitions/createTransition.js +7 -4
  780. package/lib/components/transitions/createTransition.js.map +1 -1
  781. package/lib/components/transitions/expand-transition.js +1 -0
  782. package/lib/components/transitions/expand-transition.js.map +1 -1
  783. package/lib/components/transitions/index.js.map +1 -1
  784. package/lib/directives/click-outside/index.js +17 -19
  785. package/lib/directives/click-outside/index.js.map +1 -1
  786. package/lib/directives/color/index.js +6 -3
  787. package/lib/directives/color/index.js.map +1 -1
  788. package/lib/directives/intersect/index.js +30 -21
  789. package/lib/directives/intersect/index.js.map +1 -1
  790. package/lib/directives/mutate/index.js +18 -20
  791. package/lib/directives/mutate/index.js.map +1 -1
  792. package/lib/directives/resize/index.js +12 -12
  793. package/lib/directives/resize/index.js.map +1 -1
  794. package/lib/directives/ripple/index.js +5 -3
  795. package/lib/directives/ripple/index.js.map +1 -1
  796. package/lib/directives/scroll/index.js +12 -12
  797. package/lib/directives/scroll/index.js.map +1 -1
  798. package/lib/directives/touch/index.js +16 -12
  799. package/lib/directives/touch/index.js.map +1 -1
  800. package/lib/framework.js +1 -1
  801. package/lib/framework.js.map +1 -1
  802. package/lib/install.js +5 -28
  803. package/lib/install.js.map +1 -1
  804. package/lib/locale/af.js.map +1 -1
  805. package/lib/locale/ar.js.map +1 -1
  806. package/lib/locale/az.js.map +1 -1
  807. package/lib/locale/bg.js.map +1 -1
  808. package/lib/locale/ca.js.map +1 -1
  809. package/lib/locale/ckb.js.map +1 -1
  810. package/lib/locale/cs.js.map +1 -1
  811. package/lib/locale/da.js.map +1 -1
  812. package/lib/locale/de.js.map +1 -1
  813. package/lib/locale/el.js.map +1 -1
  814. package/lib/locale/en.js.map +1 -1
  815. package/lib/locale/es.js.map +1 -1
  816. package/lib/locale/et.js.map +1 -1
  817. package/lib/locale/fa.js.map +1 -1
  818. package/lib/locale/fi.js.map +1 -1
  819. package/lib/locale/fr.js.map +1 -1
  820. package/lib/locale/he.js.map +1 -1
  821. package/lib/locale/hr.js.map +1 -1
  822. package/lib/locale/hu.js.map +1 -1
  823. package/lib/locale/id.js.map +1 -1
  824. package/lib/locale/it.js.map +1 -1
  825. package/lib/locale/ja.js.map +1 -1
  826. package/lib/locale/ko.js.map +1 -1
  827. package/lib/locale/lt.js.map +1 -1
  828. package/lib/locale/lv.js.map +1 -1
  829. package/lib/locale/nl.js.map +1 -1
  830. package/lib/locale/no.js.map +1 -1
  831. package/lib/locale/pl.js.map +1 -1
  832. package/lib/locale/pt.js.map +1 -1
  833. package/lib/locale/ro.js.map +1 -1
  834. package/lib/locale/ru.js.map +1 -1
  835. package/lib/locale/sk.js.map +1 -1
  836. package/lib/locale/sl.js.map +1 -1
  837. package/lib/locale/sr-Cyrl.js.map +1 -1
  838. package/lib/locale/sr-Latn.js.map +1 -1
  839. package/lib/locale/sv.js.map +1 -1
  840. package/lib/locale/th.js.map +1 -1
  841. package/lib/locale/tr.js.map +1 -1
  842. package/lib/locale/uk.js.map +1 -1
  843. package/lib/locale/vi.js.map +1 -1
  844. package/lib/locale/zh-Hans.js.map +1 -1
  845. package/lib/locale/zh-Hant.js.map +1 -1
  846. package/lib/mixins/activatable/index.js +14 -20
  847. package/lib/mixins/activatable/index.js.map +1 -1
  848. package/lib/mixins/applicationable/index.js +4 -4
  849. package/lib/mixins/applicationable/index.js.map +1 -1
  850. package/lib/mixins/binds-attrs/index.js +1 -1
  851. package/lib/mixins/binds-attrs/index.js.map +1 -1
  852. package/lib/mixins/bootable/index.js +2 -4
  853. package/lib/mixins/bootable/index.js.map +1 -1
  854. package/lib/mixins/button-group/index.js.map +1 -1
  855. package/lib/mixins/colorable/index.js +1 -0
  856. package/lib/mixins/colorable/index.js.map +1 -1
  857. package/lib/mixins/comparable/index.js.map +1 -1
  858. package/lib/mixins/delayable/index.js.map +1 -1
  859. package/lib/mixins/dependent/index.js +21 -11
  860. package/lib/mixins/dependent/index.js.map +1 -1
  861. package/lib/mixins/detachable/index.js +14 -11
  862. package/lib/mixins/detachable/index.js.map +1 -1
  863. package/lib/mixins/elevatable/index.js.map +1 -1
  864. package/lib/mixins/filterable/index.js.map +1 -1
  865. package/lib/mixins/groupable/index.js +4 -2
  866. package/lib/mixins/groupable/index.js.map +1 -1
  867. package/lib/mixins/intersectable/index.js +2 -2
  868. package/lib/mixins/intersectable/index.js.map +1 -1
  869. package/lib/mixins/loadable/index.js +3 -1
  870. package/lib/mixins/loadable/index.js.map +1 -1
  871. package/lib/mixins/localable/index.js.map +1 -1
  872. package/lib/mixins/measurable/index.js.map +1 -1
  873. package/lib/mixins/menuable/index.js +3 -3
  874. package/lib/mixins/menuable/index.js.map +1 -1
  875. package/lib/mixins/mobile/index.js.map +1 -1
  876. package/lib/mixins/mouse/index.js +9 -5
  877. package/lib/mixins/mouse/index.js.map +1 -1
  878. package/lib/mixins/overlayable/index.js +46 -9
  879. package/lib/mixins/overlayable/index.js.map +1 -1
  880. package/lib/mixins/picker/index.js +11 -6
  881. package/lib/mixins/picker/index.js.map +1 -1
  882. package/lib/mixins/picker-button/index.js +1 -2
  883. package/lib/mixins/picker-button/index.js.map +1 -1
  884. package/lib/mixins/positionable/index.js.map +1 -1
  885. package/lib/mixins/proxyable/index.js +5 -2
  886. package/lib/mixins/proxyable/index.js.map +1 -1
  887. package/lib/mixins/registrable/index.js.map +1 -1
  888. package/lib/mixins/returnable/index.js.map +1 -1
  889. package/lib/mixins/rippleable/index.js.map +1 -1
  890. package/lib/mixins/roundable/index.js.map +1 -1
  891. package/lib/mixins/routable/index.js +16 -7
  892. package/lib/mixins/routable/index.js.map +1 -1
  893. package/lib/mixins/scrollable/index.js.map +1 -1
  894. package/lib/mixins/selectable/index.js +12 -12
  895. package/lib/mixins/selectable/index.js.map +1 -1
  896. package/lib/mixins/sizeable/index.js.map +1 -1
  897. package/lib/mixins/ssr-bootable/index.js.map +1 -1
  898. package/lib/mixins/stackable/index.js.map +1 -1
  899. package/lib/mixins/themeable/index.js.map +1 -1
  900. package/lib/mixins/toggleable/index.js.map +1 -1
  901. package/lib/mixins/transitionable/index.js.map +1 -1
  902. package/lib/mixins/translatable/index.js +1 -1
  903. package/lib/mixins/translatable/index.js.map +1 -1
  904. package/lib/mixins/validatable/index.js +17 -7
  905. package/lib/mixins/validatable/index.js.map +1 -1
  906. package/lib/presets/default/index.js.map +1 -1
  907. package/lib/services/application/index.js.map +1 -1
  908. package/lib/services/breakpoint/index.js.map +1 -1
  909. package/lib/services/goto/index.js.map +1 -1
  910. package/lib/services/goto/util.js +42 -3
  911. package/lib/services/goto/util.js.map +1 -1
  912. package/lib/services/icons/index.js.map +1 -1
  913. package/lib/services/icons/presets/fa-svg.js.map +1 -1
  914. package/lib/services/icons/presets/fa.js.map +1 -1
  915. package/lib/services/icons/presets/fa4.js.map +1 -1
  916. package/lib/services/icons/presets/index.js.map +1 -1
  917. package/lib/services/icons/presets/md.js.map +1 -1
  918. package/lib/services/icons/presets/mdi-svg.js.map +1 -1
  919. package/lib/services/icons/presets/mdi.js.map +1 -1
  920. package/lib/services/lang/index.js.map +1 -1
  921. package/lib/services/presets/index.js.map +1 -1
  922. package/lib/services/service/index.js.map +1 -1
  923. package/lib/services/theme/index.js +19 -65
  924. package/lib/services/theme/index.js.map +1 -1
  925. package/lib/services/theme/utils.js.map +1 -1
  926. package/lib/types/vue-augment.js +5 -0
  927. package/lib/types/vue-augment.js.map +1 -0
  928. package/lib/types/vue-internal.js +2 -0
  929. package/lib/types/vue-internal.js.map +1 -0
  930. package/lib/util/color/transformCIELAB.js.map +1 -1
  931. package/lib/util/color/transformSRGB.js.map +1 -1
  932. package/lib/util/colorUtils.js.map +1 -1
  933. package/lib/util/colors.js.map +1 -1
  934. package/lib/util/console.js +47 -17
  935. package/lib/util/console.js.map +1 -1
  936. package/lib/util/dedupeModelListeners.js.map +1 -1
  937. package/lib/util/helpers.js +94 -21
  938. package/lib/util/helpers.js.map +1 -1
  939. package/lib/util/legacyEventsMixin.js +37 -0
  940. package/lib/util/legacyEventsMixin.js.map +1 -0
  941. package/lib/util/make-directive-activatable.js +1 -1
  942. package/lib/util/make-directive-activatable.js.map +1 -1
  943. package/lib/util/mergeData.js +6 -23
  944. package/lib/util/mergeData.js.map +1 -1
  945. package/lib/util/mixins.js +3 -2
  946. package/lib/util/mixins.js.map +1 -1
  947. package/lib/util/rebuildFunctionalSlots.js.map +1 -1
  948. package/package.json +6 -5
  949. package/src/components/VAlert/VAlert.ts +43 -33
  950. package/src/components/VAlert/__tests__/VAlert.spec.ts +88 -60
  951. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +18 -20
  952. package/src/components/VApp/VApp.ts +9 -9
  953. package/src/components/VApp/__tests__/VApp.spec.ts +35 -29
  954. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  955. package/src/components/VAppBar/VAppBar.ts +31 -24
  956. package/src/components/VAppBar/VAppBarNavIcon.ts +4 -4
  957. package/src/components/VAppBar/VAppBarTitle.ts +13 -13
  958. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +284 -99
  959. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +3 -7
  960. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  961. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +4 -5
  962. package/src/components/VAppBar/index.ts +2 -2
  963. package/src/components/VAutocomplete/VAutocomplete.ts +56 -30
  964. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +170 -100
  965. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +140 -113
  966. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +130 -68
  967. package/src/components/VAvatar/VAvatar.ts +9 -9
  968. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  969. package/src/components/VBadge/VBadge.ts +49 -37
  970. package/src/components/VBadge/__tests__/VBadge.spec.ts +64 -47
  971. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  972. package/src/components/VBanner/VBanner.ts +46 -33
  973. package/src/components/VBanner/__tests__/VBanner.spec.ts +65 -66
  974. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +3 -3
  975. package/src/components/VBottomNavigation/VBottomNavigation.ts +44 -28
  976. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +55 -49
  977. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +10 -10
  978. package/src/components/VBottomSheet/VBottomSheet.ts +5 -5
  979. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +18 -14
  980. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +38 -14
  981. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +141 -26
  982. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +14 -10
  983. package/src/components/VBreadcrumbs/index.ts +2 -2
  984. package/src/components/VBtn/VBtn.ts +42 -34
  985. package/src/components/VBtn/__tests__/VBtn.spec.ts +268 -248
  986. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  987. package/src/components/VBtnToggle/VBtnToggle.ts +6 -6
  988. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +11 -7
  989. package/src/components/VCalendar/VCalendar.ts +41 -40
  990. package/src/components/VCalendar/VCalendarCategory.ts +28 -25
  991. package/src/components/VCalendar/VCalendarDaily.ts +59 -66
  992. package/src/components/VCalendar/VCalendarMonthly.ts +4 -3
  993. package/src/components/VCalendar/VCalendarWeekly.ts +47 -48
  994. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +36 -52
  995. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +33 -31
  996. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +57 -55
  997. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +38 -38
  998. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  999. package/src/components/VCalendar/index.ts +2 -2
  1000. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  1001. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +45 -42
  1002. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +60 -67
  1003. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +63 -60
  1004. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +15 -14
  1005. package/src/components/VCalendar/mixins/calendar-base.ts +12 -17
  1006. package/src/components/VCalendar/mixins/calendar-with-events.ts +56 -69
  1007. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +5 -5
  1008. package/src/components/VCalendar/mixins/times.ts +10 -10
  1009. package/src/components/VCalendar/modes/__tests__/common.spec.ts +12 -12
  1010. package/src/components/VCalendar/modes/common.ts +2 -2
  1011. package/src/components/VCalendar/modes/index.ts +1 -1
  1012. package/src/components/VCalendar/modes/stack.ts +1 -1
  1013. package/src/components/VCalendar/util/__tests__/events.spec.ts +10 -10
  1014. package/src/components/VCalendar/util/__tests__/timestamp.spec.ts +18 -18
  1015. package/src/components/VCalendar/util/events.ts +2 -2
  1016. package/src/components/VCalendar/util/props.ts +56 -58
  1017. package/src/components/VCalendar/util/timestamp.ts +2 -2
  1018. package/src/components/VCard/VCard.ts +13 -11
  1019. package/src/components/VCard/__tests__/VCard.spec.ts +58 -40
  1020. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  1021. package/src/components/VCard/index.ts +3 -3
  1022. package/src/components/VCarousel/VCarousel.ts +58 -31
  1023. package/src/components/VCarousel/VCarouselItem.ts +16 -12
  1024. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +101 -78
  1025. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +11 -7
  1026. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  1027. package/src/components/VCarousel/index.ts +2 -2
  1028. package/src/components/VCheckbox/VCheckbox.ts +35 -22
  1029. package/src/components/VCheckbox/VSimpleCheckbox.ts +103 -51
  1030. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +193 -158
  1031. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  1032. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -47
  1033. package/src/components/VCheckbox/index.ts +2 -2
  1034. package/src/components/VChip/VChip.ts +43 -36
  1035. package/src/components/VChip/__tests__/VChip.spec.ts +104 -63
  1036. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +9 -4
  1037. package/src/components/VChipGroup/VChipGroup.ts +8 -8
  1038. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +19 -26
  1039. package/src/components/VColorPicker/VColorPicker.ts +68 -58
  1040. package/src/components/VColorPicker/VColorPickerCanvas.ts +59 -52
  1041. package/src/components/VColorPicker/VColorPickerEdit.ts +62 -56
  1042. package/src/components/VColorPicker/VColorPickerPreview.ts +56 -36
  1043. package/src/components/VColorPicker/VColorPickerSwatches.ts +53 -40
  1044. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +68 -68
  1045. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +23 -21
  1046. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +76 -63
  1047. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +106 -35
  1048. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +236 -184
  1049. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +48 -26
  1050. package/src/components/VColorPicker/util/__tests__/index.spec.ts +2 -2
  1051. package/src/components/VColorPicker/util/index.ts +5 -5
  1052. package/src/components/VCombobox/VCombobox.ts +33 -10
  1053. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +220 -192
  1054. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +145 -114
  1055. package/src/components/VContent/VContent.ts +15 -5
  1056. package/src/components/VContent/__tests__/VContent.spec.ts +40 -0
  1057. package/src/components/VCounter/VCounter.ts +6 -6
  1058. package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
  1059. package/src/components/VData/VData.ts +44 -43
  1060. package/src/components/VData/__tests__/VData.spec.ts +174 -195
  1061. package/src/components/VDataIterator/VDataFooter.ts +43 -35
  1062. package/src/components/VDataIterator/VDataIterator.ts +77 -60
  1063. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +66 -67
  1064. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +133 -165
  1065. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +130 -99
  1066. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +109 -84
  1067. package/src/components/VDataIterator/index.ts +2 -2
  1068. package/src/components/VDataTable/MobileRow.ts +7 -7
  1069. package/src/components/VDataTable/Row.ts +13 -9
  1070. package/src/components/VDataTable/RowGroup.ts +40 -23
  1071. package/src/components/VDataTable/VDataTable.ts +131 -126
  1072. package/src/components/VDataTable/VDataTableHeader.ts +12 -13
  1073. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +23 -13
  1074. package/src/components/VDataTable/VDataTableHeaderMobile.ts +29 -35
  1075. package/src/components/VDataTable/VEditDialog.ts +33 -31
  1076. package/src/components/VDataTable/VSimpleTable.ts +12 -13
  1077. package/src/components/VDataTable/VVirtualTable.ts +25 -27
  1078. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +65 -76
  1079. package/src/components/VDataTable/__tests__/Row.spec.ts +73 -82
  1080. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +11 -9
  1081. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +1007 -1011
  1082. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +60 -54
  1083. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +68 -56
  1084. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +70 -44
  1085. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +19 -21
  1086. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  1087. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +3597 -1706
  1088. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +157 -151
  1089. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  1090. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  1091. package/src/components/VDataTable/index.ts +2 -2
  1092. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +14 -17
  1093. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +31 -31
  1094. package/src/components/VDataTable/mixins/header.ts +17 -22
  1095. package/src/components/VDatePicker/VDatePicker.ts +97 -73
  1096. package/src/components/VDatePicker/VDatePickerDateTable.ts +25 -20
  1097. package/src/components/VDatePicker/VDatePickerHeader.ts +66 -41
  1098. package/src/components/VDatePicker/VDatePickerMonthTable.ts +8 -8
  1099. package/src/components/VDatePicker/VDatePickerTitle.ts +54 -28
  1100. package/src/components/VDatePicker/VDatePickerYears.ts +26 -24
  1101. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +406 -349
  1102. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +191 -165
  1103. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +115 -129
  1104. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +107 -97
  1105. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +94 -108
  1106. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +68 -44
  1107. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +40 -37
  1108. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +680 -595
  1109. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +278 -228
  1110. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  1111. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +92 -52
  1112. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  1113. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +22 -9
  1114. package/src/components/VDatePicker/index.ts +3 -3
  1115. package/src/components/VDatePicker/mixins/date-picker-table.ts +68 -51
  1116. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  1117. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  1118. package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
  1119. package/src/components/VDatePicker/util/index.ts +2 -2
  1120. package/src/components/VDialog/VDialog.ts +43 -34
  1121. package/src/components/VDialog/__tests__/VDialog.spec.ts +131 -127
  1122. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  1123. package/src/components/VDivider/VDivider.ts +4 -5
  1124. package/src/components/VDivider/__tests__/VDivider.spec.ts +14 -18
  1125. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  1126. package/src/components/VExpansionPanel/VExpansionPanel.ts +13 -8
  1127. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +12 -15
  1128. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +19 -24
  1129. package/src/components/VExpansionPanel/VExpansionPanels.ts +6 -6
  1130. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +59 -43
  1131. package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +9 -7
  1132. package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +11 -7
  1133. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +12 -11
  1134. package/src/components/VExpansionPanel/index.ts +2 -2
  1135. package/src/components/VFileInput/VFileInput.ts +68 -53
  1136. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +106 -76
  1137. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  1138. package/src/components/VFooter/VFooter.ts +15 -16
  1139. package/src/components/VFooter/__tests__/VFooter.spec.ts +35 -28
  1140. package/src/components/VForm/VForm.ts +71 -43
  1141. package/src/components/VForm/__tests__/VForm.spec.ts +114 -94
  1142. package/src/components/VGrid/VCol.ts +18 -18
  1143. package/src/components/VGrid/VContainer.ts +20 -16
  1144. package/src/components/VGrid/VRow.ts +17 -17
  1145. package/src/components/VGrid/__tests__/VCol.spec.ts +34 -32
  1146. package/src/components/VGrid/__tests__/VContainer.spec.ts +59 -4
  1147. package/src/components/VGrid/__tests__/VFlex.spec.ts +4 -4
  1148. package/src/components/VGrid/__tests__/VGrid.spec.ts +19 -19
  1149. package/src/components/VGrid/__tests__/VLayout.spec.ts +4 -4
  1150. package/src/components/VGrid/grid.ts +18 -19
  1151. package/src/components/VGrid/index.ts +3 -3
  1152. package/src/components/VHover/VHover.ts +27 -22
  1153. package/src/components/VHover/__tests__/VHover.spec.ts +50 -34
  1154. package/src/components/VIcon/VIcon.ts +74 -95
  1155. package/src/components/VIcon/__tests__/VIcon.spec.ts +164 -127
  1156. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -67
  1157. package/src/components/VImg/VImg.ts +52 -52
  1158. package/src/components/VImg/__tests__/VImg.spec.ts +42 -41
  1159. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  1160. package/src/components/VInput/VInput.ts +83 -46
  1161. package/src/components/VInput/__tests__/VInput.spec.ts +158 -159
  1162. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +68 -103
  1163. package/src/components/VItemGroup/VItem.ts +35 -29
  1164. package/src/components/VItemGroup/VItemGroup.ts +35 -22
  1165. package/src/components/VItemGroup/__tests__/VItem.spec.ts +40 -48
  1166. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +158 -152
  1167. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  1168. package/src/components/VItemGroup/index.ts +3 -3
  1169. package/src/components/VLabel/VLabel.ts +14 -10
  1170. package/src/components/VLabel/__tests__/VLabel.spec.ts +254 -18
  1171. package/src/components/VLazy/VLazy.ts +28 -29
  1172. package/src/components/VLazy/__tests__/VLazy.spec.ts +11 -9
  1173. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +1 -1
  1174. package/src/components/VList/VList.ts +15 -15
  1175. package/src/components/VList/VListGroup.ts +62 -50
  1176. package/src/components/VList/VListItem.ts +72 -39
  1177. package/src/components/VList/VListItemAction.ts +12 -11
  1178. package/src/components/VList/VListItemAvatar.ts +5 -5
  1179. package/src/components/VList/VListItemGroup.ts +7 -7
  1180. package/src/components/VList/VListItemIcon.ts +2 -2
  1181. package/src/components/VList/__tests__/VList.spec.ts +22 -21
  1182. package/src/components/VList/__tests__/VListGroup.spec.ts +74 -66
  1183. package/src/components/VList/__tests__/VListItem.spec.ts +274 -78
  1184. package/src/components/VList/__tests__/VListItemAction.spec.ts +34 -33
  1185. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +6 -3
  1186. package/src/components/VList/__tests__/VListItemGroup.spec.ts +37 -3
  1187. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  1188. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +6 -7
  1189. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  1190. package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
  1191. package/src/components/VList/index.ts +3 -3
  1192. package/src/components/VMain/VMain.ts +11 -11
  1193. package/src/components/VMain/__tests__/VMain.spec.ts +74 -20
  1194. package/src/components/VMenu/VMenu.ts +67 -42
  1195. package/src/components/VMenu/__tests__/VMenu.spec.ts +119 -98
  1196. package/src/components/VMenu/__tests__/VMenuActivatorTest.spec.ts +25 -0
  1197. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  1198. package/src/components/VMenu/__tests__/test-with-directives.spec.ts +50 -0
  1199. package/src/components/VMessages/VMessages.ts +29 -11
  1200. package/src/components/VMessages/__tests__/VMessages.spec.ts +60 -21
  1201. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  1202. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +51 -43
  1203. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +157 -112
  1204. package/src/components/VOtpInput/VOtpInput.ts +109 -49
  1205. package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +85 -88
  1206. package/src/components/VOverflowBtn/VOverflowBtn.ts +30 -20
  1207. package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +36 -21
  1208. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +36 -46
  1209. package/src/components/VOverlay/VOverlay.ts +31 -17
  1210. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +7 -7
  1211. package/src/components/VPagination/VPagination.ts +61 -49
  1212. package/src/components/VPagination/__tests__/VPagination.spec.ts +106 -92
  1213. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +214 -459
  1214. package/src/components/VParallax/VParallax.ts +17 -17
  1215. package/src/components/VParallax/__tests__/VParallax.spec.ts +6 -6
  1216. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  1217. package/src/components/VPicker/VPicker.ts +33 -30
  1218. package/src/components/VPicker/__tests__/VPicker.spec.ts +47 -26
  1219. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  1220. package/src/components/VProgressCircular/VProgressCircular.ts +25 -26
  1221. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +46 -39
  1222. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  1223. package/src/components/VProgressLinear/VProgressLinear.ts +81 -52
  1224. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +418 -103
  1225. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  1226. package/src/components/VRadioGroup/VRadio.ts +25 -23
  1227. package/src/components/VRadioGroup/VRadioGroup.ts +44 -27
  1228. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +65 -52
  1229. package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +26 -7
  1230. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +25 -27
  1231. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
  1232. package/src/components/VRadioGroup/index.ts +2 -2
  1233. package/src/components/VRangeSlider/VRangeSlider.ts +41 -25
  1234. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +56 -53
  1235. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  1236. package/src/components/VRating/VRating.ts +39 -26
  1237. package/src/components/VRating/__tests__/VRating.spec.ts +45 -51
  1238. package/src/components/VResponsive/VResponsive.ts +9 -9
  1239. package/src/components/VResponsive/__tests__/VResponsive.spec.ts +12 -7
  1240. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  1241. package/src/components/VSelect/VSelect.ts +150 -82
  1242. package/src/components/VSelect/VSelectList.ts +95 -52
  1243. package/src/components/VSelect/__tests__/VSelect.placeholder.spec.ts +118 -0
  1244. package/src/components/VSelect/__tests__/VSelect.spec.ts +265 -169
  1245. package/src/components/VSelect/__tests__/VSelect2.spec.ts +164 -148
  1246. package/src/components/VSelect/__tests__/VSelect3.spec.ts +149 -131
  1247. package/src/components/VSelect/__tests__/VSelect4.spec.ts +135 -97
  1248. package/src/components/VSelect/__tests__/VSelectList.spec.ts +50 -45
  1249. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +70 -62
  1250. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +68 -60
  1251. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +13 -297
  1252. package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
  1253. package/src/components/VSheet/VSheet.ts +9 -8
  1254. package/src/components/VSheet/__tests__/VSheet.spec.ts +9 -9
  1255. package/src/components/VSkeletonLoader/VSkeletonLoader.ts +13 -14
  1256. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +29 -22
  1257. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  1258. package/src/components/VSlideGroup/VSlideGroup.ts +58 -53
  1259. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  1260. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +101 -93
  1261. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
  1262. package/src/components/VSlideGroup/index.ts +3 -3
  1263. package/src/components/VSlider/VSlider.ts +110 -89
  1264. package/src/components/VSlider/__tests__/VSlider.spec.ts +223 -321
  1265. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +160 -249
  1266. package/src/components/VSnackbar/VSnackbar.ts +26 -26
  1267. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +59 -50
  1268. package/src/components/VSparkline/VSparkline.ts +85 -121
  1269. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +80 -82
  1270. package/src/components/VSparkline/helpers/core.ts +2 -2
  1271. package/src/components/VSparkline/helpers/math.ts +1 -1
  1272. package/src/components/VSpeedDial/VSpeedDial.ts +27 -28
  1273. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +28 -20
  1274. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  1275. package/src/components/VStepper/VStepper.ts +18 -16
  1276. package/src/components/VStepper/VStepperContent.ts +27 -33
  1277. package/src/components/VStepper/VStepperStep.ts +26 -35
  1278. package/src/components/VStepper/__tests__/VStepper.spec.ts +8 -5
  1279. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +142 -129
  1280. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +66 -59
  1281. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -11
  1282. package/src/components/VStepper/index.ts +3 -3
  1283. package/src/components/VSubheader/VSubheader.ts +5 -5
  1284. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +13 -8
  1285. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  1286. package/src/components/VSwitch/VSwitch.ts +27 -28
  1287. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +55 -51
  1288. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
  1289. package/src/components/VSystemBar/VSystemBar.ts +11 -12
  1290. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +94 -22
  1291. package/src/components/VTabs/VTab.ts +29 -16
  1292. package/src/components/VTabs/VTabItem.ts +3 -3
  1293. package/src/components/VTabs/VTabs.ts +61 -31
  1294. package/src/components/VTabs/VTabsBar.ts +17 -11
  1295. package/src/components/VTabs/VTabsItems.ts +8 -6
  1296. package/src/components/VTabs/VTabsSlider.ts +4 -4
  1297. package/src/components/VTabs/__tests__/VTab.spec.ts +54 -45
  1298. package/src/components/VTabs/__tests__/VTabs.spec.ts +199 -86
  1299. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +69 -28
  1300. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +10 -9
  1301. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  1302. package/src/components/VTabs/index.ts +2 -2
  1303. package/src/components/VTextField/VTextField.ts +61 -55
  1304. package/src/components/VTextField/__tests__/VTextField.spec.ts +455 -346
  1305. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -71
  1306. package/src/components/VTextarea/VTextarea.ts +10 -23
  1307. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +186 -43
  1308. package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +99 -4
  1309. package/src/components/VThemeProvider/VThemeProvider.ts +2 -2
  1310. package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +50 -11
  1311. package/src/components/VTimePicker/VTimePicker.ts +210 -100
  1312. package/src/components/VTimePicker/VTimePickerClock.ts +59 -71
  1313. package/src/components/VTimePicker/VTimePickerTitle.ts +15 -14
  1314. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +214 -201
  1315. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +106 -109
  1316. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +66 -60
  1317. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +80 -40
  1318. package/src/components/VTimePicker/index.ts +2 -2
  1319. package/src/components/VTimeline/VTimeline.ts +6 -6
  1320. package/src/components/VTimeline/VTimelineItem.ts +21 -19
  1321. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +29 -39
  1322. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +6 -6
  1323. package/src/components/VTimeline/index.ts +2 -2
  1324. package/src/components/VToolbar/VToolbar.ts +22 -23
  1325. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +61 -37
  1326. package/src/components/VToolbar/index.ts +3 -3
  1327. package/src/components/VTooltip/VTooltip.ts +42 -48
  1328. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +85 -99
  1329. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  1330. package/src/components/VTreeview/VTreeview.ts +48 -42
  1331. package/src/components/VTreeview/VTreeviewNode.ts +45 -47
  1332. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +273 -279
  1333. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +83 -87
  1334. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +156 -135
  1335. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +32 -25
  1336. package/src/components/VTreeview/index.ts +2 -2
  1337. package/src/components/VVirtualScroll/VVirtualScroll.ts +27 -28
  1338. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +31 -27
  1339. package/src/components/VWindow/VWindow.ts +31 -31
  1340. package/src/components/VWindow/VWindowItem.ts +16 -16
  1341. package/src/components/VWindow/__tests__/VWindow.spec.ts +323 -204
  1342. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +247 -91
  1343. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  1344. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  1345. package/src/components/VWindow/index.ts +2 -2
  1346. package/src/components/transitions/createTransition.ts +16 -16
  1347. package/src/components/transitions/expand-transition.ts +5 -3
  1348. package/src/components/transitions/index.ts +3 -3
  1349. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +8 -7
  1350. package/src/directives/click-outside/__tests__/click-outside.spec.ts +8 -7
  1351. package/src/directives/click-outside/index.ts +28 -21
  1352. package/src/directives/color/__tests__/color.spec.ts +66 -42
  1353. package/src/directives/color/index.ts +14 -9
  1354. package/src/directives/intersect/__tests__/intersect.spec.ts +38 -20
  1355. package/src/directives/intersect/index.ts +85 -49
  1356. package/src/directives/mutate/__tests__/mutate.spec.ts +61 -47
  1357. package/src/directives/mutate/index.ts +64 -49
  1358. package/src/directives/resize/__tests__/resize.spec.ts +5 -5
  1359. package/src/directives/resize/index.ts +31 -19
  1360. package/src/directives/ripple/__tests__/ripple.spec.ts +38 -40
  1361. package/src/directives/ripple/index.ts +6 -8
  1362. package/src/directives/scroll/__tests__/scroll.spec.ts +19 -43
  1363. package/src/directives/scroll/index.ts +46 -24
  1364. package/src/directives/touch/__tests__/touch.spec.ts +23 -16
  1365. package/src/directives/touch/index.ts +47 -34
  1366. package/src/framework.ts +6 -7
  1367. package/src/globals.d.ts +8 -91
  1368. package/src/index.ts +1 -1
  1369. package/src/install.ts +10 -32
  1370. package/src/locale/af.ts +16 -16
  1371. package/src/locale/ar.ts +16 -16
  1372. package/src/locale/az.ts +16 -16
  1373. package/src/locale/bg.ts +16 -16
  1374. package/src/locale/ca.ts +16 -16
  1375. package/src/locale/ckb.ts +16 -16
  1376. package/src/locale/cs.ts +16 -16
  1377. package/src/locale/da.ts +16 -16
  1378. package/src/locale/de.ts +16 -16
  1379. package/src/locale/el.ts +16 -16
  1380. package/src/locale/en.ts +16 -16
  1381. package/src/locale/es.ts +16 -16
  1382. package/src/locale/et.ts +16 -16
  1383. package/src/locale/fa.ts +16 -16
  1384. package/src/locale/fi.ts +16 -16
  1385. package/src/locale/fr.ts +16 -16
  1386. package/src/locale/he.ts +16 -16
  1387. package/src/locale/hr.ts +16 -16
  1388. package/src/locale/hu.ts +16 -16
  1389. package/src/locale/id.ts +16 -16
  1390. package/src/locale/it.ts +16 -16
  1391. package/src/locale/ja.ts +16 -16
  1392. package/src/locale/ko.ts +16 -16
  1393. package/src/locale/lt.ts +16 -16
  1394. package/src/locale/lv.ts +16 -16
  1395. package/src/locale/nl.ts +16 -16
  1396. package/src/locale/no.ts +16 -16
  1397. package/src/locale/pl.ts +16 -16
  1398. package/src/locale/pt.ts +16 -16
  1399. package/src/locale/ro.ts +16 -16
  1400. package/src/locale/ru.ts +16 -16
  1401. package/src/locale/sk.ts +16 -16
  1402. package/src/locale/sl.ts +16 -16
  1403. package/src/locale/sr-Cyrl.ts +16 -16
  1404. package/src/locale/sr-Latn.ts +16 -16
  1405. package/src/locale/sv.ts +16 -16
  1406. package/src/locale/th.ts +16 -16
  1407. package/src/locale/tr.ts +16 -16
  1408. package/src/locale/uk.ts +16 -16
  1409. package/src/locale/vi.ts +16 -16
  1410. package/src/locale/zh-Hans.ts +16 -16
  1411. package/src/locale/zh-Hant.ts +16 -16
  1412. package/src/mixins/activatable/__tests__/activatable.spec.ts +66 -66
  1413. package/src/mixins/activatable/index.ts +23 -29
  1414. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +47 -43
  1415. package/src/mixins/applicationable/index.ts +9 -9
  1416. package/src/mixins/binds-attrs/index.ts +4 -4
  1417. package/src/mixins/bootable/__tests__/bootable.spec.ts +27 -21
  1418. package/src/mixins/bootable/index.ts +10 -9
  1419. package/src/mixins/button-group/index.ts +4 -4
  1420. package/src/mixins/colorable/__tests__/colorable.spec.ts +29 -26
  1421. package/src/mixins/colorable/index.ts +15 -14
  1422. package/src/mixins/comparable/index.ts +4 -5
  1423. package/src/mixins/delayable/index.ts +7 -7
  1424. package/src/mixins/dependent/__tests__/dependent.spec.ts +77 -38
  1425. package/src/mixins/dependent/index.ts +27 -20
  1426. package/src/mixins/detachable/__tests__/detachable.spec.ts +53 -39
  1427. package/src/mixins/detachable/index.ts +27 -25
  1428. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +18 -17
  1429. package/src/mixins/elevatable/index.ts +4 -4
  1430. package/src/mixins/filterable/index.ts +4 -4
  1431. package/src/mixins/groupable/index.ts +19 -17
  1432. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +21 -15
  1433. package/src/mixins/intersectable/index.ts +11 -11
  1434. package/src/mixins/loadable/index.ts +9 -7
  1435. package/src/mixins/localable/index.ts +4 -4
  1436. package/src/mixins/measurable/index.ts +3 -3
  1437. package/src/mixins/menuable/__tests__/menuable.spec.ts +84 -41
  1438. package/src/mixins/menuable/index.ts +27 -27
  1439. package/src/mixins/mobile/__tests__/mobile.spec.ts +12 -9
  1440. package/src/mixins/mobile/index.ts +8 -8
  1441. package/src/mixins/mouse/__tests__/mouse.spec.ts +59 -45
  1442. package/src/mixins/mouse/index.ts +14 -10
  1443. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +177 -27
  1444. package/src/mixins/overlayable/index.ts +52 -23
  1445. package/src/mixins/picker/index.ts +15 -12
  1446. package/src/mixins/picker-button/index.ts +6 -5
  1447. package/src/mixins/positionable/index.ts +6 -6
  1448. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +20 -19
  1449. package/src/mixins/proxyable/index.ts +13 -10
  1450. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  1451. package/src/mixins/registrable/index.ts +20 -21
  1452. package/src/mixins/returnable/index.ts +6 -6
  1453. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +11 -10
  1454. package/src/mixins/rippleable/index.ts +6 -5
  1455. package/src/mixins/roundable/__tests__/roundable.spec.ts +10 -8
  1456. package/src/mixins/roundable/index.ts +9 -7
  1457. package/src/mixins/routable/__tests__/routable.spec.ts +139 -57
  1458. package/src/mixins/routable/index.ts +25 -19
  1459. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +68 -39
  1460. package/src/mixins/scrollable/index.ts +7 -7
  1461. package/src/mixins/selectable/__tests__/selectable.spec.ts +23 -10
  1462. package/src/mixins/selectable/index.ts +21 -20
  1463. package/src/mixins/sizeable/index.ts +5 -5
  1464. package/src/mixins/ssr-bootable/index.ts +3 -3
  1465. package/src/mixins/stackable/index.ts +6 -6
  1466. package/src/mixins/themeable/index.ts +17 -17
  1467. package/src/mixins/toggleable/index.ts +6 -6
  1468. package/src/mixins/transitionable/index.ts +3 -3
  1469. package/src/mixins/translatable/index.ts +7 -7
  1470. package/src/mixins/validatable/__tests__/validatable.spec.ts +209 -173
  1471. package/src/mixins/validatable/index.ts +44 -36
  1472. package/src/presets/default/index.ts +10 -10
  1473. package/src/services/application/index.ts +1 -1
  1474. package/src/services/breakpoint/__tests__/breakpoint.spec.ts +34 -34
  1475. package/src/services/breakpoint/index.ts +3 -4
  1476. package/src/services/goto/__tests__/goto.spec.ts +147 -2
  1477. package/src/services/goto/index.ts +2 -2
  1478. package/src/services/goto/util.ts +44 -5
  1479. package/src/services/icons/index.ts +1 -1
  1480. package/src/services/icons/presets/fa-svg.ts +3 -3
  1481. package/src/services/icons/presets/fa.ts +1 -1
  1482. package/src/services/icons/presets/fa4.ts +1 -1
  1483. package/src/services/icons/presets/index.ts +1 -1
  1484. package/src/services/icons/presets/md.ts +1 -1
  1485. package/src/services/icons/presets/mdi-svg.ts +1 -1
  1486. package/src/services/icons/presets/mdi.ts +1 -1
  1487. package/src/services/lang/__tests__/lang.spec.ts +5 -5
  1488. package/src/services/lang/index.ts +2 -2
  1489. package/src/services/presets/__tests__/presets.spec.ts +22 -9
  1490. package/src/services/presets/index.ts +2 -2
  1491. package/src/services/service/index.ts +2 -2
  1492. package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
  1493. package/src/services/theme/__tests__/theme-utils.spec.ts +4 -4
  1494. package/src/services/theme/__tests__/theme.spec.ts +96 -98
  1495. package/src/services/theme/index.ts +29 -67
  1496. package/src/services/theme/utils.ts +4 -4
  1497. package/src/types/vue-augment.ts +15 -0
  1498. package/src/types/vue-internal.ts +34 -0
  1499. package/src/util/__tests__/colorUtils.spec.ts +4 -4
  1500. package/src/util/__tests__/console.spec.ts +124 -11
  1501. package/src/util/__tests__/dateTimeUtils.spec.ts +1 -1
  1502. package/src/util/__tests__/dom.spec.ts +10 -7
  1503. package/src/util/__tests__/helpers.spec.ts +312 -49
  1504. package/src/util/__tests__/mergeData.spec.ts +10 -10
  1505. package/src/util/color/transformCIELAB.ts +2 -2
  1506. package/src/util/color/transformSRGB.ts +2 -2
  1507. package/src/util/colorUtils.ts +4 -4
  1508. package/src/util/colors.ts +21 -21
  1509. package/src/util/console.ts +44 -25
  1510. package/src/util/dedupeModelListeners.ts +1 -1
  1511. package/src/util/helpers.ts +108 -32
  1512. package/src/util/legacyEventsMixin.ts +34 -0
  1513. package/src/util/make-directive-activatable.ts +12 -12
  1514. package/src/util/mergeData.ts +12 -21
  1515. package/src/util/mixins.ts +25 -6
  1516. package/src/util/rebuildFunctionalSlots.ts +1 -1
  1517. package/types/alacarte.d.ts +15 -14
  1518. package/types/index.d.ts +7 -15
  1519. package/types/lib.d.ts +173 -173
  1520. package/types/services/goto.d.ts +3 -3
  1521. package/types/services/index.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"names":[],"mappings":"AAAA,SAAQ,eAAR,QAA8B,KAA9B;AAEA,SACE,iBADF,EAEE,cAFF,EAGE,SAHF,QAIO,mBAJP;AAOA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,OADuB;AAG7B,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,SAAS,EAAE;AAFR;AADA,GAHsB;AAU7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE,cAAc,CAAC,kBAAD,EAAqB,IAArB,CADd;AAEL,MAAA,KAAK,EAAE,cAAc,CAAC,YAAD,EAAe,IAAf;AAFhB;AADI,GAAP,CAVuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,GAAL,GAAW,cAAc,CAAC,KAAK,GAAN,EAAW,IAAX,CAAzB,GAA4C,IAAnD;AACD;;AAHO,GAjBmB;AAuB7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AADN,GAvBsB;;AA2B7B,EAAA,OAAO,GAAA;AACL,SAAK,WAAL;AACA,SAAK,UAAL;AACD,GA9B4B;;AAgC7B,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,WAAK,KAAL,CAAW,GAAX,CAAe,OAAf,GAAyB,KAAK,KAAL,CAAW,KAAX,CAAiB,OAAjB,GAA2B,IAApD;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf,GAAsB,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,GAAwB,KAA9C;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,MAAf,GAAwB,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,KAAlD;AACD,KALM;;AAMP,IAAA,WAAW,GAAA;AACT,YAAM,GAAG,GAAsB,KAAK,SAAL,IAAkB,KAAK,MAAL,EAAjD;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,GAA/B;AACA,WAAK,UAAL,CAAgB,GAAhB,EAAqB,KAAK,KAAL,CAAW,GAAhC;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,KAA/B;AACD,KAXM;;AAYP,IAAA,MAAM,GAAA;AACJ,aAAO,SAAS,CAAC,IAAI,IAAJ,EAAD,CAAhB;AACD,KAdM;;AAeP,IAAA,SAAS,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC1D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,KAAP,GAAe,GAAG,CAAC,KAAnB;AACA,QAAA,MAAM,CAAC,GAAP,GAAa,GAAG,CAAC,GAAjB;AACA,QAAA,MAAM,CAAC,OAAP,GAAiB,GAAG,CAAC,OAArB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF,KAvBM;;AAwBP,IAAA,UAAU,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC3D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,MAAP,GAAgB,GAAG,CAAC,MAApB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF;;AA9BM;AAhCoB,CAAD,CAA9B","sourcesContent":["import {defineComponent} from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default defineComponent({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true),\n },\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n"],"sourceRoot":"","file":"times.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,QAAgC,KAAhC;AAEA,SACE,iBADF,EAEE,cAFF,EAGE,SAHF,QAIO,mBAJP;AAOA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,OADuB;AAG7B,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,SAAS,EAAE;AAFR;AADA,GAHsB;AAU7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE,cAAc,CAAC,kBAAD,EAAqB,IAArB,CADd;AAEL,MAAA,KAAK,EAAE,cAAc,CAAC,YAAD,EAAe,IAAf;AAFhB;AADI,GAAP,CAVuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,GAAL,GAAW,cAAc,CAAC,KAAK,GAAN,EAAW,IAAX,CAAzB,GAA4C,IAAnD;AACD;;AAHO,GAjBmB;AAuB7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AADN,GAvBsB;;AA2B7B,EAAA,OAAO,GAAA;AACL,SAAK,WAAL;AACA,SAAK,UAAL;AACD,GA9B4B;;AAgC7B,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,WAAK,KAAL,CAAW,GAAX,CAAe,OAAf,GAAyB,KAAK,KAAL,CAAW,KAAX,CAAiB,OAAjB,GAA2B,IAApD;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf,GAAsB,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,GAAwB,KAA9C;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,MAAf,GAAwB,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,KAAlD;AACD,KALM;;AAMP,IAAA,WAAW,GAAA;AACT,YAAM,GAAG,GAAsB,KAAK,SAAL,IAAkB,KAAK,MAAL,EAAjD;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,GAA/B;AACA,WAAK,UAAL,CAAgB,GAAhB,EAAqB,KAAK,KAAL,CAAW,GAAhC;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,KAA/B;AACD,KAXM;;AAYP,IAAA,MAAM,GAAA;AACJ,aAAO,SAAS,CAAC,IAAI,IAAJ,EAAD,CAAhB;AACD,KAdM;;AAeP,IAAA,SAAS,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC1D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,KAAP,GAAe,GAAG,CAAC,KAAnB;AACA,QAAA,MAAM,CAAC,GAAP,GAAa,GAAG,CAAC,GAAjB;AACA,QAAA,MAAM,CAAC,OAAP,GAAiB,GAAG,CAAC,OAArB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF,KAvBM;;AAwBP,IAAA,UAAU,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC3D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,MAAP,GAAgB,GAAG,CAAC,MAApB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF;;AA9BM;AAhCoB,CAAD,CAA9B","sourcesContent":["import { defineComponent } from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default defineComponent({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp\n }\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true)\n }\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n }\n },\n\n watch: {\n parsedNow: 'updateTimes'\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n }\n }\n})\n"],"sourceRoot":"","file":"times.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/modes/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarEventParsed, CalendarEventVisual, CalendarTimestamp } from 'vuetify/types'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\nconst MILLIS_IN_DAY = 86400000\n\nexport type GetRange = (event: CalendarEventParsed) => [number, number]\n\nexport function getVisuals (events: CalendarEventParsed[], minStart = 0): CalendarEventVisual[] {\n const visuals = events.map(event => ({\n event,\n columnCount: 0,\n column: 0,\n left: 0,\n width: 100,\n }))\n\n visuals.sort((a, b) => {\n return (Math.max(minStart, a.event.startTimestampIdentifier) - Math.max(minStart, b.event.startTimestampIdentifier)) ||\n (b.event.endTimestampIdentifier - a.event.endTimestampIdentifier)\n })\n\n return visuals\n}\n\nexport interface ColumnGroup {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\nexport function hasOverlap (s0: number, e0: number, s1: number, e1: number, exclude = true): boolean {\n return exclude ? !(s0 >= e1 || e0 <= s1) : !(s0 > e1 || e0 < s1)\n}\n\nexport function setColumnCount (groups: ColumnGroup[]) {\n groups.forEach(group => {\n group.visuals.forEach(groupVisual => {\n groupVisual.columnCount = groups.length\n })\n })\n}\n\nexport function getRange (event: CalendarEventParsed): [number, number] {\n return [event.startTimestampIdentifier, event.endTimestampIdentifier]\n}\n\nexport function getDayRange (event: CalendarEventParsed): [number, number] {\n return [event.startIdentifier, event.endIdentifier]\n}\n\nexport function getNormalizedRange (event: CalendarEventParsed, dayStart: number): [number, number] {\n return [Math.max(dayStart, event.startTimestampIdentifier), Math.min(dayStart + MILLIS_IN_DAY, event.endTimestampIdentifier)]\n}\n\nexport function getOpenGroup (groups: ColumnGroup[], start: number, end: number, timed: boolean) {\n for (let i = 0; i < groups.length; i++) {\n const group = groups[i]\n let intersected = false\n\n if (hasOverlap(start, end, group.start, group.end, timed)) {\n for (let k = 0; k < group.visuals.length; k++) {\n const groupVisual = group.visuals[k]\n const [groupStart, groupEnd] = timed ? getRange(groupVisual.event) : getDayRange(groupVisual.event)\n\n if (hasOverlap(start, end, groupStart, groupEnd, timed)) {\n intersected = true\n break\n }\n }\n }\n\n if (!intersected) {\n return i\n }\n }\n\n return -1\n}\n\nexport function getOverlapGroupHandler (firstWeekday: number) {\n const handler = {\n groups: [] as ColumnGroup[],\n min: -1,\n max: -1,\n reset: () => {\n handler.groups = []\n handler.min = handler.max = -1\n },\n getVisuals: (day: CalendarTimestamp, dayEvents: CalendarEventParsed[], timed: boolean, reset = false) => {\n if (day.weekday === firstWeekday || reset) {\n handler.reset()\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n\n visuals.forEach(visual => {\n const [start, end] = timed ? getRange(visual.event) : getDayRange(visual.event)\n\n if (handler.groups.length > 0 && !hasOverlap(start, end, handler.min, handler.max, timed)) {\n setColumnCount(handler.groups)\n handler.reset()\n }\n\n let targetGroup = getOpenGroup(handler.groups, start, end, timed)\n\n if (targetGroup === -1) {\n targetGroup = handler.groups.length\n\n handler.groups.push({ start, end, visuals: [] })\n }\n\n const target = handler.groups[targetGroup]\n target.visuals.push(visual)\n target.start = Math.min(target.start, start)\n target.end = Math.max(target.end, end)\n\n visual.column = targetGroup\n\n if (handler.min === -1) {\n handler.min = start\n handler.max = end\n } else {\n handler.min = Math.min(handler.min, start)\n handler.max = Math.max(handler.max, end)\n }\n })\n\n setColumnCount(handler.groups)\n\n if (timed) {\n handler.reset()\n }\n\n return visuals\n },\n }\n\n return handler\n}\n"],"sourceRoot":"","file":"common.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/modes/common.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarEventParsed, CalendarEventVisual, CalendarTimestamp } from 'vuetify/types'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\nconst MILLIS_IN_DAY = 86400000\n\nexport type GetRange = (event: CalendarEventParsed) => [number, number]\n\nexport function getVisuals (events: CalendarEventParsed[], minStart = 0): CalendarEventVisual[] {\n const visuals = events.map(event => ({\n event,\n columnCount: 0,\n column: 0,\n left: 0,\n width: 100\n }))\n\n visuals.sort((a, b) => {\n return (Math.max(minStart, a.event.startTimestampIdentifier) - Math.max(minStart, b.event.startTimestampIdentifier)) ||\n (b.event.endTimestampIdentifier - a.event.endTimestampIdentifier)\n })\n\n return visuals\n}\n\nexport interface ColumnGroup {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\nexport function hasOverlap (s0: number, e0: number, s1: number, e1: number, exclude = true): boolean {\n return exclude ? !(s0 >= e1 || e0 <= s1) : !(s0 > e1 || e0 < s1)\n}\n\nexport function setColumnCount (groups: ColumnGroup[]) {\n groups.forEach(group => {\n group.visuals.forEach(groupVisual => {\n groupVisual.columnCount = groups.length\n })\n })\n}\n\nexport function getRange (event: CalendarEventParsed): [number, number] {\n return [event.startTimestampIdentifier, event.endTimestampIdentifier]\n}\n\nexport function getDayRange (event: CalendarEventParsed): [number, number] {\n return [event.startIdentifier, event.endIdentifier]\n}\n\nexport function getNormalizedRange (event: CalendarEventParsed, dayStart: number): [number, number] {\n return [Math.max(dayStart, event.startTimestampIdentifier), Math.min(dayStart + MILLIS_IN_DAY, event.endTimestampIdentifier)]\n}\n\nexport function getOpenGroup (groups: ColumnGroup[], start: number, end: number, timed: boolean) {\n for (let i = 0; i < groups.length; i++) {\n const group = groups[i]\n let intersected = false\n\n if (hasOverlap(start, end, group.start, group.end, timed)) {\n for (let k = 0; k < group.visuals.length; k++) {\n const groupVisual = group.visuals[k]\n const [groupStart, groupEnd] = timed ? getRange(groupVisual.event) : getDayRange(groupVisual.event)\n\n if (hasOverlap(start, end, groupStart, groupEnd, timed)) {\n intersected = true\n break\n }\n }\n }\n\n if (!intersected) {\n return i\n }\n }\n\n return -1\n}\n\nexport function getOverlapGroupHandler (firstWeekday: number) {\n const handler = {\n groups: [] as ColumnGroup[],\n min: -1,\n max: -1,\n reset: () => {\n handler.groups = []\n handler.min = handler.max = -1\n },\n getVisuals: (day: CalendarTimestamp, dayEvents: CalendarEventParsed[], timed: boolean, reset = false) => {\n if (day.weekday === firstWeekday || reset) {\n handler.reset()\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n\n visuals.forEach(visual => {\n const [start, end] = timed ? getRange(visual.event) : getDayRange(visual.event)\n\n if (handler.groups.length > 0 && !hasOverlap(start, end, handler.min, handler.max, timed)) {\n setColumnCount(handler.groups)\n handler.reset()\n }\n\n let targetGroup = getOpenGroup(handler.groups, start, end, timed)\n\n if (targetGroup === -1) {\n targetGroup = handler.groups.length\n\n handler.groups.push({ start, end, visuals: [] })\n }\n\n const target = handler.groups[targetGroup]\n target.visuals.push(visual)\n target.start = Math.min(target.start, start)\n target.end = Math.max(target.end, end)\n\n visual.column = targetGroup\n\n if (handler.min === -1) {\n handler.min = start\n handler.max = end\n } else {\n handler.min = Math.min(handler.min, start)\n handler.max = Math.max(handler.max, end)\n }\n })\n\n setColumnCount(handler.groups)\n\n if (timed) {\n handler.reset()\n }\n\n return visuals\n }\n }\n\n return handler\n}\n"],"sourceRoot":"","file":"common.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/modes/index.ts"],"names":[],"mappings":"AACA,SAAS,KAAT,QAAsB,SAAtB;AACA,SAAS,MAAT,QAAuB,UAAvB;AAEA,OAAO,MAAM,yBAAyB,GAA6C;AACjF,EAAA,KADiF;AAEjF,EAAA;AAFiF,CAA5E","sourcesContent":["import { CalendarEventOverlapMode } from 'vuetify/types'\nimport { stack } from './stack'\nimport { column } from './column'\n\nexport const CalendarEventOverlapModes: Record<string, CalendarEventOverlapMode> = {\n stack,\n column,\n}\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/modes/index.ts"],"names":[],"mappings":"AACA,SAAS,KAAT,QAAsB,SAAtB;AACA,SAAS,MAAT,QAAuB,UAAvB;AAEA,OAAO,MAAM,yBAAyB,GAA6C;AACjF,EAAA,KADiF;AAEjF,EAAA;AAFiF,CAA5E","sourcesContent":["import { CalendarEventOverlapMode } from 'vuetify/types'\nimport { stack } from './stack'\nimport { column } from './column'\n\nexport const CalendarEventOverlapModes: Record<string, CalendarEventOverlapMode> = {\n stack,\n column\n}\n"],"sourceRoot":"","file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/modes/stack.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarEventOverlapMode, CalendarEventVisual } from 'vuetify/types'\nimport { getOverlapGroupHandler, getVisuals, hasOverlap, getNormalizedRange } from './common'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\ninterface Group {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\ninterface Node {\n parent: Node | null\n sibling: boolean\n index: number\n visual: CalendarEventVisual\n start: number\n end: number\n children: Node[]\n}\n\nconst FULL_WIDTH = 100\n\nconst DEFAULT_OFFSET = 5\n\nconst WIDTH_MULTIPLIER = 1.7\n\n/**\n * Variation of column mode where events can be stacked. The priority of this\n * mode is to stack events together taking up the least amount of space while\n * trying to ensure the content of the event is always visible as well as its\n * start and end. A sibling column has intersecting event content and must be\n * placed beside each other. Non-sibling columns are offset by 5% from the\n * previous column. The width is scaled by 1.7 so the events overlap and\n * whitespace is reduced. If there is a hole in columns the event width is\n * scaled up so it intersects with the next column. The columns have equal\n * width in the space they are given. If the event doesn't have any to the\n * right of it that intersect with it's content it's right side is extended\n * to the right side.\n */\n\nexport const stack: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n // eslint-disable-next-line max-statements\n return (day, dayEvents, timed, reset) => {\n if (!timed) {\n return handler.getVisuals(day, dayEvents, timed, reset)\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n const groups = getGroups(visuals, dayStart)\n\n for (const group of groups) {\n const nodes: Node[] = []\n\n for (const visual of group.visuals) {\n const child = getNode(visual, dayStart)\n const index = getNextIndex(child, nodes)\n\n if (index === false) {\n const parent = getParent(child, nodes)\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n child.index = parent.index + 1\n parent.children.push(child)\n }\n } else {\n const [parent] = getOverlappingRange(child, nodes, index - 1, index - 1)\n const children = getOverlappingRange(child, nodes, index + 1, index + nodes.length, true)\n\n child.children = children\n child.index = index\n\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n parent.children.push(child)\n }\n\n for (const grand of children) {\n if (grand.parent === parent) {\n grand.parent = child\n }\n\n const grandNext = grand.index - child.index <= 1\n if (grandNext && child.sibling &&\n hasOverlap(child.start, addTime(child.start, overlapThreshold), grand.start, grand.end)) {\n grand.sibling = true\n }\n }\n }\n\n nodes.push(child)\n }\n\n calculateBounds(nodes, overlapThreshold)\n }\n\n visuals.sort((a, b) => (a.left - b.left) || (a.event.startTimestampIdentifier - b.event.startTimestampIdentifier))\n\n return visuals\n }\n}\n\nfunction calculateBounds (nodes: Node[], overlapThreshold: number) {\n for (const node of nodes) {\n const { visual, parent } = node\n const columns = getMaxChildIndex(node) + 1\n const spaceLeft = parent ? parent.visual.left : 0\n const spaceWidth = FULL_WIDTH - spaceLeft\n const offset = Math.min(DEFAULT_OFFSET, FULL_WIDTH / columns)\n const columnWidthMultiplier = getColumnWidthMultiplier(node, nodes)\n const columnOffset = spaceWidth / (columns - node.index + 1)\n const columnWidth = spaceWidth / (columns - node.index + (node.sibling ? 1 : 0)) * columnWidthMultiplier\n\n if (parent) {\n visual.left = node.sibling\n ? spaceLeft + columnOffset\n : spaceLeft + offset\n }\n\n visual.width = hasFullWidth(node, nodes, overlapThreshold)\n ? FULL_WIDTH - visual.left\n : Math.min(FULL_WIDTH - visual.left, columnWidth * WIDTH_MULTIPLIER)\n }\n}\n\nfunction getColumnWidthMultiplier (node: Node, nodes: Node[]): number {\n if (!node.children.length) {\n return 1\n }\n\n const maxColumn = node.index + nodes.length\n const minColumn = node.children.reduce((min, c) => Math.min(min, c.index), maxColumn)\n\n return minColumn - node.index\n}\n\nfunction getOverlappingIndices (node: Node, nodes: Node[]): number[] {\n const indices: number[] = []\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end)) {\n indices.push(other.index)\n }\n }\n return indices\n}\n\nfunction getNextIndex (node: Node, nodes: Node[]): number | false {\n const indices = getOverlappingIndices(node, nodes)\n indices.sort()\n\n for (let i = 0; i < indices.length; i++) {\n if (i < indices[i]) {\n return i\n }\n }\n return false\n}\n\nfunction getOverlappingRange (node: Node, nodes: Node[], indexMin: number, indexMax: number, returnFirstColumn = false): Node[] {\n const overlapping: Node[] = []\n for (const other of nodes) {\n if (other.index >= indexMin && other.index <= indexMax && hasOverlap(node.start, node.end, other.start, other.end)) {\n overlapping.push(other)\n }\n }\n if (returnFirstColumn && overlapping.length > 0) {\n const first = overlapping.reduce((min, n) => Math.min(min, n.index), overlapping[0].index)\n return overlapping.filter(n => n.index === first)\n }\n return overlapping\n}\n\nfunction getParent (node: Node, nodes: Node[]): Node | null {\n let parent: Node | null = null\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end) && (parent === null || other.index > parent.index)) {\n parent = other\n }\n }\n return parent\n}\n\nfunction hasFullWidth (node: Node, nodes: Node[], overlapThreshold: number): boolean {\n for (const other of nodes) {\n if (other !== node &&\n other.index > node.index &&\n hasOverlap(node.start, addTime(node.start, overlapThreshold), other.start, other.end)) {\n return false\n }\n }\n\n return true\n}\n\nfunction getGroups (visuals: CalendarEventVisual[], dayStart: number): Group[] {\n const groups: Group[] = []\n\n for (const visual of visuals) {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n let added = false\n\n for (const group of groups) {\n if (hasOverlap(start, end, group.start, group.end)) {\n group.visuals.push(visual)\n group.end = Math.max(group.end, end)\n added = true\n break\n }\n }\n\n if (!added) {\n groups.push({ start, end, visuals: [visual] })\n }\n }\n\n return groups\n}\n\nfunction getNode (visual: CalendarEventVisual, dayStart: number): Node {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n\n return {\n parent: null,\n sibling: true,\n index: 0,\n visual,\n start,\n end,\n children: [],\n }\n}\n\nfunction getMaxChildIndex (node: Node): number {\n let max = node.index\n for (const child of node.children) {\n const childMax = getMaxChildIndex(child)\n if (childMax > max) {\n max = childMax\n }\n }\n return max\n}\n\nfunction addTime (identifier: number, minutes: number): number {\n const removeMinutes = identifier % 100\n const totalMinutes = removeMinutes + minutes\n const addHours = Math.floor(totalMinutes / 60)\n const addMinutes = totalMinutes % 60\n\n return identifier - removeMinutes + addHours * 100 + addMinutes\n}\n"],"sourceRoot":"","file":"stack.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/modes/stack.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarEventOverlapMode, CalendarEventVisual } from 'vuetify/types'\nimport { getOverlapGroupHandler, getVisuals, hasOverlap, getNormalizedRange } from './common'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\ninterface Group {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\ninterface Node {\n parent: Node | null\n sibling: boolean\n index: number\n visual: CalendarEventVisual\n start: number\n end: number\n children: Node[]\n}\n\nconst FULL_WIDTH = 100\n\nconst DEFAULT_OFFSET = 5\n\nconst WIDTH_MULTIPLIER = 1.7\n\n/**\n * Variation of column mode where events can be stacked. The priority of this\n * mode is to stack events together taking up the least amount of space while\n * trying to ensure the content of the event is always visible as well as its\n * start and end. A sibling column has intersecting event content and must be\n * placed beside each other. Non-sibling columns are offset by 5% from the\n * previous column. The width is scaled by 1.7 so the events overlap and\n * whitespace is reduced. If there is a hole in columns the event width is\n * scaled up so it intersects with the next column. The columns have equal\n * width in the space they are given. If the event doesn't have any to the\n * right of it that intersect with it's content it's right side is extended\n * to the right side.\n */\n\nexport const stack: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n // eslint-disable-next-line max-statements\n return (day, dayEvents, timed, reset) => {\n if (!timed) {\n return handler.getVisuals(day, dayEvents, timed, reset)\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n const groups = getGroups(visuals, dayStart)\n\n for (const group of groups) {\n const nodes: Node[] = []\n\n for (const visual of group.visuals) {\n const child = getNode(visual, dayStart)\n const index = getNextIndex(child, nodes)\n\n if (index === false) {\n const parent = getParent(child, nodes)\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n child.index = parent.index + 1\n parent.children.push(child)\n }\n } else {\n const [parent] = getOverlappingRange(child, nodes, index - 1, index - 1)\n const children = getOverlappingRange(child, nodes, index + 1, index + nodes.length, true)\n\n child.children = children\n child.index = index\n\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n parent.children.push(child)\n }\n\n for (const grand of children) {\n if (grand.parent === parent) {\n grand.parent = child\n }\n\n const grandNext = grand.index - child.index <= 1\n if (grandNext && child.sibling &&\n hasOverlap(child.start, addTime(child.start, overlapThreshold), grand.start, grand.end)) {\n grand.sibling = true\n }\n }\n }\n\n nodes.push(child)\n }\n\n calculateBounds(nodes, overlapThreshold)\n }\n\n visuals.sort((a, b) => (a.left - b.left) || (a.event.startTimestampIdentifier - b.event.startTimestampIdentifier))\n\n return visuals\n }\n}\n\nfunction calculateBounds (nodes: Node[], overlapThreshold: number) {\n for (const node of nodes) {\n const { visual, parent } = node\n const columns = getMaxChildIndex(node) + 1\n const spaceLeft = parent ? parent.visual.left : 0\n const spaceWidth = FULL_WIDTH - spaceLeft\n const offset = Math.min(DEFAULT_OFFSET, FULL_WIDTH / columns)\n const columnWidthMultiplier = getColumnWidthMultiplier(node, nodes)\n const columnOffset = spaceWidth / (columns - node.index + 1)\n const columnWidth = spaceWidth / (columns - node.index + (node.sibling ? 1 : 0)) * columnWidthMultiplier\n\n if (parent) {\n visual.left = node.sibling\n ? spaceLeft + columnOffset\n : spaceLeft + offset\n }\n\n visual.width = hasFullWidth(node, nodes, overlapThreshold)\n ? FULL_WIDTH - visual.left\n : Math.min(FULL_WIDTH - visual.left, columnWidth * WIDTH_MULTIPLIER)\n }\n}\n\nfunction getColumnWidthMultiplier (node: Node, nodes: Node[]): number {\n if (!node.children.length) {\n return 1\n }\n\n const maxColumn = node.index + nodes.length\n const minColumn = node.children.reduce((min, c) => Math.min(min, c.index), maxColumn)\n\n return minColumn - node.index\n}\n\nfunction getOverlappingIndices (node: Node, nodes: Node[]): number[] {\n const indices: number[] = []\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end)) {\n indices.push(other.index)\n }\n }\n return indices\n}\n\nfunction getNextIndex (node: Node, nodes: Node[]): number | false {\n const indices = getOverlappingIndices(node, nodes)\n indices.sort()\n\n for (let i = 0; i < indices.length; i++) {\n if (i < indices[i]) {\n return i\n }\n }\n return false\n}\n\nfunction getOverlappingRange (node: Node, nodes: Node[], indexMin: number, indexMax: number, returnFirstColumn = false): Node[] {\n const overlapping: Node[] = []\n for (const other of nodes) {\n if (other.index >= indexMin && other.index <= indexMax && hasOverlap(node.start, node.end, other.start, other.end)) {\n overlapping.push(other)\n }\n }\n if (returnFirstColumn && overlapping.length > 0) {\n const first = overlapping.reduce((min, n) => Math.min(min, n.index), overlapping[0].index)\n return overlapping.filter(n => n.index === first)\n }\n return overlapping\n}\n\nfunction getParent (node: Node, nodes: Node[]): Node | null {\n let parent: Node | null = null\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end) && (parent === null || other.index > parent.index)) {\n parent = other\n }\n }\n return parent\n}\n\nfunction hasFullWidth (node: Node, nodes: Node[], overlapThreshold: number): boolean {\n for (const other of nodes) {\n if (other !== node &&\n other.index > node.index &&\n hasOverlap(node.start, addTime(node.start, overlapThreshold), other.start, other.end)) {\n return false\n }\n }\n\n return true\n}\n\nfunction getGroups (visuals: CalendarEventVisual[], dayStart: number): Group[] {\n const groups: Group[] = []\n\n for (const visual of visuals) {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n let added = false\n\n for (const group of groups) {\n if (hasOverlap(start, end, group.start, group.end)) {\n group.visuals.push(visual)\n group.end = Math.max(group.end, end)\n added = true\n break\n }\n }\n\n if (!added) {\n groups.push({ start, end, visuals: [visual] })\n }\n }\n\n return groups\n}\n\nfunction getNode (visual: CalendarEventVisual, dayStart: number): Node {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n\n return {\n parent: null,\n sibling: true,\n index: 0,\n visual,\n start,\n end,\n children: []\n }\n}\n\nfunction getMaxChildIndex (node: Node): number {\n let max = node.index\n for (const child of node.children) {\n const childMax = getMaxChildIndex(child)\n if (childMax > max) {\n max = childMax\n }\n }\n return max\n}\n\nfunction addTime (identifier: number, minutes: number): number {\n const removeMinutes = identifier % 100\n const totalMinutes = removeMinutes + minutes\n const addHours = Math.floor(totalMinutes / 60)\n const addMinutes = totalMinutes % 60\n\n return identifier - removeMinutes + addHours * 100 + addMinutes\n}\n"],"sourceRoot":"","file":"stack.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/util/events.ts"],"names":[],"mappings":"AAAA,SACE,cADF,EAEE,gBAFF,EAGE,sBAHF,EAIE,WAJF,EAKE,aALF,QAMO,aANP;AASA,OAAM,SAAU,UAAV,CACJ,KADI,EAEJ,KAFI,EAGJ,aAHI,EAIJ,WAJI,EAKJ,KAAK,GAAG,KALJ,EAMJ,QAAA,GAA2B,KANvB,EAM4B;AAEhC,QAAM,UAAU,GAAG,KAAK,CAAC,aAAD,CAAxB;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,WAAD,CAAtB;AACA,QAAM,WAAW,GAAsB,cAAc,CAAC,UAAD,EAAa,IAAb,CAArD;AACA,QAAM,SAAS,GAAuB,QAAQ,GAAG,cAAc,CAAC,QAAD,EAAW,IAAX,CAAjB,GAAoC,WAAlF;AACA,QAAM,KAAK,GAAsB,WAAW,CAAC,UAAD,CAAX,GAC7B,aAAa,CAAC,WAAD,EAAc,KAAd,CADgB,GAE7B,WAFJ;AAGA,QAAM,GAAG,GAAsB,WAAW,CAAC,QAAD,CAAX,GAC3B,aAAa,CAAC,SAAD,EAAY,KAAZ,CADc,GAE3B,SAFJ;AAGA,QAAM,eAAe,GAAW,gBAAgB,CAAC,KAAD,CAAhD;AACA,QAAM,wBAAwB,GAAW,sBAAsB,CAAC,KAAD,CAA/D;AACA,QAAM,aAAa,GAAW,gBAAgB,CAAC,GAAD,CAA9C;AACA,QAAM,SAAS,GAAW,KAAK,CAAC,OAAN,GAAgB,CAAhB,GAAoB,IAA9C;AACA,QAAM,sBAAsB,GAAW,sBAAsB,CAAC,GAAD,CAAtB,GAA8B,SAArE;AACA,QAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAtB;AAEA,SAAO;AAAE,IAAA,KAAF;AAAS,IAAA,KAAT;AAAgB,IAAA,eAAhB;AAAiC,IAAA,wBAAjC;AAA2D,IAAA,GAA3D;AAAgE,IAAA,aAAhE;AAA+E,IAAA,sBAA/E;AAAuG,IAAA,MAAvG;AAA+G,IAAA,KAA/G;AAAsH,IAAA;AAAtH,GAAP;AACD;AAED,OAAM,SAAU,SAAV,CAAqB,KAArB,EAAiD,aAAjD,EAAsE;AAC1E,SAAO,aAAa,IAAI,KAAK,CAAC,eAAvB,IAA0C,aAAa,IAAI,KAAK,CAAC,aAAxE;AACD;AAED,OAAM,SAAU,eAAV,CAA2B,KAA3B,EAAuD,GAAvD,EAA6E;AACjF,SAAO,KAAK,CAAC,GAAN,CAAU,IAAV,KAAmB,OAAnB,IAA8B,KAAK,CAAC,GAAN,CAAU,IAAV,KAAmB,GAAG,CAAC,IAArD,IAA6D,KAAK,CAAC,KAAN,CAAY,IAAZ,KAAqB,GAAG,CAAC,IAA7F;AACD;AAED,OAAM,SAAU,YAAV,CAAwB,KAAxB,EAAoD,GAApD,EAA4E,aAA5E,EAAmG,YAAnG,EAAuH;AAC3H,SAAO,aAAa,KAAK,KAAK,CAAC,eAAxB,IAA4C,YAAY,KAAK,GAAG,CAAC,OAArB,IAAgC,SAAS,CAAC,KAAD,EAAQ,aAAR,CAA5F;AACD;AAED,OAAM,SAAU,kBAAV,CAA8B,KAA9B,EAA0D,eAA1D,EAAmF,aAAnF,EAAwG;AAC5G,SAAO,eAAe,IAAI,KAAK,CAAC,aAAzB,IAA0C,aAAa,IAAI,KAAK,CAAC,eAAxE;AACD","sourcesContent":["import {\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n isTimedless,\n updateHasTime,\n} from './timestamp'\nimport { CalendarTimestamp, CalendarEvent, CalendarEventParsed } from 'vuetify/types'\n\nexport function parseEvent (\n input: CalendarEvent,\n index: number,\n startProperty: string,\n endProperty: string,\n timed = false,\n category: string | false = false,\n): CalendarEventParsed {\n const startInput = input[startProperty]\n const endInput = input[endProperty]\n const startParsed: CalendarTimestamp = parseTimestamp(startInput, true)\n const endParsed: CalendarTimestamp = (endInput ? parseTimestamp(endInput, true) : startParsed)\n const start: CalendarTimestamp = isTimedless(startInput)\n ? updateHasTime(startParsed, timed)\n : startParsed\n const end: CalendarTimestamp = isTimedless(endInput)\n ? updateHasTime(endParsed, timed)\n : endParsed\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endOffset: number = start.hasTime ? 0 : 2359\n const endTimestampIdentifier: number = getTimestampIdentifier(end) + endOffset\n const allDay = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index, category }\n}\n\nexport function isEventOn (event: CalendarEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier && dayIdentifier <= event.endIdentifier\n}\n\nexport function isEventHiddenOn (event: CalendarEventParsed, day: CalendarTimestamp): boolean {\n return event.end.time === '00:00' && event.end.date === day.date && event.start.date !== day.date\n}\n\nexport function isEventStart (event: CalendarEventParsed, day: CalendarTimestamp, dayIdentifier: number, firstWeekday: number): boolean {\n return dayIdentifier === event.startIdentifier || (firstWeekday === day.weekday && isEventOn(event, dayIdentifier))\n}\n\nexport function isEventOverlapping (event: CalendarEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n"],"sourceRoot":"","file":"events.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/util/events.ts"],"names":[],"mappings":"AAAA,SACE,cADF,EAEE,gBAFF,EAGE,sBAHF,EAIE,WAJF,EAKE,aALF,QAMO,aANP;AASA,OAAM,SAAU,UAAV,CACJ,KADI,EAEJ,KAFI,EAGJ,aAHI,EAIJ,WAJI,EAKJ,KAAK,GAAG,KALJ,EAMJ,QAAA,GAA2B,KANvB,EAM4B;AAEhC,QAAM,UAAU,GAAG,KAAK,CAAC,aAAD,CAAxB;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,WAAD,CAAtB;AACA,QAAM,WAAW,GAAsB,cAAc,CAAC,UAAD,EAAa,IAAb,CAArD;AACA,QAAM,SAAS,GAAuB,QAAQ,GAAG,cAAc,CAAC,QAAD,EAAW,IAAX,CAAjB,GAAoC,WAAlF;AACA,QAAM,KAAK,GAAsB,WAAW,CAAC,UAAD,CAAX,GAC7B,aAAa,CAAC,WAAD,EAAc,KAAd,CADgB,GAE7B,WAFJ;AAGA,QAAM,GAAG,GAAsB,WAAW,CAAC,QAAD,CAAX,GAC3B,aAAa,CAAC,SAAD,EAAY,KAAZ,CADc,GAE3B,SAFJ;AAGA,QAAM,eAAe,GAAW,gBAAgB,CAAC,KAAD,CAAhD;AACA,QAAM,wBAAwB,GAAW,sBAAsB,CAAC,KAAD,CAA/D;AACA,QAAM,aAAa,GAAW,gBAAgB,CAAC,GAAD,CAA9C;AACA,QAAM,SAAS,GAAW,KAAK,CAAC,OAAN,GAAgB,CAAhB,GAAoB,IAA9C;AACA,QAAM,sBAAsB,GAAW,sBAAsB,CAAC,GAAD,CAAtB,GAA8B,SAArE;AACA,QAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAtB;AAEA,SAAO;AAAE,IAAA,KAAF;AAAS,IAAA,KAAT;AAAgB,IAAA,eAAhB;AAAiC,IAAA,wBAAjC;AAA2D,IAAA,GAA3D;AAAgE,IAAA,aAAhE;AAA+E,IAAA,sBAA/E;AAAuG,IAAA,MAAvG;AAA+G,IAAA,KAA/G;AAAsH,IAAA;AAAtH,GAAP;AACD;AAED,OAAM,SAAU,SAAV,CAAqB,KAArB,EAAiD,aAAjD,EAAsE;AAC1E,SAAO,aAAa,IAAI,KAAK,CAAC,eAAvB,IAA0C,aAAa,IAAI,KAAK,CAAC,aAAxE;AACD;AAED,OAAM,SAAU,eAAV,CAA2B,KAA3B,EAAuD,GAAvD,EAA6E;AACjF,SAAO,KAAK,CAAC,GAAN,CAAU,IAAV,KAAmB,OAAnB,IAA8B,KAAK,CAAC,GAAN,CAAU,IAAV,KAAmB,GAAG,CAAC,IAArD,IAA6D,KAAK,CAAC,KAAN,CAAY,IAAZ,KAAqB,GAAG,CAAC,IAA7F;AACD;AAED,OAAM,SAAU,YAAV,CAAwB,KAAxB,EAAoD,GAApD,EAA4E,aAA5E,EAAmG,YAAnG,EAAuH;AAC3H,SAAO,aAAa,KAAK,KAAK,CAAC,eAAxB,IAA4C,YAAY,KAAK,GAAG,CAAC,OAArB,IAAgC,SAAS,CAAC,KAAD,EAAQ,aAAR,CAA5F;AACD;AAED,OAAM,SAAU,kBAAV,CAA8B,KAA9B,EAA0D,eAA1D,EAAmF,aAAnF,EAAwG;AAC5G,SAAO,eAAe,IAAI,KAAK,CAAC,aAAzB,IAA0C,aAAa,IAAI,KAAK,CAAC,eAAxE;AACD","sourcesContent":["import {\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n isTimedless,\n updateHasTime\n} from './timestamp'\nimport { CalendarTimestamp, CalendarEvent, CalendarEventParsed } from 'vuetify/types'\n\nexport function parseEvent (\n input: CalendarEvent,\n index: number,\n startProperty: string,\n endProperty: string,\n timed = false,\n category: string | false = false\n): CalendarEventParsed {\n const startInput = input[startProperty]\n const endInput = input[endProperty]\n const startParsed: CalendarTimestamp = parseTimestamp(startInput, true)\n const endParsed: CalendarTimestamp = (endInput ? parseTimestamp(endInput, true) : startParsed)\n const start: CalendarTimestamp = isTimedless(startInput)\n ? updateHasTime(startParsed, timed)\n : startParsed\n const end: CalendarTimestamp = isTimedless(endInput)\n ? updateHasTime(endParsed, timed)\n : endParsed\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endOffset: number = start.hasTime ? 0 : 2359\n const endTimestampIdentifier: number = getTimestampIdentifier(end) + endOffset\n const allDay = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index, category }\n}\n\nexport function isEventOn (event: CalendarEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier && dayIdentifier <= event.endIdentifier\n}\n\nexport function isEventHiddenOn (event: CalendarEventParsed, day: CalendarTimestamp): boolean {\n return event.end.time === '00:00' && event.end.date === day.date && event.start.date !== day.date\n}\n\nexport function isEventStart (event: CalendarEventParsed, day: CalendarTimestamp, dayIdentifier: number, firstWeekday: number): boolean {\n return dayIdentifier === event.startIdentifier || (firstWeekday === day.weekday && isEventOn(event, dayIdentifier))\n}\n\nexport function isEventOverlapping (event: CalendarEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n"],"sourceRoot":"","file":"events.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/util/props.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { validateTimestamp, parseDate, DAYS_IN_WEEK, validateTime } from './timestamp'\nimport { PropType } from 'vue'\nimport { CalendarEvent, CalendarFormatter, CalendarTimestamp, CalendarEventOverlapMode, CalendarEventNameFunction, CalendarEventColorFunction, CalendarEventCategoryFunction, CalendarEventTimedFunction, CalendarCategoryTextFunction, CalendarCategory } from 'vuetify/types'\nimport { CalendarEventOverlapModes } from '../modes'\nimport { PropValidator } from 'vue/types/options'\n\nexport default {\n base: {\n start: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n default: () => parseDate(new Date()).date,\n },\n end: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n },\n weekdays: {\n type: [Array, String] as PropType<number[] | string>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n validate: validateWeekdays,\n },\n hideHeader: {\n type: Boolean,\n },\n shortWeekdays: {\n type: Boolean,\n default: true,\n },\n weekdayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n dayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n },\n intervals: {\n maxDays: {\n type: Number,\n default: 7,\n },\n shortIntervals: {\n type: Boolean,\n default: true,\n },\n intervalHeight: {\n type: [Number, String],\n default: 48,\n validate: validateNumber,\n },\n intervalWidth: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n intervalMinutes: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n firstInterval: {\n type: [Number, String],\n default: 0,\n validate: validateNumber,\n },\n firstTime: {\n type: [Number, String, Object],\n validate: validateTime,\n },\n intervalCount: {\n type: [Number, String],\n default: 24,\n validate: validateNumber,\n },\n intervalFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n intervalStyle: {\n type: Function as PropType<(interval: CalendarTimestamp) => object>,\n default: null,\n },\n showIntervalLabel: {\n type: Function as PropType<(interval: CalendarTimestamp) => boolean>,\n default: null,\n },\n },\n weeks: {\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n minWeeks: {\n validate: validateNumber,\n default: 1,\n },\n shortMonths: {\n type: Boolean,\n default: true,\n },\n showMonthOnFirst: {\n type: Boolean,\n default: true,\n },\n showWeek: Boolean,\n monthFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n },\n calendar: {\n type: {\n type: String,\n default: 'month',\n },\n value: {\n type: [String, Number, Date] as PropType<string | number | Date>,\n validate: validateTimestamp,\n },\n },\n category: {\n categories: {\n type: [Array, String] as PropType<CalendarCategory[] | string>,\n default: '',\n },\n categoryText: {\n type: [String, Function] as PropType<string | CalendarCategoryTextFunction>,\n },\n categoryHideDynamic: {\n type: Boolean,\n },\n categoryShowAll: {\n type: Boolean,\n },\n categoryForInvalid: {\n type: String,\n default: '',\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n },\n },\n events: {\n events: {\n type: Array,\n default: () => [],\n } as PropValidator<CalendarEvent[]>,\n eventStart: {\n type: String,\n default: 'start',\n },\n eventEnd: {\n type: String,\n default: 'end',\n },\n eventTimed: {\n type: [String, Function] as PropType<string | CalendarEventTimedFunction>,\n default: 'timed',\n },\n eventCategory: {\n type: [String, Function] as PropType<string | CalendarEventCategoryFunction>,\n default: 'category',\n },\n eventHeight: {\n type: Number,\n default: 20,\n },\n eventColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n default: 'primary',\n },\n eventTextColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n default: 'white',\n },\n eventName: {\n type: [String, Function] as PropType<string | CalendarEventNameFunction>,\n default: 'name',\n },\n eventOverlapThreshold: {\n type: [String, Number],\n default: 60,\n },\n eventOverlapMode: {\n type: [String, Function],\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n } as PropValidator<'stack' | 'column' | CalendarEventOverlapMode>,\n eventMore: {\n type: Boolean,\n default: true,\n },\n eventMoreText: {\n type: String,\n default: '$vuetify.calendar.moreEvents',\n },\n eventRipple: {\n type: [Boolean, Object],\n default: null,\n },\n eventMarginBottom: {\n type: Number,\n default: 1,\n },\n },\n}\n\nexport function validateNumber (input: any): boolean {\n return isFinite(parseInt(input))\n}\n\nexport function validateWeekdays (input: string | (number | string)[]): boolean {\n if (typeof input === 'string') {\n input = input.split(',')\n }\n\n if (Array.isArray(input)) {\n const ints = input.map(x => parseInt(x))\n\n if (ints.length > DAYS_IN_WEEK || ints.length === 0) {\n return false\n }\n\n const visited: Record<number, boolean> = {}\n let wrapped = false\n\n for (let i = 0; i < ints.length; i++) {\n const x = ints[i]\n\n if (!isFinite(x) || x < 0 || x >= DAYS_IN_WEEK) {\n return false\n }\n\n if (i > 0) {\n const d = x - ints[i - 1]\n if (d < 0) {\n if (wrapped) {\n return false\n }\n wrapped = true\n } else if (d === 0) {\n return false\n }\n }\n\n if (visited[x]) {\n return false\n }\n visited[x] = true\n }\n\n return true\n }\n\n return false\n}\n"],"sourceRoot":"","file":"props.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/util/props.ts"],"names":[],"mappings":"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","sourcesContent":["import { validateTimestamp, parseDate, DAYS_IN_WEEK, validateTime } from './timestamp'\nimport type { PropType } from 'vue'\nimport { CalendarEvent, CalendarFormatter, CalendarTimestamp, CalendarEventOverlapMode, CalendarEventNameFunction, CalendarEventColorFunction, CalendarEventCategoryFunction, CalendarEventTimedFunction, CalendarCategoryTextFunction, CalendarCategory } from 'vuetify/types'\nimport { CalendarEventOverlapModes } from '../modes'\n\nexport default {\n base: {\n start: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n default: () => parseDate(new Date()).date\n },\n end: {\n type: [String, Number, Date],\n validate: validateTimestamp\n },\n weekdays: {\n type: [Array, String] as PropType<number[] | string>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n validate: validateWeekdays\n },\n hideHeader: {\n type: Boolean\n },\n shortWeekdays: {\n type: Boolean,\n default: true\n },\n weekdayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null\n },\n dayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null\n }\n },\n intervals: {\n maxDays: {\n type: Number,\n default: 7\n },\n shortIntervals: {\n type: Boolean,\n default: true\n },\n intervalHeight: {\n type: [Number, String],\n default: 48,\n validate: validateNumber\n },\n intervalWidth: {\n type: [Number, String],\n default: 60,\n validate: validateNumber\n },\n intervalMinutes: {\n type: [Number, String],\n default: 60,\n validate: validateNumber\n },\n firstInterval: {\n type: [Number, String],\n default: 0,\n validate: validateNumber\n },\n firstTime: {\n type: [Number, String, Object],\n validate: validateTime\n },\n intervalCount: {\n type: [Number, String],\n default: 24,\n validate: validateNumber\n },\n intervalFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null\n },\n intervalStyle: {\n type: Function as PropType<(interval: CalendarTimestamp) => object>,\n default: null\n },\n showIntervalLabel: {\n type: Function as PropType<(interval: CalendarTimestamp) => boolean>,\n default: null\n }\n },\n weeks: {\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0\n },\n minWeeks: {\n validate: validateNumber,\n default: 1\n },\n shortMonths: {\n type: Boolean,\n default: true\n },\n showMonthOnFirst: {\n type: Boolean,\n default: true\n },\n showWeek: Boolean,\n monthFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null\n }\n },\n calendar: {\n type: {\n type: String,\n default: 'month'\n },\n value: {\n type: [String, Number, Date] as PropType<string | number | Date>,\n validate: validateTimestamp\n }\n },\n category: {\n categories: {\n type: [Array, String] as PropType<CalendarCategory[] | string>,\n default: ''\n },\n categoryText: {\n type: [String, Function] as PropType<string | CalendarCategoryTextFunction>\n },\n categoryHideDynamic: {\n type: Boolean\n },\n categoryShowAll: {\n type: Boolean\n },\n categoryForInvalid: {\n type: String,\n default: ''\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0\n }\n },\n events: {\n events: {\n type: Array,\n default: () => []\n } as unknown as PropType<CalendarEvent[]>,\n eventStart: {\n type: String,\n default: 'start'\n },\n eventEnd: {\n type: String,\n default: 'end'\n },\n eventTimed: {\n type: [String, Function] as PropType<string | CalendarEventTimedFunction>,\n default: 'timed'\n },\n eventCategory: {\n type: [String, Function] as PropType<string | CalendarEventCategoryFunction>,\n default: 'category'\n },\n eventHeight: {\n type: Number,\n default: 20\n },\n eventColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n default: 'primary'\n },\n eventTextColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n default: 'white'\n },\n eventName: {\n type: [String, Function] as PropType<string | CalendarEventNameFunction>,\n default: 'name'\n },\n eventOverlapThreshold: {\n type: [String, Number],\n default: 60\n },\n eventOverlapMode: {\n type: [String, Function],\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function'\n } as unknown as PropType<'stack' | 'column' | CalendarEventOverlapMode>,\n eventMore: {\n type: Boolean,\n default: true\n },\n eventMoreText: {\n type: String,\n default: '$vuetify.calendar.moreEvents'\n },\n eventRipple: {\n type: [Boolean, Object],\n default: null\n },\n eventMarginBottom: {\n type: Number,\n default: 1\n }\n }\n}\n\nexport function validateNumber (input: any): boolean {\n return isFinite(parseInt(input))\n}\n\nexport function validateWeekdays (input: string | (number | string)[]): boolean {\n if (typeof input === 'string') {\n input = input.split(',')\n }\n\n if (Array.isArray(input)) {\n const ints = input.map(x => parseInt(x))\n\n if (ints.length > DAYS_IN_WEEK || ints.length === 0) {\n return false\n }\n\n const visited: Record<number, boolean> = {}\n let wrapped = false\n\n for (let i = 0; i < ints.length; i++) {\n const x = ints[i]\n\n if (!isFinite(x) || x < 0 || x >= DAYS_IN_WEEK) {\n return false\n }\n\n if (i > 0) {\n const d = x - ints[i - 1]\n if (d < 0) {\n if (wrapped) {\n return false\n }\n wrapped = true\n } else if (d === 0) {\n return false\n }\n }\n\n if (visited[x]) {\n return false\n }\n visited[x] = true\n }\n\n return true\n }\n\n return false\n}\n"],"sourceRoot":"","file":"props.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/util/timestamp.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n"],"sourceRoot":"","file":"timestamp.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/util/timestamp.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n"],"sourceRoot":"","file":"timestamp.js"}
@@ -7,7 +7,7 @@ import Loadable from '../../mixins/loadable';
7
7
  import Routable from '../../mixins/routable'; // Helpers
8
8
 
9
9
  import mixins from '../../util/mixins';
10
- import { getSlot } from '../../util/helpers'; // Types
10
+ import { getSlot, getTagValue } from '../../util/helpers'; // Types
11
11
 
12
12
  import { h, withDirectives } from 'vue';
13
13
  /* @vue/component */
@@ -76,7 +76,8 @@ export default mixins(Loadable, Routable, VSheet).extend({
76
76
  data.tabindex = 0;
77
77
  }
78
78
 
79
- return withDirectives(h(tag, this.setBackgroundColor(this.color, data), [this.genProgress(), getSlot(this)]), directives);
79
+ const tagForH = typeof tag === 'string' ? getTagValue(tag) : tag;
80
+ return withDirectives(h(tagForH, this.setBackgroundColor(this.color, data), [this.genProgress(), getSlot(this)]), directives);
80
81
  }
81
82
 
82
83
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCard/VCard.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0CAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,WAAnB,C,CAEA;;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,QAAP,MAAqB,uBAArB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB,C,CAEA;;AACA,SAAgB,CAAhB,EAAmB,cAAnB,QAAyC,KAAzC;AAEA;;AACA,eAAe,MAAM,CACnB,QADmB,EAEnB,QAFmB,EAGnB,MAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,QADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE,OADD;AAEL,IAAA,KAAK,EAAE,OAFF;AAGL,IAAA,GAAG,EAAE,MAHA;AAIL,IAAA,IAAI,EAAE,OAJD;AAKL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KALT;AASL,IAAA,MAAM,EAAE;AATH,GAHA;AAeP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,kBAAU,IADL;AAEL,WAAG,QAAQ,CAAC,QAAT,CAAkB,OAAlB,CAA0B,IAA1B,CAA+B,IAA/B,CAFE;AAGL,wBAAgB,KAAK,IAHhB;AAIL,yBAAiB,KAAK,KAJjB;AAKL,wBAAgB,KAAK,WALhB;AAML,2BAAmB,KAAK,OANnB;AAOL,4BAAoB,KAAK,QAPpB;AAQL,0BAAkB,KAAK,MARlB;AASL,WAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B;AATE,OAAP;AAWD,KAbO;;AAcR,IAAA,MAAM,GAAA;AACJ,YAAM,KAAK,GAAuB,EAChC,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,IAAvB,CAA4B,IAA5B;AAD6B,OAAlC;;AAIA,UAAI,KAAK,GAAT,EAAc;AACZ,QAAA,KAAK,CAAC,UAAN,GAAmB,QAAQ,KAAK,GAAG,oCAAnC;AACD;;AAED,aAAO,KAAP;AACD;;AAxBO,GAfH;AA0CP,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,YAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,WAAjB,CAA6B,IAA7B,CAAkC,IAAlC,CAAf;AAEA,UAAI,CAAC,MAAL,EAAa,OAAO,IAAP;AAEb,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,kBADO;AAEd,QAAA,GAAG,EAAE;AAFS,OAAR,EAGL,CAAC,MAAD,CAHK,CAAR;AAID;;AAVM,GA1CF;;AAuDP,EAAA,MAAM,GAAA;AACJ,UAAM;AAAE,MAAA,GAAF;AAAO,MAAA,IAAP;AAAa,MAAA;AAAb,QAA4B,KAAK,iBAAL,EAAlC;AAEA,IAAA,IAAI,CAAC,KAAL,GAAa,KAAK,MAAlB;;AAEA,QAAI,KAAK,WAAT,EAAsB;AACpB,MAAA,IAAI,CAAC,QAAL,GAAgB,CAAhB;AACD;;AAED,WAAO,cAAc,CAAC,CAAC,CAAC,GAAD,EAAM,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAAN,EAAiD,CACtE,KAAK,WAAL,EADsE,EAEtE,OAAO,CAAC,IAAD,CAF+D,CAAjD,CAAF,EAGjB,UAHiB,CAArB;AAID;;AApEM,CAJM,CAAf","sourcesContent":["// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, h, withDirectives } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n raised: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.computed.classes.call(this),\n }\n },\n styles (): object {\n const style: Dictionary<string> = {\n ...VSheet.computed.styles.call(this),\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n },\n },\n\n methods: {\n genProgress () {\n const render = Loadable.methods.genProgress.call(this)\n\n if (!render) return null\n\n return h('div', {\n class: 'v-card__progress',\n key: 'progress',\n }, [render])\n },\n },\n\n render (): VNode {\n const { tag, data, directives } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.tabindex = 0\n }\n\n return withDirectives(h(tag, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n getSlot(this),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VCard.js"}
1
+ {"version":3,"sources":["../../../src/components/VCard/VCard.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0CAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,WAAnB,C,CAEA;;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,QAAP,MAAqB,uBAArB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,EAAkB,WAAlB,QAAqC,oBAArC,C,CAEA;;AACA,SAAgB,CAAhB,EAAmB,cAAnB,QAAyC,KAAzC;AAEA;;AACA,eAAe,MAAM,CACnB,QADmB,EAEnB,QAFmB,EAGnB,MAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,QADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE,OADD;AAEL,IAAA,KAAK,EAAE,OAFF;AAGL,IAAA,GAAG,EAAE,MAHA;AAIL,IAAA,IAAI,EAAE,OAJD;AAKL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KALT;AASL,IAAA,MAAM,EAAE;AATH,GAHA;AAeP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,kBAAU,IADL;AAEL,WAAG,QAAQ,CAAC,QAAT,CAAkB,OAAlB,CAA0B,IAA1B,CAA+B,IAA/B,CAFE;AAGL,wBAAgB,KAAK,IAHhB;AAIL,yBAAiB,KAAK,KAJjB;AAKL,wBAAgB,KAAK,WALhB;AAML,2BAAmB,KAAK,OANnB;AAOL,4BAAoB,KAAK,QAPpB;AAQL,0BAAkB,KAAK,MARlB;AASL,WAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B;AATE,OAAP;AAWD,KAbO;;AAcR,IAAA,MAAM,GAAA;AACJ,YAAM,KAAK,GAAuB,EAChC,GAAG,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,IAAvB,CAA4B,IAA5B;AAD6B,OAAlC;;AAIA,UAAI,KAAK,GAAT,EAAc;AACZ,QAAA,KAAK,CAAC,UAAN,GAAmB,QAAQ,KAAK,GAAG,oCAAnC;AACD;;AAED,aAAO,KAAP;AACD;;AAxBO,GAfH;AA0CP,EAAA,OAAO,EAAE;AACP,IAAA,WAAW,GAAA;AACT,YAAM,MAAM,GAAG,QAAQ,CAAC,OAAT,CAAiB,WAAjB,CAA6B,IAA7B,CAAkC,IAAlC,CAAf;AAEA,UAAI,CAAC,MAAL,EAAa,OAAO,IAAP;AAEb,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,kBADO;AAEd,QAAA,GAAG,EAAE;AAFS,OAAR,EAGL,CAAC,MAAD,CAHK,CAAR;AAID;;AAVM,GA1CF;;AAuDP,EAAA,MAAM,GAAA;AACJ,UAAM;AAAE,MAAA,GAAF;AAAO,MAAA,IAAP;AAAa,MAAA;AAAb,QAA4B,KAAK,iBAAL,EAAlC;AAEA,IAAA,IAAI,CAAC,KAAL,GAAa,KAAK,MAAlB;;AAEA,QAAI,KAAK,WAAT,EAAsB;AACpB,MAAA,IAAI,CAAC,QAAL,GAAgB,CAAhB;AACD;;AAED,UAAM,OAAO,GAAG,OAAO,GAAP,KAAe,QAAf,GAA0B,WAAW,CAAC,GAAD,CAArC,GAA6C,GAA7D;AAEA,WAAO,cAAc,CAAC,CAAC,CAAC,OAAD,EAAiB,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC,IAApC,CAAjB,EAA4D,CACjF,KAAK,WAAL,EADiF,EAEjF,OAAO,CAAC,IAAD,CAF0E,CAA5D,CAAF,EAGjB,UAHiB,CAArB;AAID;;AAtEM,CAJM,CAAf","sourcesContent":["// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { getSlot, getTagValue } from '../../util/helpers'\n\n// Types\nimport { VNode, h, withDirectives } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4\n },\n raised: Boolean\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.computed.classes.call(this)\n }\n },\n styles (): object {\n const style: Dictionary<string> = {\n ...VSheet.computed.styles.call(this)\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n }\n },\n\n methods: {\n genProgress () {\n const render = Loadable.methods.genProgress.call(this)\n\n if (!render) return null\n\n return h('div', {\n class: 'v-card__progress',\n key: 'progress'\n }, [render])\n }\n },\n\n render (): VNode {\n const { tag, data, directives } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.tabindex = 0\n }\n\n const tagForH = typeof tag === 'string' ? getTagValue(tag) : tag\n\n return withDirectives(h(tagForH as any, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n getSlot(this)\n ]), directives)\n }\n})\n"],"sourceRoot":"","file":"VCard.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAP,MAAkB,SAAlB;AACA,SAAS,sBAAT,QAAuC,oBAAvC;AAEA,MAAM,YAAY,GAAG,sBAAsB,CAAC,iBAAD,CAA3C;AACA,MAAM,aAAa,GAAG,sBAAsB,CAAC,kBAAD,CAA5C;AACA,MAAM,SAAS,GAAG,sBAAsB,CAAC,cAAD,CAAxC;AACA,MAAM,UAAU,GAAG,sBAAsB,CAAC,eAAD,CAAzC;AAEA,SACE,KADF,EAEE,YAFF,EAGE,aAHF,EAIE,SAJF,EAKE,UALF;AAQA,eAAe;AACb,EAAA,uBAAuB,EAAE;AACvB,IAAA,KADuB;AAEvB,IAAA,YAFuB;AAGvB,IAAA,aAHuB;AAIvB,IAAA,SAJuB;AAKvB,IAAA;AALuB;AADZ,CAAf","sourcesContent":["import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/components/VCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAP,MAAkB,SAAlB;AACA,SAAS,sBAAT,QAAuC,oBAAvC;AAEA,MAAM,YAAY,GAAG,sBAAsB,CAAC,iBAAD,CAA3C;AACA,MAAM,aAAa,GAAG,sBAAsB,CAAC,kBAAD,CAA5C;AACA,MAAM,SAAS,GAAG,sBAAsB,CAAC,cAAD,CAAxC;AACA,MAAM,UAAU,GAAG,sBAAsB,CAAC,eAAD,CAAzC;AAEA,SACE,KADF,EAEE,YAFF,EAGE,aAHF,EAIE,SAJF,EAKE,UALF;AAQA,eAAe;AACb,EAAA,uBAAuB,EAAE;AACvB,IAAA,KADuB;AAEvB,IAAA,YAFuB;AAGvB,IAAA,aAHuB;AAIvB,IAAA,SAJuB;AAKvB,IAAA;AALuB;AADZ,CAAf","sourcesContent":["import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle\n }\n}\n"],"sourceRoot":"","file":"index.js"}
@@ -1,5 +1,4 @@
1
- import { h } from 'vue'; // Styles
2
-
1
+ // Styles
3
2
  import "../../../src/components/VCarousel/VCarousel.sass"; // Extensions
4
3
 
5
4
  import VWindow from '../VWindow/VWindow'; // Components
@@ -14,10 +13,18 @@ import ButtonGroup from '../../mixins/button-group'; // Utilities
14
13
  import { convertToUnit } from '../../util/helpers';
15
14
  import { breaking } from '../../util/console'; // Types
16
15
 
17
- import { defineComponent } from 'vue';
16
+ import { h, defineComponent } from 'vue';
18
17
  export default defineComponent({
19
18
  name: 'v-carousel',
20
19
  extends: VWindow,
20
+
21
+ // pass down the parent's theme
22
+ provide() {
23
+ return {
24
+ parentTheme: this.theme
25
+ };
26
+ },
27
+
21
28
  props: {
22
29
  continuous: {
23
30
  type: Boolean,
@@ -37,7 +44,7 @@ export default defineComponent({
37
44
  interval: {
38
45
  type: [Number, String],
39
46
  default: 6000,
40
- validator: value => value > 0
47
+ validator: value => Number(value) > 0
41
48
  },
42
49
  mandatory: {
43
50
  type: Boolean,
@@ -54,13 +61,7 @@ export default defineComponent({
54
61
  default: undefined
55
62
  }
56
63
  },
57
-
58
- // pass down the parent's theme
59
- provide() {
60
- return {
61
- parentTheme: this.theme
62
- };
63
- },
64
+ emits: ['update:modelValue', 'change'],
64
65
 
65
66
  data() {
66
67
  return {
@@ -108,7 +109,14 @@ export default defineComponent({
108
109
  },
109
110
 
110
111
  created() {
112
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
111
113
  /* istanbul ignore next */
114
+
115
+ breakingProps.forEach(([original, replacement]) => {
116
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
117
+ });
118
+ /* istanbul ignore next */
119
+
112
120
  if (this.$attrs.hasOwnProperty('hide-controls')) {
113
121
  breaking('hide-controls', ':show-arrows="false"', this);
114
122
  }
@@ -146,19 +154,19 @@ export default defineComponent({
146
154
  small: true,
147
155
  value: this.getValue(this.items[i], i),
148
156
  key: i
149
- }, [h(VIcon, {
157
+ }, () => [h(VIcon, {
150
158
  size: 18
151
- }, this.delimiterIcon)]);
159
+ }, () => this.delimiterIcon)]);
152
160
  children.push(child);
153
161
  }
154
162
 
155
163
  return h(ButtonGroup, {
156
- value: this.internalValue,
164
+ modelValue: this.internalValue,
157
165
  mandatory: this.mandatory,
158
166
  onChange: val => {
159
167
  this.internalValue = val;
160
168
  }
161
- }, children);
169
+ }, () => children);
162
170
  },
163
171
 
164
172
  genProgress() {
@@ -183,10 +191,22 @@ export default defineComponent({
183
191
  },
184
192
 
185
193
  render() {
186
- const render = VWindow.render.call(this, h);
187
- render.style = `height: ${convertToUnit(this.height)};`;
194
+ const render = VWindow.render.call(this, h); // Update the style object instead of setting render.style directly
195
+
196
+ if (render.props) {
197
+ render.props.style = { ...render.props.style,
198
+ height: convertToUnit(this.height)
199
+ };
200
+ } else {
201
+ render.props = {
202
+ style: {
203
+ height: convertToUnit(this.height)
204
+ }
205
+ };
206
+ }
188
207
  /* istanbul ignore else */
189
208
 
209
+
190
210
  if (!this.hideDelimiters) {
191
211
  render.children.push(this.genDelimiters());
192
212
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCarousel/VCarousel.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-carousel',\n extends: VWindow,\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return h('div', {\n class: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = h(VBtn, {\n class: 'v-carousel__controls__item',\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n key: i,\n }, [\n h(VIcon, {\n size: 18\n }, this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return h(ButtonGroup, {\n value: this.internalValue,\n mandatory: this.mandatory,\n onChange: (val: unknown) => {\n this.internalValue = val\n }\n }, children)\n },\n genProgress () {\n return h(VProgressLinear, {\n class: 'v-carousel__progress',\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (): VNode {\n const render = VWindow.render.call(this, h)\n\n render.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VCarousel.js"}
1
+ {"version":3,"sources":["../../../src/components/VCarousel/VCarousel.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { h, VNode, PropType, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-carousel',\n extends: VWindow,\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme\n }\n },\n\n props: {\n continuous: {\n type: Boolean,\n default: true\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter'\n },\n height: {\n type: [Number, String],\n default: 500\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => Number(value) > 0\n },\n mandatory: {\n type: Boolean,\n default: true\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined\n }\n },\n\n emits: [\n 'update:modelValue',\n 'change'\n ],\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n }\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return h('div', {\n class: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto'\n }\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = h(VBtn, {\n class: 'v-carousel__controls__item',\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n key: i\n }, () => [\n h(VIcon, {\n size: 18\n }, () => this.delimiterIcon)\n ])\n\n children.push(child)\n }\n\n return h(ButtonGroup, {\n modelValue: this.internalValue,\n mandatory: this.mandatory,\n onChange: (val: unknown) => {\n this.internalValue = val\n }\n }, () => children)\n },\n genProgress () {\n return h(VProgressLinear, {\n class: 'v-carousel__progress',\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n }\n },\n\n render (): VNode {\n const render = VWindow.render.call(this, h)\n\n // Update the style object instead of setting render.style directly\n if (render.props) {\n render.props.style = {\n ...render.props.style,\n height: convertToUnit(this.height)\n }\n } else {\n render.props = {\n style: {\n height: convertToUnit(this.height)\n }\n }\n }\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n }\n})\n"],"sourceRoot":"","file":"VCarousel.js"}