@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha27

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 (444) hide show
  1. package/dist/vuetify.js +1109 -1021
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +1 -0
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +17 -6
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +1 -0
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VBanner/VBanner.js +11 -12
  12. package/es5/components/VBanner/VBanner.js.map +1 -1
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  15. package/es5/components/VBtn/VBtn.js +2 -2
  16. package/es5/components/VBtn/VBtn.js.map +1 -1
  17. package/es5/components/VCalendar/VCalendar.js +27 -29
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  20. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  22. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  24. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  26. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  27. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  28. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  29. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  30. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  32. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  34. package/es5/components/VCarousel/VCarousel.js +10 -9
  35. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  36. package/es5/components/VCheckbox/VCheckbox.js +31 -2
  37. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  38. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  39. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  40. package/es5/components/VChip/VChip.js +14 -6
  41. package/es5/components/VChip/VChip.js.map +1 -1
  42. package/es5/components/VData/VData.js +1 -0
  43. package/es5/components/VData/VData.js.map +1 -1
  44. package/es5/components/VDataIterator/VDataFooter.js +1 -0
  45. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  46. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  47. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  48. package/es5/components/VDataTable/VDataTable.js +1 -6
  49. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  50. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  51. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  52. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  53. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  54. package/es5/components/VDataTable/VEditDialog.js +19 -18
  55. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  56. package/es5/components/VDataTable/mixins/header.js +0 -6
  57. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  58. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  59. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  60. package/es5/components/VDatePicker/VDatePickerHeader.js +48 -26
  61. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  62. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  63. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  64. package/es5/components/VDatePicker/VDatePickerTitle.js +4 -3
  65. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  67. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  68. package/es5/components/VDatePicker/mixins/date-picker-table.js +16 -13
  69. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  70. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  71. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  72. package/es5/components/VDialog/VDialog.js +1 -0
  73. package/es5/components/VDialog/VDialog.js.map +1 -1
  74. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  75. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  76. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -10
  77. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  78. package/es5/components/VFileInput/VFileInput.js +1 -0
  79. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  80. package/es5/components/VForm/VForm.js +1 -0
  81. package/es5/components/VForm/VForm.js.map +1 -1
  82. package/es5/components/VHover/VHover.js +1 -0
  83. package/es5/components/VHover/VHover.js.map +1 -1
  84. package/es5/components/VImg/VImg.js +3 -5
  85. package/es5/components/VImg/VImg.js.map +1 -1
  86. package/es5/components/VInput/VInput.js +1 -0
  87. package/es5/components/VInput/VInput.js.map +1 -1
  88. package/es5/components/VItemGroup/VItem.js +2 -1
  89. package/es5/components/VItemGroup/VItem.js.map +1 -1
  90. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  91. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  92. package/es5/components/VLazy/VLazy.js +8 -15
  93. package/es5/components/VLazy/VLazy.js.map +1 -1
  94. package/es5/components/VList/VListGroup.js +3 -11
  95. package/es5/components/VList/VListGroup.js.map +1 -1
  96. package/es5/components/VList/VListItem.js +26 -12
  97. package/es5/components/VList/VListItem.js.map +1 -1
  98. package/es5/components/VList/VListItemAction.js +23 -9
  99. package/es5/components/VList/VListItemAction.js.map +1 -1
  100. package/es5/components/VMenu/VMenu.js +1 -0
  101. package/es5/components/VMenu/VMenu.js.map +1 -1
  102. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  103. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  104. package/es5/components/VOtpInput/VOtpInput.js +1 -5
  105. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  106. package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -0
  107. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  108. package/es5/components/VOverlay/VOverlay.js +1 -0
  109. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  110. package/es5/components/VPagination/VPagination.js +1 -3
  111. package/es5/components/VPagination/VPagination.js.map +1 -1
  112. package/es5/components/VPicker/VPicker.js +2 -3
  113. package/es5/components/VPicker/VPicker.js.map +1 -1
  114. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  115. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  116. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  117. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  118. package/es5/components/VRadioGroup/VRadio.js +1 -0
  119. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  120. package/es5/components/VSelect/VSelect.js +111 -64
  121. package/es5/components/VSelect/VSelect.js.map +1 -1
  122. package/es5/components/VSelect/VSelectList.js +13 -17
  123. package/es5/components/VSelect/VSelectList.js.map +1 -1
  124. package/es5/components/VSlideGroup/VSlideGroup.js +1 -4
  125. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  126. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  127. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  128. package/es5/components/VSlider/VSlider.js +0 -3
  129. package/es5/components/VSlider/VSlider.js.map +1 -1
  130. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  131. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  132. package/es5/components/VSparkline/VSparkline.js +48 -68
  133. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  134. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  135. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  136. package/es5/components/VStepper/VStepper.js +1 -0
  137. package/es5/components/VStepper/VStepper.js.map +1 -1
  138. package/es5/components/VStepper/VStepperStep.js +11 -19
  139. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  140. package/es5/components/VSwitch/VSwitch.js +1 -3
  141. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  142. package/es5/components/VTabs/VTab.js +1 -0
  143. package/es5/components/VTabs/VTab.js.map +1 -1
  144. package/es5/components/VTabs/VTabs.js +11 -4
  145. package/es5/components/VTabs/VTabs.js.map +1 -1
  146. package/es5/components/VTabs/VTabsItems.js +1 -0
  147. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  148. package/es5/components/VTextField/VTextField.js +31 -27
  149. package/es5/components/VTextField/VTextField.js.map +1 -1
  150. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  151. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  152. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  153. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  154. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  155. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  156. package/es5/components/VToolbar/VToolbar.js +1 -3
  157. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  158. package/es5/components/VTooltip/VTooltip.js +6 -3
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  161. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  162. package/es5/components/VWindow/VWindow.js +0 -3
  163. package/es5/components/VWindow/VWindow.js.map +1 -1
  164. package/es5/components/VWindow/VWindowItem.js +1 -5
  165. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  166. package/es5/framework.js +1 -1
  167. package/es5/mixins/detachable/index.js +9 -5
  168. package/es5/mixins/detachable/index.js.map +1 -1
  169. package/lib/components/VAlert/VAlert.js +1 -0
  170. package/lib/components/VAlert/VAlert.js.map +1 -1
  171. package/lib/components/VAppBar/VAppBar.js +17 -6
  172. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  173. package/lib/components/VBadge/VBadge.js +1 -0
  174. package/lib/components/VBadge/VBadge.js.map +1 -1
  175. package/lib/components/VBanner/VBanner.js +7 -11
  176. package/lib/components/VBanner/VBanner.js.map +1 -1
  177. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  178. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  179. package/lib/components/VBtn/VBtn.js +2 -2
  180. package/lib/components/VBtn/VBtn.js.map +1 -1
  181. package/lib/components/VCalendar/VCalendar.js +26 -31
  182. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  183. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  184. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  186. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  188. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  190. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  191. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  192. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  193. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  194. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  196. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  198. package/lib/components/VCarousel/VCarousel.js +12 -11
  199. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  200. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  201. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  202. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  203. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  204. package/lib/components/VChip/VChip.js +14 -6
  205. package/lib/components/VChip/VChip.js.map +1 -1
  206. package/lib/components/VData/VData.js +1 -0
  207. package/lib/components/VData/VData.js.map +1 -1
  208. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  209. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  210. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  211. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  212. package/lib/components/VDataTable/VDataTable.js +2 -7
  213. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  214. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  215. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  217. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  218. package/lib/components/VDataTable/VEditDialog.js +15 -14
  219. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  220. package/lib/components/VDataTable/mixins/header.js +0 -5
  221. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  222. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  223. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  224. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  225. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  227. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  229. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  231. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  232. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  233. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  234. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  235. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  236. package/lib/components/VDialog/VDialog.js +1 -0
  237. package/lib/components/VDialog/VDialog.js.map +1 -1
  238. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  239. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  240. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  241. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  242. package/lib/components/VFileInput/VFileInput.js +1 -0
  243. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  244. package/lib/components/VForm/VForm.js +1 -0
  245. package/lib/components/VForm/VForm.js.map +1 -1
  246. package/lib/components/VHover/VHover.js +1 -0
  247. package/lib/components/VHover/VHover.js.map +1 -1
  248. package/lib/components/VImg/VImg.js +2 -6
  249. package/lib/components/VImg/VImg.js.map +1 -1
  250. package/lib/components/VInput/VInput.js +1 -0
  251. package/lib/components/VInput/VInput.js.map +1 -1
  252. package/lib/components/VItemGroup/VItem.js +2 -1
  253. package/lib/components/VItemGroup/VItem.js.map +1 -1
  254. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  255. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  256. package/lib/components/VLazy/VLazy.js +8 -15
  257. package/lib/components/VLazy/VLazy.js.map +1 -1
  258. package/lib/components/VList/VListGroup.js +3 -5
  259. package/lib/components/VList/VListGroup.js.map +1 -1
  260. package/lib/components/VList/VListItem.js +25 -14
  261. package/lib/components/VList/VListItem.js.map +1 -1
  262. package/lib/components/VList/VListItemAction.js +15 -9
  263. package/lib/components/VList/VListItemAction.js.map +1 -1
  264. package/lib/components/VMenu/VMenu.js +1 -0
  265. package/lib/components/VMenu/VMenu.js.map +1 -1
  266. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  267. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  268. package/lib/components/VOtpInput/VOtpInput.js +2 -6
  269. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  270. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  271. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  272. package/lib/components/VOverlay/VOverlay.js +1 -0
  273. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  274. package/lib/components/VPagination/VPagination.js +1 -3
  275. package/lib/components/VPagination/VPagination.js.map +1 -1
  276. package/lib/components/VPicker/VPicker.js +3 -3
  277. package/lib/components/VPicker/VPicker.js.map +1 -1
  278. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  279. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  280. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  281. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  282. package/lib/components/VRadioGroup/VRadio.js +1 -0
  283. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  284. package/lib/components/VSelect/VSelect.js +64 -19
  285. package/lib/components/VSelect/VSelect.js.map +1 -1
  286. package/lib/components/VSelect/VSelectList.js +13 -15
  287. package/lib/components/VSelect/VSelectList.js.map +1 -1
  288. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  289. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  291. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  292. package/lib/components/VSlider/VSlider.js +0 -3
  293. package/lib/components/VSlider/VSlider.js.map +1 -1
  294. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  295. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  296. package/lib/components/VSparkline/VSparkline.js +48 -67
  297. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  298. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  299. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  300. package/lib/components/VStepper/VStepper.js +1 -0
  301. package/lib/components/VStepper/VStepper.js.map +1 -1
  302. package/lib/components/VStepper/VStepperStep.js +7 -18
  303. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  304. package/lib/components/VSwitch/VSwitch.js +1 -3
  305. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  306. package/lib/components/VTabs/VTab.js +1 -0
  307. package/lib/components/VTabs/VTab.js.map +1 -1
  308. package/lib/components/VTabs/VTabs.js +14 -4
  309. package/lib/components/VTabs/VTabs.js.map +1 -1
  310. package/lib/components/VTabs/VTabsItems.js +1 -0
  311. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  312. package/lib/components/VTextField/VTextField.js +6 -15
  313. package/lib/components/VTextField/VTextField.js.map +1 -1
  314. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  315. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  316. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  317. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  319. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  320. package/lib/components/VToolbar/VToolbar.js +1 -3
  321. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  322. package/lib/components/VTooltip/VTooltip.js +1 -2
  323. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  324. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  325. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  326. package/lib/components/VWindow/VWindow.js +0 -3
  327. package/lib/components/VWindow/VWindow.js.map +1 -1
  328. package/lib/components/VWindow/VWindowItem.js +2 -6
  329. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  330. package/lib/framework.js +1 -1
  331. package/lib/mixins/detachable/index.js +9 -5
  332. package/lib/mixins/detachable/index.js.map +1 -1
  333. package/package.json +1 -1
  334. package/src/components/VAlert/VAlert.ts +2 -0
  335. package/src/components/VAppBar/VAppBar.ts +12 -3
  336. package/src/components/VBadge/VBadge.ts +1 -1
  337. package/src/components/VBanner/VBanner.ts +14 -14
  338. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  339. package/src/components/VBtn/VBtn.ts +2 -2
  340. package/src/components/VCalendar/VCalendar.ts +29 -27
  341. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  342. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  343. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  344. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  345. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  346. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  347. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  348. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  349. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  350. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  351. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  352. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  353. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  354. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  355. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  356. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  357. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  358. package/src/components/VCalendar/mixins/times.ts +1 -1
  359. package/src/components/VCarousel/VCarousel.ts +13 -9
  360. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  361. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  362. package/src/components/VChip/VChip.ts +16 -13
  363. package/src/components/VData/VData.ts +2 -0
  364. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  365. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  366. package/src/components/VDataTable/VDataTable.ts +2 -4
  367. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  368. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  369. package/src/components/VDataTable/VEditDialog.ts +19 -17
  370. package/src/components/VDataTable/mixins/header.ts +0 -4
  371. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  372. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  373. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  374. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  375. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  376. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  377. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  378. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  379. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  380. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  381. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  382. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  383. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  384. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  385. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  386. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  387. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  388. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  389. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  390. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  391. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  392. package/src/components/VDialog/VDialog.ts +7 -5
  393. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  394. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  395. package/src/components/VFileInput/VFileInput.ts +2 -0
  396. package/src/components/VForm/VForm.ts +2 -0
  397. package/src/components/VHover/VHover.ts +2 -0
  398. package/src/components/VImg/VImg.ts +2 -1
  399. package/src/components/VInput/VInput.ts +2 -0
  400. package/src/components/VItemGroup/VItem.ts +4 -0
  401. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  402. package/src/components/VLazy/VLazy.ts +11 -13
  403. package/src/components/VList/VListGroup.ts +7 -8
  404. package/src/components/VList/VListItem.ts +29 -15
  405. package/src/components/VList/VListItemAction.ts +11 -10
  406. package/src/components/VMenu/VMenu.ts +3 -1
  407. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  408. package/src/components/VOtpInput/VOtpInput.ts +2 -3
  409. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  410. package/src/components/VOverlay/VOverlay.ts +2 -0
  411. package/src/components/VPagination/VPagination.ts +2 -1
  412. package/src/components/VPicker/VPicker.ts +8 -10
  413. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  414. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  415. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  416. package/src/components/VRadioGroup/VRadio.ts +2 -0
  417. package/src/components/VSelect/VSelect.ts +59 -19
  418. package/src/components/VSelect/VSelectList.ts +13 -9
  419. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  420. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  421. package/src/components/VSlider/VSlider.ts +0 -3
  422. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  423. package/src/components/VSparkline/VSparkline.ts +54 -92
  424. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  425. package/src/components/VStepper/VStepper.ts +3 -1
  426. package/src/components/VStepper/VStepperStep.ts +8 -15
  427. package/src/components/VSwitch/VSwitch.ts +4 -5
  428. package/src/components/VTabs/VTab.ts +2 -0
  429. package/src/components/VTabs/VTabs.ts +16 -10
  430. package/src/components/VTabs/VTabsItems.ts +2 -0
  431. package/src/components/VTextField/VTextField.ts +9 -12
  432. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  433. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  434. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  435. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  436. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  437. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  438. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
  439. package/src/components/VToolbar/VToolbar.ts +1 -1
  440. package/src/components/VTooltip/VTooltip.ts +1 -1
  441. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  442. package/src/components/VWindow/VWindow.ts +0 -1
  443. package/src/components/VWindow/VWindowItem.ts +2 -3
  444. package/src/mixins/detachable/index.ts +11 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-base.ts"],"names":[],"mappings":"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","sourcesContent":["\n// Mixins\nimport mixins from '../../../util/mixins'\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Mouse from '../../../mixins/mouse'\nimport Themeable from '../../../mixins/themeable'\nimport Times from './times'\n\n// Directives\nimport Resize from '../../../directives/resize'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTimestamp,\n getWeekdaySkips,\n createDayList,\n createNativeLocaleFormatter,\n getStartOfWeek,\n getEndOfWeek,\n getTimestampIdentifier,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Mouse,\n Themeable,\n Times\n/* @vue/component */\n).extend({\n name: 'calendar-base',\n\n directives: {\n Resize,\n },\n\n props: props.base,\n\n computed: {\n parsedWeekdays (): number[] {\n return Array.isArray(this.weekdays)\n ? this.weekdays\n : (this.weekdays || '').split(',').map(x => parseInt(x, 10))\n },\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.parsedWeekdays)\n },\n weekdaySkipsReverse (): number [] {\n const reversed = this.weekdaySkips.slice()\n reversed.reverse()\n return reversed\n },\n parsedStart (): CalendarTimestamp {\n return parseTimestamp(this.start, true)\n },\n parsedEnd (): CalendarTimestamp {\n const start = this.parsedStart\n const end: CalendarTimestamp = this.end ? parseTimestamp(this.end) || start : start\n\n return getTimestampIdentifier(end) < getTimestampIdentifier(start) ? start : end\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips\n )\n },\n dayFormatter (): CalendarFormatter {\n if (this.dayFormat) {\n return this.dayFormat as CalendarFormatter\n }\n\n const options = { timeZone: 'UTC', day: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, _short) => options\n )\n },\n weekdayFormatter (): CalendarFormatter {\n if (this.weekdayFormat) {\n return this.weekdayFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', weekday: 'long' }\n const shortOptions = { timeZone: 'UTC', weekday: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n getRelativeClasses (timestamp: CalendarTimestamp, outside = false): object {\n return {\n 'v-present': timestamp.present,\n 'v-past': timestamp.past,\n 'v-future': timestamp.future,\n 'v-outside': outside,\n }\n },\n getStartOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getStartOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getEndOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getEndOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getFormatter (options: object): CalendarFormatter {\n return createNativeLocaleFormatter(\n this.locale,\n (_tms, _short) => options\n )\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-base.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineComponent } from 'vue'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Mouse from '../../../mixins/mouse'\nimport Themeable from '../../../mixins/themeable'\nimport Times from './times'\n\n// Directives\nimport Resize from '../../../directives/resize'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTimestamp,\n getWeekdaySkips,\n createDayList,\n createNativeLocaleFormatter,\n getStartOfWeek,\n getEndOfWeek,\n getTimestampIdentifier,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\nexport default defineComponent({\n name: 'calendar-base',\n\n\n extends: Times,\n\n mixins: [Colorable, Localable, Mouse, Themeable],\n\n props: props.base,\n\n emits: ['click', 'mousedown', 'mouseup', 'touchstart', 'touchend'],\n\n computed: {\n parsedWeekdays (): number[] {\n return Array.isArray(this.weekdays)\n ? this.weekdays\n : (this.weekdays || '').split(',').map(x => parseInt(x, 10))\n },\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.parsedWeekdays)\n },\n weekdaySkipsReverse (): number [] {\n const reversed = this.weekdaySkips.slice()\n reversed.reverse()\n return reversed\n },\n parsedStart (): CalendarTimestamp {\n return parseTimestamp(this.start, true)\n },\n parsedEnd (): CalendarTimestamp {\n const start = this.parsedStart\n const end: CalendarTimestamp = this.end ? parseTimestamp(this.end) || start : start\n\n return getTimestampIdentifier(end) < getTimestampIdentifier(start) ? start : end\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips\n )\n },\n dayFormatter (): CalendarFormatter {\n if (this.dayFormat) {\n return this.dayFormat as CalendarFormatter\n }\n\n const options = { timeZone: 'UTC', day: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, _short) => options\n )\n },\n weekdayFormatter (): CalendarFormatter {\n if (this.weekdayFormat) {\n return this.weekdayFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', weekday: 'long' }\n const shortOptions = { timeZone: 'UTC', weekday: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n getRelativeClasses (timestamp: CalendarTimestamp, outside = false): object {\n return {\n 'v-present': timestamp.present,\n 'v-past': timestamp.past,\n 'v-future': timestamp.future,\n 'v-outside': outside,\n }\n },\n getStartOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getStartOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getEndOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getEndOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getFormatter (options: object): CalendarFormatter {\n return createNativeLocaleFormatter(\n this.locale,\n (_tms, _short) => options\n )\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-base.js"}
