@vuetify/nightly 3.0.0-beta.13 → 3.0.0-beta.15

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 (840) hide show
  1. package/CHANGELOG.md +23 -5
  2. package/dist/json/importMap.json +26 -30
  3. package/dist/vuetify.css +262 -173
  4. package/dist/vuetify.d.ts +16645 -7306
  5. package/dist/vuetify.esm.js +1040 -2004
  6. package/dist/vuetify.esm.js.map +1 -1
  7. package/dist/vuetify.js +1038 -2003
  8. package/dist/vuetify.js.map +1 -1
  9. package/dist/vuetify.min.css +2 -2
  10. package/dist/vuetify.min.js +531 -537
  11. package/dist/vuetify.min.js.map +1 -1
  12. package/lib/blueprints/index.d.ts +24 -32
  13. package/lib/blueprints/index.mjs.map +1 -1
  14. package/lib/blueprints/md1.d.ts +24 -32
  15. package/lib/blueprints/md1.mjs +3 -1
  16. package/lib/blueprints/md1.mjs.map +1 -1
  17. package/lib/blueprints/md2.d.ts +24 -32
  18. package/lib/blueprints/md2.mjs +3 -1
  19. package/lib/blueprints/md2.mjs.map +1 -1
  20. package/lib/blueprints/md3.d.ts +24 -32
  21. package/lib/blueprints/md3.mjs +2 -2
  22. package/lib/blueprints/md3.mjs.map +1 -1
  23. package/lib/components/VAlert/VAlert.mjs +2 -9
  24. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  26. package/lib/components/VAlert/index.d.ts +7 -5
  27. package/lib/components/VAlert/index.mjs.map +1 -1
  28. package/lib/components/VApp/VApp.mjs +5 -7
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +4 -2
  31. package/lib/components/VApp/index.mjs.map +1 -1
  32. package/lib/components/VAppBar/VAppBar.mjs +4 -8
  33. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +0 -4
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/VAppBarTitle.mjs +2 -4
  37. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  38. package/lib/components/VAppBar/index.d.ts +7 -3
  39. package/lib/components/VAppBar/index.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/VAutocomplete.css +18 -1
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -35
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +11 -1
  44. package/lib/components/VAutocomplete/_variables.scss +1 -0
  45. package/lib/components/VAutocomplete/index.d.ts +267 -376
  46. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  47. package/lib/components/VAvatar/VAvatar.mjs +3 -7
  48. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  49. package/lib/components/VAvatar/index.d.ts +5 -3
  50. package/lib/components/VAvatar/index.mjs.map +1 -1
  51. package/lib/components/VBadge/VBadge.mjs +2 -6
  52. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  53. package/lib/components/VBadge/index.mjs.map +1 -1
  54. package/lib/components/VBanner/VBanner.mjs +5 -7
  55. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  56. package/lib/components/VBanner/VBannerActions.mjs +0 -4
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  59. package/lib/components/VBanner/index.d.ts +7 -3
  60. package/lib/components/VBanner/index.mjs.map +1 -1
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +2 -5
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/index.d.ts +5 -3
  64. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  65. package/lib/components/VBottomSheet/VBottomSheet.mjs +5 -5
  66. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  67. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +5 -9
  69. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +0 -5
  72. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  73. package/lib/components/VBreadcrumbs/index.d.ts +50 -40
  74. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.mjs +2 -10
  76. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  77. package/lib/components/VBtn/index.d.ts +5 -3
  78. package/lib/components/VBtn/index.mjs.map +1 -1
  79. package/lib/components/VBtnGroup/VBtnGroup.mjs +2 -4
  80. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  81. package/lib/components/VBtnGroup/index.d.ts +6 -3
  82. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  83. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -7
  84. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  85. package/lib/components/VBtnToggle/index.d.ts +20 -25
  86. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  87. package/lib/components/VCalendar/VCalendar.mjs +6 -67
  88. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  89. package/lib/components/VCalendar/VCalendarCategory.mjs +7 -18
  90. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  91. package/lib/components/VCalendar/VCalendarDaily.mjs +3 -34
  92. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  93. package/lib/components/VCalendar/VCalendarMonthly.mjs +3 -7
  94. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  95. package/lib/components/VCalendar/VCalendarWeekly.mjs +3 -32
  96. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  97. package/lib/components/VCalendar/index.mjs.map +1 -1
  98. package/lib/components/VCalendar/mixins/calendar-base.mjs +1 -19
  99. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  100. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +14 -78
  101. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  102. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +0 -30
  103. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  104. package/lib/components/VCalendar/mixins/mouse.mjs +7 -17
  105. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  106. package/lib/components/VCalendar/mixins/times.mjs +1 -9
  107. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  108. package/lib/components/VCalendar/modes/column.mjs +0 -3
  109. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  110. package/lib/components/VCalendar/modes/common.mjs +0 -14
  111. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  112. package/lib/components/VCalendar/modes/index.mjs +0 -1
  113. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  114. package/lib/components/VCalendar/modes/stack.mjs +3 -45
  115. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  116. package/lib/components/VCalendar/util/events.mjs +0 -1
  117. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  118. package/lib/components/VCalendar/util/parser.mjs +3 -4
  119. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  120. package/lib/components/VCalendar/util/props.mjs +0 -13
  121. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  122. package/lib/components/VCalendar/util/timestamp.mjs +2 -64
  123. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  124. package/lib/components/VCard/VCard.mjs +3 -8
  125. package/lib/components/VCard/VCard.mjs.map +1 -1
  126. package/lib/components/VCard/VCardActions.mjs +0 -4
  127. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  128. package/lib/components/VCard/VCardItem.mjs +0 -5
  129. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  130. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  131. package/lib/components/VCard/VCardText.mjs.map +1 -1
  132. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  133. package/lib/components/VCard/index.d.ts +13 -6
  134. package/lib/components/VCard/index.mjs.map +1 -1
  135. package/lib/components/VCarousel/VCarousel.mjs +5 -9
  136. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  137. package/lib/components/VCarousel/VCarouselItem.mjs +0 -3
  138. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  139. package/lib/components/VCarousel/index.d.ts +1 -0
  140. package/lib/components/VCarousel/index.mjs.map +1 -1
  141. package/lib/components/VCheckbox/VCheckbox.mjs +6 -6
  142. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  143. package/lib/components/VCheckbox/VCheckboxBtn.mjs +7 -15
  144. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  145. package/lib/components/VCheckbox/index.d.ts +24 -22
  146. package/lib/components/VCheckbox/index.mjs.map +1 -1
  147. package/lib/components/VChip/VChip.css +25 -0
  148. package/lib/components/VChip/VChip.mjs +2 -10
  149. package/lib/components/VChip/VChip.mjs.map +1 -1
  150. package/lib/components/VChip/VChip.sass +1 -0
  151. package/lib/components/VChip/index.d.ts +5 -3
  152. package/lib/components/VChip/index.mjs.map +1 -1
  153. package/lib/components/VChipGroup/VChipGroup.mjs +5 -6
  154. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  155. package/lib/components/VChipGroup/index.mjs.map +1 -1
  156. package/lib/components/VCode/index.d.ts +1 -0
  157. package/lib/components/VCode/index.mjs.map +1 -1
  158. package/lib/components/VColorPicker/VColorPicker.mjs +9 -12
  159. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  160. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -20
  161. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  162. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -10
  163. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  164. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -8
  165. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  166. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +2 -6
  167. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  168. package/lib/components/VColorPicker/index.mjs.map +1 -1
  169. package/lib/components/VColorPicker/util/index.mjs +24 -26
  170. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  171. package/lib/components/VCombobox/VCombobox.css +13 -0
  172. package/lib/components/VCombobox/VCombobox.mjs +23 -50
  173. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  174. package/lib/components/VCombobox/VCombobox.sass +5 -0
  175. package/lib/components/VCombobox/_variables.scss +1 -0
  176. package/lib/components/VCombobox/index.d.ts +275 -384
  177. package/lib/components/VCombobox/index.mjs.map +1 -1
  178. package/lib/components/VCounter/VCounter.mjs +2 -5
  179. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  180. package/lib/components/VCounter/index.d.ts +1 -0
  181. package/lib/components/VCounter/index.mjs.map +1 -1
  182. package/lib/components/VData/VData.mjs +9 -67
  183. package/lib/components/VData/VData.mjs.map +1 -1
  184. package/lib/components/VData/index.mjs.map +1 -1
  185. package/lib/components/VDataIterator/VDataFooter.mjs +6 -25
  186. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  187. package/lib/components/VDataIterator/VDataIterator.mjs +12 -51
  188. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  189. package/lib/components/VDataIterator/index.mjs.map +1 -1
  190. package/lib/components/VDataTable/MobileRow.mjs +3 -8
  191. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  192. package/lib/components/VDataTable/Row.mjs +1 -8
  193. package/lib/components/VDataTable/Row.mjs.map +1 -1
  194. package/lib/components/VDataTable/RowGroup.mjs +1 -7
  195. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  196. package/lib/components/VDataTable/VDataTable.mjs +42 -90
  197. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  198. package/lib/components/VDataTable/VDataTableHeader.mjs +6 -10
  199. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  200. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +0 -18
  201. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  202. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +0 -9
  203. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  204. package/lib/components/VDataTable/VEditDialog.mjs +3 -17
  205. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  206. package/lib/components/VDataTable/VVirtualTable.mjs +3 -28
  207. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  208. package/lib/components/VDataTable/index.mjs +0 -1
  209. package/lib/components/VDataTable/index.mjs.map +1 -1
  210. package/lib/components/VDataTable/mixins/header.mjs +0 -5
  211. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  212. package/lib/components/VDatePicker/VDatePicker.mjs +2 -69
  213. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  214. package/lib/components/VDatePicker/VDatePickerDateTable.mjs +1 -29
  215. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  216. package/lib/components/VDatePicker/VDatePickerHeader.mjs +4 -17
  217. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  218. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +1 -12
  219. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  220. package/lib/components/VDatePicker/VDatePickerTitle.mjs +4 -15
  221. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  222. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -18
  223. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  224. package/lib/components/VDatePicker/index.mjs.map +1 -1
  225. package/lib/components/VDatePicker/mixins/date-picker-table.mjs +6 -33
  226. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  227. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -5
  228. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  229. package/lib/components/VDatePicker/util/eventHelpers.mjs +2 -3
  230. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  231. package/lib/components/VDatePicker/util/index.mjs +0 -1
  232. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  233. package/lib/components/VDatePicker/util/isDateAllowed.mjs +1 -1
  234. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  235. package/lib/components/VDatePicker/util/monthChange.mjs +0 -3
  236. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  237. package/lib/components/VDatePicker/util/pad.mjs +1 -6
  238. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  239. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  240. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +2 -4
  241. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  242. package/lib/components/VDefaultsProvider/index.d.ts +1 -0
  243. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  244. package/lib/components/VDialog/VDialog.mjs +7 -20
  245. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  246. package/lib/components/VDialog/index.d.ts +1208 -188
  247. package/lib/components/VDialog/index.mjs.map +1 -1
  248. package/lib/components/VDivider/VDivider.mjs +2 -8
  249. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  250. package/lib/components/VDivider/index.d.ts +1 -0
  251. package/lib/components/VDivider/index.mjs.map +1 -1
  252. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +0 -5
  253. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  254. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +2 -6
  255. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  256. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -8
  257. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  258. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -5
  259. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  260. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  261. package/lib/components/VField/VField.css +1 -1
  262. package/lib/components/VField/VField.mjs +4 -11
  263. package/lib/components/VField/VField.mjs.map +1 -1
  264. package/lib/components/VField/VField.sass +0 -1
  265. package/lib/components/VField/VFieldLabel.mjs +0 -3
  266. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  267. package/lib/components/VField/index.d.ts +33 -59
  268. package/lib/components/VField/index.mjs.map +1 -1
  269. package/lib/components/VFileInput/VFileInput.css +16 -0
  270. package/lib/components/VFileInput/VFileInput.mjs +6 -20
  271. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.sass +10 -0
  273. package/lib/components/VFileInput/_variables.scss +2 -0
  274. package/lib/components/VFileInput/index.d.ts +233 -5
  275. package/lib/components/VFileInput/index.mjs.map +1 -1
  276. package/lib/components/VFooter/VFooter.mjs +2 -4
  277. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  278. package/lib/components/VFooter/index.d.ts +1 -0
  279. package/lib/components/VFooter/index.mjs.map +1 -1
  280. package/lib/components/VForm/VForm.mjs +2 -13
  281. package/lib/components/VForm/VForm.mjs.map +1 -1
  282. package/lib/components/VForm/index.d.ts +1 -1
  283. package/lib/components/VForm/index.mjs.map +1 -1
  284. package/lib/components/VGrid/VCol.mjs +8 -23
  285. package/lib/components/VGrid/VCol.mjs.map +1 -1
  286. package/lib/components/VGrid/VContainer.mjs +2 -4
  287. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  288. package/lib/components/VGrid/VRow.mjs +6 -24
  289. package/lib/components/VGrid/VRow.mjs.map +1 -1
  290. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  291. package/lib/components/VGrid/index.d.ts +2 -0
  292. package/lib/components/VGrid/index.mjs.map +1 -1
  293. package/lib/components/VHover/VHover.mjs +0 -4
  294. package/lib/components/VHover/VHover.mjs.map +1 -1
  295. package/lib/components/VHover/index.d.ts +1 -0
  296. package/lib/components/VHover/index.mjs.map +1 -1
  297. package/lib/components/VIcon/VIcon.mjs +2 -8
  298. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  299. package/lib/components/VIcon/index.d.ts +1 -0
  300. package/lib/components/VIcon/index.mjs.map +1 -1
  301. package/lib/components/VImg/VImg.mjs +9 -35
  302. package/lib/components/VImg/VImg.mjs.map +1 -1
  303. package/lib/components/VImg/index.d.ts +8 -4
  304. package/lib/components/VImg/index.mjs.map +1 -1
  305. package/lib/components/VInput/InputIcon.mjs +0 -2
  306. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  307. package/lib/components/VInput/VInput.mjs +5 -9
  308. package/lib/components/VInput/VInput.mjs.map +1 -1
  309. package/lib/components/VInput/index.d.ts +29 -45
  310. package/lib/components/VInput/index.mjs.map +1 -1
  311. package/lib/components/VItemGroup/VItem.mjs +0 -5
  312. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  313. package/lib/components/VItemGroup/VItemGroup.mjs +4 -6
  314. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  315. package/lib/components/VItemGroup/index.d.ts +19 -25
  316. package/lib/components/VItemGroup/index.mjs.map +1 -1
  317. package/lib/components/VKbd/index.d.ts +1 -0
  318. package/lib/components/VKbd/index.mjs.map +1 -1
  319. package/lib/components/VLabel/VLabel.mjs +2 -5
  320. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  321. package/lib/components/VLabel/index.mjs.map +1 -1
  322. package/lib/components/VLayout/VLayout.mjs +2 -5
  323. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  324. package/lib/components/VLayout/VLayoutItem.mjs +2 -6
  325. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  326. package/lib/components/VLayout/index.d.ts +5 -2
  327. package/lib/components/VLayout/index.mjs.map +1 -1
  328. package/lib/components/VLazy/VLazy.mjs +0 -8
  329. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  330. package/lib/components/VLazy/index.d.ts +1 -0
  331. package/lib/components/VLazy/index.mjs.map +1 -1
  332. package/lib/components/VList/VList.mjs +2 -11
  333. package/lib/components/VList/VList.mjs.map +1 -1
  334. package/lib/components/VList/VListChildren.mjs +12 -21
  335. package/lib/components/VList/VListChildren.mjs.map +1 -1
  336. package/lib/components/VList/VListGroup.mjs +1 -12
  337. package/lib/components/VList/VListGroup.mjs.map +1 -1
  338. package/lib/components/VList/VListImg.mjs.map +1 -1
  339. package/lib/components/VList/VListItem.mjs +2 -12
  340. package/lib/components/VList/VListItem.mjs.map +1 -1
  341. package/lib/components/VList/VListItemAction.mjs +0 -3
  342. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  343. package/lib/components/VList/VListItemMedia.mjs +0 -3
  344. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  345. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  346. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  347. package/lib/components/VList/VListSubheader.mjs +0 -4
  348. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  349. package/lib/components/VList/index.d.ts +147 -170
  350. package/lib/components/VList/index.mjs.map +1 -1
  351. package/lib/components/VList/list.mjs +5 -2
  352. package/lib/components/VList/list.mjs.map +1 -1
  353. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +4 -9
  354. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  355. package/lib/components/VLocaleProvider/index.d.ts +1 -0
  356. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  357. package/lib/components/VMain/VMain.mjs +2 -5
  358. package/lib/components/VMain/VMain.mjs.map +1 -1
  359. package/lib/components/VMain/index.d.ts +1 -0
  360. package/lib/components/VMain/index.mjs.map +1 -1
  361. package/lib/components/VMenu/VMenu.mjs +3 -14
  362. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  363. package/lib/components/VMenu/index.d.ts +1203 -183
  364. package/lib/components/VMenu/index.mjs.map +1 -1
  365. package/lib/components/VMenu/shared.mjs.map +1 -1
  366. package/lib/components/VMessages/VMessages.mjs +2 -6
  367. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  368. package/lib/components/VMessages/index.d.ts +1 -0
  369. package/lib/components/VMessages/index.mjs.map +1 -1
  370. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -11
  371. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  372. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  373. package/lib/components/VNavigationDrawer/sticky.mjs +0 -4
  374. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  375. package/lib/components/VNavigationDrawer/touch.mjs +2 -15
  376. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  377. package/lib/components/VNoSsr/VNoSsr.mjs +0 -4
  378. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  379. package/lib/components/VNoSsr/index.d.ts +1 -0
  380. package/lib/components/VNoSsr/index.mjs.map +1 -1
  381. package/lib/components/VOtpInput/VOtpInput.mjs +7 -58
  382. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  383. package/lib/components/VOtpInput/index.mjs.map +1 -1
  384. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +7 -19
  385. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  386. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  387. package/lib/components/VOverlay/VOverlay.mjs +8 -17
  388. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  389. package/lib/components/VOverlay/index.d.ts +32 -60
  390. package/lib/components/VOverlay/index.mjs.map +1 -1
  391. package/lib/components/VOverlay/locationStrategies.mjs +23 -56
  392. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  393. package/lib/components/VOverlay/requestNewFrame.mjs +1 -2
  394. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  395. package/lib/components/VOverlay/scrollStrategies.mjs +2 -18
  396. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  397. package/lib/components/VOverlay/useActivator.mjs +6 -32
  398. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  399. package/lib/components/VOverlay/util/point.mjs +3 -4
  400. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  401. package/lib/components/VPagination/VPagination.mjs +11 -23
  402. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  403. package/lib/components/VPagination/index.d.ts +5 -3
  404. package/lib/components/VPagination/index.mjs.map +1 -1
  405. package/lib/components/VParallax/VParallax.mjs +6 -12
  406. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  407. package/lib/components/VParallax/index.mjs.map +1 -1
  408. package/lib/components/VPicker/VPicker.mjs +3 -12
  409. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  410. package/lib/components/VPicker/index.mjs.map +1 -1
  411. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -5
  412. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  413. package/lib/components/VProgressCircular/index.d.ts +1 -0
  414. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  415. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -8
  416. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  417. package/lib/components/VProgressLinear/index.d.ts +1 -0
  418. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  419. package/lib/components/VRadio/VRadio.mjs +2 -4
  420. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  421. package/lib/components/VRadio/index.d.ts +13 -11
  422. package/lib/components/VRadio/index.mjs.map +1 -1
  423. package/lib/components/VRadioGroup/VRadioGroup.mjs +15 -20
  424. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  425. package/lib/components/VRadioGroup/index.d.ts +26 -38
  426. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  427. package/lib/components/VRangeSlider/VRangeSlider.mjs +13 -26
  428. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  429. package/lib/components/VRangeSlider/index.d.ts +5 -3
  430. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  431. package/lib/components/VRating/VRating.mjs +4 -22
  432. package/lib/components/VRating/VRating.mjs.map +1 -1
  433. package/lib/components/VRating/index.d.ts +32 -40
  434. package/lib/components/VRating/index.mjs.map +1 -1
  435. package/lib/components/VResponsive/VResponsive.mjs +2 -5
  436. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  437. package/lib/components/VResponsive/index.d.ts +1 -0
  438. package/lib/components/VResponsive/index.mjs.map +1 -1
  439. package/lib/components/VSelect/VSelect.css +13 -0
  440. package/lib/components/VSelect/VSelect.mjs +9 -22
  441. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  442. package/lib/components/VSelect/VSelect.sass +6 -0
  443. package/lib/components/VSelect/_variables.scss +1 -0
  444. package/lib/components/VSelect/index.d.ts +4264 -776
  445. package/lib/components/VSelect/index.mjs.map +1 -1
  446. package/lib/components/VSelectionControl/VSelectionControl.mjs +14 -58
  447. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  448. package/lib/components/VSelectionControl/index.d.ts +62 -78
  449. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  450. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +1 -0
  451. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +56 -28
  452. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  453. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -0
  454. package/lib/components/VSelectionControlGroup/index.d.ts +53 -4
  455. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  456. package/lib/components/VSheet/VSheet.mjs +2 -4
  457. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  458. package/lib/components/VSheet/index.d.ts +1 -0
  459. package/lib/components/VSheet/index.mjs.map +1 -1
  460. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +19 -32
  461. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  462. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  463. package/lib/components/VSlideGroup/VSlideGroup.mjs +16 -47
  464. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  465. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +5 -9
  466. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  467. package/lib/components/VSlideGroup/helpers.mjs +0 -2
  468. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  469. package/lib/components/VSlideGroup/index.d.ts +342 -59
  470. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  471. package/lib/components/VSlider/VSlider.mjs +6 -9
  472. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  473. package/lib/components/VSlider/VSliderThumb.mjs +4 -15
  474. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  475. package/lib/components/VSlider/VSliderTrack.mjs +6 -8
  476. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  477. package/lib/components/VSlider/index.d.ts +5 -3
  478. package/lib/components/VSlider/index.mjs.map +1 -1
  479. package/lib/components/VSlider/slider.mjs +6 -27
  480. package/lib/components/VSlider/slider.mjs.map +1 -1
  481. package/lib/components/VSnackbar/VSnackbar.mjs +3 -10
  482. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  483. package/lib/components/VSnackbar/index.d.ts +1215 -191
  484. package/lib/components/VSnackbar/index.mjs.map +1 -1
  485. package/lib/components/VSparkline/VSparkline.mjs +5 -40
  486. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  487. package/lib/components/VSparkline/helpers/core.mjs +1 -1
  488. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  489. package/lib/components/VSparkline/helpers/math.mjs +2 -3
  490. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  491. package/lib/components/VSparkline/helpers/path.mjs +0 -4
  492. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  493. package/lib/components/VSparkline/index.mjs.map +1 -1
  494. package/lib/components/VSpeedDial/VSpeedDial.mjs +3 -12
  495. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  496. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  497. package/lib/components/VStepper/VStepper.mjs +5 -24
  498. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  499. package/lib/components/VStepper/VStepperContent.mjs +4 -25
  500. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  501. package/lib/components/VStepper/VStepperStep.mjs +0 -24
  502. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  503. package/lib/components/VStepper/index.mjs.map +1 -1
  504. package/lib/components/VSwitch/VSwitch.mjs +14 -15
  505. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  506. package/lib/components/VSwitch/index.d.ts +15 -11
  507. package/lib/components/VSwitch/index.mjs.map +1 -1
  508. package/lib/components/VSystemBar/VSystemBar.mjs +2 -4
  509. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  510. package/lib/components/VSystemBar/index.d.ts +1 -0
  511. package/lib/components/VSystemBar/index.mjs.map +1 -1
  512. package/lib/components/VTable/VTable.css +3 -3
  513. package/lib/components/VTable/VTable.mjs +5 -6
  514. package/lib/components/VTable/VTable.mjs.map +1 -1
  515. package/lib/components/VTable/VTable.sass +9 -3
  516. package/lib/components/VTable/index.d.ts +8 -3
  517. package/lib/components/VTable/index.mjs.map +1 -1
  518. package/lib/components/VTabs/VTab.mjs +2 -10
  519. package/lib/components/VTabs/VTab.mjs.map +1 -1
  520. package/lib/components/VTabs/VTabs.css +5 -5
  521. package/lib/components/VTabs/VTabs.mjs +12 -17
  522. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  523. package/lib/components/VTabs/VTabs.sass +4 -4
  524. package/lib/components/VTabs/_variables.scss +1 -1
  525. package/lib/components/VTabs/index.d.ts +23 -15
  526. package/lib/components/VTabs/index.mjs.map +1 -1
  527. package/lib/components/VTabs/shared.mjs.map +1 -1
  528. package/lib/components/VTextField/VTextField.mjs +13 -24
  529. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  530. package/lib/components/VTextField/index.d.ts +1375 -191
  531. package/lib/components/VTextField/index.mjs.map +1 -1
  532. package/lib/components/VTextarea/VTextarea.mjs +6 -24
  533. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  534. package/lib/components/VTextarea/index.d.ts +233 -5
  535. package/lib/components/VTextarea/index.mjs.map +1 -1
  536. package/lib/components/VThemeProvider/VThemeProvider.mjs +2 -5
  537. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  538. package/lib/components/VThemeProvider/index.d.ts +1 -0
  539. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  540. package/lib/components/VTimePicker/SelectingTimes.mjs +0 -3
  541. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  542. package/lib/components/VTimePicker/VTimePicker.mjs +3 -53
  543. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  544. package/lib/components/VTimePicker/VTimePickerClock.mjs +6 -42
  545. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  546. package/lib/components/VTimePicker/VTimePickerTitle.mjs +4 -13
  547. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  548. package/lib/components/VTimePicker/index.mjs.map +1 -1
  549. package/lib/components/VTimeline/VTimeline.mjs +2 -9
  550. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  551. package/lib/components/VTimeline/VTimelineDivider.mjs +0 -5
  552. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  553. package/lib/components/VTimeline/VTimelineItem.mjs +0 -6
  554. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  555. package/lib/components/VTimeline/index.d.ts +7 -3
  556. package/lib/components/VTimeline/index.mjs.map +1 -1
  557. package/lib/components/VToolbar/VToolbar.mjs +2 -8
  558. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  559. package/lib/components/VToolbar/VToolbarItems.mjs +0 -4
  560. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  561. package/lib/components/VToolbar/VToolbarTitle.mjs +0 -5
  562. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  563. package/lib/components/VToolbar/index.d.ts +34 -71
  564. package/lib/components/VToolbar/index.mjs.map +1 -1
  565. package/lib/components/VTooltip/VTooltip.mjs +2 -8
  566. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  567. package/lib/components/VTooltip/index.d.ts +1196 -176
  568. package/lib/components/VTooltip/index.mjs.map +1 -1
  569. package/lib/components/VTreeview/VTreeview.mjs +17 -72
  570. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  571. package/lib/components/VTreeview/VTreeviewNode.mjs +2 -32
  572. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  573. package/lib/components/VTreeview/index.mjs.map +1 -1
  574. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -6
  575. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  576. package/lib/components/VValidation/VValidation.mjs +2 -5
  577. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  578. package/lib/components/VValidation/index.d.ts +1 -0
  579. package/lib/components/VValidation/index.mjs.map +1 -1
  580. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +3 -18
  581. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  582. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  583. package/lib/components/VWindow/VWindow.mjs +5 -15
  584. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  585. package/lib/components/VWindow/VWindowItem.mjs +8 -21
  586. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  587. package/lib/components/VWindow/index.d.ts +37 -87
  588. package/lib/components/VWindow/index.mjs.map +1 -1
  589. package/lib/components/index.d.ts +16084 -6799
  590. package/lib/components/index.mjs +0 -11
  591. package/lib/components/index.mjs.map +1 -1
  592. package/lib/components/transitions/createTransition.mjs +0 -10
  593. package/lib/components/transitions/createTransition.mjs.map +1 -1
  594. package/lib/components/transitions/dialog-transition.mjs +3 -18
  595. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  596. package/lib/components/transitions/expand-transition.mjs +2 -11
  597. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  598. package/lib/components/transitions/index.d.ts +16 -0
  599. package/lib/components/transitions/index.mjs +5 -4
  600. package/lib/components/transitions/index.mjs.map +1 -1
  601. package/lib/composables/border.mjs +0 -3
  602. package/lib/composables/border.mjs.map +1 -1
  603. package/lib/composables/color.mjs +0 -4
  604. package/lib/composables/color.mjs.map +1 -1
  605. package/lib/composables/defaults.mjs +0 -5
  606. package/lib/composables/defaults.mjs.map +1 -1
  607. package/lib/composables/delay.mjs +0 -3
  608. package/lib/composables/delay.mjs.map +1 -1
  609. package/lib/composables/density.mjs +4 -1
  610. package/lib/composables/density.mjs.map +1 -1
  611. package/lib/composables/dimensions.mjs +0 -1
  612. package/lib/composables/dimensions.mjs.map +1 -1
  613. package/lib/composables/display.mjs +7 -20
  614. package/lib/composables/display.mjs.map +1 -1
  615. package/lib/composables/elevation.mjs +2 -4
  616. package/lib/composables/elevation.mjs.map +1 -1
  617. package/lib/composables/filter.mjs +7 -14
  618. package/lib/composables/filter.mjs.map +1 -1
  619. package/lib/composables/focus.mjs +0 -5
  620. package/lib/composables/focus.mjs.map +1 -1
  621. package/lib/composables/form.mjs +1 -14
  622. package/lib/composables/form.mjs.map +1 -1
  623. package/lib/composables/forwardRefs.mjs +9 -16
  624. package/lib/composables/forwardRefs.mjs.map +1 -1
  625. package/lib/composables/group.mjs +10 -33
  626. package/lib/composables/group.mjs.map +1 -1
  627. package/lib/composables/hydration.mjs +0 -1
  628. package/lib/composables/hydration.mjs.map +1 -1
  629. package/lib/composables/icons.mjs +4 -17
  630. package/lib/composables/icons.mjs.map +1 -1
  631. package/lib/composables/index.mjs +1 -2
  632. package/lib/composables/index.mjs.map +1 -1
  633. package/lib/composables/intersectionObserver.mjs +0 -3
  634. package/lib/composables/intersectionObserver.mjs.map +1 -1
  635. package/lib/composables/items.mjs +3 -15
  636. package/lib/composables/items.mjs.map +1 -1
  637. package/lib/composables/layout.mjs +29 -31
  638. package/lib/composables/layout.mjs.map +1 -1
  639. package/lib/composables/lazy.mjs +2 -3
  640. package/lib/composables/lazy.mjs.map +1 -1
  641. package/lib/composables/loader.mjs +0 -3
  642. package/lib/composables/loader.mjs.map +1 -1
  643. package/lib/composables/locale.mjs +46 -118
  644. package/lib/composables/locale.mjs.map +1 -1
  645. package/lib/composables/location.mjs +1 -8
  646. package/lib/composables/location.mjs.map +1 -1
  647. package/lib/composables/mutationObserver.mjs +3 -1
  648. package/lib/composables/mutationObserver.mjs.map +1 -1
  649. package/lib/composables/nested/nested.mjs +4 -20
  650. package/lib/composables/nested/nested.mjs.map +1 -1
  651. package/lib/composables/nested/openStrategies.mjs +0 -9
  652. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  653. package/lib/composables/nested/selectStrategies.mjs +6 -21
  654. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  655. package/lib/composables/position.mjs +1 -4
  656. package/lib/composables/position.mjs.map +1 -1
  657. package/lib/composables/proxiedModel.mjs +3 -9
  658. package/lib/composables/proxiedModel.mjs.map +1 -1
  659. package/lib/composables/refs.mjs +0 -2
  660. package/lib/composables/refs.mjs.map +1 -1
  661. package/lib/composables/resizeObserver.mjs +0 -3
  662. package/lib/composables/resizeObserver.mjs.map +1 -1
  663. package/lib/composables/rounded.mjs +0 -3
  664. package/lib/composables/rounded.mjs.map +1 -1
  665. package/lib/composables/router.mjs +3 -11
  666. package/lib/composables/router.mjs.map +1 -1
  667. package/lib/composables/scopeId.mjs.map +1 -1
  668. package/lib/composables/scroll.mjs +3 -9
  669. package/lib/composables/scroll.mjs.map +1 -1
  670. package/lib/composables/selectLink.mjs +3 -2
  671. package/lib/composables/selectLink.mjs.map +1 -1
  672. package/lib/composables/size.mjs +0 -3
  673. package/lib/composables/size.mjs.map +1 -1
  674. package/lib/composables/ssrBoot.mjs +2 -1
  675. package/lib/composables/ssrBoot.mjs.map +1 -1
  676. package/lib/composables/stack.mjs +0 -6
  677. package/lib/composables/stack.mjs.map +1 -1
  678. package/lib/composables/tag.mjs +0 -1
  679. package/lib/composables/tag.mjs.map +1 -1
  680. package/lib/composables/teleport.mjs +0 -4
  681. package/lib/composables/teleport.mjs.map +1 -1
  682. package/lib/composables/theme.mjs +18 -38
  683. package/lib/composables/theme.mjs.map +1 -1
  684. package/lib/composables/toggleScope.mjs +0 -1
  685. package/lib/composables/toggleScope.mjs.map +1 -1
  686. package/lib/composables/touch.mjs +5 -28
  687. package/lib/composables/touch.mjs.map +1 -1
  688. package/lib/composables/transition.mjs +0 -2
  689. package/lib/composables/transition.mjs.map +1 -1
  690. package/lib/composables/validation.mjs +3 -13
  691. package/lib/composables/validation.mjs.map +1 -1
  692. package/lib/composables/variant.mjs +0 -2
  693. package/lib/composables/variant.mjs.map +1 -1
  694. package/lib/directives/click-outside/index.mjs +10 -22
  695. package/lib/directives/click-outside/index.mjs.map +1 -1
  696. package/lib/directives/color/index.mjs +0 -11
  697. package/lib/directives/color/index.mjs.map +1 -1
  698. package/lib/directives/index.d.ts +104 -13
  699. package/lib/directives/index.mjs +0 -1
  700. package/lib/directives/index.mjs.map +1 -1
  701. package/lib/directives/intersect/index.mjs +3 -10
  702. package/lib/directives/intersect/index.mjs.map +1 -1
  703. package/lib/directives/mutate/index.mjs +1 -5
  704. package/lib/directives/mutate/index.mjs.map +1 -1
  705. package/lib/directives/resize/index.mjs +0 -5
  706. package/lib/directives/resize/index.mjs.map +1 -1
  707. package/lib/directives/ripple/index.mjs +11 -63
  708. package/lib/directives/ripple/index.mjs.map +1 -1
  709. package/lib/directives/scroll/index.mjs +0 -4
  710. package/lib/directives/scroll/index.mjs.map +1 -1
  711. package/lib/directives/touch/index.mjs +0 -15
  712. package/lib/directives/touch/index.mjs.map +1 -1
  713. package/lib/entry-bundler.mjs +1 -1
  714. package/lib/entry-bundler.mjs.map +1 -1
  715. package/lib/framework.mjs +24 -22
  716. package/lib/framework.mjs.map +1 -1
  717. package/lib/iconsets/fa-svg.mjs +0 -1
  718. package/lib/iconsets/fa-svg.mjs.map +1 -1
  719. package/lib/iconsets/fa.mjs +0 -1
  720. package/lib/iconsets/fa.mjs.map +1 -1
  721. package/lib/iconsets/fa4.mjs +4 -3
  722. package/lib/iconsets/fa4.mjs.map +1 -1
  723. package/lib/iconsets/md.mjs +4 -3
  724. package/lib/iconsets/md.mjs.map +1 -1
  725. package/lib/iconsets/mdi-svg.mjs +0 -1
  726. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  727. package/lib/iconsets/mdi.mjs +4 -3
  728. package/lib/iconsets/mdi.mjs.map +1 -1
  729. package/lib/index.d.ts +92 -106
  730. package/lib/locale/adapters/vue-i18n.d.ts +10 -16
  731. package/lib/locale/adapters/vue-i18n.mjs +59 -52
  732. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  733. package/lib/locale/adapters/vuetify.d.ts +24 -0
  734. package/lib/locale/adapters/vuetify.mjs +97 -0
  735. package/lib/locale/adapters/vuetify.mjs.map +1 -0
  736. package/lib/locale/af.mjs.map +1 -1
  737. package/lib/locale/ar.mjs.map +1 -1
  738. package/lib/locale/az.mjs.map +1 -1
  739. package/lib/locale/bg.mjs.map +1 -1
  740. package/lib/locale/ca.mjs.map +1 -1
  741. package/lib/locale/ckb.mjs.map +1 -1
  742. package/lib/locale/cs.mjs.map +1 -1
  743. package/lib/locale/da.mjs.map +1 -1
  744. package/lib/locale/de.mjs.map +1 -1
  745. package/lib/locale/el.mjs.map +1 -1
  746. package/lib/locale/en.mjs.map +1 -1
  747. package/lib/locale/es.mjs.map +1 -1
  748. package/lib/locale/et.mjs.map +1 -1
  749. package/lib/locale/fa.mjs.map +1 -1
  750. package/lib/locale/fi.mjs.map +1 -1
  751. package/lib/locale/fr.mjs.map +1 -1
  752. package/lib/locale/he.mjs.map +1 -1
  753. package/lib/locale/hr.mjs.map +1 -1
  754. package/lib/locale/hu.mjs.map +1 -1
  755. package/lib/locale/id.mjs.map +1 -1
  756. package/lib/locale/index.d.ts +2 -2
  757. package/lib/locale/index.mjs +1 -1
  758. package/lib/locale/index.mjs.map +1 -1
  759. package/lib/locale/it.mjs.map +1 -1
  760. package/lib/locale/ja.mjs.map +1 -1
  761. package/lib/locale/ko.mjs.map +1 -1
  762. package/lib/locale/lt.mjs.map +1 -1
  763. package/lib/locale/lv.mjs.map +1 -1
  764. package/lib/locale/nl.mjs.map +1 -1
  765. package/lib/locale/no.mjs.map +1 -1
  766. package/lib/locale/pl.mjs +7 -7
  767. package/lib/locale/pl.mjs.map +1 -1
  768. package/lib/locale/pt.mjs.map +1 -1
  769. package/lib/locale/ro.mjs.map +1 -1
  770. package/lib/locale/ru.mjs.map +1 -1
  771. package/lib/locale/sk.mjs.map +1 -1
  772. package/lib/locale/sl.mjs.map +1 -1
  773. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  774. package/lib/locale/sr-Latn.mjs.map +1 -1
  775. package/lib/locale/sv.mjs.map +1 -1
  776. package/lib/locale/th.mjs.map +1 -1
  777. package/lib/locale/tr.mjs.map +1 -1
  778. package/lib/locale/uk.mjs.map +1 -1
  779. package/lib/locale/vi.mjs.map +1 -1
  780. package/lib/locale/zh-Hans.mjs.map +1 -1
  781. package/lib/locale/zh-Hant.mjs.map +1 -1
  782. package/lib/services/goto/easing-patterns.mjs +24 -24
  783. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  784. package/lib/services/goto/index.mjs +11 -15
  785. package/lib/services/goto/index.mjs.map +1 -1
  786. package/lib/services/goto/util.mjs +1 -8
  787. package/lib/services/goto/util.mjs.map +1 -1
  788. package/lib/styles/main.css +4 -0
  789. package/lib/styles/settings/_utilities.scss +7 -0
  790. package/lib/util/anchor.mjs +0 -3
  791. package/lib/util/anchor.mjs.map +1 -1
  792. package/lib/util/animation.mjs +0 -6
  793. package/lib/util/animation.mjs.map +1 -1
  794. package/lib/util/box.mjs +0 -5
  795. package/lib/util/box.mjs.map +1 -1
  796. package/lib/util/color/APCA.mjs +23 -21
  797. package/lib/util/color/APCA.mjs.map +1 -1
  798. package/lib/util/color/transformCIELAB.mjs +0 -2
  799. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  800. package/lib/util/color/transformSRGB.mjs +14 -12
  801. package/lib/util/color/transformSRGB.mjs.map +1 -1
  802. package/lib/util/colorUtils.mjs +8 -25
  803. package/lib/util/colorUtils.mjs.map +1 -1
  804. package/lib/util/colors.mjs.map +1 -1
  805. package/lib/util/console.mjs +5 -14
  806. package/lib/util/console.mjs.map +1 -1
  807. package/lib/util/createSimpleFunctional.mjs +0 -3
  808. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  809. package/lib/util/dateTimeUtils.mjs +0 -10
  810. package/lib/util/dateTimeUtils.mjs.map +1 -1
  811. package/lib/util/defineComponent.mjs +6 -22
  812. package/lib/util/defineComponent.mjs.map +1 -1
  813. package/lib/util/dom.mjs +4 -4
  814. package/lib/util/dom.mjs.map +1 -1
  815. package/lib/util/easing.mjs +0 -1
  816. package/lib/util/easing.mjs.map +1 -1
  817. package/lib/util/getCurrentInstance.mjs +1 -7
  818. package/lib/util/getCurrentInstance.mjs.map +1 -1
  819. package/lib/util/getScrollParent.mjs +0 -3
  820. package/lib/util/getScrollParent.mjs.map +1 -1
  821. package/lib/util/globals.mjs.map +1 -1
  822. package/lib/util/helpers.mjs +18 -75
  823. package/lib/util/helpers.mjs.map +1 -1
  824. package/lib/util/injectSelf.mjs +0 -1
  825. package/lib/util/injectSelf.mjs.map +1 -1
  826. package/lib/util/isFixedPosition.mjs +0 -2
  827. package/lib/util/isFixedPosition.mjs.map +1 -1
  828. package/lib/util/propsFactory.mjs +11 -5
  829. package/lib/util/propsFactory.mjs.map +1 -1
  830. package/lib/util/useRender.mjs +0 -1
  831. package/lib/util/useRender.mjs.map +1 -1
  832. package/package.json +6 -10
  833. package/dist/json/attributes.json +0 -5602
  834. package/dist/json/tags.json +0 -1945
  835. package/dist/json/web-types.json +0 -19006
  836. package/lib/composables/rtl.mjs +0 -42
  837. package/lib/composables/rtl.mjs.map +0 -1
  838. package/lib/locale/adapters/vue-intl.d.ts +0 -42
  839. package/lib/locale/adapters/vue-intl.mjs +0 -65
  840. package/lib/locale/adapters/vue-intl.mjs.map +0 -1
