@vuetify/nightly 3.2.0-dev-20230322.0 → 3.2.0-dev-20230405.0

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 (473) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/_component-variables-labs.sass +2 -1
  3. package/dist/json/attributes.json +4333 -4117
  4. package/dist/json/importMap-labs.json +8 -4
  5. package/dist/json/importMap.json +176 -176
  6. package/dist/json/tags.json +603 -544
  7. package/dist/json/web-types.json +14307 -13728
  8. package/dist/vuetify-labs.css +331 -113
  9. package/dist/vuetify-labs.d.ts +1881 -993
  10. package/dist/vuetify-labs.esm.js +686 -488
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +685 -489
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.css +108 -110
  15. package/dist/vuetify.d.ts +1393 -764
  16. package/dist/vuetify.esm.js +523 -474
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +523 -476
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +353 -346
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.mjs.map +1 -1
  25. package/lib/components/VApp/index.d.ts +2 -2
  26. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  28. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -3
  30. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  31. package/lib/components/VAutocomplete/index.d.ts +39 -39
  32. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  33. package/lib/components/VBadge/VBadge.css +1 -0
  34. package/lib/components/VBadge/VBadge.mjs +1 -1
  35. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  36. package/lib/components/VBadge/VBadge.sass +1 -0
  37. package/lib/components/VBadge/index.d.ts +13 -13
  38. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  39. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  40. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  41. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  42. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  43. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  45. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  46. package/lib/components/VBtn/index.d.ts +4 -4
  47. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  48. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  49. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  50. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  51. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  52. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  53. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  54. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  55. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  56. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  57. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  58. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  59. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  60. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  61. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  62. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  63. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  64. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  65. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  66. package/lib/components/VCard/VCard.mjs.map +1 -1
  67. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  68. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  69. package/lib/components/VCard/index.d.ts +1 -13
  70. package/lib/components/VCarousel/VCarousel.mjs +10 -10
  71. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  72. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  73. package/lib/components/VCarousel/index.d.ts +197 -19
  74. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  75. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  76. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  77. package/lib/components/VCheckbox/index.d.ts +41 -50
  78. package/lib/components/VChip/VChip.mjs.map +1 -1
  79. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  80. package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
  81. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  82. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  83. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  84. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  85. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  86. package/lib/components/VColorPicker/index.d.ts +113 -50
  87. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  88. package/lib/components/VCombobox/VCombobox.mjs +11 -4
  89. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  90. package/lib/components/VCombobox/index.d.ts +39 -39
  91. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  92. package/lib/components/VCounter/index.d.ts +123 -24
  93. package/lib/components/VData/VData.mjs.map +1 -1
  94. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  95. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  96. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  97. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  98. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  99. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  100. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  101. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  102. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  103. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  104. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  105. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  106. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  107. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  108. package/lib/components/VDialog/VDialog.css +11 -18
  109. package/lib/components/VDialog/VDialog.mjs +2 -2
  110. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  111. package/lib/components/VDialog/VDialog.sass +8 -15
  112. package/lib/components/VDialog/index.d.ts +43 -43
  113. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  114. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  115. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  116. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  117. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  118. package/lib/components/VField/VField.mjs +5 -1
  119. package/lib/components/VField/VField.mjs.map +1 -1
  120. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  121. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  122. package/lib/components/VFileInput/index.d.ts +9 -9
  123. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  124. package/lib/components/VForm/VForm.mjs.map +1 -1
  125. package/lib/components/VGrid/VCol.mjs +2 -2
  126. package/lib/components/VGrid/VCol.mjs.map +1 -1
  127. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  128. package/lib/components/VGrid/VRow.mjs +2 -2
  129. package/lib/components/VGrid/VRow.mjs.map +1 -1
  130. package/lib/components/VHover/VHover.mjs.map +1 -1
  131. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  132. package/lib/components/VImg/VImg.mjs.map +1 -1
  133. package/lib/components/VImg/index.d.ts +9 -9
  134. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  135. package/lib/components/VInput/VInput.mjs.map +1 -1
  136. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  137. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  138. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  139. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  140. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  141. package/lib/components/VLayout/index.d.ts +2 -2
  142. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  143. package/lib/components/VLazy/index.d.ts +13 -13
  144. package/lib/components/VList/VList.mjs.map +1 -1
  145. package/lib/components/VList/VListChildren.mjs.map +1 -1
  146. package/lib/components/VList/VListGroup.mjs +24 -13
  147. package/lib/components/VList/VListGroup.mjs.map +1 -1
  148. package/lib/components/VList/VListItem.mjs.map +1 -1
  149. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  150. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  151. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  152. package/lib/components/VList/list.mjs.map +1 -1
  153. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  154. package/lib/components/VMain/VMain.mjs.map +1 -1
  155. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  156. package/lib/components/VMenu/index.d.ts +43 -43
  157. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  158. package/lib/components/VMessages/index.d.ts +123 -24
  159. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
  160. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  161. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  162. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  163. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  164. package/lib/components/VNoSsr/index.d.ts +1 -13
  165. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  166. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  167. package/lib/components/VOverlay/VOverlay.css +1 -1
  168. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  169. package/lib/components/VOverlay/VOverlay.sass +1 -1
  170. package/lib/components/VOverlay/index.d.ts +15 -15
  171. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  172. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  173. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  174. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  175. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  176. package/lib/components/VPagination/VPagination.mjs +2 -2
  177. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  178. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  179. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  180. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  181. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  182. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  183. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  184. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  185. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  186. package/lib/components/VRating/VRating.mjs.map +1 -1
  187. package/lib/components/VRating/index.d.ts +2 -2
  188. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  189. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  190. package/lib/components/VSelect/index.d.ts +39 -39
  191. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  192. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  193. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  194. package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
  195. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  196. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  197. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  198. package/lib/components/VSlideGroup/index.d.ts +17 -17
  199. package/lib/components/VSlider/VSlider.mjs +1 -1
  200. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  201. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  202. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  203. package/lib/components/VSlider/slider.mjs +1 -1
  204. package/lib/components/VSlider/slider.mjs.map +1 -1
  205. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  206. package/lib/components/VSnackbar/index.d.ts +43 -43
  207. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  208. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  209. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  210. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  211. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  212. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  213. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  214. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  215. package/lib/components/VSwitch/VSwitch.css +4 -0
  216. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  217. package/lib/components/VSwitch/VSwitch.sass +4 -0
  218. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  219. package/lib/components/VTable/VTable.css +1 -1
  220. package/lib/components/VTable/VTable.mjs.map +1 -1
  221. package/lib/components/VTable/VTable.sass +1 -1
  222. package/lib/components/VTabs/VTab.mjs.map +1 -1
  223. package/lib/components/VTabs/VTabs.mjs +25 -30
  224. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  225. package/lib/components/VTabs/index.d.ts +165 -28
  226. package/lib/components/VTextField/VTextField.mjs +7 -5
  227. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  228. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  229. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  230. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  231. package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
  232. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  233. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  234. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  235. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  236. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  237. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  238. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  239. package/lib/components/VTimeline/index.d.ts +8 -8
  240. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  241. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  242. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  243. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  244. package/lib/components/VTooltip/index.d.ts +43 -43
  245. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  246. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  247. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  248. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  249. package/lib/components/VWindow/VWindow.mjs +38 -37
  250. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  251. package/lib/components/VWindow/VWindowItem.mjs +2 -1
  252. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  253. package/lib/components/index.d.ts +1270 -641
  254. package/lib/components/transitions/createTransition.mjs +59 -50
  255. package/lib/components/transitions/createTransition.mjs.map +1 -1
  256. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  257. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  258. package/lib/components/transitions/index.d.ts +150 -15
  259. package/lib/composables/border.mjs.map +1 -1
  260. package/lib/composables/color.mjs.map +1 -1
  261. package/lib/composables/defaults.mjs +1 -1
  262. package/lib/composables/defaults.mjs.map +1 -1
  263. package/lib/composables/delay.mjs.map +1 -1
  264. package/lib/composables/density.mjs.map +1 -1
  265. package/lib/composables/dimensions.mjs.map +1 -1
  266. package/lib/composables/display.mjs.map +1 -1
  267. package/lib/composables/elevation.mjs.map +1 -1
  268. package/lib/composables/filter.mjs.map +1 -1
  269. package/lib/composables/focus.mjs.map +1 -1
  270. package/lib/composables/form.mjs.map +1 -1
  271. package/lib/composables/forwardRefs.mjs +29 -15
  272. package/lib/composables/forwardRefs.mjs.map +1 -1
  273. package/lib/composables/group.mjs.map +1 -1
  274. package/lib/composables/hydration.mjs.map +1 -1
  275. package/lib/composables/icons.mjs.map +1 -1
  276. package/lib/composables/intersectionObserver.mjs.map +1 -1
  277. package/lib/composables/items.mjs.map +1 -1
  278. package/lib/composables/layout.mjs.map +1 -1
  279. package/lib/composables/lazy.mjs.map +1 -1
  280. package/lib/composables/loader.mjs.map +1 -1
  281. package/lib/composables/locale.mjs.map +1 -1
  282. package/lib/composables/location.mjs.map +1 -1
  283. package/lib/composables/mutationObserver.mjs.map +1 -1
  284. package/lib/composables/nested/nested.mjs.map +1 -1
  285. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  286. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  287. package/lib/composables/position.mjs.map +1 -1
  288. package/lib/composables/proxiedModel.mjs.map +1 -1
  289. package/lib/composables/refs.mjs.map +1 -1
  290. package/lib/composables/resizeObserver.mjs.map +1 -1
  291. package/lib/composables/rounded.mjs.map +1 -1
  292. package/lib/composables/router.mjs.map +1 -1
  293. package/lib/composables/scopeId.mjs.map +1 -1
  294. package/lib/composables/scroll.mjs.map +1 -1
  295. package/lib/composables/selectLink.mjs.map +1 -1
  296. package/lib/composables/size.mjs.map +1 -1
  297. package/lib/composables/ssrBoot.mjs.map +1 -1
  298. package/lib/composables/stack.mjs.map +1 -1
  299. package/lib/composables/teleport.mjs.map +1 -1
  300. package/lib/composables/theme.mjs.map +1 -1
  301. package/lib/composables/toggleScope.mjs.map +1 -1
  302. package/lib/composables/touch.mjs.map +1 -1
  303. package/lib/composables/transition.mjs.map +1 -1
  304. package/lib/composables/validation.mjs +1 -1
  305. package/lib/composables/validation.mjs.map +1 -1
  306. package/lib/composables/variant.mjs.map +1 -1
  307. package/lib/directives/click-outside/index.mjs.map +1 -1
  308. package/lib/directives/color/index.mjs.map +1 -1
  309. package/lib/directives/intersect/index.mjs.map +1 -1
  310. package/lib/directives/mutate/index.mjs.map +1 -1
  311. package/lib/directives/resize/index.mjs.map +1 -1
  312. package/lib/directives/ripple/index.mjs.map +1 -1
  313. package/lib/directives/scroll/index.mjs.map +1 -1
  314. package/lib/directives/touch/index.mjs.map +1 -1
  315. package/lib/entry-bundler.mjs +1 -1
  316. package/lib/entry-bundler.mjs.map +1 -1
  317. package/lib/framework.mjs +1 -1
  318. package/lib/framework.mjs.map +1 -1
  319. package/lib/index.d.ts +45 -45
  320. package/lib/labs/VDataTable/VDataTable.mjs +3 -1
  321. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  322. package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
  323. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  324. package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
  325. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  326. package/lib/labs/VDataTable/VDataTableRow.mjs +5 -4
  327. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  328. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  329. package/lib/labs/VDataTable/VDataTableServer.mjs +3 -1
  330. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  331. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  332. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  333. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  334. package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
  335. package/lib/labs/VDataTable/composables/items.mjs +14 -1
  336. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  337. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  338. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  339. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  340. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  341. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  342. package/lib/labs/VDataTable/index.d.ts +303 -260
  343. package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
  344. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
  345. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
  346. package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
  347. package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
  348. package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
  349. package/lib/labs/VSkeletonLoader/index.mjs +2 -0
  350. package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
  351. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  352. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
  353. package/lib/labs/components.d.ts +518 -261
  354. package/lib/labs/components.mjs +1 -0
  355. package/lib/labs/components.mjs.map +1 -1
  356. package/lib/labs/entry-bundler.mjs.map +1 -1
  357. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  358. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  359. package/lib/locale/af.mjs +2 -1
  360. package/lib/locale/af.mjs.map +1 -1
  361. package/lib/locale/ar.mjs +2 -1
  362. package/lib/locale/ar.mjs.map +1 -1
  363. package/lib/locale/az.mjs +2 -1
  364. package/lib/locale/az.mjs.map +1 -1
  365. package/lib/locale/bg.mjs +2 -1
  366. package/lib/locale/bg.mjs.map +1 -1
  367. package/lib/locale/ca.mjs +2 -1
  368. package/lib/locale/ca.mjs.map +1 -1
  369. package/lib/locale/ckb.mjs +2 -1
  370. package/lib/locale/ckb.mjs.map +1 -1
  371. package/lib/locale/cs.mjs +2 -1
  372. package/lib/locale/cs.mjs.map +1 -1
  373. package/lib/locale/da.mjs +2 -1
  374. package/lib/locale/da.mjs.map +1 -1
  375. package/lib/locale/de.mjs +2 -1
  376. package/lib/locale/de.mjs.map +1 -1
  377. package/lib/locale/el.mjs +2 -1
  378. package/lib/locale/el.mjs.map +1 -1
  379. package/lib/locale/en.mjs +2 -1
  380. package/lib/locale/en.mjs.map +1 -1
  381. package/lib/locale/es.mjs +2 -1
  382. package/lib/locale/es.mjs.map +1 -1
  383. package/lib/locale/et.mjs +2 -1
  384. package/lib/locale/et.mjs.map +1 -1
  385. package/lib/locale/fa.mjs +2 -1
  386. package/lib/locale/fa.mjs.map +1 -1
  387. package/lib/locale/fi.mjs +2 -1
  388. package/lib/locale/fi.mjs.map +1 -1
  389. package/lib/locale/fr.mjs +2 -1
  390. package/lib/locale/fr.mjs.map +1 -1
  391. package/lib/locale/he.mjs +2 -1
  392. package/lib/locale/he.mjs.map +1 -1
  393. package/lib/locale/hr.mjs +2 -1
  394. package/lib/locale/hr.mjs.map +1 -1
  395. package/lib/locale/hu.mjs +2 -1
  396. package/lib/locale/hu.mjs.map +1 -1
  397. package/lib/locale/id.mjs +2 -1
  398. package/lib/locale/id.mjs.map +1 -1
  399. package/lib/locale/index.d.ts +42 -0
  400. package/lib/locale/it.mjs +2 -1
  401. package/lib/locale/it.mjs.map +1 -1
  402. package/lib/locale/ja.mjs +2 -1
  403. package/lib/locale/ja.mjs.map +1 -1
  404. package/lib/locale/ko.mjs +2 -1
  405. package/lib/locale/ko.mjs.map +1 -1
  406. package/lib/locale/lt.mjs +2 -1
  407. package/lib/locale/lt.mjs.map +1 -1
  408. package/lib/locale/lv.mjs +2 -1
  409. package/lib/locale/lv.mjs.map +1 -1
  410. package/lib/locale/nl.mjs +2 -1
  411. package/lib/locale/nl.mjs.map +1 -1
  412. package/lib/locale/no.mjs +2 -1
  413. package/lib/locale/no.mjs.map +1 -1
  414. package/lib/locale/pl.mjs +2 -1
  415. package/lib/locale/pl.mjs.map +1 -1
  416. package/lib/locale/pt.mjs +2 -1
  417. package/lib/locale/pt.mjs.map +1 -1
  418. package/lib/locale/ro.mjs +2 -1
  419. package/lib/locale/ro.mjs.map +1 -1
  420. package/lib/locale/ru.mjs +2 -1
  421. package/lib/locale/ru.mjs.map +1 -1
  422. package/lib/locale/sk.mjs +2 -1
  423. package/lib/locale/sk.mjs.map +1 -1
  424. package/lib/locale/sl.mjs +2 -1
  425. package/lib/locale/sl.mjs.map +1 -1
  426. package/lib/locale/sr-Cyrl.mjs +2 -1
  427. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  428. package/lib/locale/sr-Latn.mjs +2 -1
  429. package/lib/locale/sr-Latn.mjs.map +1 -1
  430. package/lib/locale/sv.mjs +2 -1
  431. package/lib/locale/sv.mjs.map +1 -1
  432. package/lib/locale/th.mjs +2 -1
  433. package/lib/locale/th.mjs.map +1 -1
  434. package/lib/locale/tr.mjs +2 -1
  435. package/lib/locale/tr.mjs.map +1 -1
  436. package/lib/locale/uk.mjs +2 -1
  437. package/lib/locale/uk.mjs.map +1 -1
  438. package/lib/locale/vi.mjs +2 -1
  439. package/lib/locale/vi.mjs.map +1 -1
  440. package/lib/locale/zh-Hans.mjs +2 -1
  441. package/lib/locale/zh-Hans.mjs.map +1 -1
  442. package/lib/locale/zh-Hant.mjs +2 -1
  443. package/lib/locale/zh-Hant.mjs.map +1 -1
  444. package/lib/services/goto/index.mjs.map +1 -1
  445. package/lib/services/goto/util.mjs.map +1 -1
  446. package/lib/util/anchor.mjs.map +1 -1
  447. package/lib/util/animation.mjs.map +1 -1
  448. package/lib/util/box.mjs.map +1 -1
  449. package/lib/util/color/APCA.mjs.map +1 -1
  450. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  451. package/lib/util/color/transformSRGB.mjs.map +1 -1
  452. package/lib/util/colorUtils.mjs.map +1 -1
  453. package/lib/util/console.mjs.map +1 -1
  454. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  455. package/lib/util/dateTimeUtils.mjs.map +1 -1
  456. package/lib/util/defineComponent.mjs.map +1 -1
  457. package/lib/util/dom.mjs.map +1 -1
  458. package/lib/util/getCurrentInstance.mjs.map +1 -1
  459. package/lib/util/getScrollParent.mjs.map +1 -1
  460. package/lib/util/globals.mjs +1 -1
  461. package/lib/util/globals.mjs.map +1 -1
  462. package/lib/util/helpers.mjs.map +1 -1
  463. package/lib/util/injectSelf.mjs.map +1 -1
  464. package/lib/util/isFixedPosition.mjs.map +1 -1
  465. package/lib/util/propsFactory.mjs.map +1 -1
  466. package/lib/util/useRender.mjs.map +1 -1
  467. package/package.json +24 -24
  468. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
  469. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
  470. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
  471. package/lib/components/VSkeletonLoader/_variables.scss +0 -54
  472. package/lib/components/VSkeletonLoader/index.mjs +0 -4
  473. package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarMonthly.mjs","names":["VCalendarWeekly","parseTimestamp","getStartOfMonth","getEndOfMonth","extend","name","computed","staticClass","parsedStart","start","parsedEnd","end"],"sources":["../../../src/components/VCalendar/VCalendarMonthly.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarWeekly.sass'\n\n// Mixins\nimport VCalendarWeekly from './VCalendarWeekly'\n\n// Util\nimport { parseTimestamp, getStartOfMonth, getEndOfMonth } from './util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default VCalendarWeekly.extend({\n name: 'v-calendar-monthly',\n\n computed: {\n staticClass (): string {\n return 'v-calendar-monthly v-calendar-weekly'\n },\n parsedStart (): CalendarTimestamp {\n return getStartOfMonth(parseTimestamp(this.start, true))\n },\n parsedEnd (): CalendarTimestamp {\n return getEndOfMonth(parseTimestamp(this.end, true))\n },\n },\n\n})\n"],"mappings":"AAAA;AACA;;AAEA;AACA;;AAEA;AAAA,OACOA,eAAe,+BAEtB;AAAA,SACSC,cAAc,EAAEC,eAAe,EAAEC,aAAa;AAGvD;AACA,eAAeH,eAAe,CAACI,MAAM,CAAC;EACpCC,IAAI,EAAE,oBAAoB;EAE1BC,QAAQ,EAAE;IACRC,WAAW,GAAY;MACrB,OAAO,sCAAsC;IAC/C,CAAC;IACDC,WAAW,GAAuB;MAChC,OAAON,eAAe,CAACD,cAAc,CAAC,IAAI,CAACQ,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IACDC,SAAS,GAAuB;MAC9B,OAAOP,aAAa,CAACF,cAAc,CAAC,IAAI,CAACU,GAAG,EAAE,IAAI,CAAC,CAAC;IACtD;EACF;AAEF,CAAC,CAAC"}