@@ -1,7 +1,7 @@
1
1
  // Styles
2
2
  import "../../../../src/components/VCalendar/mixins/calendar-with-events.sass"; // Types
3
3
 
4
- import { defineComponent } from 'vue'; // Directives
4
+ import { defineComponent, h, withDirectives } from 'vue'; // Directives
5
5
 
6
6
  import ripple from '../../../directives/ripple'; // Mixins
7
7
 
@@ -19,9 +19,6 @@ const MINUTES_IN_DAY = 1440;
19
19
  export default defineComponent({
20
20
  name: 'calendar-with-events',
21
21
  extends: CalendarBase,
22
- directives: {
23
- ripple
24
- },
25
22
  props: { ...props.events,
26
23
  ...props.calendar,
27
24
  ...props.category
@@ -196,22 +193,18 @@ export default defineComponent({
196
193
  timed: false
197
194
  };
198
195
  return this.genEvent(event, scope, false, {
199
- class: 'v-event',
200
- class: {
196
+ class: ['v-event', {
201
197
  'v-event-start': start,
202
198
  'v-event-end': end
203
- },
199
+ }],
204
200
  style: {
205
201
  height: `${eventHeight}px`,
206
202
  width: `${width}%`,
207
203
  'margin-bottom': `${eventMarginBottom}px`
208
204
  },
209
- attrs: {
210
- 'data-date': day.date
211
- },
205
+ 'data-date': day.date,
212
206
  key: event.index,
213
- ref: 'events',
214
- refInFor: true
207
+ ref: 'events'
215
208
  });
216
209
  },
217
210
 
@@ -292,16 +285,11 @@ export default defineComponent({
292
285
  timeSummary,
293
286
  eventSummary
294
287
  };
295
- return h('div', this.setTextColor(text, this.setBackgroundColor(background, {
296
- on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope,
288
+ return withDirectives(h('div', this.setTextColor(text, this.setBackgroundColor(background, { ...this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope,
297
289
  nativeEvent
298
290
  })),
299
- directives: [{
300
- name: 'ripple',
301
- value: (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true
302
- }],
303
291
  ...data
304
- })), slot ? slot(scope) : [this.genName(eventSummary)]);
292
+ })), slot ? slot(scope) : [this.genName(eventSummary)]), [[ripple, (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true]]);
305
293
  },
306
294
 
307
295
  genName(eventSummary) {
@@ -316,11 +304,8 @@ export default defineComponent({
316
304
  style: {
317
305
  height: `${height}px`
318
306
  },
319
- attrs: {
320
- 'data-date': day.date
321
- },
322
- ref: 'events',
323
- refInFor: true
307
+ 'data-date': day.date,
308
+ ref: 'events'
324
309
  });
325
310
  },
326
311
 
@@ -329,20 +314,13 @@ export default defineComponent({
329
314
 
330
315
  const eventHeight = this.eventHeight;
331
316
  const eventMarginBottom = this.eventMarginBottom;
332
- return h('div', {
333
- class: 'v-event-more pl-1',
334
- class: {
317
+ return withDirectives(h('div', {
318
+ class: ['v-event-more pl-1', {
335
319
  'v-outside': day.outside
336
- },
337
- attrs: {
338
- 'data-date': day.date,
339
- 'data-more': 1
340
- },
341
- directives: [{
342
- name: 'ripple',
343
- value: (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true
344
320
  }],
345
- on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {
321
+ 'data-date': day.date,
322
+ 'data-more': 1,
323
+ ...this.getDefaultMouseEventHandlers(':more', nativeEvent => {
346
324
  return {
347
325
  nativeEvent,
348
326
  ...day
@@ -353,9 +331,8 @@ export default defineComponent({
353
331
  height: `${eventHeight}px`,
354
332
  'margin-bottom': `${eventMarginBottom}px`
355
333
  },
356
- ref: 'events',
357
- refInFor: true
358
- });
334
+ ref: 'events'
335
+ }), [[ripple, (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true]]);
359
336
  },
360
337
 
361
338
  getVisibleEvents() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData, defineComponent } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-events',\n\n extends: CalendarBase,\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => event.input[this.eventName as string] as string || ''\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n class: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n class: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$slots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : h('br')\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [name]),\n delimiter,\n time,\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [time]),\n ' ',\n name,\n ])\n }\n }\n\n return h('span', { class: 'v-event-summary' }, [name])\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return h('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string | VNode): VNode {\n return h('div', {\n class: 'pl-1',\n }, [eventSummary()])\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return h('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return h('div', {\n class: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$slots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$slots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n h('div', {\n class: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData, defineComponent, h, withDirectives } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-events',\n\n\n extends: CalendarBase,\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => event.input[this.eventName as string] as string || ''\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n class: ['v-event', {\n 'v-event-start': start,\n 'v-event-end': end,\n }],\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n 'data-date': day.date,\n key: event.index,\n ref: 'events',\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n class: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$slots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : h('br')\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [name]),\n delimiter,\n time,\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return h('span', { class: 'v-event-summary' }, [\n h('strong', [time]),\n ' ',\n name,\n ])\n }\n }\n\n return h('span', { class: 'v-event-summary' }, [name])\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return withDirectives(h('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n ...this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n ), [\n [ripple, this.eventRipple ?? true],\n ])\n },\n genName (eventSummary: () => string | VNode): VNode {\n return h('div', {\n class: 'pl-1',\n }, [eventSummary()])\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return h('div', {\n style: {\n height: `${height}px`,\n },\n 'data-date': day.date,\n ref: 'events',\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return withDirectives(h('div', {\n class: ['v-event-more pl-1', {\n 'v-outside': day.outside,\n }],\n 'data-date': day.date,\n 'data-more': 1,\n ...this.getDefaultMouseEventHandlers(':more', nativeEvent => {\n return { nativeEvent, ...day }\n }),\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n }), [\n [ripple, this.eventRipple ?? true],\n ])\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$slots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$slots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n h('div', {\n class: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
@@ -1,9 +1,9 @@
1
- // Mixins
1
+ import { defineComponent } from 'vue'; // Mixins
2
+
2
3
  import CalendarBase from './calendar-base'; // Util
3
4
 
4
5
  import props from '../util/props';
5
6
  import { parseTime, copyTimestamp, updateMinutes, createDayList, createIntervalList, createNativeLocaleFormatter, MINUTES_IN_DAY } from '../util/timestamp';
6
- import { defineComponent } from 'vue';
7
7
  /* @vue/component */
8
8
 
9
9
  export default defineComponent({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"names":[],"mappings":"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","sourcesContent":["\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\nimport { defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-intervals',\n\n extends: CalendarBase,\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-intervals.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineComponent } from 'vue'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'calendar-with-intervals',\n\n extends: CalendarBase,\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-intervals.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"names":[],"mappings":"AAAA,SAAQ,eAAR,QAA8B,KAA9B;AAEA,SACE,iBADF,EAEE,cAFF,EAGE,SAHF,QAIO,mBAJP;AAOA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,OADuB;AAG7B,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,SAAS,EAAE;AAFR;AADA,GAHsB;AAU7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE,cAAc,CAAC,kBAAD,EAAqB,IAArB,CADd;AAEL,MAAA,KAAK,EAAE,cAAc,CAAC,YAAD,EAAe,IAAf;AAFhB;AADI,GAAP,CAVuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,GAAL,GAAW,cAAc,CAAC,KAAK,GAAN,EAAW,IAAX,CAAzB,GAA4C,IAAnD;AACD;;AAHO,GAjBmB;AAuB7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AADN,GAvBsB;;AA2B7B,EAAA,OAAO,GAAA;AACL,SAAK,WAAL;AACA,SAAK,UAAL;AACD,GA9B4B;;AAgC7B,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,WAAK,KAAL,CAAW,GAAX,CAAe,OAAf,GAAyB,KAAK,KAAL,CAAW,KAAX,CAAiB,OAAjB,GAA2B,IAApD;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf,GAAsB,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,GAAwB,KAA9C;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,MAAf,GAAwB,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,KAAlD;AACD,KALM;;AAMP,IAAA,WAAW,GAAA;AACT,YAAM,GAAG,GAAsB,KAAK,SAAL,IAAkB,KAAK,MAAL,EAAjD;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,GAA/B;AACA,WAAK,UAAL,CAAgB,GAAhB,EAAqB,KAAK,KAAL,CAAW,GAAhC;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,KAA/B;AACD,KAXM;;AAYP,IAAA,MAAM,GAAA;AACJ,aAAO,SAAS,CAAC,IAAI,IAAJ,EAAD,CAAhB;AACD,KAdM;;AAeP,IAAA,SAAS,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC1D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,KAAP,GAAe,GAAG,CAAC,KAAnB;AACA,QAAA,MAAM,CAAC,GAAP,GAAa,GAAG,CAAC,GAAjB;AACA,QAAA,MAAM,CAAC,OAAP,GAAiB,GAAG,CAAC,OAArB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF,KAvBM;;AAwBP,IAAA,UAAU,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC3D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,MAAP,GAAgB,GAAG,CAAC,MAApB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF;;AA9BM;AAhCoB,CAAD,CAA9B","sourcesContent":["import {defineComponent} from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default defineComponent({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true),\n },\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n"],"sourceRoot":"","file":"times.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,QAAgC,KAAhC;AAEA,SACE,iBADF,EAEE,cAFF,EAGE,SAHF,QAIO,mBAJP;AAOA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,OADuB;AAG7B,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,SAAS,EAAE;AAFR;AADA,GAHsB;AAU7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE,cAAc,CAAC,kBAAD,EAAqB,IAArB,CADd;AAEL,MAAA,KAAK,EAAE,cAAc,CAAC,YAAD,EAAe,IAAf;AAFhB;AADI,GAAP,CAVuB;AAiB7B,EAAA,QAAQ,EAAE;AACR,IAAA,SAAS,GAAA;AACP,aAAO,KAAK,GAAL,GAAW,cAAc,CAAC,KAAK,GAAN,EAAW,IAAX,CAAzB,GAA4C,IAAnD;AACD;;AAHO,GAjBmB;AAuB7B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AADN,GAvBsB;;AA2B7B,EAAA,OAAO,GAAA;AACL,SAAK,WAAL;AACA,SAAK,UAAL;AACD,GA9B4B;;AAgC7B,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,WAAK,KAAL,CAAW,GAAX,CAAe,OAAf,GAAyB,KAAK,KAAL,CAAW,KAAX,CAAiB,OAAjB,GAA2B,IAApD;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf,GAAsB,KAAK,KAAL,CAAW,KAAX,CAAiB,IAAjB,GAAwB,KAA9C;AACA,WAAK,KAAL,CAAW,GAAX,CAAe,MAAf,GAAwB,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,GAA0B,KAAlD;AACD,KALM;;AAMP,IAAA,WAAW,GAAA;AACT,YAAM,GAAG,GAAsB,KAAK,SAAL,IAAkB,KAAK,MAAL,EAAjD;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,GAA/B;AACA,WAAK,UAAL,CAAgB,GAAhB,EAAqB,KAAK,KAAL,CAAW,GAAhC;AACA,WAAK,SAAL,CAAe,GAAf,EAAoB,KAAK,KAAL,CAAW,KAA/B;AACD,KAXM;;AAYP,IAAA,MAAM,GAAA;AACJ,aAAO,SAAS,CAAC,IAAI,IAAJ,EAAD,CAAhB;AACD,KAdM;;AAeP,IAAA,SAAS,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC1D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,KAAP,GAAe,GAAG,CAAC,KAAnB;AACA,QAAA,MAAM,CAAC,GAAP,GAAa,GAAG,CAAC,GAAjB;AACA,QAAA,MAAM,CAAC,OAAP,GAAiB,GAAG,CAAC,OAArB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF,KAvBM;;AAwBP,IAAA,UAAU,CAAE,GAAF,EAA0B,MAA1B,EAAmD;AAC3D,UAAI,GAAG,CAAC,IAAJ,KAAa,MAAM,CAAC,IAAxB,EAA8B;AAC5B,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACA,QAAA,MAAM,CAAC,MAAP,GAAgB,GAAG,CAAC,MAApB;AACA,QAAA,MAAM,CAAC,IAAP,GAAc,GAAG,CAAC,IAAlB;AACD;AACF;;AA9BM;AAhCoB,CAAD,CAA9B","sourcesContent":["import { defineComponent } from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default defineComponent({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true),\n },\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n"],"sourceRoot":"","file":"times.js"}
@@ -1,5 +1,4 @@
1
- import { h } from 'vue'; // Styles
2
-
1
+ // Styles
3
2
  import "../../../src/components/VCarousel/VCarousel.sass"; // Extensions
4
3
 
5
4
  import VWindow from '../VWindow/VWindow'; // Components
@@ -14,10 +13,18 @@ import ButtonGroup from '../../mixins/button-group'; // Utilities
14
13
  import { convertToUnit } from '../../util/helpers';
15
14
  import { breaking } from '../../util/console'; // Types
16
15
 
17
- import { defineComponent } from 'vue';
16
+ import { h, defineComponent } from 'vue';
18
17
  export default defineComponent({
19
18
  name: 'v-carousel',
20
19
  extends: VWindow,
20
+
21
+ // pass down the parent's theme
22
+ provide() {
23
+ return {
24
+ parentTheme: this.theme
25
+ };
26
+ },
27
+
21
28
  props: {
22
29
  continuous: {
23
30
  type: Boolean,
@@ -54,13 +61,7 @@ export default defineComponent({
54
61
  default: undefined
55
62
  }
56
63
  },
57
-
58
- // pass down the parent's theme
59
- provide() {
60
- return {
61
- parentTheme: this.theme
62
- };
63
- },
64
+ emits: ['update:modelValue', 'change'],
64
65
 
65
66
  data() {
66
67
  return {
@@ -153,7 +154,7 @@ export default defineComponent({
153
154
  }
154
155
 
155
156
  return h(ButtonGroup, {
156
- value: this.internalValue,
157
+ modelValue: this.internalValue,
157
158
  mandatory: this.mandatory,
158
159
  onChange: val => {
159
160
  this.internalValue = val;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCarousel/VCarousel.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-carousel',\n extends: VWindow,\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return h('div', {\n class: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = h(VBtn, {\n class: 'v-carousel__controls__item',\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n key: i,\n }, () => [\n h(VIcon, {\n size: 18\n }, () => this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return h(ButtonGroup, {\n value: this.internalValue,\n mandatory: this.mandatory,\n onChange: (val: unknown) => {\n this.internalValue = val\n }\n }, () => children)\n },\n genProgress () {\n return h(VProgressLinear, {\n class: 'v-carousel__progress',\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (): VNode {\n const render = VWindow.render.call(this, h)\n\n render.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VCarousel.js"}
1
+ {"version":3,"sources":["../../../src/components/VCarousel/VCarousel.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { h, VNode, PropType, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-carousel',\n extends: VWindow,\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'change',\n ],\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return h('div', {\n class: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = h(VBtn, {\n class: 'v-carousel__controls__item',\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n key: i,\n }, () => [\n h(VIcon, {\n size: 18\n }, () => this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return h(ButtonGroup, {\n modelValue: this.internalValue,\n mandatory: this.mandatory,\n onChange: (val: unknown) => {\n this.internalValue = val\n }\n }, () => children)\n },\n genProgress () {\n return h(VProgressLinear, {\n class: 'v-carousel__progress',\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (): VNode {\n const render = VWindow.render.call(this, h)\n\n render.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VCarousel.js"}
@@ -5,7 +5,9 @@ import "../../../src/styles/components/_selection-controls.sass"; // Components
5
5
  import VIcon from '../VIcon';
6
6
  import VInput from '../VInput'; // Mixins
7
7
 
8
- import Selectable from '../../mixins/selectable';
8
+ import Selectable from '../../mixins/selectable'; // Utilities
9
+
10
+ import { breaking } from '../../util/console';
9
11
  import { defineComponent, h } from 'vue';
10
12
  /* @vue/component */
11
13
 
@@ -27,6 +29,7 @@ export default defineComponent({
27
29
  default: '$checkboxOn'
28
30
  }
29
31
  },
32
+ emits: ['click', 'focus', 'blur', 'update:indeterminate'],
30
33
 
31
34
  data() {
32
35
  return {
@@ -81,6 +84,16 @@ export default defineComponent({
81
84
  }
82
85
 
83
86
  },
87
+
88
+ created() {
89
+ const breakingProps = [['inputValue', 'model-value'], ['input-value', 'model-value']];
90
+ /* istanbul ignore next */
91
+
92
+ breakingProps.forEach(([original, replacement]) => {
93
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
94
+ });
95
+ },
96
+
84
97
  methods: {
85
98
  genCheckbox() {
86
99
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCheckbox/VCheckbox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-checkbox',\n extends: Selectable,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n h(VIcon, this.setTextColor(this.validationState, {\n dense: this.dense,\n dark: this.dark,\n light: this.light\n }), () => this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n"],"sourceRoot":"","file":"VCheckbox.js"}
1
+ {"version":3,"sources":["../../../src/components/VCheckbox/VCheckbox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\nimport { defineComponent, h } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-checkbox',\n extends: Selectable,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: ['click', 'focus', 'blur', 'update:indeterminate'],\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n created () {\n const breakingProps = [\n ['inputValue', 'model-value'],\n ['input-value', 'model-value'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return h('div', {\n class: 'v-input--selection-controls__input',\n }, [\n h(VIcon, this.setTextColor(this.validationState, {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n }), () => this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n"],"sourceRoot":"","file":"VCheckbox.js"}
@@ -9,9 +9,6 @@ import Themeable from '../../mixins/themeable'; // Utilities
9
9
  import mergeData from '../../util/mergeData';
10
10
  export default defineComponent({
11
11
  name: 'v-simple-checkbox',
12
- directives: {
13
- Ripple
14
- },
15
12
  props: { ...Colorable.props,
16
13
  ...Themeable.props,
17
14
  disabled: Boolean,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCheckbox/VSimpleCheckbox.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport { VNode, h, defineComponent, withDirectives } from 'vue'\n\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'v-simple-checkbox',\n\n directives: {\n Ripple,\n },\n\n props: {\n ...Colorable.props,\n ...Themeable.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n modelValue: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n emits: ['input', 'update:modelValue'],\n\n methods: {\n getIcon (): string {\n const { indeterminate, modelValue, indeterminateIcon, onIcon, offIcon } = this.$props\n\n if (indeterminate) return indeterminateIcon\n if (modelValue) return onIcon\n return offIcon\n },\n\n createIcon (): VNode {\n const { modelValue, disabled, dark, light, color } = this.$props\n\n return h(\n VIcon,\n Colorable.methods.setTextColor(modelValue && color, {\n disabled,\n dark,\n light,\n }),\n () => this.getIcon()\n )\n },\n\n createRipple (): VNode | null {\n const { ripple, disabled, color } = this.$props\n\n if (!ripple || disabled) return null\n\n return withDirectives(\n h(\n 'div',\n Colorable.methods.setTextColor(color, {\n class: 'v-input--selection-controls__ripple',\n })\n ),\n [\n [Ripple, { center: true }],\n ]\n )\n },\n\n handleClick (e: MouseEvent): void {\n e.stopPropagation()\n\n if (this.$props.disabled) return\n\n const newValue = !this.modelValue\n const attrs = this.$attrs\n\n\n this.$emit(\"input\", newValue);\n this.$emit('update:modelValue', newValue)\n },\n\n createChildren (): VNode[] {\n const children = [this.createIcon()]\n\n const ripple = this.createRipple()\n if (ripple) {\n children.push(ripple)\n }\n\n return children\n },\n },\n\n render (): VNode {\n const { disabled } = this.$props\n const data = this.$attrs\n\n return h(\n 'div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': disabled,\n },\n onClick: this.handleClick,\n }),\n [\n h(\n 'div',\n { class: 'v-input--selection-controls__input' },\n this.createChildren()\n )\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VSimpleCheckbox.js"}
1
+ {"version":3,"sources":["../../../src/components/VCheckbox/VSimpleCheckbox.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport { VNode, h, defineComponent, withDirectives } from 'vue'\n\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'v-simple-checkbox',\n\n\n props: {\n ...Colorable.props,\n ...Themeable.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n modelValue: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n emits: ['input', 'update:modelValue'],\n\n methods: {\n getIcon (): string {\n const { indeterminate, modelValue, indeterminateIcon, onIcon, offIcon } = this.$props\n\n if (indeterminate) return indeterminateIcon\n if (modelValue) return onIcon\n return offIcon\n },\n\n createIcon (): VNode {\n const { modelValue, disabled, dark, light, color } = this.$props\n\n return h(\n VIcon,\n Colorable.methods.setTextColor(modelValue && color, {\n disabled,\n dark,\n light,\n }),\n () => this.getIcon()\n )\n },\n\n createRipple (): VNode | null {\n const { ripple, disabled, color } = this.$props\n\n if (!ripple || disabled) return null\n\n return withDirectives(\n h(\n 'div',\n Colorable.methods.setTextColor(color, {\n class: 'v-input--selection-controls__ripple',\n })\n ),\n [\n [Ripple, { center: true }],\n ]\n )\n },\n\n handleClick (e: MouseEvent): void {\n e.stopPropagation()\n\n if (this.$props.disabled) return\n\n const newValue = !this.modelValue\n const attrs = this.$attrs\n\n\n this.$emit(\"input\", newValue);\n this.$emit('update:modelValue', newValue)\n },\n\n createChildren (): VNode[] {\n const children = [this.createIcon()]\n\n const ripple = this.createRipple()\n if (ripple) {\n children.push(ripple)\n }\n\n return children\n },\n },\n\n render (): VNode {\n const { disabled } = this.$props\n const data = this.$attrs\n\n return h(\n 'div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': disabled,\n },\n onClick: this.handleClick,\n }),\n [\n h(\n 'div',\n { class: 'v-input--selection-controls__input' },\n this.createChildren()\n )\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VSimpleCheckbox.js"}