@dimailn/vuetify 2.7.2-alpha4 → 2.7.2-alpha41

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 (1510) hide show
  1. package/dist/vuetify.js +4797 -2636
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +46 -12
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VApp/VApp.js.map +1 -1
  8. package/es5/components/VAppBar/VAppBar.js +23 -17
  9. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  11. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  12. package/es5/components/VAppBar/VAppBarTitle.js.map +1 -1
  13. package/es5/components/VAppBar/index.js.map +1 -1
  14. package/es5/components/VAutocomplete/VAutocomplete.js +11 -7
  15. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  16. package/es5/components/VAvatar/VAvatar.js +3 -1
  17. package/es5/components/VAvatar/VAvatar.js.map +1 -1
  18. package/es5/components/VBadge/VBadge.js +46 -14
  19. package/es5/components/VBadge/VBadge.js.map +1 -1
  20. package/es5/components/VBanner/VBanner.js +51 -15
  21. package/es5/components/VBanner/VBanner.js.map +1 -1
  22. package/es5/components/VBottomNavigation/VBottomNavigation.js +41 -14
  23. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  24. package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
  25. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  26. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  27. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +28 -2
  28. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  29. package/es5/components/VBreadcrumbs/index.js.map +1 -1
  30. package/es5/components/VBtn/VBtn.js +20 -16
  31. package/es5/components/VBtn/VBtn.js.map +1 -1
  32. package/es5/components/VBtnToggle/VBtnToggle.js.map +1 -1
  33. package/es5/components/VCalendar/VCalendar.js +27 -29
  34. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  35. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  36. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  37. package/es5/components/VCalendar/VCalendarDaily.js +47 -60
  38. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  39. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  40. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  41. package/es5/components/VCalendar/VCalendarWeekly.js +38 -36
  42. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  43. package/es5/components/VCalendar/index.js.map +1 -1
  44. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  45. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  46. package/es5/components/VCalendar/mixins/calendar-with-events.js +46 -59
  47. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  48. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  49. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  50. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  51. package/es5/components/VCalendar/modes/common.js.map +1 -1
  52. package/es5/components/VCalendar/modes/index.js.map +1 -1
  53. package/es5/components/VCalendar/modes/stack.js.map +1 -1
  54. package/es5/components/VCalendar/util/events.js.map +1 -1
  55. package/es5/components/VCalendar/util/props.js.map +1 -1
  56. package/es5/components/VCalendar/util/timestamp.js.map +1 -1
  57. package/es5/components/VCard/VCard.js +2 -1
  58. package/es5/components/VCard/VCard.js.map +1 -1
  59. package/es5/components/VCard/index.js.map +1 -1
  60. package/es5/components/VCarousel/VCarousel.js +62 -18
  61. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  62. package/es5/components/VCarousel/VCarouselItem.js +11 -4
  63. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  64. package/es5/components/VCarousel/index.js.map +1 -1
  65. package/es5/components/VCheckbox/VCheckbox.js +40 -9
  66. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  67. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  68. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  69. package/es5/components/VCheckbox/index.js.map +1 -1
  70. package/es5/components/VChip/VChip.js +30 -12
  71. package/es5/components/VChip/VChip.js.map +1 -1
  72. package/es5/components/VChipGroup/VChipGroup.js.map +1 -1
  73. package/es5/components/VColorPicker/VColorPicker.js +57 -38
  74. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  75. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  76. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  77. package/es5/components/VColorPicker/VColorPickerEdit.js +29 -26
  78. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  79. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  80. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  81. package/es5/components/VColorPicker/VColorPickerSwatches.js +16 -11
  82. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  83. package/es5/components/VColorPicker/util/index.js.map +1 -1
  84. package/es5/components/VCombobox/VCombobox.js +1 -0
  85. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  86. package/es5/components/VContent/VContent.js +25 -6
  87. package/es5/components/VContent/VContent.js.map +1 -1
  88. package/es5/components/VCounter/VCounter.js.map +1 -1
  89. package/es5/components/VData/VData.js +15 -2
  90. package/es5/components/VData/VData.js.map +1 -1
  91. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  92. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  93. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  94. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  95. package/es5/components/VDataIterator/index.js.map +1 -1
  96. package/es5/components/VDataTable/MobileRow.js.map +1 -1
  97. package/es5/components/VDataTable/Row.js +6 -3
  98. package/es5/components/VDataTable/Row.js.map +1 -1
  99. package/es5/components/VDataTable/RowGroup.js +46 -15
  100. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  101. package/es5/components/VDataTable/VDataTable.js +94 -81
  102. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  103. package/es5/components/VDataTable/VDataTableHeader.js +8 -7
  104. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  105. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  106. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  107. package/es5/components/VDataTable/VDataTableHeaderMobile.js +32 -38
  108. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  109. package/es5/components/VDataTable/VEditDialog.js +26 -22
  110. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  111. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  112. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  113. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  114. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  115. package/es5/components/VDataTable/index.js.map +1 -1
  116. package/es5/components/VDataTable/mixins/header.js +7 -9
  117. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  118. package/es5/components/VDatePicker/VDatePicker.js +54 -37
  119. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  120. package/es5/components/VDatePicker/VDatePickerDateTable.js +2 -2
  121. package/es5/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
  122. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  123. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  124. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  125. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  126. package/es5/components/VDatePicker/VDatePickerTitle.js +61 -16
  127. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  128. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  129. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  130. package/es5/components/VDatePicker/index.js.map +1 -1
  131. package/es5/components/VDatePicker/mixins/date-picker-table.js +52 -31
  132. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  133. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  134. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  135. package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
  136. package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
  137. package/es5/components/VDatePicker/util/index.js.map +1 -1
  138. package/es5/components/VDialog/VDialog.js +60 -34
  139. package/es5/components/VDialog/VDialog.js.map +1 -1
  140. package/es5/components/VDivider/VDivider.js.map +1 -1
  141. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  142. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  143. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  144. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  145. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  146. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  147. package/es5/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  148. package/es5/components/VExpansionPanel/index.js.map +1 -1
  149. package/es5/components/VFileInput/VFileInput.js +53 -28
  150. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  151. package/es5/components/VFooter/VFooter.js +7 -6
  152. package/es5/components/VFooter/VFooter.js.map +1 -1
  153. package/es5/components/VForm/VForm.js +45 -30
  154. package/es5/components/VForm/VForm.js.map +1 -1
  155. package/es5/components/VGrid/VCol.js +6 -4
  156. package/es5/components/VGrid/VCol.js.map +1 -1
  157. package/es5/components/VGrid/VContainer.js +27 -10
  158. package/es5/components/VGrid/VContainer.js.map +1 -1
  159. package/es5/components/VGrid/VRow.js +1 -1
  160. package/es5/components/VGrid/VRow.js.map +1 -1
  161. package/es5/components/VGrid/grid.js +35 -15
  162. package/es5/components/VGrid/grid.js.map +1 -1
  163. package/es5/components/VGrid/index.js.map +1 -1
  164. package/es5/components/VHover/VHover.js +24 -17
  165. package/es5/components/VHover/VHover.js.map +1 -1
  166. package/es5/components/VIcon/VIcon.js +79 -54
  167. package/es5/components/VIcon/VIcon.js.map +1 -1
  168. package/es5/components/VImg/VImg.js +13 -9
  169. package/es5/components/VImg/VImg.js.map +1 -1
  170. package/es5/components/VInput/VInput.js +74 -15
  171. package/es5/components/VInput/VInput.js.map +1 -1
  172. package/es5/components/VItemGroup/VItem.js +21 -17
  173. package/es5/components/VItemGroup/VItem.js.map +1 -1
  174. package/es5/components/VItemGroup/VItemGroup.js +11 -2
  175. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  176. package/es5/components/VItemGroup/index.js.map +1 -1
  177. package/es5/components/VLabel/VLabel.js +3 -1
  178. package/es5/components/VLabel/VLabel.js.map +1 -1
  179. package/es5/components/VLazy/VLazy.js +12 -16
  180. package/es5/components/VLazy/VLazy.js.map +1 -1
  181. package/es5/components/VList/VList.js +2 -2
  182. package/es5/components/VList/VList.js.map +1 -1
  183. package/es5/components/VList/VListGroup.js +73 -40
  184. package/es5/components/VList/VListGroup.js.map +1 -1
  185. package/es5/components/VList/VListItem.js +67 -20
  186. package/es5/components/VList/VListItem.js.map +1 -1
  187. package/es5/components/VList/VListItemAction.js +23 -9
  188. package/es5/components/VList/VListItemAction.js.map +1 -1
  189. package/es5/components/VList/VListItemAvatar.js.map +1 -1
  190. package/es5/components/VList/VListItemGroup.js.map +1 -1
  191. package/es5/components/VList/VListItemIcon.js +3 -1
  192. package/es5/components/VList/VListItemIcon.js.map +1 -1
  193. package/es5/components/VList/index.js.map +1 -1
  194. package/es5/components/VMain/VMain.js +1 -1
  195. package/es5/components/VMain/VMain.js.map +1 -1
  196. package/es5/components/VMenu/VMenu.js +62 -32
  197. package/es5/components/VMenu/VMenu.js.map +1 -1
  198. package/es5/components/VMessages/VMessages.js +40 -10
  199. package/es5/components/VMessages/VMessages.js.map +1 -1
  200. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +41 -19
  201. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  202. package/es5/components/VOtpInput/VOtpInput.js +87 -34
  203. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  204. package/es5/components/VOverflowBtn/VOverflowBtn.js +18 -14
  205. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  206. package/es5/components/VOverlay/VOverlay.js +31 -3
  207. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  208. package/es5/components/VPagination/VPagination.js +48 -27
  209. package/es5/components/VPagination/VPagination.js.map +1 -1
  210. package/es5/components/VParallax/VParallax.js.map +1 -1
  211. package/es5/components/VPicker/VPicker.js +7 -4
  212. package/es5/components/VPicker/VPicker.js.map +1 -1
  213. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  214. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  215. package/es5/components/VProgressLinear/VProgressLinear.js +51 -30
  216. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  217. package/es5/components/VRadioGroup/VRadio.js +11 -2
  218. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  219. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  220. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  221. package/es5/components/VRadioGroup/index.js.map +1 -1
  222. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  223. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  224. package/es5/components/VRating/VRating.js +45 -17
  225. package/es5/components/VRating/VRating.js.map +1 -1
  226. package/es5/components/VResponsive/VResponsive.js.map +1 -1
  227. package/es5/components/VSelect/VSelect.js +161 -81
  228. package/es5/components/VSelect/VSelect.js.map +1 -1
  229. package/es5/components/VSelect/VSelectList.js +126 -46
  230. package/es5/components/VSelect/VSelectList.js.map +1 -1
  231. package/es5/components/VSheet/VSheet.js +3 -1
  232. package/es5/components/VSheet/VSheet.js.map +1 -1
  233. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  234. package/es5/components/VSlideGroup/VSlideGroup.js +43 -29
  235. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  236. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  237. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  238. package/es5/components/VSlideGroup/index.js.map +1 -1
  239. package/es5/components/VSlider/VSlider.js +67 -35
  240. package/es5/components/VSlider/VSlider.js.map +1 -1
  241. package/es5/components/VSnackbar/VSnackbar.js +8 -3
  242. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  243. package/es5/components/VSparkline/VSparkline.js +48 -68
  244. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  245. package/es5/components/VSparkline/helpers/core.js.map +1 -1
  246. package/es5/components/VSparkline/helpers/math.js.map +1 -1
  247. package/es5/components/VSpeedDial/VSpeedDial.js +19 -19
  248. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  249. package/es5/components/VStepper/VStepper.js +3 -2
  250. package/es5/components/VStepper/VStepper.js.map +1 -1
  251. package/es5/components/VStepper/VStepperContent.js +9 -8
  252. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  253. package/es5/components/VStepper/VStepperStep.js +15 -21
  254. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  255. package/es5/components/VStepper/index.js.map +1 -1
  256. package/es5/components/VSubheader/VSubheader.js +1 -1
  257. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  258. package/es5/components/VSwitch/VSwitch.js +11 -9
  259. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  260. package/es5/components/VSystemBar/VSystemBar.js +5 -5
  261. package/es5/components/VSystemBar/VSystemBar.js.map +1 -1
  262. package/es5/components/VTabs/VTab.js +9 -1
  263. package/es5/components/VTabs/VTab.js.map +1 -1
  264. package/es5/components/VTabs/VTabItem.js.map +1 -1
  265. package/es5/components/VTabs/VTabs.js +74 -25
  266. package/es5/components/VTabs/VTabs.js.map +1 -1
  267. package/es5/components/VTabs/VTabsBar.js +3 -0
  268. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  269. package/es5/components/VTabs/VTabsItems.js +1 -0
  270. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  271. package/es5/components/VTabs/VTabsSlider.js.map +1 -1
  272. package/es5/components/VTabs/index.js.map +1 -1
  273. package/es5/components/VTextField/VTextField.js +42 -29
  274. package/es5/components/VTextField/VTextField.js.map +1 -1
  275. package/es5/components/VTextarea/VTextarea.js +1 -1
  276. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  277. package/es5/components/VThemeProvider/VThemeProvider.js.map +1 -1
  278. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  279. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  280. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  281. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  282. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  283. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  284. package/es5/components/VTimePicker/index.js.map +1 -1
  285. package/es5/components/VTimeline/VTimeline.js.map +1 -1
  286. package/es5/components/VTimeline/VTimelineItem.js +8 -2
  287. package/es5/components/VTimeline/VTimelineItem.js.map +1 -1
  288. package/es5/components/VTimeline/index.js.map +1 -1
  289. package/es5/components/VToolbar/VToolbar.js +3 -6
  290. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  291. package/es5/components/VToolbar/index.js.map +1 -1
  292. package/es5/components/VTooltip/VTooltip.js +14 -20
  293. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  294. package/es5/components/VTreeview/VTreeview.js +24 -18
  295. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  296. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  297. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  298. package/es5/components/VTreeview/index.js.map +1 -1
  299. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  300. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  301. package/es5/components/VWindow/VWindow.js +13 -8
  302. package/es5/components/VWindow/VWindow.js.map +1 -1
  303. package/es5/components/VWindow/VWindowItem.js +10 -10
  304. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  305. package/es5/components/VWindow/index.js.map +1 -1
  306. package/es5/components/transitions/createTransition.js +10 -2
  307. package/es5/components/transitions/createTransition.js.map +1 -1
  308. package/es5/components/transitions/expand-transition.js +1 -0
  309. package/es5/components/transitions/expand-transition.js.map +1 -1
  310. package/es5/components/transitions/index.js.map +1 -1
  311. package/es5/directives/click-outside/index.js.map +1 -1
  312. package/es5/directives/color/index.js +6 -3
  313. package/es5/directives/color/index.js.map +1 -1
  314. package/es5/directives/intersect/index.js +21 -8
  315. package/es5/directives/intersect/index.js.map +1 -1
  316. package/es5/directives/mutate/index.js +13 -13
  317. package/es5/directives/mutate/index.js.map +1 -1
  318. package/es5/directives/resize/index.js +8 -8
  319. package/es5/directives/resize/index.js.map +1 -1
  320. package/es5/directives/ripple/index.js +5 -2
  321. package/es5/directives/ripple/index.js.map +1 -1
  322. package/es5/directives/scroll/index.js +8 -8
  323. package/es5/directives/scroll/index.js.map +1 -1
  324. package/es5/directives/touch/index.js +11 -8
  325. package/es5/directives/touch/index.js.map +1 -1
  326. package/es5/framework.js +1 -1
  327. package/es5/framework.js.map +1 -1
  328. package/es5/index.js.map +1 -1
  329. package/es5/install.js +10 -33
  330. package/es5/install.js.map +1 -1
  331. package/es5/locale/af.js.map +1 -1
  332. package/es5/locale/ar.js.map +1 -1
  333. package/es5/locale/az.js.map +1 -1
  334. package/es5/locale/bg.js.map +1 -1
  335. package/es5/locale/ca.js.map +1 -1
  336. package/es5/locale/ckb.js.map +1 -1
  337. package/es5/locale/cs.js.map +1 -1
  338. package/es5/locale/da.js.map +1 -1
  339. package/es5/locale/de.js.map +1 -1
  340. package/es5/locale/el.js.map +1 -1
  341. package/es5/locale/en.js.map +1 -1
  342. package/es5/locale/es.js.map +1 -1
  343. package/es5/locale/et.js.map +1 -1
  344. package/es5/locale/fa.js.map +1 -1
  345. package/es5/locale/fi.js.map +1 -1
  346. package/es5/locale/fr.js.map +1 -1
  347. package/es5/locale/he.js.map +1 -1
  348. package/es5/locale/hr.js.map +1 -1
  349. package/es5/locale/hu.js.map +1 -1
  350. package/es5/locale/id.js.map +1 -1
  351. package/es5/locale/it.js.map +1 -1
  352. package/es5/locale/ja.js.map +1 -1
  353. package/es5/locale/ko.js.map +1 -1
  354. package/es5/locale/lt.js.map +1 -1
  355. package/es5/locale/lv.js.map +1 -1
  356. package/es5/locale/nl.js.map +1 -1
  357. package/es5/locale/no.js.map +1 -1
  358. package/es5/locale/pl.js.map +1 -1
  359. package/es5/locale/pt.js.map +1 -1
  360. package/es5/locale/ro.js.map +1 -1
  361. package/es5/locale/ru.js.map +1 -1
  362. package/es5/locale/sk.js.map +1 -1
  363. package/es5/locale/sl.js.map +1 -1
  364. package/es5/locale/sr-Cyrl.js.map +1 -1
  365. package/es5/locale/sr-Latn.js.map +1 -1
  366. package/es5/locale/sv.js.map +1 -1
  367. package/es5/locale/th.js.map +1 -1
  368. package/es5/locale/tr.js.map +1 -1
  369. package/es5/locale/uk.js.map +1 -1
  370. package/es5/locale/vi.js.map +1 -1
  371. package/es5/locale/zh-Hans.js.map +1 -1
  372. package/es5/locale/zh-Hant.js.map +1 -1
  373. package/es5/mixins/activatable/index.js +17 -19
  374. package/es5/mixins/activatable/index.js.map +1 -1
  375. package/es5/mixins/applicationable/index.js +4 -4
  376. package/es5/mixins/applicationable/index.js.map +1 -1
  377. package/es5/mixins/binds-attrs/index.js +1 -1
  378. package/es5/mixins/binds-attrs/index.js.map +1 -1
  379. package/es5/mixins/bootable/index.js +1 -2
  380. package/es5/mixins/bootable/index.js.map +1 -1
  381. package/es5/mixins/button-group/index.js.map +1 -1
  382. package/es5/mixins/colorable/index.js +1 -0
  383. package/es5/mixins/colorable/index.js.map +1 -1
  384. package/es5/mixins/comparable/index.js.map +1 -1
  385. package/es5/mixins/delayable/index.js.map +1 -1
  386. package/es5/mixins/dependent/index.js.map +1 -1
  387. package/es5/mixins/detachable/index.js +13 -10
  388. package/es5/mixins/detachable/index.js.map +1 -1
  389. package/es5/mixins/elevatable/index.js.map +1 -1
  390. package/es5/mixins/filterable/index.js.map +1 -1
  391. package/es5/mixins/groupable/index.js +6 -2
  392. package/es5/mixins/groupable/index.js.map +1 -1
  393. package/es5/mixins/intersectable/index.js +2 -2
  394. package/es5/mixins/intersectable/index.js.map +1 -1
  395. package/es5/mixins/loadable/index.js +3 -1
  396. package/es5/mixins/loadable/index.js.map +1 -1
  397. package/es5/mixins/localable/index.js.map +1 -1
  398. package/es5/mixins/measurable/index.js.map +1 -1
  399. package/es5/mixins/menuable/index.js +3 -3
  400. package/es5/mixins/menuable/index.js.map +1 -1
  401. package/es5/mixins/mobile/index.js.map +1 -1
  402. package/es5/mixins/mouse/index.js +10 -5
  403. package/es5/mixins/mouse/index.js.map +1 -1
  404. package/es5/mixins/overlayable/index.js +5 -3
  405. package/es5/mixins/overlayable/index.js.map +1 -1
  406. package/es5/mixins/picker/index.js +13 -3
  407. package/es5/mixins/picker/index.js.map +1 -1
  408. package/es5/mixins/picker-button/index.js.map +1 -1
  409. package/es5/mixins/positionable/index.js.map +1 -1
  410. package/es5/mixins/proxyable/index.js +5 -2
  411. package/es5/mixins/proxyable/index.js.map +1 -1
  412. package/es5/mixins/registrable/index.js.map +1 -1
  413. package/es5/mixins/returnable/index.js.map +1 -1
  414. package/es5/mixins/rippleable/index.js.map +1 -1
  415. package/es5/mixins/roundable/index.js.map +1 -1
  416. package/es5/mixins/routable/index.js +5 -2
  417. package/es5/mixins/routable/index.js.map +1 -1
  418. package/es5/mixins/scrollable/index.js.map +1 -1
  419. package/es5/mixins/selectable/index.js +9 -7
  420. package/es5/mixins/selectable/index.js.map +1 -1
  421. package/es5/mixins/sizeable/index.js.map +1 -1
  422. package/es5/mixins/ssr-bootable/index.js.map +1 -1
  423. package/es5/mixins/stackable/index.js.map +1 -1
  424. package/es5/mixins/themeable/index.js.map +1 -1
  425. package/es5/mixins/toggleable/index.js.map +1 -1
  426. package/es5/mixins/transitionable/index.js.map +1 -1
  427. package/es5/mixins/translatable/index.js +1 -1
  428. package/es5/mixins/translatable/index.js.map +1 -1
  429. package/es5/mixins/validatable/index.js +34 -7
  430. package/es5/mixins/validatable/index.js.map +1 -1
  431. package/es5/presets/default/index.js.map +1 -1
  432. package/es5/services/application/index.js.map +1 -1
  433. package/es5/services/breakpoint/index.js.map +1 -1
  434. package/es5/services/goto/index.js.map +1 -1
  435. package/es5/services/goto/util.js +42 -3
  436. package/es5/services/goto/util.js.map +1 -1
  437. package/es5/services/icons/index.js.map +1 -1
  438. package/es5/services/icons/presets/fa-svg.js.map +1 -1
  439. package/es5/services/icons/presets/fa.js.map +1 -1
  440. package/es5/services/icons/presets/fa4.js.map +1 -1
  441. package/es5/services/icons/presets/index.js.map +1 -1
  442. package/es5/services/icons/presets/md.js.map +1 -1
  443. package/es5/services/icons/presets/mdi-svg.js.map +1 -1
  444. package/es5/services/icons/presets/mdi.js.map +1 -1
  445. package/es5/services/lang/index.js.map +1 -1
  446. package/es5/services/presets/index.js.map +1 -1
  447. package/es5/services/service/index.js.map +1 -1
  448. package/es5/services/theme/index.js +21 -72
  449. package/es5/services/theme/index.js.map +1 -1
  450. package/es5/services/theme/utils.js.map +1 -1
  451. package/es5/types/vue-augment.js +4 -0
  452. package/es5/types/vue-augment.js.map +1 -0
  453. package/es5/types/vue-internal.js +6 -0
  454. package/es5/types/vue-internal.js.map +1 -0
  455. package/es5/util/color/transformCIELAB.js.map +1 -1
  456. package/es5/util/color/transformSRGB.js.map +1 -1
  457. package/es5/util/colorUtils.js.map +1 -1
  458. package/es5/util/colors.js.map +1 -1
  459. package/es5/util/console.js +49 -18
  460. package/es5/util/console.js.map +1 -1
  461. package/es5/util/dedupeModelListeners.js.map +1 -1
  462. package/es5/util/helpers.js +89 -21
  463. package/es5/util/helpers.js.map +1 -1
  464. package/es5/util/legacyEventsMixin.js +48 -0
  465. package/es5/util/legacyEventsMixin.js.map +1 -0
  466. package/es5/util/make-directive-activatable.js +1 -1
  467. package/es5/util/make-directive-activatable.js.map +1 -1
  468. package/es5/util/mergeData.js +6 -23
  469. package/es5/util/mergeData.js.map +1 -1
  470. package/es5/util/mixins.js +4 -3
  471. package/es5/util/mixins.js.map +1 -1
  472. package/es5/util/rebuildFunctionalSlots.js.map +1 -1
  473. package/lib/components/VAlert/VAlert.js +17 -13
  474. package/lib/components/VAlert/VAlert.js.map +1 -1
  475. package/lib/components/VApp/VApp.js.map +1 -1
  476. package/lib/components/VAppBar/VAppBar.js +23 -16
  477. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  478. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  479. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  480. package/lib/components/VAppBar/VAppBarTitle.js.map +1 -1
  481. package/lib/components/VAppBar/index.js.map +1 -1
  482. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  483. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  484. package/lib/components/VAvatar/VAvatar.js +3 -1
  485. package/lib/components/VAvatar/VAvatar.js.map +1 -1
  486. package/lib/components/VBadge/VBadge.js +26 -13
  487. package/lib/components/VBadge/VBadge.js.map +1 -1
  488. package/lib/components/VBanner/VBanner.js +20 -13
  489. package/lib/components/VBanner/VBanner.js.map +1 -1
  490. package/lib/components/VBottomNavigation/VBottomNavigation.js +21 -15
  491. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  492. package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
  493. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  494. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  495. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +25 -3
  496. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  497. package/lib/components/VBreadcrumbs/index.js.map +1 -1
  498. package/lib/components/VBtn/VBtn.js +21 -21
  499. package/lib/components/VBtn/VBtn.js.map +1 -1
  500. package/lib/components/VBtnToggle/VBtnToggle.js.map +1 -1
  501. package/lib/components/VCalendar/VCalendar.js +26 -31
  502. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  503. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  504. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  505. package/lib/components/VCalendar/VCalendarDaily.js +25 -33
  506. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  507. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  508. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  509. package/lib/components/VCalendar/VCalendarWeekly.js +36 -40
  510. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  511. package/lib/components/VCalendar/index.js.map +1 -1
  512. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  513. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  514. package/lib/components/VCalendar/mixins/calendar-with-events.js +20 -40
  515. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  516. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  517. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  518. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  519. package/lib/components/VCalendar/modes/common.js.map +1 -1
  520. package/lib/components/VCalendar/modes/index.js.map +1 -1
  521. package/lib/components/VCalendar/modes/stack.js.map +1 -1
  522. package/lib/components/VCalendar/util/events.js.map +1 -1
  523. package/lib/components/VCalendar/util/props.js.map +1 -1
  524. package/lib/components/VCalendar/util/timestamp.js.map +1 -1
  525. package/lib/components/VCard/VCard.js +3 -2
  526. package/lib/components/VCard/VCard.js.map +1 -1
  527. package/lib/components/VCard/index.js.map +1 -1
  528. package/lib/components/VCarousel/VCarousel.js +37 -17
  529. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  530. package/lib/components/VCarousel/VCarouselItem.js +4 -3
  531. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  532. package/lib/components/VCarousel/index.js.map +1 -1
  533. package/lib/components/VCheckbox/VCheckbox.js +19 -9
  534. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  535. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  536. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  537. package/lib/components/VCheckbox/index.js.map +1 -1
  538. package/lib/components/VChip/VChip.js +21 -11
  539. package/lib/components/VChip/VChip.js.map +1 -1
  540. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  541. package/lib/components/VColorPicker/VColorPicker.js +48 -45
  542. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  543. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  544. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  545. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  546. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  547. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  548. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  549. package/lib/components/VColorPicker/VColorPickerSwatches.js +16 -10
  550. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  551. package/lib/components/VColorPicker/util/index.js.map +1 -1
  552. package/lib/components/VCombobox/VCombobox.js +1 -0
  553. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  554. package/lib/components/VContent/VContent.js +19 -4
  555. package/lib/components/VContent/VContent.js.map +1 -1
  556. package/lib/components/VCounter/VCounter.js.map +1 -1
  557. package/lib/components/VData/VData.js +17 -2
  558. package/lib/components/VData/VData.js.map +1 -1
  559. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  560. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  561. package/lib/components/VDataIterator/VDataIterator.js +32 -35
  562. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  563. package/lib/components/VDataIterator/index.js.map +1 -1
  564. package/lib/components/VDataTable/MobileRow.js.map +1 -1
  565. package/lib/components/VDataTable/Row.js +6 -3
  566. package/lib/components/VDataTable/Row.js.map +1 -1
  567. package/lib/components/VDataTable/RowGroup.js +30 -14
  568. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  569. package/lib/components/VDataTable/VDataTable.js +67 -73
  570. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  571. package/lib/components/VDataTable/VDataTableHeader.js +10 -8
  572. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  573. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  574. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  575. package/lib/components/VDataTable/VDataTableHeaderMobile.js +19 -26
  576. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  577. package/lib/components/VDataTable/VEditDialog.js +18 -18
  578. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  579. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  580. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  581. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  582. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  583. package/lib/components/VDataTable/index.js.map +1 -1
  584. package/lib/components/VDataTable/mixins/header.js +3 -8
  585. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  586. package/lib/components/VDatePicker/VDatePicker.js +41 -28
  587. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  588. package/lib/components/VDatePicker/VDatePickerDateTable.js +2 -2
  589. package/lib/components/VDatePicker/VDatePickerDateTable.js.map +1 -1
  590. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  591. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  592. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  593. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  594. package/lib/components/VDatePicker/VDatePickerTitle.js +34 -11
  595. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  596. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  597. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  598. package/lib/components/VDatePicker/index.js.map +1 -1
  599. package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -17
  600. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  601. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  602. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  603. package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
  604. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  605. package/lib/components/VDatePicker/util/index.js.map +1 -1
  606. package/lib/components/VDialog/VDialog.js +14 -6
  607. package/lib/components/VDialog/VDialog.js.map +1 -1
  608. package/lib/components/VDivider/VDivider.js.map +1 -1
  609. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  610. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  611. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  612. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  613. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  614. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  615. package/lib/components/VExpansionPanel/VExpansionPanels.js.map +1 -1
  616. package/lib/components/VExpansionPanel/index.js.map +1 -1
  617. package/lib/components/VFileInput/VFileInput.js +44 -26
  618. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  619. package/lib/components/VFooter/VFooter.js +6 -4
  620. package/lib/components/VFooter/VFooter.js.map +1 -1
  621. package/lib/components/VForm/VForm.js +41 -26
  622. package/lib/components/VForm/VForm.js.map +1 -1
  623. package/lib/components/VGrid/VCol.js +8 -7
  624. package/lib/components/VGrid/VCol.js.map +1 -1
  625. package/lib/components/VGrid/VContainer.js +14 -10
  626. package/lib/components/VGrid/VContainer.js.map +1 -1
  627. package/lib/components/VGrid/VRow.js +3 -4
  628. package/lib/components/VGrid/VRow.js.map +1 -1
  629. package/lib/components/VGrid/grid.js +16 -14
  630. package/lib/components/VGrid/grid.js.map +1 -1
  631. package/lib/components/VGrid/index.js.map +1 -1
  632. package/lib/components/VHover/VHover.js +24 -18
  633. package/lib/components/VHover/VHover.js.map +1 -1
  634. package/lib/components/VIcon/VIcon.js +81 -58
  635. package/lib/components/VIcon/VIcon.js.map +1 -1
  636. package/lib/components/VImg/VImg.js +8 -10
  637. package/lib/components/VImg/VImg.js.map +1 -1
  638. package/lib/components/VInput/VInput.js +39 -12
  639. package/lib/components/VInput/VInput.js.map +1 -1
  640. package/lib/components/VItemGroup/VItem.js +24 -20
  641. package/lib/components/VItemGroup/VItem.js.map +1 -1
  642. package/lib/components/VItemGroup/VItemGroup.js +14 -5
  643. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  644. package/lib/components/VItemGroup/index.js.map +1 -1
  645. package/lib/components/VLabel/VLabel.js +3 -1
  646. package/lib/components/VLabel/VLabel.js.map +1 -1
  647. package/lib/components/VLazy/VLazy.js +13 -17
  648. package/lib/components/VLazy/VLazy.js.map +1 -1
  649. package/lib/components/VList/VList.js +3 -3
  650. package/lib/components/VList/VList.js.map +1 -1
  651. package/lib/components/VList/VListGroup.js +34 -32
  652. package/lib/components/VList/VListGroup.js.map +1 -1
  653. package/lib/components/VList/VListItem.js +42 -18
  654. package/lib/components/VList/VListItem.js.map +1 -1
  655. package/lib/components/VList/VListItemAction.js +15 -9
  656. package/lib/components/VList/VListItemAction.js.map +1 -1
  657. package/lib/components/VList/VListItemAvatar.js.map +1 -1
  658. package/lib/components/VList/VListItemGroup.js.map +1 -1
  659. package/lib/components/VList/VListItemIcon.js +3 -1
  660. package/lib/components/VList/VListItemIcon.js.map +1 -1
  661. package/lib/components/VList/index.js.map +1 -1
  662. package/lib/components/VMain/VMain.js +2 -2
  663. package/lib/components/VMain/VMain.js.map +1 -1
  664. package/lib/components/VMenu/VMenu.js +18 -6
  665. package/lib/components/VMenu/VMenu.js.map +1 -1
  666. package/lib/components/VMessages/VMessages.js +20 -6
  667. package/lib/components/VMessages/VMessages.js.map +1 -1
  668. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +17 -12
  669. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  670. package/lib/components/VOtpInput/VOtpInput.js +103 -35
  671. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  672. package/lib/components/VOverflowBtn/VOverflowBtn.js +16 -15
  673. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  674. package/lib/components/VOverlay/VOverlay.js +13 -2
  675. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  676. package/lib/components/VPagination/VPagination.js +28 -23
  677. package/lib/components/VPagination/VPagination.js.map +1 -1
  678. package/lib/components/VParallax/VParallax.js.map +1 -1
  679. package/lib/components/VPicker/VPicker.js +4 -4
  680. package/lib/components/VPicker/VPicker.js.map +1 -1
  681. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  682. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  683. package/lib/components/VProgressLinear/VProgressLinear.js +45 -22
  684. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  685. package/lib/components/VRadioGroup/VRadio.js +3 -2
  686. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  687. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  688. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  689. package/lib/components/VRadioGroup/index.js.map +1 -1
  690. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  691. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  692. package/lib/components/VRating/VRating.js +11 -0
  693. package/lib/components/VRating/VRating.js.map +1 -1
  694. package/lib/components/VResponsive/VResponsive.js.map +1 -1
  695. package/lib/components/VSelect/VSelect.js +104 -42
  696. package/lib/components/VSelect/VSelect.js.map +1 -1
  697. package/lib/components/VSelect/VSelectList.js +73 -33
  698. package/lib/components/VSelect/VSelectList.js.map +1 -1
  699. package/lib/components/VSheet/VSheet.js +3 -2
  700. package/lib/components/VSheet/VSheet.js.map +1 -1
  701. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  702. package/lib/components/VSlideGroup/VSlideGroup.js +26 -24
  703. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  704. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  705. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  706. package/lib/components/VSlideGroup/index.js.map +1 -1
  707. package/lib/components/VSlider/VSlider.js +36 -26
  708. package/lib/components/VSlider/VSlider.js.map +1 -1
  709. package/lib/components/VSnackbar/VSnackbar.js +2 -1
  710. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  711. package/lib/components/VSparkline/VSparkline.js +48 -67
  712. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  713. package/lib/components/VSparkline/helpers/core.js.map +1 -1
  714. package/lib/components/VSparkline/helpers/math.js.map +1 -1
  715. package/lib/components/VSpeedDial/VSpeedDial.js +13 -17
  716. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  717. package/lib/components/VStepper/VStepper.js +4 -3
  718. package/lib/components/VStepper/VStepper.js.map +1 -1
  719. package/lib/components/VStepper/VStepperContent.js +7 -8
  720. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  721. package/lib/components/VStepper/VStepperStep.js +9 -20
  722. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  723. package/lib/components/VStepper/index.js.map +1 -1
  724. package/lib/components/VSubheader/VSubheader.js +1 -1
  725. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  726. package/lib/components/VSwitch/VSwitch.js +2 -4
  727. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  728. package/lib/components/VSystemBar/VSystemBar.js +1 -2
  729. package/lib/components/VSystemBar/VSystemBar.js.map +1 -1
  730. package/lib/components/VTabs/VTab.js +8 -2
  731. package/lib/components/VTabs/VTab.js.map +1 -1
  732. package/lib/components/VTabs/VTabItem.js.map +1 -1
  733. package/lib/components/VTabs/VTabs.js +38 -9
  734. package/lib/components/VTabs/VTabs.js.map +1 -1
  735. package/lib/components/VTabs/VTabsBar.js +3 -0
  736. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  737. package/lib/components/VTabs/VTabsItems.js +1 -0
  738. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  739. package/lib/components/VTabs/VTabsSlider.js.map +1 -1
  740. package/lib/components/VTabs/index.js.map +1 -1
  741. package/lib/components/VTextField/VTextField.js +15 -19
  742. package/lib/components/VTextField/VTextField.js.map +1 -1
  743. package/lib/components/VTextarea/VTextarea.js +1 -1
  744. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  745. package/lib/components/VThemeProvider/VThemeProvider.js.map +1 -1
  746. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  747. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  748. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  749. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  750. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  751. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  752. package/lib/components/VTimePicker/index.js.map +1 -1
  753. package/lib/components/VTimeline/VTimeline.js.map +1 -1
  754. package/lib/components/VTimeline/VTimelineItem.js +4 -2
  755. package/lib/components/VTimeline/VTimelineItem.js.map +1 -1
  756. package/lib/components/VTimeline/index.js.map +1 -1
  757. package/lib/components/VToolbar/VToolbar.js +6 -7
  758. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  759. package/lib/components/VToolbar/index.js.map +1 -1
  760. package/lib/components/VTooltip/VTooltip.js +11 -22
  761. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  762. package/lib/components/VTreeview/VTreeview.js +15 -13
  763. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  764. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  765. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  766. package/lib/components/VTreeview/index.js.map +1 -1
  767. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  768. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  769. package/lib/components/VWindow/VWindow.js +9 -9
  770. package/lib/components/VWindow/VWindow.js.map +1 -1
  771. package/lib/components/VWindow/VWindowItem.js +5 -7
  772. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  773. package/lib/components/VWindow/index.js.map +1 -1
  774. package/lib/components/transitions/createTransition.js +7 -4
  775. package/lib/components/transitions/createTransition.js.map +1 -1
  776. package/lib/components/transitions/expand-transition.js +1 -0
  777. package/lib/components/transitions/expand-transition.js.map +1 -1
  778. package/lib/components/transitions/index.js.map +1 -1
  779. package/lib/directives/click-outside/index.js.map +1 -1
  780. package/lib/directives/color/index.js +6 -3
  781. package/lib/directives/color/index.js.map +1 -1
  782. package/lib/directives/intersect/index.js +21 -8
  783. package/lib/directives/intersect/index.js.map +1 -1
  784. package/lib/directives/mutate/index.js +13 -13
  785. package/lib/directives/mutate/index.js.map +1 -1
  786. package/lib/directives/resize/index.js +8 -8
  787. package/lib/directives/resize/index.js.map +1 -1
  788. package/lib/directives/ripple/index.js +5 -3
  789. package/lib/directives/ripple/index.js.map +1 -1
  790. package/lib/directives/scroll/index.js +8 -8
  791. package/lib/directives/scroll/index.js.map +1 -1
  792. package/lib/directives/touch/index.js +11 -8
  793. package/lib/directives/touch/index.js.map +1 -1
  794. package/lib/framework.js +1 -1
  795. package/lib/framework.js.map +1 -1
  796. package/lib/install.js +5 -28
  797. package/lib/install.js.map +1 -1
  798. package/lib/locale/af.js.map +1 -1
  799. package/lib/locale/ar.js.map +1 -1
  800. package/lib/locale/az.js.map +1 -1
  801. package/lib/locale/bg.js.map +1 -1
  802. package/lib/locale/ca.js.map +1 -1
  803. package/lib/locale/ckb.js.map +1 -1
  804. package/lib/locale/cs.js.map +1 -1
  805. package/lib/locale/da.js.map +1 -1
  806. package/lib/locale/de.js.map +1 -1
  807. package/lib/locale/el.js.map +1 -1
  808. package/lib/locale/en.js.map +1 -1
  809. package/lib/locale/es.js.map +1 -1
  810. package/lib/locale/et.js.map +1 -1
  811. package/lib/locale/fa.js.map +1 -1
  812. package/lib/locale/fi.js.map +1 -1
  813. package/lib/locale/fr.js.map +1 -1
  814. package/lib/locale/he.js.map +1 -1
  815. package/lib/locale/hr.js.map +1 -1
  816. package/lib/locale/hu.js.map +1 -1
  817. package/lib/locale/id.js.map +1 -1
  818. package/lib/locale/it.js.map +1 -1
  819. package/lib/locale/ja.js.map +1 -1
  820. package/lib/locale/ko.js.map +1 -1
  821. package/lib/locale/lt.js.map +1 -1
  822. package/lib/locale/lv.js.map +1 -1
  823. package/lib/locale/nl.js.map +1 -1
  824. package/lib/locale/no.js.map +1 -1
  825. package/lib/locale/pl.js.map +1 -1
  826. package/lib/locale/pt.js.map +1 -1
  827. package/lib/locale/ro.js.map +1 -1
  828. package/lib/locale/ru.js.map +1 -1
  829. package/lib/locale/sk.js.map +1 -1
  830. package/lib/locale/sl.js.map +1 -1
  831. package/lib/locale/sr-Cyrl.js.map +1 -1
  832. package/lib/locale/sr-Latn.js.map +1 -1
  833. package/lib/locale/sv.js.map +1 -1
  834. package/lib/locale/th.js.map +1 -1
  835. package/lib/locale/tr.js.map +1 -1
  836. package/lib/locale/uk.js.map +1 -1
  837. package/lib/locale/vi.js.map +1 -1
  838. package/lib/locale/zh-Hans.js.map +1 -1
  839. package/lib/locale/zh-Hant.js.map +1 -1
  840. package/lib/mixins/activatable/index.js +19 -20
  841. package/lib/mixins/activatable/index.js.map +1 -1
  842. package/lib/mixins/applicationable/index.js +4 -4
  843. package/lib/mixins/applicationable/index.js.map +1 -1
  844. package/lib/mixins/binds-attrs/index.js +1 -1
  845. package/lib/mixins/binds-attrs/index.js.map +1 -1
  846. package/lib/mixins/bootable/index.js +2 -4
  847. package/lib/mixins/bootable/index.js.map +1 -1
  848. package/lib/mixins/button-group/index.js.map +1 -1
  849. package/lib/mixins/colorable/index.js +1 -0
  850. package/lib/mixins/colorable/index.js.map +1 -1
  851. package/lib/mixins/comparable/index.js.map +1 -1
  852. package/lib/mixins/delayable/index.js.map +1 -1
  853. package/lib/mixins/dependent/index.js.map +1 -1
  854. package/lib/mixins/detachable/index.js +14 -11
  855. package/lib/mixins/detachable/index.js.map +1 -1
  856. package/lib/mixins/elevatable/index.js.map +1 -1
  857. package/lib/mixins/filterable/index.js.map +1 -1
  858. package/lib/mixins/groupable/index.js +4 -2
  859. package/lib/mixins/groupable/index.js.map +1 -1
  860. package/lib/mixins/intersectable/index.js +2 -2
  861. package/lib/mixins/intersectable/index.js.map +1 -1
  862. package/lib/mixins/loadable/index.js +3 -1
  863. package/lib/mixins/loadable/index.js.map +1 -1
  864. package/lib/mixins/localable/index.js.map +1 -1
  865. package/lib/mixins/measurable/index.js.map +1 -1
  866. package/lib/mixins/menuable/index.js +3 -3
  867. package/lib/mixins/menuable/index.js.map +1 -1
  868. package/lib/mixins/mobile/index.js.map +1 -1
  869. package/lib/mixins/mouse/index.js +9 -5
  870. package/lib/mixins/mouse/index.js.map +1 -1
  871. package/lib/mixins/overlayable/index.js +4 -2
  872. package/lib/mixins/overlayable/index.js.map +1 -1
  873. package/lib/mixins/picker/index.js +5 -3
  874. package/lib/mixins/picker/index.js.map +1 -1
  875. package/lib/mixins/picker-button/index.js +1 -2
  876. package/lib/mixins/picker-button/index.js.map +1 -1
  877. package/lib/mixins/positionable/index.js.map +1 -1
  878. package/lib/mixins/proxyable/index.js +5 -2
  879. package/lib/mixins/proxyable/index.js.map +1 -1
  880. package/lib/mixins/registrable/index.js.map +1 -1
  881. package/lib/mixins/returnable/index.js.map +1 -1
  882. package/lib/mixins/rippleable/index.js.map +1 -1
  883. package/lib/mixins/roundable/index.js.map +1 -1
  884. package/lib/mixins/routable/index.js +5 -2
  885. package/lib/mixins/routable/index.js.map +1 -1
  886. package/lib/mixins/scrollable/index.js.map +1 -1
  887. package/lib/mixins/selectable/index.js +15 -12
  888. package/lib/mixins/selectable/index.js.map +1 -1
  889. package/lib/mixins/sizeable/index.js.map +1 -1
  890. package/lib/mixins/ssr-bootable/index.js.map +1 -1
  891. package/lib/mixins/stackable/index.js.map +1 -1
  892. package/lib/mixins/themeable/index.js.map +1 -1
  893. package/lib/mixins/toggleable/index.js.map +1 -1
  894. package/lib/mixins/transitionable/index.js.map +1 -1
  895. package/lib/mixins/translatable/index.js +1 -1
  896. package/lib/mixins/translatable/index.js.map +1 -1
  897. package/lib/mixins/validatable/index.js +17 -7
  898. package/lib/mixins/validatable/index.js.map +1 -1
  899. package/lib/presets/default/index.js.map +1 -1
  900. package/lib/services/application/index.js.map +1 -1
  901. package/lib/services/breakpoint/index.js.map +1 -1
  902. package/lib/services/goto/index.js.map +1 -1
  903. package/lib/services/goto/util.js +42 -3
  904. package/lib/services/goto/util.js.map +1 -1
  905. package/lib/services/icons/index.js.map +1 -1
  906. package/lib/services/icons/presets/fa-svg.js.map +1 -1
  907. package/lib/services/icons/presets/fa.js.map +1 -1
  908. package/lib/services/icons/presets/fa4.js.map +1 -1
  909. package/lib/services/icons/presets/index.js.map +1 -1
  910. package/lib/services/icons/presets/md.js.map +1 -1
  911. package/lib/services/icons/presets/mdi-svg.js.map +1 -1
  912. package/lib/services/icons/presets/mdi.js.map +1 -1
  913. package/lib/services/lang/index.js.map +1 -1
  914. package/lib/services/presets/index.js.map +1 -1
  915. package/lib/services/service/index.js.map +1 -1
  916. package/lib/services/theme/index.js +19 -65
  917. package/lib/services/theme/index.js.map +1 -1
  918. package/lib/services/theme/utils.js.map +1 -1
  919. package/lib/types/vue-augment.js +5 -0
  920. package/lib/types/vue-augment.js.map +1 -0
  921. package/lib/types/vue-internal.js +2 -0
  922. package/lib/types/vue-internal.js.map +1 -0
  923. package/lib/util/color/transformCIELAB.js.map +1 -1
  924. package/lib/util/color/transformSRGB.js.map +1 -1
  925. package/lib/util/colorUtils.js.map +1 -1
  926. package/lib/util/colors.js.map +1 -1
  927. package/lib/util/console.js +47 -17
  928. package/lib/util/console.js.map +1 -1
  929. package/lib/util/dedupeModelListeners.js.map +1 -1
  930. package/lib/util/helpers.js +79 -21
  931. package/lib/util/helpers.js.map +1 -1
  932. package/lib/util/legacyEventsMixin.js +37 -0
  933. package/lib/util/legacyEventsMixin.js.map +1 -0
  934. package/lib/util/make-directive-activatable.js +1 -1
  935. package/lib/util/make-directive-activatable.js.map +1 -1
  936. package/lib/util/mergeData.js +6 -23
  937. package/lib/util/mergeData.js.map +1 -1
  938. package/lib/util/mixins.js +3 -2
  939. package/lib/util/mixins.js.map +1 -1
  940. package/lib/util/rebuildFunctionalSlots.js.map +1 -1
  941. package/package.json +5 -4
  942. package/src/components/VAlert/VAlert.ts +43 -33
  943. package/src/components/VAlert/__tests__/VAlert.spec.ts +88 -60
  944. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +18 -20
  945. package/src/components/VApp/VApp.ts +9 -9
  946. package/src/components/VApp/__tests__/VApp.spec.ts +35 -29
  947. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  948. package/src/components/VAppBar/VAppBar.ts +31 -24
  949. package/src/components/VAppBar/VAppBarNavIcon.ts +4 -4
  950. package/src/components/VAppBar/VAppBarTitle.ts +13 -13
  951. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +284 -99
  952. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +3 -7
  953. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  954. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +4 -5
  955. package/src/components/VAppBar/index.ts +2 -2
  956. package/src/components/VAutocomplete/VAutocomplete.ts +54 -26
  957. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +153 -100
  958. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +140 -113
  959. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +130 -68
  960. package/src/components/VAvatar/VAvatar.ts +9 -9
  961. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  962. package/src/components/VBadge/VBadge.ts +49 -37
  963. package/src/components/VBadge/__tests__/VBadge.spec.ts +64 -47
  964. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  965. package/src/components/VBanner/VBanner.ts +46 -33
  966. package/src/components/VBanner/__tests__/VBanner.spec.ts +65 -66
  967. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +3 -3
  968. package/src/components/VBottomNavigation/VBottomNavigation.ts +44 -28
  969. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +55 -49
  970. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +10 -10
  971. package/src/components/VBottomSheet/VBottomSheet.ts +5 -5
  972. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +18 -14
  973. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +38 -14
  974. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +141 -26
  975. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +14 -10
  976. package/src/components/VBreadcrumbs/index.ts +2 -2
  977. package/src/components/VBtn/VBtn.ts +42 -34
  978. package/src/components/VBtn/__tests__/VBtn.spec.ts +268 -248
  979. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  980. package/src/components/VBtnToggle/VBtnToggle.ts +6 -6
  981. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +11 -7
  982. package/src/components/VCalendar/VCalendar.ts +41 -40
  983. package/src/components/VCalendar/VCalendarCategory.ts +28 -25
  984. package/src/components/VCalendar/VCalendarDaily.ts +59 -66
  985. package/src/components/VCalendar/VCalendarMonthly.ts +4 -3
  986. package/src/components/VCalendar/VCalendarWeekly.ts +47 -48
  987. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +36 -52
  988. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +33 -31
  989. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +57 -55
  990. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +38 -38
  991. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  992. package/src/components/VCalendar/index.ts +2 -2
  993. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  994. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +45 -42
  995. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +60 -67
  996. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +63 -60
  997. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +15 -14
  998. package/src/components/VCalendar/mixins/calendar-base.ts +12 -17
  999. package/src/components/VCalendar/mixins/calendar-with-events.ts +56 -69
  1000. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +5 -5
  1001. package/src/components/VCalendar/mixins/times.ts +10 -10
  1002. package/src/components/VCalendar/modes/__tests__/common.spec.ts +12 -12
  1003. package/src/components/VCalendar/modes/common.ts +2 -2
  1004. package/src/components/VCalendar/modes/index.ts +1 -1
  1005. package/src/components/VCalendar/modes/stack.ts +1 -1
  1006. package/src/components/VCalendar/util/__tests__/events.spec.ts +10 -10
  1007. package/src/components/VCalendar/util/__tests__/timestamp.spec.ts +18 -18
  1008. package/src/components/VCalendar/util/events.ts +2 -2
  1009. package/src/components/VCalendar/util/props.ts +56 -58
  1010. package/src/components/VCalendar/util/timestamp.ts +2 -2
  1011. package/src/components/VCard/VCard.ts +13 -11
  1012. package/src/components/VCard/__tests__/VCard.spec.ts +58 -40
  1013. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  1014. package/src/components/VCard/index.ts +3 -3
  1015. package/src/components/VCarousel/VCarousel.ts +58 -31
  1016. package/src/components/VCarousel/VCarouselItem.ts +16 -12
  1017. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +101 -78
  1018. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +11 -7
  1019. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  1020. package/src/components/VCarousel/index.ts +2 -2
  1021. package/src/components/VCheckbox/VCheckbox.ts +35 -22
  1022. package/src/components/VCheckbox/VSimpleCheckbox.ts +101 -51
  1023. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +170 -159
  1024. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  1025. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
  1026. package/src/components/VCheckbox/index.ts +2 -2
  1027. package/src/components/VChip/VChip.ts +40 -35
  1028. package/src/components/VChip/__tests__/VChip.spec.ts +76 -63
  1029. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  1030. package/src/components/VChipGroup/VChipGroup.ts +8 -8
  1031. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +19 -26
  1032. package/src/components/VColorPicker/VColorPicker.ts +68 -58
  1033. package/src/components/VColorPicker/VColorPickerCanvas.ts +59 -52
  1034. package/src/components/VColorPicker/VColorPickerEdit.ts +57 -55
  1035. package/src/components/VColorPicker/VColorPickerPreview.ts +56 -36
  1036. package/src/components/VColorPicker/VColorPickerSwatches.ts +53 -40
  1037. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +68 -68
  1038. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +23 -21
  1039. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +65 -63
  1040. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +106 -35
  1041. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +236 -193
  1042. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +48 -31
  1043. package/src/components/VColorPicker/util/__tests__/index.spec.ts +2 -2
  1044. package/src/components/VColorPicker/util/index.ts +5 -5
  1045. package/src/components/VCombobox/VCombobox.ts +33 -10
  1046. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +220 -192
  1047. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +145 -114
  1048. package/src/components/VContent/VContent.ts +13 -5
  1049. package/src/components/VCounter/VCounter.ts +6 -6
  1050. package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
  1051. package/src/components/VData/VData.ts +53 -41
  1052. package/src/components/VData/__tests__/VData.spec.ts +174 -195
  1053. package/src/components/VDataIterator/VDataFooter.ts +43 -35
  1054. package/src/components/VDataIterator/VDataIterator.ts +77 -60
  1055. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +66 -67
  1056. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +133 -165
  1057. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +113 -103
  1058. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +94 -84
  1059. package/src/components/VDataIterator/index.ts +2 -2
  1060. package/src/components/VDataTable/MobileRow.ts +7 -7
  1061. package/src/components/VDataTable/Row.ts +13 -9
  1062. package/src/components/VDataTable/RowGroup.ts +40 -23
  1063. package/src/components/VDataTable/VDataTable.ts +131 -126
  1064. package/src/components/VDataTable/VDataTableHeader.ts +12 -13
  1065. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +23 -13
  1066. package/src/components/VDataTable/VDataTableHeaderMobile.ts +29 -35
  1067. package/src/components/VDataTable/VEditDialog.ts +33 -31
  1068. package/src/components/VDataTable/VSimpleTable.ts +12 -13
  1069. package/src/components/VDataTable/VVirtualTable.ts +25 -27
  1070. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +65 -76
  1071. package/src/components/VDataTable/__tests__/Row.spec.ts +73 -82
  1072. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +11 -9
  1073. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +1007 -1011
  1074. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +60 -54
  1075. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +68 -56
  1076. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +70 -44
  1077. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +19 -21
  1078. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  1079. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +3560 -1901
  1080. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +157 -186
  1081. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  1082. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  1083. package/src/components/VDataTable/index.ts +2 -2
  1084. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +14 -17
  1085. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +31 -31
  1086. package/src/components/VDataTable/mixins/header.ts +17 -22
  1087. package/src/components/VDatePicker/VDatePicker.ts +92 -72
  1088. package/src/components/VDatePicker/VDatePickerDateTable.ts +25 -20
  1089. package/src/components/VDatePicker/VDatePickerHeader.ts +66 -41
  1090. package/src/components/VDatePicker/VDatePickerMonthTable.ts +8 -8
  1091. package/src/components/VDatePicker/VDatePickerTitle.ts +54 -28
  1092. package/src/components/VDatePicker/VDatePickerYears.ts +26 -24
  1093. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +371 -353
  1094. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +191 -165
  1095. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +115 -129
  1096. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +107 -97
  1097. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +94 -108
  1098. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +68 -44
  1099. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +40 -37
  1100. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +628 -595
  1101. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +248 -228
  1102. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  1103. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  1104. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  1105. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +18 -9
  1106. package/src/components/VDatePicker/index.ts +3 -3
  1107. package/src/components/VDatePicker/mixins/date-picker-table.ts +68 -51
  1108. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  1109. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  1110. package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
  1111. package/src/components/VDatePicker/util/index.ts +2 -2
  1112. package/src/components/VDialog/VDialog.ts +43 -34
  1113. package/src/components/VDialog/__tests__/VDialog.spec.ts +131 -127
  1114. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  1115. package/src/components/VDivider/VDivider.ts +4 -5
  1116. package/src/components/VDivider/__tests__/VDivider.spec.ts +14 -18
  1117. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  1118. package/src/components/VExpansionPanel/VExpansionPanel.ts +13 -8
  1119. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +12 -15
  1120. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +19 -24
  1121. package/src/components/VExpansionPanel/VExpansionPanels.ts +6 -6
  1122. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +59 -43
  1123. package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +9 -7
  1124. package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +11 -7
  1125. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +12 -11
  1126. package/src/components/VExpansionPanel/index.ts +2 -2
  1127. package/src/components/VFileInput/VFileInput.ts +68 -53
  1128. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +106 -76
  1129. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  1130. package/src/components/VFooter/VFooter.ts +15 -16
  1131. package/src/components/VFooter/__tests__/VFooter.spec.ts +35 -28
  1132. package/src/components/VForm/VForm.ts +71 -43
  1133. package/src/components/VForm/__tests__/VForm.spec.ts +114 -94
  1134. package/src/components/VGrid/VCol.ts +18 -18
  1135. package/src/components/VGrid/VContainer.ts +20 -16
  1136. package/src/components/VGrid/VRow.ts +17 -17
  1137. package/src/components/VGrid/__tests__/VCol.spec.ts +34 -32
  1138. package/src/components/VGrid/__tests__/VContainer.spec.ts +59 -4
  1139. package/src/components/VGrid/__tests__/VFlex.spec.ts +4 -4
  1140. package/src/components/VGrid/__tests__/VGrid.spec.ts +19 -19
  1141. package/src/components/VGrid/__tests__/VLayout.spec.ts +4 -4
  1142. package/src/components/VGrid/grid.ts +18 -19
  1143. package/src/components/VGrid/index.ts +3 -3
  1144. package/src/components/VHover/VHover.ts +27 -22
  1145. package/src/components/VHover/__tests__/VHover.spec.ts +50 -34
  1146. package/src/components/VIcon/VIcon.ts +107 -80
  1147. package/src/components/VIcon/__tests__/VIcon.spec.ts +143 -127
  1148. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
  1149. package/src/components/VImg/VImg.ts +52 -52
  1150. package/src/components/VImg/__tests__/VImg.spec.ts +42 -41
  1151. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  1152. package/src/components/VInput/VInput.ts +75 -47
  1153. package/src/components/VInput/__tests__/VInput.spec.ts +115 -160
  1154. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  1155. package/src/components/VItemGroup/VItem.ts +35 -29
  1156. package/src/components/VItemGroup/VItemGroup.ts +30 -20
  1157. package/src/components/VItemGroup/__tests__/VItem.spec.ts +40 -48
  1158. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +124 -152
  1159. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  1160. package/src/components/VItemGroup/index.ts +3 -3
  1161. package/src/components/VLabel/VLabel.ts +9 -9
  1162. package/src/components/VLabel/__tests__/VLabel.spec.ts +244 -18
  1163. package/src/components/VLazy/VLazy.ts +28 -29
  1164. package/src/components/VLazy/__tests__/VLazy.spec.ts +11 -9
  1165. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +1 -1
  1166. package/src/components/VList/VList.ts +15 -15
  1167. package/src/components/VList/VListGroup.ts +62 -50
  1168. package/src/components/VList/VListItem.ts +72 -39
  1169. package/src/components/VList/VListItemAction.ts +12 -11
  1170. package/src/components/VList/VListItemAvatar.ts +5 -5
  1171. package/src/components/VList/VListItemGroup.ts +7 -7
  1172. package/src/components/VList/VListItemIcon.ts +2 -2
  1173. package/src/components/VList/__tests__/VList.spec.ts +22 -21
  1174. package/src/components/VList/__tests__/VListGroup.spec.ts +74 -66
  1175. package/src/components/VList/__tests__/VListItem.spec.ts +157 -78
  1176. package/src/components/VList/__tests__/VListItemAction.spec.ts +34 -33
  1177. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +6 -3
  1178. package/src/components/VList/__tests__/VListItemGroup.spec.ts +6 -3
  1179. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  1180. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +6 -7
  1181. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  1182. package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
  1183. package/src/components/VList/index.ts +3 -3
  1184. package/src/components/VMain/VMain.ts +11 -11
  1185. package/src/components/VMain/__tests__/VMain.spec.ts +74 -20
  1186. package/src/components/VMenu/VMenu.ts +60 -38
  1187. package/src/components/VMenu/__tests__/VMenu.spec.ts +119 -98
  1188. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  1189. package/src/components/VMessages/VMessages.ts +29 -11
  1190. package/src/components/VMessages/__tests__/VMessages.spec.ts +60 -21
  1191. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  1192. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +51 -43
  1193. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +125 -112
  1194. package/src/components/VOtpInput/VOtpInput.ts +109 -49
  1195. package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +85 -88
  1196. package/src/components/VOverflowBtn/VOverflowBtn.ts +22 -17
  1197. package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +21 -21
  1198. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
  1199. package/src/components/VOverlay/VOverlay.ts +31 -17
  1200. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +7 -7
  1201. package/src/components/VPagination/VPagination.ts +61 -49
  1202. package/src/components/VPagination/__tests__/VPagination.spec.ts +106 -92
  1203. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +214 -459
  1204. package/src/components/VParallax/VParallax.ts +17 -17
  1205. package/src/components/VParallax/__tests__/VParallax.spec.ts +6 -6
  1206. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  1207. package/src/components/VPicker/VPicker.ts +30 -30
  1208. package/src/components/VPicker/__tests__/VPicker.spec.ts +25 -26
  1209. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  1210. package/src/components/VProgressCircular/VProgressCircular.ts +25 -26
  1211. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +46 -39
  1212. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  1213. package/src/components/VProgressLinear/VProgressLinear.ts +81 -52
  1214. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +418 -103
  1215. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  1216. package/src/components/VRadioGroup/VRadio.ts +25 -23
  1217. package/src/components/VRadioGroup/VRadioGroup.ts +30 -17
  1218. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +65 -52
  1219. package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +7 -7
  1220. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
  1221. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
  1222. package/src/components/VRadioGroup/index.ts +2 -2
  1223. package/src/components/VRangeSlider/VRangeSlider.ts +37 -22
  1224. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +52 -52
  1225. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  1226. package/src/components/VRating/VRating.ts +39 -26
  1227. package/src/components/VRating/__tests__/VRating.spec.ts +45 -51
  1228. package/src/components/VResponsive/VResponsive.ts +9 -9
  1229. package/src/components/VResponsive/__tests__/VResponsive.spec.ts +12 -7
  1230. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  1231. package/src/components/VSelect/VSelect.ts +148 -81
  1232. package/src/components/VSelect/VSelectList.ts +94 -51
  1233. package/src/components/VSelect/__tests__/VSelect.spec.ts +211 -170
  1234. package/src/components/VSelect/__tests__/VSelect2.spec.ts +164 -148
  1235. package/src/components/VSelect/__tests__/VSelect3.spec.ts +149 -131
  1236. package/src/components/VSelect/__tests__/VSelect4.spec.ts +109 -98
  1237. package/src/components/VSelect/__tests__/VSelectList.spec.ts +50 -45
  1238. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  1239. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +48 -60
  1240. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +9 -297
  1241. package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
  1242. package/src/components/VSheet/VSheet.ts +9 -8
  1243. package/src/components/VSheet/__tests__/VSheet.spec.ts +9 -9
  1244. package/src/components/VSkeletonLoader/VSkeletonLoader.ts +13 -14
  1245. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +29 -22
  1246. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  1247. package/src/components/VSlideGroup/VSlideGroup.ts +58 -53
  1248. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  1249. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +101 -93
  1250. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
  1251. package/src/components/VSlideGroup/index.ts +3 -3
  1252. package/src/components/VSlider/VSlider.ts +110 -89
  1253. package/src/components/VSlider/__tests__/VSlider.spec.ts +223 -321
  1254. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  1255. package/src/components/VSnackbar/VSnackbar.ts +26 -26
  1256. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +59 -50
  1257. package/src/components/VSparkline/VSparkline.ts +85 -121
  1258. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +80 -82
  1259. package/src/components/VSparkline/helpers/core.ts +2 -2
  1260. package/src/components/VSparkline/helpers/math.ts +1 -1
  1261. package/src/components/VSpeedDial/VSpeedDial.ts +27 -28
  1262. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +28 -20
  1263. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  1264. package/src/components/VStepper/VStepper.ts +18 -16
  1265. package/src/components/VStepper/VStepperContent.ts +27 -33
  1266. package/src/components/VStepper/VStepperStep.ts +26 -35
  1267. package/src/components/VStepper/__tests__/VStepper.spec.ts +8 -5
  1268. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +142 -129
  1269. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +66 -59
  1270. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
  1271. package/src/components/VStepper/index.ts +3 -3
  1272. package/src/components/VSubheader/VSubheader.ts +5 -5
  1273. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +13 -8
  1274. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  1275. package/src/components/VSwitch/VSwitch.ts +27 -28
  1276. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +41 -51
  1277. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
  1278. package/src/components/VSystemBar/VSystemBar.ts +11 -12
  1279. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +94 -22
  1280. package/src/components/VTabs/VTab.ts +29 -16
  1281. package/src/components/VTabs/VTabItem.ts +3 -3
  1282. package/src/components/VTabs/VTabs.ts +61 -31
  1283. package/src/components/VTabs/VTabsBar.ts +17 -11
  1284. package/src/components/VTabs/VTabsItems.ts +8 -6
  1285. package/src/components/VTabs/VTabsSlider.ts +4 -4
  1286. package/src/components/VTabs/__tests__/VTab.spec.ts +56 -45
  1287. package/src/components/VTabs/__tests__/VTabs.spec.ts +199 -86
  1288. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +69 -28
  1289. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +10 -9
  1290. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  1291. package/src/components/VTabs/index.ts +2 -2
  1292. package/src/components/VTextField/VTextField.ts +54 -51
  1293. package/src/components/VTextField/__tests__/VTextField.spec.ts +425 -332
  1294. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
  1295. package/src/components/VTextarea/VTextarea.ts +10 -23
  1296. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +171 -43
  1297. package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +99 -4
  1298. package/src/components/VThemeProvider/VThemeProvider.ts +2 -2
  1299. package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +50 -11
  1300. package/src/components/VTimePicker/VTimePicker.ts +210 -100
  1301. package/src/components/VTimePicker/VTimePickerClock.ts +59 -71
  1302. package/src/components/VTimePicker/VTimePickerTitle.ts +15 -14
  1303. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +214 -201
  1304. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +106 -109
  1305. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +66 -60
  1306. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  1307. package/src/components/VTimePicker/index.ts +2 -2
  1308. package/src/components/VTimeline/VTimeline.ts +6 -6
  1309. package/src/components/VTimeline/VTimelineItem.ts +21 -19
  1310. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +29 -39
  1311. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +6 -7
  1312. package/src/components/VTimeline/index.ts +2 -2
  1313. package/src/components/VToolbar/VToolbar.ts +22 -23
  1314. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +61 -37
  1315. package/src/components/VToolbar/index.ts +3 -3
  1316. package/src/components/VTooltip/VTooltip.ts +42 -48
  1317. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +85 -99
  1318. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  1319. package/src/components/VTreeview/VTreeview.ts +47 -41
  1320. package/src/components/VTreeview/VTreeviewNode.ts +45 -47
  1321. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +273 -279
  1322. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +83 -87
  1323. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  1324. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +32 -26
  1325. package/src/components/VTreeview/index.ts +2 -2
  1326. package/src/components/VVirtualScroll/VVirtualScroll.ts +27 -28
  1327. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +31 -27
  1328. package/src/components/VWindow/VWindow.ts +31 -31
  1329. package/src/components/VWindow/VWindowItem.ts +16 -16
  1330. package/src/components/VWindow/__tests__/VWindow.spec.ts +323 -204
  1331. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +247 -91
  1332. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  1333. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  1334. package/src/components/VWindow/index.ts +2 -2
  1335. package/src/components/transitions/createTransition.ts +16 -16
  1336. package/src/components/transitions/expand-transition.ts +5 -3
  1337. package/src/components/transitions/index.ts +3 -3
  1338. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +7 -7
  1339. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -7
  1340. package/src/directives/click-outside/index.ts +5 -5
  1341. package/src/directives/color/__tests__/color.spec.ts +66 -42
  1342. package/src/directives/color/index.ts +14 -9
  1343. package/src/directives/intersect/__tests__/intersect.spec.ts +10 -10
  1344. package/src/directives/intersect/index.ts +82 -42
  1345. package/src/directives/mutate/__tests__/mutate.spec.ts +48 -42
  1346. package/src/directives/mutate/index.ts +58 -49
  1347. package/src/directives/resize/__tests__/resize.spec.ts +5 -5
  1348. package/src/directives/resize/index.ts +34 -15
  1349. package/src/directives/ripple/__tests__/ripple.spec.ts +38 -40
  1350. package/src/directives/ripple/index.ts +6 -8
  1351. package/src/directives/scroll/__tests__/scroll.spec.ts +20 -20
  1352. package/src/directives/scroll/index.ts +36 -21
  1353. package/src/directives/touch/__tests__/touch.spec.ts +23 -16
  1354. package/src/directives/touch/index.ts +44 -32
  1355. package/src/framework.ts +6 -7
  1356. package/src/globals.d.ts +8 -91
  1357. package/src/index.ts +1 -1
  1358. package/src/install.ts +10 -32
  1359. package/src/locale/af.ts +16 -16
  1360. package/src/locale/ar.ts +16 -16
  1361. package/src/locale/az.ts +16 -16
  1362. package/src/locale/bg.ts +16 -16
  1363. package/src/locale/ca.ts +16 -16
  1364. package/src/locale/ckb.ts +16 -16
  1365. package/src/locale/cs.ts +16 -16
  1366. package/src/locale/da.ts +16 -16
  1367. package/src/locale/de.ts +16 -16
  1368. package/src/locale/el.ts +16 -16
  1369. package/src/locale/en.ts +16 -16
  1370. package/src/locale/es.ts +16 -16
  1371. package/src/locale/et.ts +16 -16
  1372. package/src/locale/fa.ts +16 -16
  1373. package/src/locale/fi.ts +16 -16
  1374. package/src/locale/fr.ts +16 -16
  1375. package/src/locale/he.ts +16 -16
  1376. package/src/locale/hr.ts +16 -16
  1377. package/src/locale/hu.ts +16 -16
  1378. package/src/locale/id.ts +16 -16
  1379. package/src/locale/it.ts +16 -16
  1380. package/src/locale/ja.ts +16 -16
  1381. package/src/locale/ko.ts +16 -16
  1382. package/src/locale/lt.ts +16 -16
  1383. package/src/locale/lv.ts +16 -16
  1384. package/src/locale/nl.ts +16 -16
  1385. package/src/locale/no.ts +16 -16
  1386. package/src/locale/pl.ts +16 -16
  1387. package/src/locale/pt.ts +16 -16
  1388. package/src/locale/ro.ts +16 -16
  1389. package/src/locale/ru.ts +16 -16
  1390. package/src/locale/sk.ts +16 -16
  1391. package/src/locale/sl.ts +16 -16
  1392. package/src/locale/sr-Cyrl.ts +16 -16
  1393. package/src/locale/sr-Latn.ts +16 -16
  1394. package/src/locale/sv.ts +16 -16
  1395. package/src/locale/th.ts +16 -16
  1396. package/src/locale/tr.ts +16 -16
  1397. package/src/locale/uk.ts +16 -16
  1398. package/src/locale/vi.ts +16 -16
  1399. package/src/locale/zh-Hans.ts +16 -16
  1400. package/src/locale/zh-Hant.ts +16 -16
  1401. package/src/mixins/activatable/__tests__/activatable.spec.ts +66 -66
  1402. package/src/mixins/activatable/index.ts +25 -27
  1403. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +47 -43
  1404. package/src/mixins/applicationable/index.ts +9 -9
  1405. package/src/mixins/binds-attrs/index.ts +4 -4
  1406. package/src/mixins/bootable/__tests__/bootable.spec.ts +27 -21
  1407. package/src/mixins/bootable/index.ts +10 -9
  1408. package/src/mixins/button-group/index.ts +4 -4
  1409. package/src/mixins/colorable/__tests__/colorable.spec.ts +29 -26
  1410. package/src/mixins/colorable/index.ts +15 -14
  1411. package/src/mixins/comparable/index.ts +4 -5
  1412. package/src/mixins/delayable/index.ts +7 -7
  1413. package/src/mixins/dependent/__tests__/dependent.spec.ts +77 -38
  1414. package/src/mixins/dependent/index.ts +9 -11
  1415. package/src/mixins/detachable/__tests__/detachable.spec.ts +53 -39
  1416. package/src/mixins/detachable/index.ts +27 -25
  1417. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +18 -17
  1418. package/src/mixins/elevatable/index.ts +4 -4
  1419. package/src/mixins/filterable/index.ts +4 -4
  1420. package/src/mixins/groupable/index.ts +19 -17
  1421. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +21 -15
  1422. package/src/mixins/intersectable/index.ts +11 -11
  1423. package/src/mixins/loadable/index.ts +9 -7
  1424. package/src/mixins/localable/index.ts +4 -4
  1425. package/src/mixins/measurable/index.ts +3 -3
  1426. package/src/mixins/menuable/__tests__/menuable.spec.ts +84 -41
  1427. package/src/mixins/menuable/index.ts +27 -27
  1428. package/src/mixins/mobile/__tests__/mobile.spec.ts +12 -9
  1429. package/src/mixins/mobile/index.ts +8 -8
  1430. package/src/mixins/mouse/__tests__/mouse.spec.ts +59 -45
  1431. package/src/mixins/mouse/index.ts +14 -10
  1432. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +35 -27
  1433. package/src/mixins/overlayable/index.ts +19 -18
  1434. package/src/mixins/picker/index.ts +14 -12
  1435. package/src/mixins/picker-button/index.ts +6 -5
  1436. package/src/mixins/positionable/index.ts +6 -6
  1437. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +20 -19
  1438. package/src/mixins/proxyable/index.ts +13 -10
  1439. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  1440. package/src/mixins/registrable/index.ts +20 -21
  1441. package/src/mixins/returnable/index.ts +6 -6
  1442. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +11 -10
  1443. package/src/mixins/rippleable/index.ts +6 -5
  1444. package/src/mixins/roundable/__tests__/roundable.spec.ts +10 -8
  1445. package/src/mixins/roundable/index.ts +9 -7
  1446. package/src/mixins/routable/__tests__/routable.spec.ts +66 -58
  1447. package/src/mixins/routable/index.ts +18 -14
  1448. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +68 -39
  1449. package/src/mixins/scrollable/index.ts +7 -7
  1450. package/src/mixins/selectable/__tests__/selectable.spec.ts +23 -10
  1451. package/src/mixins/selectable/index.ts +24 -21
  1452. package/src/mixins/sizeable/index.ts +5 -5
  1453. package/src/mixins/ssr-bootable/index.ts +3 -3
  1454. package/src/mixins/stackable/index.ts +6 -6
  1455. package/src/mixins/themeable/index.ts +17 -17
  1456. package/src/mixins/toggleable/index.ts +6 -6
  1457. package/src/mixins/transitionable/index.ts +3 -3
  1458. package/src/mixins/translatable/index.ts +7 -7
  1459. package/src/mixins/validatable/__tests__/validatable.spec.ts +209 -173
  1460. package/src/mixins/validatable/index.ts +44 -36
  1461. package/src/presets/default/index.ts +10 -10
  1462. package/src/services/application/index.ts +1 -1
  1463. package/src/services/breakpoint/__tests__/breakpoint.spec.ts +34 -34
  1464. package/src/services/breakpoint/index.ts +3 -4
  1465. package/src/services/goto/__tests__/goto.spec.ts +147 -2
  1466. package/src/services/goto/index.ts +2 -2
  1467. package/src/services/goto/util.ts +44 -5
  1468. package/src/services/icons/index.ts +1 -1
  1469. package/src/services/icons/presets/fa-svg.ts +3 -3
  1470. package/src/services/icons/presets/fa.ts +1 -1
  1471. package/src/services/icons/presets/fa4.ts +1 -1
  1472. package/src/services/icons/presets/index.ts +1 -1
  1473. package/src/services/icons/presets/md.ts +1 -1
  1474. package/src/services/icons/presets/mdi-svg.ts +1 -1
  1475. package/src/services/icons/presets/mdi.ts +1 -1
  1476. package/src/services/lang/__tests__/lang.spec.ts +5 -5
  1477. package/src/services/lang/index.ts +2 -2
  1478. package/src/services/presets/__tests__/presets.spec.ts +9 -9
  1479. package/src/services/presets/index.ts +2 -2
  1480. package/src/services/service/index.ts +2 -2
  1481. package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
  1482. package/src/services/theme/__tests__/theme-utils.spec.ts +4 -4
  1483. package/src/services/theme/__tests__/theme.spec.ts +96 -98
  1484. package/src/services/theme/index.ts +29 -67
  1485. package/src/services/theme/utils.ts +3 -3
  1486. package/src/types/vue-augment.ts +15 -0
  1487. package/src/types/vue-internal.ts +34 -0
  1488. package/src/util/__tests__/colorUtils.spec.ts +4 -4
  1489. package/src/util/__tests__/console.spec.ts +124 -11
  1490. package/src/util/__tests__/dateTimeUtils.spec.ts +1 -1
  1491. package/src/util/__tests__/dom.spec.ts +10 -7
  1492. package/src/util/__tests__/helpers.spec.ts +251 -49
  1493. package/src/util/__tests__/mergeData.spec.ts +10 -10
  1494. package/src/util/color/transformCIELAB.ts +2 -2
  1495. package/src/util/color/transformSRGB.ts +2 -2
  1496. package/src/util/colorUtils.ts +4 -4
  1497. package/src/util/colors.ts +21 -21
  1498. package/src/util/console.ts +44 -25
  1499. package/src/util/dedupeModelListeners.ts +1 -1
  1500. package/src/util/helpers.ts +88 -32
  1501. package/src/util/legacyEventsMixin.ts +34 -0
  1502. package/src/util/make-directive-activatable.ts +12 -12
  1503. package/src/util/mergeData.ts +12 -21
  1504. package/src/util/mixins.ts +25 -6
  1505. package/src/util/rebuildFunctionalSlots.ts +1 -1
  1506. package/types/alacarte.d.ts +15 -14
  1507. package/types/index.d.ts +7 -15
  1508. package/types/lib.d.ts +173 -173
  1509. package/types/services/goto.d.ts +3 -3
  1510. package/types/services/index.d.ts +2 -2