1
+ {"version":3,"file":"VCalendarMonthly.mjs","names":["VCalendarWeekly","parseTimestamp","getStartOfMonth","getEndOfMonth","extend","name","computed","staticClass","parsedStart","start","parsedEnd","end"],"sources":["../../../src/components/VCalendar/VCalendarMonthly.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarWeekly.sass'\n\n// Mixins\nimport VCalendarWeekly from './VCalendarWeekly'\n\n// Util\nimport { parseTimestamp, getStartOfMonth, getEndOfMonth } from './util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default VCalendarWeekly.extend({\n name: 'v-calendar-monthly',\n\n computed: {\n staticClass (): string {\n return 'v-calendar-monthly v-calendar-weekly'\n },\n parsedStart (): CalendarTimestamp {\n return getStartOfMonth(parseTimestamp(this.start, true))\n },\n parsedEnd (): CalendarTimestamp {\n return getEndOfMonth(parseTimestamp(this.end, true))\n },\n },\n\n})\n"],"mappings":"AAAA;AACA;;AAEA;AACA;;AAEA;AAAA,OACOA,eAAe,+BAEtB;AAAA,SACSC,cAAc,EAAEC,eAAe,EAAEC,aAAa;AAGvD;AACA,eAAeH,eAAe,CAACI,MAAM,CAAC;EACpCC,IAAI,EAAE,oBAAoB;EAE1BC,QAAQ,EAAE;IACRC,WAAWA,CAAA,EAAY;MACrB,OAAO,sCAAsC;IAC/C,CAAC;IACDC,WAAWA,CAAA,EAAuB;MAChC,OAAON,eAAe,CAACD,cAAc,CAAC,IAAI,CAACQ,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IACDC,SAASA,CAAA,EAAuB;MAC9B,OAAOP,aAAa,CAACF,cAAc,CAAC,IAAI,CAACU,GAAG,EAAE,IAAI,CAAC,CAAC;IACtD;EACF;AAEF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarWeekly.mjs","names":["VBtn","CalendarBase","getSlot","weekNumber","props","createDayList","getDayIdentifier","createNativeLocaleFormatter","extend","name","weeks","computed","staticClass","classes","themeClasses","parsedMinWeeks","parseInt","minWeeks","days","minDays","parsedWeekdays","length","start","getStartOfWeek","parsedStart","end","getEndOfWeek","parsedEnd","times","today","weekdaySkips","Number","MAX_SAFE_INTEGER","todayWeek","monthFormatter","monthFormat","longOptions","timeZone","month","shortOptions","currentLocale","_tms","short","methods","isOutside","day","dayIdentifier","genHead","$createElement","attrs","role","genHeadDays","header","map","genHeadDay","showWeek","unshift","index","outside","color","present","undefined","setTextColor","key","date","class","getRelativeClasses","weekdayFormatter","shortWeekdays","genWeeks","weekDays","i","push","genWeek","slice","getWeekNumber","week","weekNodes","genDay","genWeekNumber","determineDay","year","localeFirstDayOfYear","String","on","getDefaultMouseEventHandlers","nativeEvent","genDayLabel","genDayLabelButton","hasMonth","showMonthOnFirst","fab","depressed","small","getMouseEventHandlers","event","stop","prevent","result","shortMonths","dayFormatter","genDayMonth","render","h","dragstart","e","preventDefault","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarWeekly.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarBase from './mixins/calendar-base'\n\n// Util\nimport { getSlot } from '../../util/helpers'\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport props from './util/props'\nimport {\n createDayList,\n getDayIdentifier,\n createNativeLocaleFormatter,\n} from './util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'v-calendar-weekly',\n\n props: props.weeks,\n\n computed: {\n staticClass (): string {\n return 'v-calendar-weekly'\n },\n classes (): object {\n return this.themeClasses\n },\n parsedMinWeeks (): number {\n return parseInt(this.minWeeks)\n },\n days (): CalendarTimestamp[] {\n const minDays = this.parsedMinWeeks * this.parsedWeekdays.length\n const start = this.getStartOfWeek(this.parsedStart)\n const end = this.getEndOfWeek(this.parsedEnd)\n\n return createDayList(\n start,\n end,\n this.times.today,\n this.weekdaySkips,\n Number.MAX_SAFE_INTEGER,\n minDays\n )\n },\n todayWeek (): CalendarTimestamp[] {\n const today = this.times.today\n const start = this.getStartOfWeek(today)\n const end = this.getEndOfWeek(today)\n\n return createDayList(\n start,\n end,\n today,\n this.weekdaySkips,\n this.parsedWeekdays.length,\n this.parsedWeekdays.length\n )\n },\n monthFormatter (): CalendarFormatter {\n if (this.monthFormat) {\n return this.monthFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', month: 'long' }\n const shortOptions = { timeZone: 'UTC', month: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n isOutside (day: CalendarTimestamp): boolean {\n const dayIdentifier = getDayIdentifier(day)\n\n return dayIdentifier < getDayIdentifier(this.parsedStart) ||\n dayIdentifier > getDayIdentifier(this.parsedEnd)\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head',\n attrs: {\n role: 'row',\n },\n }, this.genHeadDays())\n },\n genHeadDays (): VNode[] {\n const header = this.todayWeek.map(this.genHeadDay)\n\n if (this.showWeek) {\n header.unshift(this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head-weeknumber',\n }))\n }\n\n return header\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n const outside = this.isOutside(this.days[index])\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n key: day.date,\n staticClass: 'v-calendar-weekly__head-weekday',\n class: this.getRelativeClasses(day, outside),\n attrs: {\n role: 'columnheader',\n },\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genWeeks (): VNode[] {\n const days = this.days\n const weekDays = this.parsedWeekdays.length\n const weeks: VNode[] = []\n\n for (let i = 0; i < days.length; i += weekDays) {\n weeks.push(this.genWeek(days.slice(i, i + weekDays), this.getWeekNumber(days[i])))\n }\n\n return weeks\n },\n genWeek (week: CalendarTimestamp[], weekNumber: number): VNode {\n const weekNodes = week.map((day, index) => this.genDay(day, index, week))\n\n if (this.showWeek) {\n weekNodes.unshift(this.genWeekNumber(weekNumber))\n }\n\n return this.$createElement('div', {\n key: week[0].date,\n staticClass: 'v-calendar-weekly__week',\n attrs: {\n role: 'row',\n },\n }, weekNodes)\n },\n getWeekNumber (determineDay: CalendarTimestamp) {\n return weekNumber(\n determineDay.year,\n determineDay.month - 1,\n determineDay.day,\n this.parsedWeekdays[0],\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__weeknumber',\n }, [\n this.$createElement('small', String(weekNumber)),\n ])\n },\n genDay (day: CalendarTimestamp, index: number, week: CalendarTimestamp[]): VNode {\n const outside = this.isOutside(day)\n\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-weekly__day',\n class: this.getRelativeClasses(day, outside),\n attrs: {\n role: 'cell',\n },\n on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, [\n this.genDayLabel(day),\n ...(getSlot(this, 'day', () => ({ outside, index, week, ...day })) || []),\n ])\n },\n genDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__day-label',\n }, getSlot(this, 'day-label', day) || [this.genDayLabelButton(day)])\n },\n genDayLabelButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n const hasMonth = day.day === 1 && this.showMonthOnFirst\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n small: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => ({ nativeEvent, ...day })),\n }, hasMonth\n ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)\n : this.dayFormatter(day, false)\n )\n },\n genDayMonth (day: CalendarTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-weekly__day-month',\n }), getSlot(this, 'day-month', day) || this.monthFormatter(day, this.shortMonths))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: this.staticClass,\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n }, [\n !this.hideHeader ? this.genHead() : '',\n ...this.genWeeks(),\n ])\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"VCalendarWeekly.mjs","names":["VBtn","CalendarBase","getSlot","weekNumber","props","createDayList","getDayIdentifier","createNativeLocaleFormatter","extend","name","weeks","computed","staticClass","classes","themeClasses","parsedMinWeeks","parseInt","minWeeks","days","minDays","parsedWeekdays","length","start","getStartOfWeek","parsedStart","end","getEndOfWeek","parsedEnd","times","today","weekdaySkips","Number","MAX_SAFE_INTEGER","todayWeek","monthFormatter","monthFormat","longOptions","timeZone","month","shortOptions","currentLocale","_tms","short","methods","isOutside","day","dayIdentifier","genHead","$createElement","attrs","role","genHeadDays","header","map","genHeadDay","showWeek","unshift","index","outside","color","present","undefined","setTextColor","key","date","class","getRelativeClasses","weekdayFormatter","shortWeekdays","genWeeks","weekDays","i","push","genWeek","slice","getWeekNumber","week","weekNodes","genDay","genWeekNumber","determineDay","year","localeFirstDayOfYear","String","on","getDefaultMouseEventHandlers","nativeEvent","genDayLabel","genDayLabelButton","hasMonth","showMonthOnFirst","fab","depressed","small","getMouseEventHandlers","event","stop","prevent","result","shortMonths","dayFormatter","genDayMonth","render","h","dragstart","e","preventDefault","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarWeekly.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarBase from './mixins/calendar-base'\n\n// Util\nimport { getSlot } from '../../util/helpers'\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport props from './util/props'\nimport {\n createDayList,\n getDayIdentifier,\n createNativeLocaleFormatter,\n} from './util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'v-calendar-weekly',\n\n props: props.weeks,\n\n computed: {\n staticClass (): string {\n return 'v-calendar-weekly'\n },\n classes (): object {\n return this.themeClasses\n },\n parsedMinWeeks (): number {\n return parseInt(this.minWeeks)\n },\n days (): CalendarTimestamp[] {\n const minDays = this.parsedMinWeeks * this.parsedWeekdays.length\n const start = this.getStartOfWeek(this.parsedStart)\n const end = this.getEndOfWeek(this.parsedEnd)\n\n return createDayList(\n start,\n end,\n this.times.today,\n this.weekdaySkips,\n Number.MAX_SAFE_INTEGER,\n minDays\n )\n },\n todayWeek (): CalendarTimestamp[] {\n const today = this.times.today\n const start = this.getStartOfWeek(today)\n const end = this.getEndOfWeek(today)\n\n return createDayList(\n start,\n end,\n today,\n this.weekdaySkips,\n this.parsedWeekdays.length,\n this.parsedWeekdays.length\n )\n },\n monthFormatter (): CalendarFormatter {\n if (this.monthFormat) {\n return this.monthFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', month: 'long' }\n const shortOptions = { timeZone: 'UTC', month: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n isOutside (day: CalendarTimestamp): boolean {\n const dayIdentifier = getDayIdentifier(day)\n\n return dayIdentifier < getDayIdentifier(this.parsedStart) ||\n dayIdentifier > getDayIdentifier(this.parsedEnd)\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head',\n attrs: {\n role: 'row',\n },\n }, this.genHeadDays())\n },\n genHeadDays (): VNode[] {\n const header = this.todayWeek.map(this.genHeadDay)\n\n if (this.showWeek) {\n header.unshift(this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head-weeknumber',\n }))\n }\n\n return header\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n const outside = this.isOutside(this.days[index])\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n key: day.date,\n staticClass: 'v-calendar-weekly__head-weekday',\n class: this.getRelativeClasses(day, outside),\n attrs: {\n role: 'columnheader',\n },\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genWeeks (): VNode[] {\n const days = this.days\n const weekDays = this.parsedWeekdays.length\n const weeks: VNode[] = []\n\n for (let i = 0; i < days.length; i += weekDays) {\n weeks.push(this.genWeek(days.slice(i, i + weekDays), this.getWeekNumber(days[i])))\n }\n\n return weeks\n },\n genWeek (week: CalendarTimestamp[], weekNumber: number): VNode {\n const weekNodes = week.map((day, index) => this.genDay(day, index, week))\n\n if (this.showWeek) {\n weekNodes.unshift(this.genWeekNumber(weekNumber))\n }\n\n return this.$createElement('div', {\n key: week[0].date,\n staticClass: 'v-calendar-weekly__week',\n attrs: {\n role: 'row',\n },\n }, weekNodes)\n },\n getWeekNumber (determineDay: CalendarTimestamp) {\n return weekNumber(\n determineDay.year,\n determineDay.month - 1,\n determineDay.day,\n this.parsedWeekdays[0],\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__weeknumber',\n }, [\n this.$createElement('small', String(weekNumber)),\n ])\n },\n genDay (day: CalendarTimestamp, index: number, week: CalendarTimestamp[]): VNode {\n const outside = this.isOutside(day)\n\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-weekly__day',\n class: this.getRelativeClasses(day, outside),\n attrs: {\n role: 'cell',\n },\n on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, [\n this.genDayLabel(day),\n ...(getSlot(this, 'day', () => ({ outside, index, week, ...day })) || []),\n ])\n },\n genDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__day-label',\n }, getSlot(this, 'day-label', day) || [this.genDayLabelButton(day)])\n },\n genDayLabelButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n const hasMonth = day.day === 1 && this.showMonthOnFirst\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n small: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => ({ nativeEvent, ...day })),\n }, hasMonth\n ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)\n : this.dayFormatter(day, false)\n )\n },\n genDayMonth (day: CalendarTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-weekly__day-month',\n }), getSlot(this, 'day-month', day) || this.monthFormatter(day, this.shortMonths))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: this.staticClass,\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n }, [\n !this.hideHeader ? this.genHead() : '',\n ...this.genWeeks(),\n ])\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-base.mjs","names":["mixins","Colorable","Localable","Mouse","Themeable","Times","Resize","props","parseTimestamp","getWeekdaySkips","createDayList","createNativeLocaleFormatter","getStartOfWeek","getEndOfWeek","getTimestampIdentifier","extend","name","directives","base","computed","parsedWeekdays","Array","isArray","weekdays","split","map","x","parseInt","weekdaySkips","weekdaySkipsReverse","reversed","slice","reverse","parsedStart","start","parsedEnd","end","days","times","today","dayFormatter","dayFormat","options","timeZone","day","currentLocale","_tms","_short","weekdayFormatter","weekdayFormat","longOptions","weekday","shortOptions","short","methods","getRelativeClasses","timestamp","outside","present","past","future","getFormatter","locale"],"sources":["../../../../src/components/VCalendar/mixins/calendar-base.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\n// Mixins\nimport mixins from '../../../util/mixins'\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Mouse from './mouse'\nimport Themeable from '../../../mixins/themeable'\nimport Times from './times'\n\n// Directives\nimport Resize from '../../../directives/resize'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTimestamp,\n getWeekdaySkips,\n createDayList,\n createNativeLocaleFormatter,\n getStartOfWeek,\n getEndOfWeek,\n getTimestampIdentifier,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Mouse,\n Themeable,\n Times\n/* @vue/component */\n).extend({\n name: 'calendar-base',\n\n directives: {\n Resize,\n },\n\n props: props.base,\n\n computed: {\n parsedWeekdays (): number[] {\n return Array.isArray(this.weekdays)\n ? this.weekdays\n : (this.weekdays || '').split(',').map(x => parseInt(x, 10))\n },\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.parsedWeekdays)\n },\n weekdaySkipsReverse (): number [] {\n const reversed = this.weekdaySkips.slice()\n reversed.reverse()\n return reversed\n },\n parsedStart (): CalendarTimestamp {\n return parseTimestamp(this.start, true)\n },\n parsedEnd (): CalendarTimestamp {\n const start = this.parsedStart\n const end: CalendarTimestamp = this.end ? parseTimestamp(this.end) || start : start\n\n return getTimestampIdentifier(end) < getTimestampIdentifier(start) ? start : end\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips\n )\n },\n dayFormatter (): CalendarFormatter {\n if (this.dayFormat) {\n return this.dayFormat as CalendarFormatter\n }\n\n const options = { timeZone: 'UTC', day: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, _short) => options\n )\n },\n weekdayFormatter (): CalendarFormatter {\n if (this.weekdayFormat) {\n return this.weekdayFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', weekday: 'long' }\n const shortOptions = { timeZone: 'UTC', weekday: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n getRelativeClasses (timestamp: CalendarTimestamp, outside = false): object {\n return {\n 'v-present': timestamp.present,\n 'v-past': timestamp.past,\n 'v-future': timestamp.future,\n 'v-outside': outside,\n }\n },\n getStartOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getStartOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getEndOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getEndOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getFormatter (options: object): CalendarFormatter {\n return createNativeLocaleFormatter(\n this.locale,\n (_tms, _short) => options\n )\n },\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"calendar-base.mjs","names":["mixins","Colorable","Localable","Mouse","Themeable","Times","Resize","props","parseTimestamp","getWeekdaySkips","createDayList","createNativeLocaleFormatter","getStartOfWeek","getEndOfWeek","getTimestampIdentifier","extend","name","directives","base","computed","parsedWeekdays","Array","isArray","weekdays","split","map","x","parseInt","weekdaySkips","weekdaySkipsReverse","reversed","slice","reverse","parsedStart","start","parsedEnd","end","days","times","today","dayFormatter","dayFormat","options","timeZone","day","currentLocale","_tms","_short","weekdayFormatter","weekdayFormat","longOptions","weekday","shortOptions","short","methods","getRelativeClasses","timestamp","outside","arguments","length","undefined","present","past","future","getFormatter","locale"],"sources":["../../../../src/components/VCalendar/mixins/calendar-base.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\n// Mixins\nimport mixins from '../../../util/mixins'\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Mouse from './mouse'\nimport Themeable from '../../../mixins/themeable'\nimport Times from './times'\n\n// Directives\nimport Resize from '../../../directives/resize'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTimestamp,\n getWeekdaySkips,\n createDayList,\n createNativeLocaleFormatter,\n getStartOfWeek,\n getEndOfWeek,\n getTimestampIdentifier,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Mouse,\n Themeable,\n Times\n/* @vue/component */\n).extend({\n name: 'calendar-base',\n\n directives: {\n Resize,\n },\n\n props: props.base,\n\n computed: {\n parsedWeekdays (): number[] {\n return Array.isArray(this.weekdays)\n ? this.weekdays\n : (this.weekdays || '').split(',').map(x => parseInt(x, 10))\n },\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.parsedWeekdays)\n },\n weekdaySkipsReverse (): number [] {\n const reversed = this.weekdaySkips.slice()\n reversed.reverse()\n return reversed\n },\n parsedStart (): CalendarTimestamp {\n return parseTimestamp(this.start, true)\n },\n parsedEnd (): CalendarTimestamp {\n const start = this.parsedStart\n const end: CalendarTimestamp = this.end ? parseTimestamp(this.end) || start : start\n\n return getTimestampIdentifier(end) < getTimestampIdentifier(start) ? start : end\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips\n )\n },\n dayFormatter (): CalendarFormatter {\n if (this.dayFormat) {\n return this.dayFormat as CalendarFormatter\n }\n\n const options = { timeZone: 'UTC', day: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, _short) => options\n )\n },\n weekdayFormatter (): CalendarFormatter {\n if (this.weekdayFormat) {\n return this.weekdayFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', weekday: 'long' }\n const shortOptions = { timeZone: 'UTC', weekday: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n getRelativeClasses (timestamp: CalendarTimestamp, outside = false): object {\n return {\n 'v-present': timestamp.present,\n 'v-past': timestamp.past,\n 'v-future': timestamp.future,\n 'v-outside': outside,\n }\n },\n getStartOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getStartOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getEndOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getEndOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getFormatter (options: object): CalendarFormatter {\n return createNativeLocaleFormatter(\n this.locale,\n (_tms, _short) => options\n )\n },\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-with-events.mjs","names":["ripple","CalendarBase","props","CalendarEventOverlapModes","getDayIdentifier","diffMinutes","parseEvent","isEventStart","isEventOn","isEventOverlapping","isEventHiddenOn","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","extend","name","directives","events","calendar","category","computed","noEvents","length","parsedEvents","map","parsedEventOverlapThreshold","parseInt","eventOverlapThreshold","eventTimedFunction","eventTimed","event","eventCategoryFunction","eventCategory","eventTextColorFunction","eventTextColor","eventNameFunction","eventName","timedEvent","input","eventModeFunction","eventOverlapMode","eventWeekdays","parsedWeekdays","categoryMode","type","methods","eventColorFunction","e","eventColor","color","index","eventStart","eventEnd","formatTime","withTime","ampm","formatter","getFormatter","timeZone","hour","minute","undefined","updateEventVisibility","eventMore","eventHeight","eventsMap","getEventsMap","date","parent","more","parentBounds","getBoundingClientRect","last","eventsSorted","bottom","sort","a","b","hidden","i","hide","style","display","innerHTML","$vuetify","lang","t","eventMoreText","elements","$refs","forEach","el","getAttribute","parentElement","push","genDayEvent","day","eventMarginBottom","dayIdentifier","week","start","startIdentifier","end","endIdentifier","width","weekdayIdentifier","scope","eventParsed","timed","genEvent","staticClass","class","height","attrs","key","ref","refInFor","genTimedEvent","left","timeDelta","top","timeToY","Math","max","scopeInput","data","slot","$scopedSlots","text","background","overlapsNoon","singline","timeSummary","eventSummary","hasTime","time","delimiter","$createElement","outside","setTextColor","setBackgroundColor","on","getDefaultMouseEventHandlers","nativeEvent","value","eventRipple","genName","genPlaceholder","genMore","getVisibleEvents","days","filter","isEventForCategory","categoryName","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","getScopedSlots","mode","isNode","getSlotChildren","getter","mapper","visuals","visual","children","column","mapped","slots","slotDay","slotDayHeader","slotDayBody","concat"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } 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 CalendarBase.extend({\n name: 'calendar-with-events',\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 staticClass: '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 staticClass: '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.$scopedSlots.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 ? ', ' : this.$createElement('br')\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [\n this.$createElement('strong', [name]),\n delimiter,\n time,\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [\n this.$createElement('strong', [time]),\n ' ',\n name,\n ])\n }\n }\n\n return this.$createElement('span', { staticClass: '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 this.$createElement('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 this.$createElement('div', {\n staticClass: 'pl-1',\n }, [eventSummary()])\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('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 this.$createElement('div', {\n staticClass: '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.$scopedSlots }\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.$scopedSlots\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 this.$createElement('div', {\n staticClass: '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"],"mappings":"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"}
1
+ {"version":3,"file":"calendar-with-events.mjs","names":["ripple","CalendarBase","props","CalendarEventOverlapModes","getDayIdentifier","diffMinutes","parseEvent","isEventStart","isEventOn","isEventOverlapping","isEventHiddenOn","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","extend","name","directives","events","calendar","category","computed","noEvents","length","parsedEvents","map","parsedEventOverlapThreshold","parseInt","eventOverlapThreshold","eventTimedFunction","eventTimed","event","eventCategoryFunction","eventCategory","eventTextColorFunction","eventTextColor","eventNameFunction","eventName","timedEvent","input","eventModeFunction","eventOverlapMode","eventWeekdays","parsedWeekdays","categoryMode","type","methods","eventColorFunction","e","eventColor","color","index","arguments","undefined","eventStart","eventEnd","formatTime","withTime","ampm","formatter","getFormatter","timeZone","hour","minute","updateEventVisibility","eventMore","eventHeight","eventsMap","getEventsMap","date","parent","more","parentBounds","getBoundingClientRect","last","eventsSorted","bottom","sort","a","b","hidden","i","hide","style","display","innerHTML","$vuetify","lang","t","eventMoreText","elements","$refs","forEach","el","getAttribute","parentElement","push","genDayEvent","_ref","day","eventMarginBottom","dayIdentifier","week","start","startIdentifier","end","endIdentifier","width","weekdayIdentifier","scope","eventParsed","timed","genEvent","staticClass","class","height","attrs","key","ref","refInFor","genTimedEvent","_ref2","left","timeDelta","top","timeToY","Math","max","scopeInput","data","slot","$scopedSlots","text","background","overlapsNoon","singline","timeSummary","eventSummary","hasTime","time","delimiter","$createElement","outside","setTextColor","setBackgroundColor","on","getDefaultMouseEventHandlers","nativeEvent","value","eventRipple","genName","genPlaceholder","genMore","getVisibleEvents","days","filter","isEventForCategory","categoryName","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","getScopedSlots","mode","isNode","getSlotChildren","getter","mapper","visuals","visual","children","column","mapped","slots","slotDay","slotDayHeader","slotDayBody","concat"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } 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 CalendarBase.extend({\n name: 'calendar-with-events',\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 staticClass: '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 staticClass: '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.$scopedSlots.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 ? ', ' : this.$createElement('br')\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [\n this.$createElement('strong', [name]),\n delimiter,\n time,\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [\n this.$createElement('strong', [time]),\n ' ',\n name,\n ])\n }\n }\n\n return this.$createElement('span', { staticClass: '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 this.$createElement('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 this.$createElement('div', {\n staticClass: 'pl-1',\n }, [eventSummary()])\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('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 this.$createElement('div', {\n staticClass: '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.$scopedSlots }\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.$scopedSlots\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 this.$createElement('div', {\n staticClass: '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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-with-intervals.mjs","names":["CalendarBase","props","parseTime","copyTimestamp","updateMinutes","createDayList","createIntervalList","createNativeLocaleFormatter","MINUTES_IN_DAY","extend","name","intervals","computed","parsedFirstInterval","parseInt","firstInterval","parsedIntervalMinutes","intervalMinutes","parsedIntervalCount","intervalCount","parsedIntervalHeight","parseFloat","intervalHeight","parsedFirstTime","firstTime","firstMinute","time","bodyHeight","days","parsedStart","parsedEnd","times","today","weekdaySkips","maxDays","first","minutes","count","now","map","d","intervalFormatter","intervalFormat","longOptions","timeZone","hour","minute","shortOptions","shortHourOptions","currentLocale","tms","short","methods","showIntervalLabelDefault","interval","isFirst","intervalStyleDefault","_interval","undefined","getTimestampAtEvent","e","day","timestamp","bounds","currentTarget","getBoundingClientRect","baseMinutes","touchEvent","mouseEvent","touches","changedTouches","clientY","addIntervals","top","addMinutes","Math","floor","getSlotScope","scope","timeToY","timeDelta","minutesToPixels","week","scrollToTime","y","pane","$refs","scrollArea","scrollTop","clamp","min","gap"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\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 CalendarBase.extend({\n name: 'calendar-with-intervals',\n\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"],"mappings":"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"}
1
+ {"version":3,"file":"calendar-with-intervals.mjs","names":["CalendarBase","props","parseTime","copyTimestamp","updateMinutes","createDayList","createIntervalList","createNativeLocaleFormatter","MINUTES_IN_DAY","extend","name","intervals","computed","parsedFirstInterval","parseInt","firstInterval","parsedIntervalMinutes","intervalMinutes","parsedIntervalCount","intervalCount","parsedIntervalHeight","parseFloat","intervalHeight","parsedFirstTime","firstTime","firstMinute","time","bodyHeight","days","parsedStart","parsedEnd","times","today","weekdaySkips","maxDays","first","minutes","count","now","map","d","intervalFormatter","intervalFormat","longOptions","timeZone","hour","minute","shortOptions","shortHourOptions","currentLocale","tms","short","methods","showIntervalLabelDefault","interval","isFirst","intervalStyleDefault","_interval","undefined","getTimestampAtEvent","e","day","timestamp","bounds","currentTarget","getBoundingClientRect","baseMinutes","touchEvent","mouseEvent","touches","changedTouches","clientY","addIntervals","top","addMinutes","Math","floor","getSlotScope","scope","timeToY","timeDelta","minutesToPixels","week","scrollToTime","y","pane","$refs","scrollArea","scrollTop","clamp","arguments","length","min","gap"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\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 CalendarBase.extend({\n name: 'calendar-with-intervals',\n\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","listeners","Object","keys","$listeners","filter","key","endsWith","reduce","acc","event","slice","length","getMouseEventHandlers","prevent","result","events","on","eventOptions","prefix","passive","once","capture","handler","e","mouseEvent","button","undefined","buttons","preventDefault","stop","stopPropagation","classSeparator","eventTargetClasses","currentTarget","className","split","currentTargets","document","elementsFromPoint","changedTouches","clientX","clientY","find","t","some","c","includes","target","isSameNode","dispatchEvent","TouchEvent","type","targetTouches","touches","$emit","Array","isArray","push"],"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","listeners","Object","keys","$listeners","filter","key","endsWith","reduce","acc","event","slice","length","getMouseEventHandlers","prevent","result","events","on","eventOptions","prefix","passive","once","capture","handler","e","mouseEvent","button","undefined","buttons","preventDefault","stop","stopPropagation","classSeparator","eventTargetClasses","currentTarget","className","split","currentTargets","document","elementsFromPoint","changedTouches","clientX","clientY","find","t","some","c","includes","target","isSameNode","dispatchEvent","TouchEvent","type","targetTouches","touches","$emit","Array","isArray","push"],"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"times.mjs","names":["Vue","validateTimestamp","parseTimestamp","parseDate","extend","name","props","now","type","String","validator","data","times","today","computed","parsedNow","watch","created","updateTimes","setPresent","methods","present","past","future","getNow","updateDay","updateTime","Date","target","date","year","month","day","weekday","time","hour","minute"],"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default Vue.extend({\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"],"mappings":"AAAA;AACA;;AAEA,OAAOA,GAAG,MAAM,KAAK;AAAA,SAGnBC,iBAAiB,EACjBC,cAAc,EACdC,SAAS;AAIX,eAAeH,GAAG,CAACI,MAAM,CAAC;EACxBC,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAE;IACLC,GAAG,EAAE;MACHC,IAAI,EAAEC,MAAM;MACZC,SAAS,EAAET;IACb;EACF,CAAC;EAEDU,IAAI,EAAE,OAAO;IACXC,KAAK,EAAE;MACLL,GAAG,EAAEL,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC;MAC7CW,KAAK,EAAEX,cAAc,CAAC,YAAY,EAAE,IAAI;IAC1C;EACF,CAAC,CAAC;EAEFY,QAAQ,EAAE;IACRC,SAAS,GAA8B;MACrC,OAAO,IAAI,CAACR,GAAG,GAAGL,cAAc,CAAC,IAAI,CAACK,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;IACzD;EACF,CAAC;EAEDS,KAAK,EAAE;IACLD,SAAS,EAAE;EACb,CAAC;EAEDE,OAAO,GAAI;IACT,IAAI,CAACC,WAAW,EAAE;IAClB,IAAI,CAACC,UAAU,EAAE;EACnB,CAAC;EAEDC,OAAO,EAAE;IACPD,UAAU,GAAU;MAClB,IAAI,CAACP,KAAK,CAACL,GAAG,CAACc,OAAO,GAAG,IAAI,CAACT,KAAK,CAACC,KAAK,CAACQ,OAAO,GAAG,IAAI;MACxD,IAAI,CAACT,KAAK,CAACL,GAAG,CAACe,IAAI,GAAG,IAAI,CAACV,KAAK,CAACC,KAAK,CAACS,IAAI,GAAG,KAAK;MACnD,IAAI,CAACV,KAAK,CAACL,GAAG,CAACgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACC,KAAK,CAACU,MAAM,GAAG,KAAK;IACzD,CAAC;IACDL,WAAW,GAAU;MACnB,MAAMX,GAAsB,GAAG,IAAI,CAACQ,SAAS,IAAI,IAAI,CAACS,MAAM,EAAE;MAC9D,IAAI,CAACC,SAAS,CAAClB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACL,GAAG,CAAC;MACnC,IAAI,CAACmB,UAAU,CAACnB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACL,GAAG,CAAC;MACpC,IAAI,CAACkB,SAAS,CAAClB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACC,KAAK,CAAC;IACvC,CAAC;IACDW,MAAM,GAAuB;MAC3B,OAAOrB,SAAS,CAAC,IAAIwB,IAAI,EAAE,CAAC;IAC9B,CAAC;IACDF,SAAS,CAAElB,GAAsB,EAAEqB,MAAyB,EAAQ;MAClE,IAAIrB,GAAG,CAACsB,IAAI,KAAKD,MAAM,CAACC,IAAI,EAAE;QAC5BD,MAAM,CAACE,IAAI,GAAGvB,GAAG,CAACuB,IAAI;QACtBF,MAAM,CAACG,KAAK,GAAGxB,GAAG,CAACwB,KAAK;QACxBH,MAAM,CAACI,GAAG,GAAGzB,GAAG,CAACyB,GAAG;QACpBJ,MAAM,CAACK,OAAO,GAAG1B,GAAG,CAAC0B,OAAO;QAC5BL,MAAM,CAACC,IAAI,GAAGtB,GAAG,CAACsB,IAAI;MACxB;IACF,CAAC;IACDH,UAAU,CAAEnB,GAAsB,EAAEqB,MAAyB,EAAQ;MACnE,IAAIrB,GAAG,CAAC2B,IAAI,KAAKN,MAAM,CAACM,IAAI,EAAE;QAC5BN,MAAM,CAACO,IAAI,GAAG5B,GAAG,CAAC4B,IAAI;QACtBP,MAAM,CAACQ,MAAM,GAAG7B,GAAG,CAAC6B,MAAM;QAC1BR,MAAM,CAACM,IAAI,GAAG3B,GAAG,CAAC2B,IAAI;MACxB;IACF;EACF;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"times.mjs","names":["Vue","validateTimestamp","parseTimestamp","parseDate","extend","name","props","now","type","String","validator","data","times","today","computed","parsedNow","watch","created","updateTimes","setPresent","methods","present","past","future","getNow","updateDay","updateTime","Date","target","date","year","month","day","weekday","time","hour","minute"],"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default Vue.extend({\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"],"mappings":"AAAA;AACA;;AAEA,OAAOA,GAAG,MAAM,KAAK;AAAA,SAGnBC,iBAAiB,EACjBC,cAAc,EACdC,SAAS;AAIX,eAAeH,GAAG,CAACI,MAAM,CAAC;EACxBC,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAE;IACLC,GAAG,EAAE;MACHC,IAAI,EAAEC,MAAM;MACZC,SAAS,EAAET;IACb;EACF,CAAC;EAEDU,IAAI,EAAEA,CAAA,MAAO;IACXC,KAAK,EAAE;MACLL,GAAG,EAAEL,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC;MAC7CW,KAAK,EAAEX,cAAc,CAAC,YAAY,EAAE,IAAI;IAC1C;EACF,CAAC,CAAC;EAEFY,QAAQ,EAAE;IACRC,SAASA,CAAA,EAA8B;MACrC,OAAO,IAAI,CAACR,GAAG,GAAGL,cAAc,CAAC,IAAI,CAACK,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;IACzD;EACF,CAAC;EAEDS,KAAK,EAAE;IACLD,SAAS,EAAE;EACb,CAAC;EAEDE,OAAOA,CAAA,EAAI;IACT,IAAI,CAACC,WAAW,EAAE;IAClB,IAAI,CAACC,UAAU,EAAE;EACnB,CAAC;EAEDC,OAAO,EAAE;IACPD,UAAUA,CAAA,EAAU;MAClB,IAAI,CAACP,KAAK,CAACL,GAAG,CAACc,OAAO,GAAG,IAAI,CAACT,KAAK,CAACC,KAAK,CAACQ,OAAO,GAAG,IAAI;MACxD,IAAI,CAACT,KAAK,CAACL,GAAG,CAACe,IAAI,GAAG,IAAI,CAACV,KAAK,CAACC,KAAK,CAACS,IAAI,GAAG,KAAK;MACnD,IAAI,CAACV,KAAK,CAACL,GAAG,CAACgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACC,KAAK,CAACU,MAAM,GAAG,KAAK;IACzD,CAAC;IACDL,WAAWA,CAAA,EAAU;MACnB,MAAMX,GAAsB,GAAG,IAAI,CAACQ,SAAS,IAAI,IAAI,CAACS,MAAM,EAAE;MAC9D,IAAI,CAACC,SAAS,CAAClB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACL,GAAG,CAAC;MACnC,IAAI,CAACmB,UAAU,CAACnB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACL,GAAG,CAAC;MACpC,IAAI,CAACkB,SAAS,CAAClB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACC,KAAK,CAAC;IACvC,CAAC;IACDW,MAAMA,CAAA,EAAuB;MAC3B,OAAOrB,SAAS,CAAC,IAAIwB,IAAI,EAAE,CAAC;IAC9B,CAAC;IACDF,SAASA,CAAElB,GAAsB,EAAEqB,MAAyB,EAAQ;MAClE,IAAIrB,GAAG,CAACsB,IAAI,KAAKD,MAAM,CAACC,IAAI,EAAE;QAC5BD,MAAM,CAACE,IAAI,GAAGvB,GAAG,CAACuB,IAAI;QACtBF,MAAM,CAACG,KAAK,GAAGxB,GAAG,CAACwB,KAAK;QACxBH,MAAM,CAACI,GAAG,GAAGzB,GAAG,CAACyB,GAAG;QACpBJ,MAAM,CAACK,OAAO,GAAG1B,GAAG,CAAC0B,OAAO;QAC5BL,MAAM,CAACC,IAAI,GAAGtB,GAAG,CAACsB,IAAI;MACxB;IACF,CAAC;IACDH,UAAUA,CAAEnB,GAAsB,EAAEqB,MAAyB,EAAQ;MACnE,IAAIrB,GAAG,CAAC2B,IAAI,KAAKN,MAAM,CAACM,IAAI,EAAE;QAC5BN,MAAM,CAACO,IAAI,GAAG5B,GAAG,CAAC4B,IAAI;QACtBP,MAAM,CAACQ,MAAM,GAAG7B,GAAG,CAAC6B,MAAM;QAC1BR,MAAM,CAACM,IAAI,GAAG3B,GAAG,CAAC2B,IAAI;MACxB;IACF;EACF;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"column.mjs","names":["getOverlapGroupHandler","FULL_WIDTH","column","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","visuals","getVisuals","forEach","visual","left","columnCount","width"],"sources":["../../../../src/components/VCalendar/modes/column.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventOverlapMode } from 'vuetify/types'\nimport { getOverlapGroupHandler } from './common'\n\nconst FULL_WIDTH = 100\n\nexport const column: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n return (day, dayEvents, timed, reset) => {\n const visuals = handler.getVisuals(day, dayEvents, timed, reset)\n\n if (timed) {\n visuals.forEach(visual => {\n visual.left = visual.column * FULL_WIDTH / visual.columnCount\n visual.width = FULL_WIDTH / visual.columnCount\n })\n }\n\n return visuals\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGSA,sBAAsB;AAE/B,MAAMC,UAAU,GAAG,GAAG;AAEtB,OAAO,MAAMC,MAAgC,GAAG,CAACC,MAAM,EAAEC,YAAY,EAAEC,gBAAgB,KAAK;EAC1F,MAAMC,OAAO,GAAGN,sBAAsB,CAACI,YAAY,CAAC;EAEpD,OAAO,CAACG,GAAG,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,KAAK;IACvC,MAAMC,OAAO,GAAGL,OAAO,CAACM,UAAU,CAACL,GAAG,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,CAAC;IAEhE,IAAID,KAAK,EAAE;MACTE,OAAO,CAACE,OAAO,CAACC,MAAM,IAAI;QACxBA,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACZ,MAAM,GAAGD,UAAU,GAAGa,MAAM,CAACE,WAAW;QAC7DF,MAAM,CAACG,KAAK,GAAGhB,UAAU,GAAGa,MAAM,CAACE,WAAW;MAChD,CAAC,CAAC;IACJ;IAEA,OAAOL,OAAO;EAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"column.mjs","names":["getOverlapGroupHandler","FULL_WIDTH","column","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","visuals","getVisuals","forEach","visual","left","columnCount","width"],"sources":["../../../../src/components/VCalendar/modes/column.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventOverlapMode } from 'vuetify/types'\nimport { getOverlapGroupHandler } from './common'\n\nconst FULL_WIDTH = 100\n\nexport const column: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n return (day, dayEvents, timed, reset) => {\n const visuals = handler.getVisuals(day, dayEvents, timed, reset)\n\n if (timed) {\n visuals.forEach(visual => {\n visual.left = visual.column * FULL_WIDTH / visual.columnCount\n visual.width = FULL_WIDTH / visual.columnCount\n })\n }\n\n return visuals\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGSA,sBAAsB;AAE/B,MAAMC,UAAU,GAAG,GAAG;AAEtB,OAAO,MAAMC,MAAgC,GAAGA,CAACC,MAAM,EAAEC,YAAY,EAAEC,gBAAgB,KAAK;EAC1F,MAAMC,OAAO,GAAGN,sBAAsB,CAACI,YAAY,CAAC;EAEpD,OAAO,CAACG,GAAG,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,KAAK;IACvC,MAAMC,OAAO,GAAGL,OAAO,CAACM,UAAU,CAACL,GAAG,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,CAAC;IAEhE,IAAID,KAAK,EAAE;MACTE,OAAO,CAACE,OAAO,CAACC,MAAM,IAAI;QACxBA,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACZ,MAAM,GAAGD,UAAU,GAAGa,MAAM,CAACE,WAAW;QAC7DF,MAAM,CAACG,KAAK,GAAGhB,UAAU,GAAGa,MAAM,CAACE,WAAW;MAChD,CAAC,CAAC;IACJ;IAEA,OAAOL,OAAO;EAChB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.mjs","names":["getTimestampIdentifier","MILLIS_IN_DAY","getVisuals","events","minStart","visuals","map","event","columnCount","column","left","width","sort","a","b","Math","max","startTimestampIdentifier","endTimestampIdentifier","hasOverlap","s0","e0","s1","e1","exclude","setColumnCount","groups","forEach","group","groupVisual","length","getRange","getDayRange","startIdentifier","endIdentifier","getNormalizedRange","dayStart","min","getOpenGroup","start","end","timed","i","intersected","k","groupStart","groupEnd","getOverlapGroupHandler","firstWeekday","handler","reset","day","dayEvents","weekday","visual","targetGroup","push","target"],"sources":["../../../../src/components/VCalendar/modes/common.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { 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"],"mappings":"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"}
1
+ {"version":3,"file":"common.mjs","names":["getTimestampIdentifier","MILLIS_IN_DAY","getVisuals","events","minStart","arguments","length","undefined","visuals","map","event","columnCount","column","left","width","sort","a","b","Math","max","startTimestampIdentifier","endTimestampIdentifier","hasOverlap","s0","e0","s1","e1","exclude","setColumnCount","groups","forEach","group","groupVisual","getRange","getDayRange","startIdentifier","endIdentifier","getNormalizedRange","dayStart","min","getOpenGroup","start","end","timed","i","intersected","k","groupStart","groupEnd","getOverlapGroupHandler","firstWeekday","handler","reset","day","dayEvents","weekday","visual","targetGroup","push","target"],"sources":["../../../../src/components/VCalendar/modes/common.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { 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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack.mjs","names":["getOverlapGroupHandler","getVisuals","hasOverlap","getNormalizedRange","getTimestampIdentifier","FULL_WIDTH","DEFAULT_OFFSET","WIDTH_MULTIPLIER","stack","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","dayStart","visuals","groups","getGroups","group","nodes","visual","child","getNode","index","getNextIndex","parent","getParent","sibling","start","end","addTime","children","push","getOverlappingRange","length","grand","grandNext","calculateBounds","sort","a","b","left","event","startTimestampIdentifier","node","columns","getMaxChildIndex","spaceLeft","spaceWidth","offset","Math","min","columnWidthMultiplier","getColumnWidthMultiplier","columnOffset","columnWidth","width","hasFullWidth","maxColumn","minColumn","reduce","c","getOverlappingIndices","indices","other","i","indexMin","indexMax","returnFirstColumn","overlapping","first","n","filter","added","max","childMax","identifier","minutes","removeMinutes","totalMinutes","addHours","floor","addMinutes"],"sources":["../../../../src/components/VCalendar/modes/stack.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { 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"],"mappings":"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"}
1
+ {"version":3,"file":"stack.mjs","names":["getOverlapGroupHandler","getVisuals","hasOverlap","getNormalizedRange","getTimestampIdentifier","FULL_WIDTH","DEFAULT_OFFSET","WIDTH_MULTIPLIER","stack","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","dayStart","visuals","groups","getGroups","group","nodes","visual","child","getNode","index","getNextIndex","parent","getParent","sibling","start","end","addTime","children","push","getOverlappingRange","length","grand","grandNext","calculateBounds","sort","a","b","left","event","startTimestampIdentifier","node","columns","getMaxChildIndex","spaceLeft","spaceWidth","offset","Math","min","columnWidthMultiplier","getColumnWidthMultiplier","columnOffset","columnWidth","width","hasFullWidth","maxColumn","minColumn","reduce","c","getOverlappingIndices","indices","other","i","indexMin","indexMax","returnFirstColumn","arguments","undefined","overlapping","first","n","filter","added","max","childMax","identifier","minutes","removeMinutes","totalMinutes","addHours","floor","addMinutes"],"sources":["../../../../src/components/VCalendar/modes/stack.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { 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"],"mappings":"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"}