@@ -1,16 +1,14 @@
1
1
  // @ts-nocheck
2
-
3
2
  /* eslint-disable */
3
+
4
4
  // Styles
5
- import "./calendar-with-events.css"; // Types
5
+ import "./calendar-with-events.css";
6
6
 
7
+ // Types
7
8
  // Directives
8
9
  import ripple from "../../../directives/ripple/index.mjs"; // Mixins
9
-
10
10
  import CalendarBase from "./calendar-base.mjs"; // Helpers
11
-
12
11
  import { escapeHTML } from "../../../util/helpers.mjs"; // Util
13
-
14
12
  import props from "../util/props.mjs";
15
13
  import { CalendarEventOverlapModes } from "../modes/index.mjs";
16
14
  import { getDayIdentifier, diffMinutes } from "../util/timestamp.mjs";
@@ -18,14 +16,15 @@ import { parseEvent, isEventStart, isEventOn, isEventOverlapping, isEventHiddenO
18
16
  const WIDTH_FULL = 100;
19
17
  const WIDTH_START = 95;
20
18
  const MINUTES_IN_DAY = 1440;
21
- /* @vue/component */
22
19
 
20
+ /* @vue/component */
23
21
  export default CalendarBase.extend({
24
22
  name: 'calendar-with-events',
25
23
  directives: {
26
24
  ripple
27
25
  },
28
- props: { ...props.events,
26
+ props: {
27
+ ...props.events,
29
28
  ...props.calendar,
30
29
  ...props.category
31
30
  },
@@ -33,54 +32,42 @@ export default CalendarBase.extend({
33
32
  noEvents() {
34
33
  return this.events.length === 0;
35
34
  },
36
-
37
35
  parsedEvents() {
38
36
  return this.events.map(this.parseEvent);
39
37
  },
40
-
41
38
  parsedEventOverlapThreshold() {
42
39
  return parseInt(this.eventOverlapThreshold);
43
40
  },
44
-
45
41
  eventTimedFunction() {
46
42
  return typeof this.eventTimed === 'function' ? this.eventTimed : event => !!event[this.eventTimed];
47
43
  },
48
-
49
44
  eventCategoryFunction() {
50
45
  return typeof this.eventCategory === 'function' ? this.eventCategory : event => event[this.eventCategory];
51
46
  },
52
-
53
47
  eventTextColorFunction() {
54
48
  return typeof this.eventTextColor === 'function' ? this.eventTextColor : () => this.eventTextColor;
55
49
  },
56
-
57
50
  eventNameFunction() {
58
51
  return typeof this.eventName === 'function' ? this.eventName : (event, timedEvent) => escapeHTML(event.input[this.eventName] || '');
59
52
  },
60
-
61
53
  eventModeFunction() {
62
54
  return typeof this.eventOverlapMode === 'function' ? this.eventOverlapMode : CalendarEventOverlapModes[this.eventOverlapMode];
63
55
  },
64
-
65
56
  eventWeekdays() {
66
57
  return this.parsedWeekdays;
67
58
  },
68
-
69
59
  categoryMode() {
70
60
  return this.type === 'category';
71
61
  }
72
-
73
62
  },
74
63
  methods: {
75
64
  eventColorFunction(e) {
76
65
  return typeof this.eventColor === 'function' ? this.eventColor(e) : e.color || this.eventColor;
77
66
  },
78
-
79
67
  parseEvent(input) {
80
68
  let index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
81
69
  return parseEvent(input, index, this.eventStart, this.eventEnd, this.eventTimedFunction(input), this.categoryMode ? this.eventCategoryFunction(input) : false);
82
70
  },
83
-
84
71
  formatTime(withTime, ampm) {
85
72
  const formatter = this.getFormatter({
86
73
  timeZone: 'UTC',
@@ -89,26 +76,21 @@ export default CalendarBase.extend({
89
76
  });
90
77
  return formatter(withTime, true);
91
78
  },
92
-
93
79
  updateEventVisibility() {
94
80
  if (this.noEvents || !this.eventMore) {
95
81
  return;
96
82
  }
97
-
98
83
  const eventHeight = this.eventHeight;
99
84
  const eventsMap = this.getEventsMap();
100
-
101
85
  for (const date in eventsMap) {
102
86
  const {
103
87
  parent,
104
88
  events,
105
89
  more
106
90
  } = eventsMap[date];
107
-
108
91
  if (!more) {
109
92
  break;
110
93
  }
111
-
112
94
  const parentBounds = parent.getBoundingClientRect();
113
95
  const last = events.length - 1;
114
96
  const eventsSorted = events.map(event => ({
@@ -116,17 +98,14 @@ export default CalendarBase.extend({
116
98
  bottom: event.getBoundingClientRect().bottom
117
99
  })).sort((a, b) => a.bottom - b.bottom);
118
100
  let hidden = 0;
119
-
120
101
  for (let i = 0; i <= last; i++) {
121
102
  const bottom = eventsSorted[i].bottom;
122
103
  const hide = i === last ? bottom > parentBounds.bottom : bottom + eventHeight > parentBounds.bottom;
123
-
124
104
  if (hide) {
125
105
  eventsSorted[i].event.style.display = 'none';
126
106
  hidden++;
127
107
  }
128
108
  }
129
-
130
109
  if (hidden) {
131
110
  more.style.display = '';
132
111
  more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden);
@@ -135,18 +114,14 @@ export default CalendarBase.extend({
135
114
  }
136
115
  }
137
116
  },
138
-
139
117
  getEventsMap() {
140
118
  const eventsMap = {};
141
119
  const elements = this.$refs.events;
142
-
143
120
  if (!elements || !elements.forEach) {
144
121
  return eventsMap;
145
122
  }
146
-
147
123
  elements.forEach(el => {
148
124
  const date = el.getAttribute('data-date');
149
-
150
125
  if (el.parentElement && date) {
151
126
  if (!(date in eventsMap)) {
152
127
  eventsMap[date] = {
@@ -155,7 +130,6 @@ export default CalendarBase.extend({
155
130
  events: []
156
131
  };
157
132
  }
158
-
159
133
  if (el.getAttribute('data-more')) {
160
134
  eventsMap[date].more = el;
161
135
  } else {
@@ -166,7 +140,6 @@ export default CalendarBase.extend({
166
140
  });
167
141
  return eventsMap;
168
142
  },
169
-
170
143
  genDayEvent(_ref, day) {
171
144
  let {
172
145
  event
@@ -178,11 +151,9 @@ export default CalendarBase.extend({
178
151
  const start = dayIdentifier === event.startIdentifier;
179
152
  let end = dayIdentifier === event.endIdentifier;
180
153
  let width = WIDTH_START;
181
-
182
154
  if (!this.categoryMode) {
183
155
  for (let i = day.index + 1; i < week.length; i++) {
184
156
  const weekdayIdentifier = getDayIdentifier(week[i]);
185
-
186
157
  if (event.endIdentifier >= weekdayIdentifier) {
187
158
  width += WIDTH_FULL;
188
159
  end = end || weekdayIdentifier === event.endIdentifier;
@@ -192,7 +163,6 @@ export default CalendarBase.extend({
192
163
  }
193
164
  }
194
165
  }
195
-
196
166
  const scope = {
197
167
  eventParsed: event,
198
168
  day,
@@ -219,18 +189,15 @@ export default CalendarBase.extend({
219
189
  refInFor: true
220
190
  });
221
191
  },
222
-
223
192
  genTimedEvent(_ref2, day) {
224
193
  let {
225
194
  event,
226
195
  left,
227
196
  width
228
197
  } = _ref2;
229
-
230
198
  if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {
231
199
  return false;
232
200
  }
233
-
234
201
  const dayIdentifier = getDayIdentifier(day);
235
202
  const start = event.startIdentifier >= dayIdentifier;
236
203
  const end = event.endIdentifier > dayIdentifier;
@@ -254,7 +221,6 @@ export default CalendarBase.extend({
254
221
  }
255
222
  });
256
223
  },
257
-
258
224
  genEvent(event, scopeInput, timedEvent, data) {
259
225
  const slot = this.$scopedSlots.event;
260
226
  const text = this.eventTextColorFunction(event.input);
@@ -262,15 +228,11 @@ export default CalendarBase.extend({
262
228
  const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12;
263
229
  const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold;
264
230
  const formatTime = this.formatTime;
265
-
266
231
  const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true);
267
-
268
232
  const eventSummary = () => {
269
233
  const name = this.eventNameFunction(event, timedEvent);
270
-
271
234
  if (event.start.hasTime) {
272
235
  const eventSummaryClass = 'v-event-summary';
273
-
274
236
  if (timedEvent) {
275
237
  const time = timeSummary();
276
238
  const delimiter = singline ? ', ' : '<br>';
@@ -280,11 +242,10 @@ export default CalendarBase.extend({
280
242
  return `<span class="${eventSummaryClass}"><strong>${time}</strong> ${name}</span>`;
281
243
  }
282
244
  }
283
-
284
245
  return name;
285
246
  };
286
-
287
- const scope = { ...scopeInput,
247
+ const scope = {
248
+ ...scopeInput,
288
249
  event: event.input,
289
250
  outside: scopeInput.day.outside,
290
251
  singline,
@@ -294,7 +255,8 @@ export default CalendarBase.extend({
294
255
  eventSummary
295
256
  };
296
257
  return this.$createElement('div', this.setTextColor(text, this.setBackgroundColor(background, {
297
- on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope,
258
+ on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({
259
+ ...scope,
298
260
  nativeEvent
299
261
  })),
300
262
  directives: [{
@@ -304,7 +266,6 @@ export default CalendarBase.extend({
304
266
  ...data
305
267
  })), slot ? slot(scope) : [this.genName(eventSummary)]);
306
268
  },
307
-
308
269
  genName(eventSummary) {
309
270
  return this.$createElement('div', {
310
271
  staticClass: 'pl-1',
@@ -313,7 +274,6 @@ export default CalendarBase.extend({
313
274
  }
314
275
  });
315
276
  },
316
-
317
277
  genPlaceholder(day) {
318
278
  const height = this.eventHeight + this.eventMarginBottom;
319
279
  return this.$createElement('div', {
@@ -327,7 +287,6 @@ export default CalendarBase.extend({
327
287
  refInFor: true
328
288
  });
329
289
  },
330
-
331
290
  genMore(day) {
332
291
  const eventHeight = this.eventHeight;
333
292
  const eventMarginBottom = this.eventMarginBottom;
@@ -356,100 +315,81 @@ export default CalendarBase.extend({
356
315
  refInFor: true
357
316
  });
358
317
  },
359
-
360
318
  getVisibleEvents() {
361
319
  const start = getDayIdentifier(this.days[0]);
362
320
  const end = getDayIdentifier(this.days[this.days.length - 1]);
363
321
  return this.parsedEvents.filter(event => isEventOverlapping(event, start, end));
364
322
  },
365
-
366
323
  isEventForCategory(event, category) {
367
324
  return !this.categoryMode || typeof category === 'object' && category.categoryName && category.categoryName === event.category || typeof event.category === 'string' && category === event.category || typeof event.category !== 'string' && category === null;
368
325
  },
369
-
370
326
  getEventsForDay(day) {
371
327
  const identifier = getDayIdentifier(day);
372
328
  const firstWeekday = this.eventWeekdays[0];
373
329
  return this.parsedEvents.filter(event => isEventStart(event, day, identifier, firstWeekday));
374
330
  },
375
-
376
331
  getEventsForDayAll(day) {
377
332
  const identifier = getDayIdentifier(day);
378
333
  const firstWeekday = this.eventWeekdays[0];
379
334
  return this.parsedEvents.filter(event => event.allDay && (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) && this.isEventForCategory(event, day.category));
380
335
  },
381
-
382
336
  getEventsForDayTimed(day) {
383
337
  const identifier = getDayIdentifier(day);
384
338
  return this.parsedEvents.filter(event => !event.allDay && isEventOn(event, identifier) && this.isEventForCategory(event, day.category));
385
339
  },
386
-
387
340
  getScopedSlots() {
388
341
  if (this.noEvents) {
389
- return { ...this.$scopedSlots
342
+ return {
343
+ ...this.$scopedSlots
390
344
  };
391
345
  }
392
-
393
346
  const mode = this.eventModeFunction(this.parsedEvents, this.eventWeekdays[0], this.parsedEventOverlapThreshold);
394
-
395
347
  const isNode = input => !!input;
396
-
397
348
  const getSlotChildren = (day, getter, mapper, timed) => {
398
349
  const events = getter(day);
399
350
  const visuals = mode(day, events, timed, this.categoryMode);
400
-
401
351
  if (timed) {
402
352
  return visuals.map(visual => mapper(visual, day)).filter(isNode);
403
353
  }
404
-
405
354
  const children = [];
406
355
  visuals.forEach((visual, index) => {
407
356
  while (children.length < visual.column) {
408
357
  children.push(this.genPlaceholder(day));
409
358
  }
410
-
411
359
  const mapped = mapper(visual, day);
412
-
413
360
  if (mapped) {
414
361
  children.push(mapped);
415
362
  }
416
363
  });
417
364
  return children;
418
365
  };
419
-
420
366
  const slots = this.$scopedSlots;
421
367
  const slotDay = slots.day;
422
368
  const slotDayHeader = slots['day-header'];
423
369
  const slotDayBody = slots['day-body'];
424
- return { ...slots,
370
+ return {
371
+ ...slots,
425
372
  day: day => {
426
373
  let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false);
427
-
428
374
  if (children && children.length > 0 && this.eventMore) {
429
375
  children.push(this.genMore(day));
430
376
  }
431
-
432
377
  if (slotDay) {
433
378
  const slot = slotDay(day);
434
-
435
379
  if (slot) {
436
380
  children = children ? children.concat(slot) : slot;
437
381
  }
438
382
  }
439
-
440
383
  return children;
441
384
  },
442
385
  'day-header': day => {
443
386
  let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false);
444
-
445
387
  if (slotDayHeader) {
446
388
  const slot = slotDayHeader(day);
447
-
448
389
  if (slot) {
449
390
  children = children ? children.concat(slot) : slot;
450
391
  }
451
392
  }
452
-
453
393
  return children;
454
394
  },
455
395
  'day-body': day => {
@@ -457,20 +397,16 @@ export default CalendarBase.extend({
457
397
  let children = [this.$createElement('div', {
458
398
  staticClass: 'v-event-timed-container'
459
399
  }, events)];
460
-
461
400
  if (slotDayBody) {
462
401
  const slot = slotDayBody(day);
463
-
464
402
  if (slot) {
465
403
  children = children.concat(slot);
466
404
  }
467
405
  }
468
-
469
406
  return children;
470
407
  }
471
408
  };
472
409
  }
473
-
474
410
  }
475
411
  });
476
412
  //# sourceMappingURL=calendar-with-events.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-with-events.mjs","names":["ripple","CalendarBase","escapeHTML","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","eventSummaryClass","time","delimiter","outside","$createElement","setTextColor","setBackgroundColor","on","getDefaultMouseEventHandlers","nativeEvent","value","eventRipple","genName","domProps","genPlaceholder","genMore","click","$emit","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// Helpers\nimport { escapeHTML } from '../../../util/helpers'\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) => escapeHTML(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 const eventSummaryClass = 'v-event-summary'\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<span class=\"${eventSummaryClass}\"><strong>${name}</strong>${delimiter}${time}</span>`\n } else {\n const time = formatTime(event.start, true)\n\n return `<span class=\"${eventSummaryClass}\"><strong>${time}</strong> ${name}</span>`\n }\n }\n\n return 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 {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\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: {\n click: (e: MouseEvent) => this.$emit('click:more', day, e),\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","escapeHTML","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","eventSummaryClass","time","delimiter","outside","$createElement","setTextColor","setBackgroundColor","on","getDefaultMouseEventHandlers","nativeEvent","value","eventRipple","genName","domProps","genPlaceholder","genMore","click","$emit","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// Helpers\nimport { escapeHTML } from '../../../util/helpers'\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) => escapeHTML(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 const eventSummaryClass = 'v-event-summary'\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<span class=\"${eventSummaryClass}\"><strong>${name}</strong>${delimiter}${time}</span>`\n } else {\n const time = formatTime(event.start, true)\n\n return `<span class=\"${eventSummaryClass}\"><strong>${time}</strong> ${name}</span>`\n }\n }\n\n return 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 {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\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: {\n click: (e: MouseEvent) => this.$emit('click:more', day, e),\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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"}