@@ -39,9 +39,6 @@ var MINUTES_IN_DAY = 1440;
39
39
  var _default = (0, _vue.defineComponent)({
40
40
  name: 'calendar-with-events',
41
41
  extends: _calendarBase.default,
42
- directives: {
43
- ripple: _ripple.default
44
- },
45
42
  props: _objectSpread(_objectSpread(_objectSpread({}, _props.default.events), _props.default.calendar), _props.default.category),
46
43
  computed: {
47
44
  noEvents: function noEvents() {
@@ -186,8 +183,6 @@ var _default = (0, _vue.defineComponent)({
186
183
  return eventsMap;
187
184
  },
188
185
  genDayEvent: function genDayEvent(_ref, day) {
189
- var _this$genEvent;
190
-
191
186
  var event = _ref.event;
192
187
  var eventHeight = this.eventHeight;
193
188
  var eventMarginBottom = this.eventMarginBottom;
@@ -218,25 +213,29 @@ var _default = (0, _vue.defineComponent)({
218
213
  end: end,
219
214
  timed: false
220
215
  };
221
- return this.genEvent(event, scope, false, (_this$genEvent = {
222
- class: 'v-event'
223
- }, _defineProperty(_this$genEvent, "class", {
224
- 'v-event-start': start,
225
- 'v-event-end': end
226
- }), _defineProperty(_this$genEvent, "style", {
227
- height: "".concat(eventHeight, "px"),
228
- width: "".concat(width, "%"),
229
- 'margin-bottom': "".concat(eventMarginBottom, "px")
230
- }), _defineProperty(_this$genEvent, "attrs", {
231
- 'data-date': day.date
232
- }), _defineProperty(_this$genEvent, "key", event.index), _defineProperty(_this$genEvent, "ref", 'events'), _defineProperty(_this$genEvent, "refInFor", true), _this$genEvent));
216
+ return this.genEvent(event, scope, false, {
217
+ class: ['v-event', {
218
+ 'v-event-start': start,
219
+ 'v-event-end': end
220
+ }],
221
+ style: {
222
+ height: "".concat(eventHeight, "px"),
223
+ width: "".concat(width, "%"),
224
+ 'margin-bottom': "".concat(eventMarginBottom, "px")
225
+ },
226
+ 'data-date': day.date,
227
+ key: event.index,
228
+ ref: 'events'
229
+ });
233
230
  },
234
231
  genTimedEvent: function genTimedEvent(_ref2, day) {
235
232
  var event = _ref2.event,
236
233
  left = _ref2.left,
237
234
  width = _ref2.width;
235
+ var endDelta = day.timeDelta(event.end);
236
+ var startDelta = day.timeDelta(event.start);
238
237
 
239
- if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || (0, _events.isEventHiddenOn)(event, day)) {
238
+ if (typeof endDelta === 'number' && endDelta < 0 || typeof startDelta === 'number' && startDelta >= 1 || (0, _events.isEventHiddenOn)(event, day)) {
240
239
  return false;
241
240
  }
242
241
 
@@ -285,20 +284,20 @@ var _default = (0, _vue.defineComponent)({
285
284
  if (event.start.hasTime) {
286
285
  if (timedEvent) {
287
286
  var time = timeSummary();
288
- var delimiter = singline ? ', ' : h('br');
289
- return h('span', {
287
+ var delimiter = singline ? ', ' : (0, _vue.h)('br');
288
+ return (0, _vue.h)('span', {
290
289
  class: 'v-event-summary'
291
- }, [h('strong', [name]), delimiter, time]);
290
+ }, [(0, _vue.h)('strong', [name]), delimiter, time]);
292
291
  } else {
293
292
  var _time = formatTime(event.start, true);
294
293
 
295
- return h('span', {
294
+ return (0, _vue.h)('span', {
296
295
  class: 'v-event-summary'
297
- }, [h('strong', [_time]), ' ', name]);
296
+ }, [(0, _vue.h)('strong', [_time]), ' ', name]);
298
297
  }
299
298
  }
300
299
 
301
- return h('span', {
300
+ return (0, _vue.h)('span', {
302
301
  class: 'v-event-summary'
303
302
  }, [name]);
304
303
  };
@@ -313,62 +312,50 @@ var _default = (0, _vue.defineComponent)({
313
312
  eventSummary: eventSummary
314
313
  });
315
314
 
316
- return h('div', this.setTextColor(text, this.setBackgroundColor(background, _objectSpread({
317
- on: this.getDefaultMouseEventHandlers(':event', function (nativeEvent) {
318
- return _objectSpread(_objectSpread({}, scope), {}, {
319
- nativeEvent: nativeEvent
320
- });
321
- }),
322
- directives: [{
323
- name: 'ripple',
324
- value: (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true
325
- }]
326
- }, data))), slot ? slot(scope) : [this.genName(eventSummary)]);
315
+ return (0, _vue.withDirectives)((0, _vue.h)('div', this.setTextColor(text, this.setBackgroundColor(background, _objectSpread(_objectSpread({}, this.getDefaultMouseEventHandlers(':event', function (nativeEvent) {
316
+ return _objectSpread(_objectSpread({}, scope), {}, {
317
+ nativeEvent: nativeEvent
318
+ });
319
+ })), data))), slot ? slot(scope) : [this.genName(eventSummary)]), [[_ripple.default, (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true]]);
327
320
  },
328
321
  genName: function genName(eventSummary) {
329
- return h('div', {
322
+ return (0, _vue.h)('div', {
330
323
  class: 'pl-1'
331
324
  }, [eventSummary()]);
332
325
  },
333
326
  genPlaceholder: function genPlaceholder(day) {
334
327
  var height = this.eventHeight + this.eventMarginBottom;
335
- return h('div', {
328
+ return (0, _vue.h)('div', {
336
329
  style: {
337
330
  height: "".concat(height, "px")
338
331
  },
339
- attrs: {
340
- 'data-date': day.date
341
- },
342
- ref: 'events',
343
- refInFor: true
332
+ 'data-date': day.date,
333
+ ref: 'events'
344
334
  });
345
335
  },
346
336
  genMore: function genMore(day) {
347
- var _h;
348
-
349
337
  var _a;
350
338
 
351
339
  var eventHeight = this.eventHeight;
352
340
  var eventMarginBottom = this.eventMarginBottom;
353
- return h('div', (_h = {
354
- class: 'v-event-more pl-1'
355
- }, _defineProperty(_h, "class", {
356
- 'v-outside': day.outside
357
- }), _defineProperty(_h, "attrs", {
341
+ return (0, _vue.withDirectives)((0, _vue.h)('div', _objectSpread(_objectSpread({
342
+ class: ['v-event-more pl-1', {
343
+ 'v-outside': day.outside
344
+ }],
358
345
  'data-date': day.date,
359
346
  'data-more': 1
360
- }), _defineProperty(_h, "directives", [{
361
- name: 'ripple',
362
- value: (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true
363
- }]), _defineProperty(_h, "on", this.getDefaultMouseEventHandlers(':more', function (nativeEvent) {
347
+ }, this.getDefaultMouseEventHandlers(':more', function (nativeEvent) {
364
348
  return _objectSpread({
365
349
  nativeEvent: nativeEvent
366
350
  }, day);
367
- })), _defineProperty(_h, "style", {
368
- display: 'none',
369
- height: "".concat(eventHeight, "px"),
370
- 'margin-bottom': "".concat(eventMarginBottom, "px")
371
- }), _defineProperty(_h, "ref", 'events'), _defineProperty(_h, "refInFor", true), _h));
351
+ })), {}, {
352
+ style: {
353
+ display: 'none',
354
+ height: "".concat(eventHeight, "px"),
355
+ 'margin-bottom': "".concat(eventMarginBottom, "px")
356
+ },
357
+ ref: 'events'
358
+ })), [[_ripple.default, (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true]]);
372
359
  },
373
360
  getVisibleEvents: function getVisibleEvents() {
374
361
  var start = (0, _timestamp.getDayIdentifier)(this.days[0]);
@@ -479,7 +466,7 @@ var _default = (0, _vue.defineComponent)({
479
466
  },
480
467
  'day-body': function dayBody(day) {
481
468
  var events = getSlotChildren(day, _this8.getEventsForDayTimed, _this8.genTimedEvent, true);
482
- var children = [h('div', {
469
+ var children = [(0, _vue.h)('div', {
483
470
  class: 'v-event-timed-container'
484
471
  }, events)];
485
472
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData, defineComponent } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-events',\n\n extends: CalendarBase,\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => event.input[this.eventName as string] as string || ''\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n class: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n class: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$slots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : h('br')\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [name]),\n delimiter,\n time,\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [time]),\n ' ',\n name,\n ])\n }\n }\n\n return h('span', { class: 'v-event-summary' }, [name])\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return h('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string | VNode): VNode {\n return h('div', {\n class: 'pl-1',\n }, [eventSummary()])\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return h('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return h('div', {\n class: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$slots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$slots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n h('div', {\n class: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, defineComponent, h, withDirectives } from 'vue'\nimport type { VNodeData } from '../../../types/vue-internal'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-events',\n\n extends: CalendarBase,\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => event.input[this.eventName as string] as string || ''\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n }\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: []\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n class: ['v-event', {\n 'v-event-start': start,\n 'v-event-end': end\n }],\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`\n },\n 'data-date': day.date,\n key: event.index,\n ref: 'events'\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n const endDelta = day.timeDelta(event.end)\n const startDelta = day.timeDelta(event.start)\n if (\n (typeof endDelta === 'number' && endDelta < 0) ||\n (typeof startDelta === 'number' && startDelta >= 1) ||\n isEventHiddenOn(event, day)\n ) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n class: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`\n }\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$slots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : h('br')\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [name]),\n delimiter,\n time\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [time]),\n ' ',\n name\n ])\n }\n }\n\n return h('span', { class: 'v-event-summary' }, [name])\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary\n }\n\n return withDirectives(h('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n ...this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n ...data\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n ), [\n [ripple, this.eventRipple ?? true]\n ])\n },\n genName (eventSummary: () => string | VNode): VNode {\n return h('div', {\n class: 'pl-1'\n }, [eventSummary()])\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return h('div', {\n style: {\n height: `${height}px`\n },\n 'data-date': day.date,\n ref: 'events'\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return withDirectives(h('div', {\n class: ['v-event-more pl-1', {\n 'v-outside': day.outside\n }],\n 'data-date': day.date,\n 'data-more': 1,\n ...this.getDefaultMouseEventHandlers(':more', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`\n },\n ref: 'events'\n }), [\n [ripple, this.eventRipple ?? true]\n ])\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$slots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$slots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n h('div', {\n class: 'v-event-timed-container'\n }, events)\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n }\n }\n }\n }\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _vue = require("vue");
9
+
8
10
  var _calendarBase = _interopRequireDefault(require("./calendar-base"));
9
11
 
10
12
  var _props = _interopRequireDefault(require("../util/props"));
11
13
 
12
14
  var _timestamp = require("../util/timestamp");
13
15
 
14
- var _vue = require("vue");
15
-
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  // Mixins
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"names":[],"mappings":"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","sourcesContent":["\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\nimport { defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-intervals',\n\n extends: CalendarBase,\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-intervals.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineComponent } from 'vue'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-intervals',\n\n extends: CalendarBase,\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n }\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n }\n }\n})\n"],"sourceRoot":"","file":"calendar-with-intervals.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;eAOe,0BAAgB;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;AAAA,WAAO;AACX,MAAA,KAAK,EAAE;AACL,QAAA,GAAG,EAAE,+BAAe,kBAAf,EAAmC,IAAnC,CADA;AAEL,QAAA,KAAK,EAAE,+BAAe,YAAf,EAA6B,IAA7B;AAFF;AADI,KAAP;AAAA,GAVuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SADQ,uBACC;AACP,aAAO,KAAK,GAAL,GAAW,+BAAe,KAAK,GAApB,EAAyB,IAAzB,CAAX,GAA4C,IAAnD;AACD;AAHO,GAjBmB;AAuB7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AADN,GAvBsB;AA2B7B,EAAA,OA3B6B,qBA2BtB;AACL,SAAK,WAAL;AACA,SAAK,UAAL;AACD,GA9B4B;AAgC7B,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;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,WANO,yBAMI;AACT,UAAM,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,MAZO,oBAYD;AACJ,aAAO,0BAAU,IAAI,IAAJ,EAAV,CAAP;AACD,KAdM;AAeP,IAAA,SAfO,qBAeI,GAfJ,EAe4B,MAf5B,EAeqD;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,UAxBO,sBAwBK,GAxBL,EAwB6B,MAxB7B,EAwBsD;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,CAAhB,C","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;;AAEA;;eAOe,0BAAgB;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;AAAA,WAAO;AACX,MAAA,KAAK,EAAE;AACL,QAAA,GAAG,EAAE,+BAAe,kBAAf,EAAmC,IAAnC,CADA;AAEL,QAAA,KAAK,EAAE,+BAAe,YAAf,EAA6B,IAA7B;AAFF;AADI,KAAP;AAAA,GAVuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SADQ,uBACC;AACP,aAAO,KAAK,GAAL,GAAW,+BAAe,KAAK,GAApB,EAAyB,IAAzB,CAAX,GAA4C,IAAnD;AACD;AAHO,GAjBmB;AAuB7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AADN,GAvBsB;AA2B7B,EAAA,OA3B6B,qBA2BtB;AACL,SAAK,WAAL;AACA,SAAK,UAAL;AACD,GA9B4B;AAgC7B,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;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,WANO,yBAMI;AACT,UAAM,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,MAZO,oBAYD;AACJ,aAAO,0BAAU,IAAI,IAAJ,EAAV,CAAP;AACD,KAdM;AAeP,IAAA,SAfO,qBAeI,GAfJ,EAe4B,MAf5B,EAeqD;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,UAxBO,sBAwBK,GAxBL,EAwB6B,MAxB7B,EAwBsD;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,CAAhB,C","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;;AACA;;AAEO,IAAM,yBAAyB,GAA6C;AACjF,EAAA,KAAK,EAAL,YADiF;AAEjF,EAAA,MAAM,EAAN;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;;AACA;;AAEO,IAAM,yBAAyB,GAA6C;AACjF,EAAA,KAAK,EAAL,YADiF;AAEjF,EAAA,MAAM,EAAN;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;;AASM,SAAU,UAAV,CACJ,KADI,EAEJ,KAFI,EAGJ,aAHI,EAIJ,WAJI,EAM4B;AAAA,MADhC,KACgC,uEADxB,KACwB;AAAA,MAAhC,QAAgC,uEAAL,KAAK;AAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAD,CAAxB;AACA,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAD,CAAtB;AACA,MAAM,WAAW,GAAsB,+BAAe,UAAf,EAA2B,IAA3B,CAAvC;AACA,MAAM,SAAS,GAAuB,QAAQ,GAAG,+BAAe,QAAf,EAAyB,IAAzB,CAAH,GAAoC,WAAlF;AACA,MAAM,KAAK,GAAsB,4BAAY,UAAZ,IAC7B,8BAAc,WAAd,EAA2B,KAA3B,CAD6B,GAE7B,WAFJ;AAGA,MAAM,GAAG,GAAsB,4BAAY,QAAZ,IAC3B,8BAAc,SAAd,EAAyB,KAAzB,CAD2B,GAE3B,SAFJ;AAGA,MAAM,eAAe,GAAW,iCAAiB,KAAjB,CAAhC;AACA,MAAM,wBAAwB,GAAW,uCAAuB,KAAvB,CAAzC;AACA,MAAM,aAAa,GAAW,iCAAiB,GAAjB,CAA9B;AACA,MAAM,SAAS,GAAW,KAAK,CAAC,OAAN,GAAgB,CAAhB,GAAoB,IAA9C;AACA,MAAM,sBAAsB,GAAW,uCAAuB,GAAvB,IAA8B,SAArE;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAtB;AAEA,SAAO;AAAE,IAAA,KAAK,EAAL,KAAF;AAAS,IAAA,KAAK,EAAL,KAAT;AAAgB,IAAA,eAAe,EAAf,eAAhB;AAAiC,IAAA,wBAAwB,EAAxB,wBAAjC;AAA2D,IAAA,GAAG,EAAH,GAA3D;AAAgE,IAAA,aAAa,EAAb,aAAhE;AAA+E,IAAA,sBAAsB,EAAtB,sBAA/E;AAAuG,IAAA,MAAM,EAAN,MAAvG;AAA+G,IAAA,KAAK,EAAL,KAA/G;AAAsH,IAAA,QAAQ,EAAR;AAAtH,GAAP;AACD;;AAEK,SAAU,SAAV,CAAqB,KAArB,EAAiD,aAAjD,EAAsE;AAC1E,SAAO,aAAa,IAAI,KAAK,CAAC,eAAvB,IAA0C,aAAa,IAAI,KAAK,CAAC,aAAxE;AACD;;AAEK,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;;AAEK,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;;AAEK,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;;AASM,SAAU,UAAV,CACJ,KADI,EAEJ,KAFI,EAGJ,aAHI,EAIJ,WAJI,EAM4B;AAAA,MADhC,KACgC,uEADxB,KACwB;AAAA,MAAhC,QAAgC,uEAAL,KAAK;AAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAD,CAAxB;AACA,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAD,CAAtB;AACA,MAAM,WAAW,GAAsB,+BAAe,UAAf,EAA2B,IAA3B,CAAvC;AACA,MAAM,SAAS,GAAuB,QAAQ,GAAG,+BAAe,QAAf,EAAyB,IAAzB,CAAH,GAAoC,WAAlF;AACA,MAAM,KAAK,GAAsB,4BAAY,UAAZ,IAC7B,8BAAc,WAAd,EAA2B,KAA3B,CAD6B,GAE7B,WAFJ;AAGA,MAAM,GAAG,GAAsB,4BAAY,QAAZ,IAC3B,8BAAc,SAAd,EAAyB,KAAzB,CAD2B,GAE3B,SAFJ;AAGA,MAAM,eAAe,GAAW,iCAAiB,KAAjB,CAAhC;AACA,MAAM,wBAAwB,GAAW,uCAAuB,KAAvB,CAAzC;AACA,MAAM,aAAa,GAAW,iCAAiB,GAAjB,CAA9B;AACA,MAAM,SAAS,GAAW,KAAK,CAAC,OAAN,GAAgB,CAAhB,GAAoB,IAA9C;AACA,MAAM,sBAAsB,GAAW,uCAAuB,GAAvB,IAA8B,SAArE;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAtB;AAEA,SAAO;AAAE,IAAA,KAAK,EAAL,KAAF;AAAS,IAAA,KAAK,EAAL,KAAT;AAAgB,IAAA,eAAe,EAAf,eAAhB;AAAiC,IAAA,wBAAwB,EAAxB,wBAAjC;AAA2D,IAAA,GAAG,EAAH,GAA3D;AAAgE,IAAA,aAAa,EAAb,aAAhE;AAA+E,IAAA,sBAAsB,EAAtB,sBAA/E;AAAuG,IAAA,MAAM,EAAN,MAAvG;AAA+G,IAAA,KAAK,EAAL,KAA/G;AAAsH,IAAA,QAAQ,EAAR;AAAtH,GAAP;AACD;;AAEK,SAAU,SAAV,CAAqB,KAArB,EAAiD,aAAjD,EAAsE;AAC1E,SAAO,aAAa,IAAI,KAAK,CAAC,eAAvB,IAA0C,aAAa,IAAI,KAAK,CAAC,aAAxE;AACD;;AAEK,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;;AAEK,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;;AAEK,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"}