@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha28

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 (528) hide show
  1. package/dist/vuetify.js +1185 -1041
  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 -1
  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 +15 -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 +30 -14
  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 +2 -1
  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 +37 -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 +28 -19
  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 +9 -6
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VTreeview/VTreeview.js +0 -7
  161. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  162. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  163. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  164. package/es5/components/VWindow/VWindow.js +0 -3
  165. package/es5/components/VWindow/VWindow.js.map +1 -1
  166. package/es5/components/VWindow/VWindowItem.js +1 -5
  167. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  168. package/es5/framework.js +1 -1
  169. package/es5/mixins/detachable/index.js +9 -5
  170. package/es5/mixins/detachable/index.js.map +1 -1
  171. package/es5/mixins/routable/index.js +5 -2
  172. package/es5/mixins/routable/index.js.map +1 -1
  173. package/lib/components/VAlert/VAlert.js +1 -1
  174. package/lib/components/VAlert/VAlert.js.map +1 -1
  175. package/lib/components/VAppBar/VAppBar.js +17 -6
  176. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  177. package/lib/components/VBadge/VBadge.js +1 -0
  178. package/lib/components/VBadge/VBadge.js.map +1 -1
  179. package/lib/components/VBanner/VBanner.js +7 -11
  180. package/lib/components/VBanner/VBanner.js.map +1 -1
  181. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  182. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  183. package/lib/components/VBtn/VBtn.js +2 -2
  184. package/lib/components/VBtn/VBtn.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendar.js +26 -31
  186. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  188. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  190. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  191. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  192. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  193. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  194. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  196. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  198. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  199. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  200. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  201. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  202. package/lib/components/VCarousel/VCarousel.js +12 -11
  203. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  204. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  205. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  206. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  207. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  208. package/lib/components/VChip/VChip.js +15 -6
  209. package/lib/components/VChip/VChip.js.map +1 -1
  210. package/lib/components/VData/VData.js +1 -0
  211. package/lib/components/VData/VData.js.map +1 -1
  212. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  213. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  214. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  215. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTable.js +2 -7
  217. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  218. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  219. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  220. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  221. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  222. package/lib/components/VDataTable/VEditDialog.js +15 -14
  223. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  224. package/lib/components/VDataTable/mixins/header.js +0 -5
  225. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  227. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  229. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  231. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  232. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  233. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  234. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  235. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  236. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  237. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  238. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  239. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  240. package/lib/components/VDialog/VDialog.js +1 -0
  241. package/lib/components/VDialog/VDialog.js.map +1 -1
  242. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  243. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  244. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  245. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  246. package/lib/components/VFileInput/VFileInput.js +1 -0
  247. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  248. package/lib/components/VForm/VForm.js +1 -0
  249. package/lib/components/VForm/VForm.js.map +1 -1
  250. package/lib/components/VHover/VHover.js +1 -0
  251. package/lib/components/VHover/VHover.js.map +1 -1
  252. package/lib/components/VImg/VImg.js +2 -6
  253. package/lib/components/VImg/VImg.js.map +1 -1
  254. package/lib/components/VInput/VInput.js +1 -0
  255. package/lib/components/VInput/VInput.js.map +1 -1
  256. package/lib/components/VItemGroup/VItem.js +2 -1
  257. package/lib/components/VItemGroup/VItem.js.map +1 -1
  258. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  259. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  260. package/lib/components/VLazy/VLazy.js +8 -15
  261. package/lib/components/VLazy/VLazy.js.map +1 -1
  262. package/lib/components/VList/VListGroup.js +3 -5
  263. package/lib/components/VList/VListGroup.js.map +1 -1
  264. package/lib/components/VList/VListItem.js +29 -16
  265. package/lib/components/VList/VListItem.js.map +1 -1
  266. package/lib/components/VList/VListItemAction.js +15 -9
  267. package/lib/components/VList/VListItemAction.js.map +1 -1
  268. package/lib/components/VMenu/VMenu.js +2 -1
  269. package/lib/components/VMenu/VMenu.js.map +1 -1
  270. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  271. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  272. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  273. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  274. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  275. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  276. package/lib/components/VOverlay/VOverlay.js +1 -0
  277. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  278. package/lib/components/VPagination/VPagination.js +1 -3
  279. package/lib/components/VPagination/VPagination.js.map +1 -1
  280. package/lib/components/VPicker/VPicker.js +3 -3
  281. package/lib/components/VPicker/VPicker.js.map +1 -1
  282. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  283. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  284. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  285. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  286. package/lib/components/VRadioGroup/VRadio.js +1 -0
  287. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  288. package/lib/components/VSelect/VSelect.js +64 -19
  289. package/lib/components/VSelect/VSelect.js.map +1 -1
  290. package/lib/components/VSelect/VSelectList.js +24 -20
  291. package/lib/components/VSelect/VSelectList.js.map +1 -1
  292. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  293. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  294. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  295. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  296. package/lib/components/VSlider/VSlider.js +0 -3
  297. package/lib/components/VSlider/VSlider.js.map +1 -1
  298. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  299. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  300. package/lib/components/VSparkline/VSparkline.js +48 -67
  301. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  302. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  303. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  304. package/lib/components/VStepper/VStepper.js +1 -0
  305. package/lib/components/VStepper/VStepper.js.map +1 -1
  306. package/lib/components/VStepper/VStepperStep.js +7 -18
  307. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  308. package/lib/components/VSwitch/VSwitch.js +1 -3
  309. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  310. package/lib/components/VTabs/VTab.js +1 -0
  311. package/lib/components/VTabs/VTab.js.map +1 -1
  312. package/lib/components/VTabs/VTabs.js +14 -4
  313. package/lib/components/VTabs/VTabs.js.map +1 -1
  314. package/lib/components/VTabs/VTabsItems.js +1 -0
  315. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  316. package/lib/components/VTextField/VTextField.js +6 -15
  317. package/lib/components/VTextField/VTextField.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  319. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  320. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  321. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  322. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  323. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  324. package/lib/components/VToolbar/VToolbar.js +1 -3
  325. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  326. package/lib/components/VTooltip/VTooltip.js +4 -5
  327. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  328. package/lib/components/VTreeview/VTreeview.js +0 -6
  329. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  330. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  331. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  332. package/lib/components/VWindow/VWindow.js +0 -3
  333. package/lib/components/VWindow/VWindow.js.map +1 -1
  334. package/lib/components/VWindow/VWindowItem.js +2 -6
  335. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  336. package/lib/framework.js +1 -1
  337. package/lib/mixins/detachable/index.js +9 -5
  338. package/lib/mixins/detachable/index.js.map +1 -1
  339. package/lib/mixins/routable/index.js +5 -2
  340. package/lib/mixins/routable/index.js.map +1 -1
  341. package/package.json +1 -1
  342. package/src/components/VAlert/VAlert.ts +2 -1
  343. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  344. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  345. package/src/components/VAppBar/VAppBar.ts +12 -3
  346. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  347. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  348. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  349. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  350. package/src/components/VBadge/VBadge.ts +1 -1
  351. package/src/components/VBanner/VBanner.ts +14 -14
  352. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  353. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  354. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  355. package/src/components/VBtn/VBtn.ts +2 -2
  356. package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
  357. package/src/components/VCalendar/VCalendar.ts +29 -27
  358. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  359. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  360. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  361. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  362. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  363. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  364. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  365. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  366. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  367. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  368. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  369. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  370. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  371. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  372. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  373. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  374. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  375. package/src/components/VCalendar/mixins/times.ts +1 -1
  376. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  377. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  378. package/src/components/VCarousel/VCarousel.ts +13 -9
  379. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  380. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  381. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  382. package/src/components/VChip/VChip.ts +17 -13
  383. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  384. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  385. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  386. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
  387. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  388. package/src/components/VData/VData.ts +2 -0
  389. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  390. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  391. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  392. package/src/components/VDataTable/VDataTable.ts +2 -4
  393. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  394. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  395. package/src/components/VDataTable/VEditDialog.ts +19 -17
  396. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  397. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  398. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  399. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +910 -988
  400. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +26 -22
  401. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +60 -29
  402. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  403. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  404. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +18 -10
  405. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +1 -1
  406. package/src/components/VDataTable/mixins/header.ts +0 -4
  407. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  408. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  409. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  410. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  411. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  412. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  413. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  414. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  415. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  416. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  417. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  418. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  419. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  420. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  421. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  422. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  423. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  424. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  425. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  426. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  427. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  428. package/src/components/VDialog/VDialog.ts +7 -5
  429. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  430. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  431. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  432. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  433. package/src/components/VFileInput/VFileInput.ts +2 -0
  434. package/src/components/VForm/VForm.ts +2 -0
  435. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  436. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  437. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  438. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  439. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  440. package/src/components/VHover/VHover.ts +2 -0
  441. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  442. package/src/components/VImg/VImg.ts +2 -1
  443. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
  444. package/src/components/VInput/VInput.ts +2 -0
  445. package/src/components/VItemGroup/VItem.ts +4 -0
  446. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  447. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  448. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  449. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  450. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  451. package/src/components/VLazy/VLazy.ts +11 -13
  452. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  453. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  454. package/src/components/VList/VListGroup.ts +7 -8
  455. package/src/components/VList/VListItem.ts +38 -18
  456. package/src/components/VList/VListItemAction.ts +11 -10
  457. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  458. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  459. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  460. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  461. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  462. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  463. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  464. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  465. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  466. package/src/components/VMenu/VMenu.ts +4 -2
  467. package/src/components/VMessages/__tests__/VMessages.spec.ts +14 -13
  468. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  469. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  470. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  471. package/src/components/VOverlay/VOverlay.ts +2 -0
  472. package/src/components/VPagination/VPagination.ts +2 -1
  473. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  474. package/src/components/VPicker/VPicker.ts +8 -10
  475. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  476. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  477. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  478. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  479. package/src/components/VRadioGroup/VRadio.ts +2 -0
  480. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  481. package/src/components/VSelect/VSelect.ts +59 -19
  482. package/src/components/VSelect/VSelectList.ts +20 -16
  483. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  484. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  485. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  486. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  487. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  488. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  489. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  490. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  491. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  492. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  493. package/src/components/VSlider/VSlider.ts +0 -3
  494. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  495. package/src/components/VSparkline/VSparkline.ts +54 -92
  496. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  497. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  498. package/src/components/VStepper/VStepper.ts +3 -1
  499. package/src/components/VStepper/VStepperStep.ts +8 -15
  500. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  501. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  502. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  503. package/src/components/VSwitch/VSwitch.ts +4 -5
  504. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  505. package/src/components/VTabs/VTab.ts +2 -0
  506. package/src/components/VTabs/VTabs.ts +16 -10
  507. package/src/components/VTabs/VTabsItems.ts +2 -0
  508. package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
  509. package/src/components/VTextField/VTextField.ts +9 -12
  510. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  511. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  512. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  513. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  514. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  515. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  516. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  517. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  518. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  519. package/src/components/VToolbar/VToolbar.ts +1 -1
  520. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  521. package/src/components/VTooltip/VTooltip.ts +4 -4
  522. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  523. package/src/components/VTreeview/VTreeview.ts +0 -5
  524. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  525. package/src/components/VWindow/VWindow.ts +0 -1
  526. package/src/components/VWindow/VWindowItem.ts +2 -3
  527. package/src/mixins/detachable/index.ts +11 -5
  528. package/src/mixins/routable/index.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerClock.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\nimport './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options extends Vue {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n } as PropValidator<(val: string | number) => string | number>,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n value: Number,\n },\n\n data () {\n return {\n inputValue: this.value,\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.value == null ? this.min : this.value\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n watch: {\n value (value) {\n this.inputValue = value\n },\n },\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.value && (this.color || 'accent')\n children.push(h('span', this.setBackgroundColor(color, {\n class: 'v-time-picker-clock__item',\n class: {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n style: this.getTransform(value),\n domProps: { innerHTML: `<span>${this.format(value)}</span>` },\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.value != null) && (this.color || 'accent')\n return h('div', this.setBackgroundColor(color, {\n class: 'v-time-picker-clock__hand',\n class: {\n 'v-time-picker-clock__hand--inner': this.isInner(this.value),\n },\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!this.isDragging && e.type !== 'click') || !this.$refs.clock) return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const checksCount = Math.ceil(15 / this.degreesPerUnit)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n\n value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n }\n },\n angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - this.degreesPerUnit / 2)) return value\n\n return insideClick ? this.max - this.roundCount + 1 : this.min\n },\n setMouseDownValue (value: number) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = value\n }\n\n this.valueOnMouseUp = value\n this.update(value)\n },\n update (value: number) {\n if (this.inputValue !== value) {\n this.inputValue = value\n this.$emit('input', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (): VNode {\n const data: VNodeData = {\n class: 'v-time-picker-clock',\n class: {\n 'v-time-picker-clock--indeterminate': this.value == null,\n ...this.themeClasses,\n },\n on: (this.readonly || this.disabled) ? undefined : {\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n touchstart: this.onMouseDown,\n touchend: this.onMouseUp,\n mousemove: this.onDragMove,\n touchmove: this.onDragMove,\n },\n ref: 'clock',\n }\n\n if (this.scrollable && data.on) {\n data.on.wheel = this.wheel\n }\n\n return h('div', data, [\n h('div', {\n class: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTimePickerClock.js"}
1
+ {"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerClock.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode, PropType, VNodeData } from 'vue'\nimport './VTimePickerClock.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport mixins, { ExtractVue } from '../../util/mixins'\n\ninterface Point {\n x: number\n y: number\n}\n\ninterface options {\n $refs: {\n clock: HTMLElement\n innerClock: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof Colorable,\n typeof Themeable\n ]>\n/* eslint-enable indent */\n>(\n Colorable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-time-picker-clock',\n\n props: {\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n disabled: Boolean,\n double: Boolean,\n format: {\n type: Function as PropType<(val: string | number) => string | number>,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n modelValue: Number,\n },\n\n data () {\n return {\n isDragging: false,\n valueOnMouseDown: null as number | null,\n valueOnMouseUp: null as number | null,\n }\n },\n\n computed: {\n count (): number {\n return this.max - this.min + 1\n },\n degreesPerUnit (): number {\n return 360 / this.roundCount\n },\n degrees (): number {\n return this.degreesPerUnit * Math.PI / 180\n },\n displayedValue (): number {\n return this.modelValue == null ? this.min : this.modelValue\n },\n innerRadiusScale (): number {\n return 0.62\n },\n roundCount (): number {\n return this.double ? (this.count / 2) : this.count\n },\n },\n\n\n methods: {\n wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = this.displayedValue\n do {\n value = value + delta\n value = (value - this.min + this.count) % this.count + this.min\n } while (!this.isAllowed(value) && value !== this.displayedValue)\n\n if (value !== this.displayedValue) {\n this.update(value)\n }\n },\n isInner (value: number) {\n return this.double && (value - this.min >= this.roundCount)\n },\n handScale (value: number) {\n return this.isInner(value) ? this.innerRadiusScale : 1\n },\n isAllowed (value: number) {\n return !this.allowedValues || this.allowedValues(value)\n },\n genValues () {\n const children: VNode[] = []\n\n for (let value = this.min; value <= this.max; value = value + this.step) {\n const color = value === this.modelValue && (this.color || 'accent')\n children.push(h('span', this.setBackgroundColor(color, {\n class: [\n 'v-time-picker-clock__item',\n {\n 'v-time-picker-clock__item--active': value === this.displayedValue,\n 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value),\n },\n ],\n style: this.getTransform(value),\n innerHTML: `<span>${this.format(value)}</span>`,\n })))\n }\n\n return children\n },\n genHand () {\n const scale = `scaleY(${this.handScale(this.displayedValue)})`\n const angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min)\n const color = (this.modelValue != null) && (this.color || 'accent')\n return h('div', this.setBackgroundColor(color, {\n class: [\n 'v-time-picker-clock__hand',\n {\n 'v-time-picker-clock__hand--inner': this.isInner(this.modelValue),\n },\n ],\n style: {\n transform: `rotate(${angle}deg) ${scale}`,\n },\n }))\n },\n getTransform (i: number) {\n const { x, y } = this.getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n },\n getPosition (value: number) {\n const rotateRadians = this.rotate * Math.PI / 180\n return {\n x: Math.sin((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n y: -Math.cos((value - this.min) * this.degrees + rotateRadians) * this.handScale(value),\n }\n },\n onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.valueOnMouseDown = null\n this.valueOnMouseUp = null\n this.isDragging = true\n this.onDragMove(e)\n },\n onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n\n this.isDragging = false\n if (this.valueOnMouseUp !== null && this.isAllowed(this.valueOnMouseUp)) {\n this.$emit('change', this.valueOnMouseUp)\n }\n },\n onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!this.isDragging && e.type !== 'click') || !this.$refs.clock) return\n\n const { width, top, left } = this.$refs.clock.getBoundingClientRect()\n const { width: innerWidth } = this.$refs.innerClock.getBoundingClientRect()\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(this.angle(center, coords) - this.rotate + 360) % 360\n const insideClick = this.double && this.euclidean(center, coords) < (innerWidth + innerWidth * this.innerRadiusScale) / 4\n const checksCount = Math.ceil(15 / this.degreesPerUnit)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = this.angleToValue(handAngle + i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n\n value = this.angleToValue(handAngle - i * this.degreesPerUnit, insideClick)\n if (this.isAllowed(value)) return this.setMouseDownValue(value)\n }\n },\n angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / this.degreesPerUnit) +\n (insideClick ? this.roundCount : 0)\n ) % this.count + this.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - this.degreesPerUnit / 2)) return value\n\n return insideClick ? this.max - this.roundCount + 1 : this.min\n },\n setMouseDownValue (value: number) {\n if (this.valueOnMouseDown === null) {\n this.valueOnMouseDown = value\n }\n\n this.valueOnMouseUp = value\n this.update(value)\n },\n update (value: number) {\n if (this.modelValue !== value) {\n this.$emit('update:modelValue', value)\n }\n },\n euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n },\n angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - this.euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n },\n },\n\n render (): VNode {\n const data: VNodeData = {\n class: [\n 'v-time-picker-clock',\n {\n 'v-time-picker-clock--indeterminate': this.modelValue == null,\n ...this.themeClasses,\n },\n ],\n onMousedown: (this.readonly || this.disabled) ? undefined : this.onMouseDown,\n onMouseup: (this.readonly || this.disabled) ? undefined : this.onMouseUp,\n onMouseleave: (this.readonly || this.disabled) ? undefined : (e: MouseEvent) => (this.isDragging && this.onMouseUp(e)),\n onTouchstart: (this.readonly || this.disabled) ? undefined : this.onMouseDown,\n onTouchend: (this.readonly || this.disabled) ? undefined : this.onMouseUp,\n onMousemove: (this.readonly || this.disabled) ? undefined : this.onDragMove,\n onTouchmove: (this.readonly || this.disabled) ? undefined : this.onDragMove,\n ref: 'clock',\n }\n\n if (this.scrollable && !this.readonly && !this.disabled) {\n data.onWheel = this.wheel\n }\n\n return h('div', data, [\n h('div', {\n class: 'v-time-picker-clock__inner',\n ref: 'innerClock',\n }, [\n this.genHand(),\n this.genValues(),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTimePickerClock.js"}
@@ -3,7 +3,7 @@ import "../../../src/components/VTimePicker/VTimePickerTitle.sass"; // Mixins
3
3
 
4
4
  import PickerButton from '../../mixins/picker-button'; // Utils
5
5
 
6
- import { pad } from '../VDatePicker/util';
6
+ import pad from '../VDatePicker/util/pad';
7
7
  import mixins from '../../util/mixins';
8
8
  import { SelectingTimes } from './SelectingTimes';
9
9
  export default mixins(PickerButton
@@ -25,6 +25,7 @@ export default mixins(PickerButton
25
25
  useSeconds: Boolean,
26
26
  selecting: Number
27
27
  },
28
+ emits: ['update:selecting', 'update:period'],
28
29
  methods: {
29
30
  genTime() {
30
31
  let hour = this.hour;
@@ -50,8 +51,8 @@ export default mixins(PickerButton
50
51
 
51
52
  genAmPm() {
52
53
  return h('div', {
53
- class: 'v-time-picker-title__ampm',
54
54
  class: {
55
+ 'v-time-picker-title__ampm': true,
55
56
  'v-time-picker-title__ampm--readonly': this.ampmReadonly
56
57
  }
57
58
  }, [!this.ampmReadonly || this.period === 'am' ? this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly) : null, !this.ampmReadonly || this.period === 'pm' ? this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly) : null]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerTitle.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\nimport './VTimePickerTitle.sass'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { pad } from '../VDatePicker/util'\nimport mixins from '../../util/mixins'\n\nimport { SelectingTimes } from './SelectingTimes'\nimport { VNode, PropType } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker-title',\n\n props: {\n ampm: Boolean,\n ampmReadonly: Boolean,\n disabled: Boolean,\n hour: Number,\n minute: Number,\n second: Number,\n period: {\n type: String as PropType<'am' | 'pm'>,\n validator: period => period === 'am' || period === 'pm',\n },\n readonly: Boolean,\n useSeconds: Boolean,\n selecting: Number,\n },\n\n methods: {\n genTime () {\n let hour = this.hour\n if (this.ampm) {\n hour = hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n const displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : pad(hour)\n const displayedMinute = this.minute == null ? '--' : pad(this.minute)\n const titleContent = [\n this.genPickerButton('selecting', SelectingTimes.Hour, displayedHour, this.disabled),\n h('span', ':'),\n this.genPickerButton('selecting', SelectingTimes.Minute, displayedMinute, this.disabled),\n ]\n\n if (this.useSeconds) {\n const displayedSecond = this.second == null ? '--' : pad(this.second)\n titleContent.push(h('span', ':'))\n titleContent.push(this.genPickerButton('selecting', SelectingTimes.Second, displayedSecond, this.disabled))\n }\n return h('div', {\n class: 'v-time-picker-title__time',\n }, titleContent)\n },\n genAmPm () {\n return h('div', {\n class: 'v-time-picker-title__ampm',\n class: {\n 'v-time-picker-title__ampm--readonly': this.ampmReadonly,\n },\n }, [\n (!this.ampmReadonly || this.period === 'am') ? this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly) : null,\n (!this.ampmReadonly || this.period === 'pm') ? this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly) : null,\n ])\n },\n },\n\n render (): VNode {\n const children = [this.genTime()]\n\n this.ampm && children.push(this.genAmPm())\n\n return h('div', {\n class: 'v-time-picker-title',\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTimePickerTitle.js"}
1
+ {"version":3,"sources":["../../../src/components/VTimePicker/VTimePickerTitle.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, VNode, PropType, defineComponent } from 'vue'\nimport './VTimePickerTitle.sass'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\nimport { SelectingTimes } from './SelectingTimes'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker-title',\n\n props: {\n ampm: Boolean,\n ampmReadonly: Boolean,\n disabled: Boolean,\n hour: Number,\n minute: Number,\n second: Number,\n period: {\n type: String as PropType<'am' | 'pm'>,\n validator: period => period === 'am' || period === 'pm',\n },\n readonly: Boolean,\n useSeconds: Boolean,\n selecting: Number,\n },\n\n emits: ['update:selecting', 'update:period'],\n\n methods: {\n genTime () {\n let hour = this.hour\n if (this.ampm) {\n hour = hour ? ((hour - 1) % 12 + 1) : 12\n }\n\n const displayedHour = this.hour == null ? '--' : this.ampm ? String(hour) : pad(hour)\n const displayedMinute = this.minute == null ? '--' : pad(this.minute)\n const titleContent = [\n this.genPickerButton('selecting', SelectingTimes.Hour, displayedHour, this.disabled),\n h('span', ':'),\n this.genPickerButton('selecting', SelectingTimes.Minute, displayedMinute, this.disabled),\n ]\n\n if (this.useSeconds) {\n const displayedSecond = this.second == null ? '--' : pad(this.second)\n titleContent.push(h('span', ':'))\n titleContent.push(this.genPickerButton('selecting', SelectingTimes.Second, displayedSecond, this.disabled))\n }\n return h('div', {\n class: 'v-time-picker-title__time',\n }, titleContent)\n },\n genAmPm () {\n return h('div', {\n class: {\n 'v-time-picker-title__ampm': true,\n 'v-time-picker-title__ampm--readonly': this.ampmReadonly,\n },\n }, [\n (!this.ampmReadonly || this.period === 'am') ? this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly) : null,\n (!this.ampmReadonly || this.period === 'pm') ? this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly) : null,\n ])\n },\n },\n\n render (): VNode {\n const children = [this.genTime()]\n\n this.ampm && children.push(this.genAmPm())\n\n return h('div', {\n class: 'v-time-picker-title',\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTimePickerTitle.js"}
@@ -107,9 +107,7 @@ export default defineComponent({
107
107
  };
108
108
  const image = this.$slots.img ? this.$slots.img({
109
109
  props
110
- }) : h(VImg, {
111
- props
112
- });
110
+ }) : h(VImg, props);
113
111
  return h('div', {
114
112
  class: 'v-toolbar__image'
115
113
  }, [image]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VToolbar/VToolbar.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,QAAkB,KAAlB,C,CACA;;AACA,OAAO,gDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,kBAAnB,C,CAEA;;AACA,OAAO,IAAP,MAAgC,cAAhC,C,CAEA;;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AACA,SAAS,QAAT,QAAyB,oBAAzB,C,CAEA;;AACA,SAA0B,eAA1B,QAAiD,KAAjD;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,WADuB;AAE7B,EAAA,OAAO,EAAE,MAFoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,KAAK,EAAE,OAJF;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,eAAe,EAAE;AACf,MAAA,OAAO,EAAE,EADM;AAEf,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT;AAFS,KANZ;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,QAAQ,EAAE,OAXL;AAYL,IAAA,SAAS,EAAE,OAZN;AAaL,IAAA,KAAK,EAAE,OAbF;AAcL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAdA;AAkBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AAlBA,GAJsB;AA4B7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,UAAU,EAAE;AADD,GAAP,CA5BuB;AAgC7B,EAAA,QAAQ,EAAE;AACR,IAAA,cAAc,GAAA;AACZ,YAAM,MAAM,GAAG,KAAK,qBAApB;AAEA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,MAAP;AAEtB,YAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,eAAN,CAAhC;AAEA,aAAO,KAAK,WAAL,GACH,MADG,GAEH,MAAM,IAAI,CAAC,KAAK,CAAC,eAAD,CAAN,GAA0B,eAA1B,GAA4C,CAAhD,CAFV;AAGD,KAXO;;AAYR,IAAA,qBAAqB,GAAA;AACnB,UAAI,KAAK,MAAT,EAAiB,OAAO,QAAQ,CAAC,KAAK,MAAN,CAAf;AACjB,UAAI,KAAK,WAAL,IAAoB,KAAK,KAA7B,EAAoC,OAAO,EAAP;AACpC,UAAI,KAAK,WAAL,IAAoB,KAAK,KAA7B,EAAoC,OAAO,GAAP;AACpC,UAAI,KAAK,WAAT,EAAsB,OAAO,GAAP;AACtB,UAAI,KAAK,KAAT,EAAgB,OAAO,EAAP;AAChB,UAAI,KAAK,KAAL,IAAc,KAAK,QAAL,CAAc,UAAd,CAAyB,SAA3C,EAAsD,OAAO,EAAP;AACtD,aAAO,EAAP;AACD,KApBO;;AAqBR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,qBAAa,IAFR;AAGL,+BAAuB,KAAK,QAHvB;AAIL,6BAAqB,KAAK,MAJrB;AAKL,+BAAuB,KAAK,QALvB;AAML,gCAAwB,KAAK,WANxB;AAOL,4BAAoB,KAAK,KAPpB;AAQL,+BAAuB,KAAK,UARvB;AASL,2BAAmB,KAAK,IATnB;AAUL,+BAAuB,KAAK,QAVvB;AAWL,gCAAwB,KAAK;AAXxB,OAAP;AAaD,KAnCO;;AAoCR,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,QAAZ;AACD,KAtCO;;AAuCR,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,SAAZ;AACD,KAzCO;;AA0CR,IAAA,MAAM,GAAA;AACJ,aAAO,EACL,GAAG,KAAK,gBADH;AAEL,QAAA,MAAM,EAAE,aAAa,CAAC,KAAK,cAAN;AAFhB,OAAP;AAID;;AA/CO,GAhCmB;;AAkF7B,EAAA,OAAO,GAAA;AACL,UAAM,aAAa,GAAG,CACpB,CAAC,KAAD,EAAQ,iBAAR,CADoB,EAEpB,CAAC,eAAD,EAAkB,4BAAlB,CAFoB,EAGpB,CAAC,cAAD,EAAiB,0BAAjB,CAHoB,EAIpB,CAAC,eAAD,EAAkB,2BAAlB,CAJoB,EAKpB,CAAC,iBAAD,EAAoB,6BAApB,CALoB,EAMpB,CAAC,mBAAD,EAAsB,+BAAtB,CANoB,EAOpB,CAAC,eAAD,EAAkB,2BAAlB,CAPoB,EAQpB,CAAC,kBAAD,EAAqB,8BAArB,CARoB,EASpB,CAAC,MAAD,EAAS,kBAAT,CAToB,CAAtB;AAYA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,CAAC,QAAD,EAAW,WAAX,CAAD,KAA4B;AAChD,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,QAAQ,CAAC,QAAD,EAAW,WAAX,EAAwB,IAAxB,CAAR;AAC3C,KAFD;AAGD,GAnG4B;;AAqG7B,EAAA,OAAO,EAAE;AACP,IAAA,aAAa,GAAA;AACX,YAAM,KAAK,GAAG;AACZ,QAAA,MAAM,EAAE,aAAa,CAAC,KAAK,cAAN,CADT;AAEZ,QAAA,GAAG,EAAE,KAAK;AAFE,OAAd;AAKA,YAAM,KAAK,GAAG,KAAK,MAAL,CAAY,GAAZ,GACV,KAAK,MAAL,CAAY,GAAZ,CAAgB;AAAE,QAAA;AAAF,OAAhB,CADU,GAEV,CAAC,CAAC,IAAD,EAAO;AAAE,QAAA;AAAF,OAAP,CAFL;AAIA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,CAAC,KAAD,CAFK,CAAR;AAGD,KAdM;;AAeP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,oBADO;AAEd,QAAA,KAAK,EAAE;AACL,UAAA,MAAM,EAAE,aAAa,CAAC,KAAK,qBAAN;AADhB;AAFO,OAAR,EAKL,OAAO,CAAC,IAAD,CALF,CAAR;AAMD,KAtBM;;AAuBP,IAAA,YAAY,GAAA;AACV,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,sBADO;AAEd,QAAA,KAAK,EAAE;AACL,UAAA,MAAM,EAAE,aAAa,CAAC,KAAK,eAAN;AADhB;AAFO,OAAR,EAKL,OAAO,CAAC,IAAD,EAAO,WAAP,CALF,CAAR;AAMD;;AA9BM,GArGoB;;AAsI7B,EAAA,MAAM,GAAA;AACJ,SAAK,UAAL,GAAkB,KAAK,QAAL,IAAiB,CAAC,CAAC,KAAK,MAAL,CAAY,SAAjD;AAEA,UAAM,QAAQ,GAAG,CAAC,KAAK,UAAL,EAAD,CAAjB;AACA,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,MAAA,KAAK,EAAE,KAAK,OADmC;AAE/C,MAAA,KAAK,EAAE,KAAK;AAFmC,KAApC,CAAb;AAKA,QAAI,KAAK,UAAT,EAAqB,QAAQ,CAAC,IAAT,CAAc,KAAK,YAAL,EAAd;AACrB,QAAI,KAAK,GAAL,IAAY,KAAK,MAAL,CAAY,GAA5B,EAAiC,QAAQ,CAAC,OAAT,CAAiB,KAAK,aAAL,EAAjB;AAEjC,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,EAAC,GAAG,KAAK,MAAT;AAAiB,SAAG;AAApB,KAAX,EAAsC,QAAtC,CAAR;AACD;;AAnJ4B,CAAD,CAA9B","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-toolbar',\n extends: VSheet,\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', '<v-app-bar app>'],\n ['manual-scroll', '<v-app-bar :value=\"false\">'],\n ['clipped-left', '<v-app-bar clipped-left>'],\n ['clipped-right', '<v-app-bar clipped-right>'],\n ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n ['scroll-target', '<v-app-bar scroll-target>'],\n ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n ['card', '<v-app-bar flat>'],\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 genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img({ props })\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return h('div', {\n class: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return h('div', {\n class: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (): VNode {\n this.isExtended = this.extended || !!this.$slots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$slots.img) children.unshift(this.genBackground())\n\n return h(this.tag, {...this.attrs$, ...data}, children)\n }\n})\n"],"sourceRoot":"","file":"VToolbar.js"}
1
+ {"version":3,"sources":["../../../src/components/VToolbar/VToolbar.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,QAAkB,KAAlB,C,CACA;;AACA,OAAO,gDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,kBAAnB,C,CAEA;;AACA,OAAO,IAAP,MAAgC,cAAhC,C,CAEA;;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AACA,SAAS,QAAT,QAAyB,oBAAzB,C,CAEA;;AACA,SAA0B,eAA1B,QAAiD,KAAjD;AAEA;;AACA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,WADuB;AAE7B,EAAA,OAAO,EAAE,MAFoB;AAI7B,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,KAAK,EAAE,OAJF;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,eAAe,EAAE;AACf,MAAA,OAAO,EAAE,EADM;AAEf,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT;AAFS,KANZ;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,QAAQ,EAAE,OAXL;AAYL,IAAA,SAAS,EAAE,OAZN;AAaL,IAAA,KAAK,EAAE,OAbF;AAcL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAdA;AAkBL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AAlBA,GAJsB;AA4B7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,UAAU,EAAE;AADD,GAAP,CA5BuB;AAgC7B,EAAA,QAAQ,EAAE;AACR,IAAA,cAAc,GAAA;AACZ,YAAM,MAAM,GAAG,KAAK,qBAApB;AAEA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,MAAP;AAEtB,YAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,eAAN,CAAhC;AAEA,aAAO,KAAK,WAAL,GACH,MADG,GAEH,MAAM,IAAI,CAAC,KAAK,CAAC,eAAD,CAAN,GAA0B,eAA1B,GAA4C,CAAhD,CAFV;AAGD,KAXO;;AAYR,IAAA,qBAAqB,GAAA;AACnB,UAAI,KAAK,MAAT,EAAiB,OAAO,QAAQ,CAAC,KAAK,MAAN,CAAf;AACjB,UAAI,KAAK,WAAL,IAAoB,KAAK,KAA7B,EAAoC,OAAO,EAAP;AACpC,UAAI,KAAK,WAAL,IAAoB,KAAK,KAA7B,EAAoC,OAAO,GAAP;AACpC,UAAI,KAAK,WAAT,EAAsB,OAAO,GAAP;AACtB,UAAI,KAAK,KAAT,EAAgB,OAAO,EAAP;AAChB,UAAI,KAAK,KAAL,IAAc,KAAK,QAAL,CAAc,UAAd,CAAyB,SAA3C,EAAsD,OAAO,EAAP;AACtD,aAAO,EAAP;AACD,KApBO;;AAqBR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,qBAAa,IAFR;AAGL,+BAAuB,KAAK,QAHvB;AAIL,6BAAqB,KAAK,MAJrB;AAKL,+BAAuB,KAAK,QALvB;AAML,gCAAwB,KAAK,WANxB;AAOL,4BAAoB,KAAK,KAPpB;AAQL,+BAAuB,KAAK,UARvB;AASL,2BAAmB,KAAK,IATnB;AAUL,+BAAuB,KAAK,QAVvB;AAWL,gCAAwB,KAAK;AAXxB,OAAP;AAaD,KAnCO;;AAoCR,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,QAAZ;AACD,KAtCO;;AAuCR,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,SAAZ;AACD,KAzCO;;AA0CR,IAAA,MAAM,GAAA;AACJ,aAAO,EACL,GAAG,KAAK,gBADH;AAEL,QAAA,MAAM,EAAE,aAAa,CAAC,KAAK,cAAN;AAFhB,OAAP;AAID;;AA/CO,GAhCmB;;AAkF7B,EAAA,OAAO,GAAA;AACL,UAAM,aAAa,GAAG,CACpB,CAAC,KAAD,EAAQ,iBAAR,CADoB,EAEpB,CAAC,eAAD,EAAkB,4BAAlB,CAFoB,EAGpB,CAAC,cAAD,EAAiB,0BAAjB,CAHoB,EAIpB,CAAC,eAAD,EAAkB,2BAAlB,CAJoB,EAKpB,CAAC,iBAAD,EAAoB,6BAApB,CALoB,EAMpB,CAAC,mBAAD,EAAsB,+BAAtB,CANoB,EAOpB,CAAC,eAAD,EAAkB,2BAAlB,CAPoB,EAQpB,CAAC,kBAAD,EAAqB,8BAArB,CARoB,EASpB,CAAC,MAAD,EAAS,kBAAT,CAToB,CAAtB;AAYA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,CAAC,QAAD,EAAW,WAAX,CAAD,KAA4B;AAChD,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,QAAQ,CAAC,QAAD,EAAW,WAAX,EAAwB,IAAxB,CAAR;AAC3C,KAFD;AAGD,GAnG4B;;AAqG7B,EAAA,OAAO,EAAE;AACP,IAAA,aAAa,GAAA;AACX,YAAM,KAAK,GAAG;AACZ,QAAA,MAAM,EAAE,aAAa,CAAC,KAAK,cAAN,CADT;AAEZ,QAAA,GAAG,EAAE,KAAK;AAFE,OAAd;AAKA,YAAM,KAAK,GAAG,KAAK,MAAL,CAAY,GAAZ,GACV,KAAK,MAAL,CAAY,GAAZ,CAAgB;AAAE,QAAA;AAAF,OAAhB,CADU,GAEV,CAAC,CAAC,IAAD,EAAO,KAAP,CAFL;AAIA,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,CAAC,KAAD,CAFK,CAAR;AAGD,KAdM;;AAeP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,oBADO;AAEd,QAAA,KAAK,EAAE;AACL,UAAA,MAAM,EAAE,aAAa,CAAC,KAAK,qBAAN;AADhB;AAFO,OAAR,EAKL,OAAO,CAAC,IAAD,CALF,CAAR;AAMD,KAtBM;;AAuBP,IAAA,YAAY,GAAA;AACV,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,sBADO;AAEd,QAAA,KAAK,EAAE;AACL,UAAA,MAAM,EAAE,aAAa,CAAC,KAAK,eAAN;AADhB;AAFO,OAAR,EAKL,OAAO,CAAC,IAAD,EAAO,WAAP,CALF,CAAR;AAMD;;AA9BM,GArGoB;;AAsI7B,EAAA,MAAM,GAAA;AACJ,SAAK,UAAL,GAAkB,KAAK,QAAL,IAAiB,CAAC,CAAC,KAAK,MAAL,CAAY,SAAjD;AAEA,UAAM,QAAQ,GAAG,CAAC,KAAK,UAAL,EAAD,CAAjB;AACA,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,MAAA,KAAK,EAAE,KAAK,OADmC;AAE/C,MAAA,KAAK,EAAE,KAAK;AAFmC,KAApC,CAAb;AAKA,QAAI,KAAK,UAAT,EAAqB,QAAQ,CAAC,IAAT,CAAc,KAAK,YAAL,EAAd;AACrB,QAAI,KAAK,GAAL,IAAY,KAAK,MAAL,CAAY,GAA5B,EAAiC,QAAQ,CAAC,OAAT,CAAiB,KAAK,aAAL,EAAjB;AAEjC,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,EAAC,GAAG,KAAK,MAAT;AAAiB,SAAG;AAApB,KAAX,EAAsC,QAAtC,CAAR;AACD;;AAnJ4B,CAAD,CAA9B","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-toolbar',\n extends: VSheet,\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', '<v-app-bar app>'],\n ['manual-scroll', '<v-app-bar :value=\"false\">'],\n ['clipped-left', '<v-app-bar clipped-left>'],\n ['clipped-right', '<v-app-bar clipped-right>'],\n ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n ['scroll-target', '<v-app-bar scroll-target>'],\n ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n ['card', '<v-app-bar flat>'],\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 genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img({ props })\n : h(VImg, props)\n\n return h('div', {\n class: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return h('div', {\n class: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return h('div', {\n class: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (): VNode {\n this.isExtended = this.extended || !!this.$slots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$slots.img) children.unshift(this.genBackground())\n\n return h(this.tag, {...this.attrs$, ...data}, children)\n }\n})\n"],"sourceRoot":"","file":"VToolbar.js"}
@@ -148,18 +148,18 @@ export default mixins(Colorable, Delayable, Dependent, Menuable).extend({
148
148
  const listeners = Activatable.methods.genActivatorListeners.call(this);
149
149
 
150
150
  if (this.openOnFocus) {
151
- listeners.focus = e => {
151
+ listeners.onFocus = e => {
152
152
  this.getActivator(e);
153
153
  this.runDelay('open');
154
154
  };
155
155
 
156
- listeners.blur = e => {
156
+ listeners.onBlur = e => {
157
157
  this.getActivator(e);
158
158
  this.runDelay('close');
159
159
  };
160
160
  }
161
161
 
162
- listeners.keydown = e => {
162
+ listeners.onKeydown = e => {
163
163
  if (e.keyCode === keyCodes.esc) {
164
164
  this.getActivator(e);
165
165
  this.runDelay('close');
@@ -185,14 +185,13 @@ export default mixins(Colorable, Delayable, Dependent, Menuable).extend({
185
185
  },
186
186
 
187
187
  genContent() {
188
- return withDirectives(h('div', this.setBackgroundColor(this.color, {
188
+ return withDirectives(h('div', this.setBackgroundColor(this.color, { ...this.getScopeIdAttrs(),
189
189
  class: ['v-tooltip__content', {
190
190
  [this.contentClass]: true,
191
191
  menuable__content__active: this.isActive,
192
192
  'v-tooltip__content--fixed': this.activatorFixed
193
193
  }],
194
194
  style: this.styles,
195
- attrs: this.getScopeIdAttrs(),
196
195
  ref: 'content'
197
196
  }), this.getContentSlot()), [[vShow, this.isContentActive]]);
198
197
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives, VNode } from 'vue'\nimport './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.modelValue && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return h(Transition, {\n name: this.computedTransition,\n }, () => [content])\n },\n genContent () {\n return withDirectives(\n h(\n 'div',\n this.setBackgroundColor(this.color, {\n class: ['v-tooltip__content', {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n }],\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n ref: 'content',\n }),\n this.getContentSlot()\n ),\n [\n [vShow, this.isContentActive]\n ]\n )\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-tooltip', this.classes],\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
1
+ {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives, VNode } from 'vue'\nimport './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.modelValue && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onBlur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.onKeydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return h(Transition, {\n name: this.computedTransition,\n }, () => [content])\n },\n genContent () {\n return withDirectives(\n h(\n 'div',\n this.setBackgroundColor(this.color, {\n ...this.getScopeIdAttrs(),\n class: ['v-tooltip__content', {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n }],\n style: this.styles,\n ref: 'content',\n }),\n this.getContentSlot()\n ),\n [\n [vShow, this.isContentActive]\n ]\n )\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-tooltip', this.classes],\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
@@ -9,7 +9,6 @@ import { provide as RegistrableProvide } from '../../mixins/registrable'; // Uti
9
9
 
10
10
  import { arrayDiff, deepEqual, getObjectValueByPath } from '../../util/helpers';
11
11
  import mixins from '../../util/mixins';
12
- import { consoleWarn } from '../../util/console';
13
12
  import { filterTreeItems, filterTreeItem } from './util/filterTreeItems';
14
13
  export default mixins(RegistrableProvide('treeview'), Themeable
15
14
  /* @vue/component */
@@ -127,11 +126,6 @@ export default mixins(RegistrableProvide('treeview'), Themeable
127
126
  },
128
127
 
129
128
  mounted() {
130
- // Save the developer from themselves
131
- if (this.$slots.prepend || this.$slots.append) {
132
- consoleWarn('The prepend and append slots require a slot-scope attribute', this);
133
- }
134
-
135
129
  if (this.openAll) {
136
130
  this.updateAll(true);
137
131
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n }],\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,kDAAP,C,CAOA;;AACA,OAAO,aAAP,IAAwB,kBAAxB,QAAkD,iBAAlD,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,SAAS,OAAO,IAAI,kBAApB,QAA8C,0BAA9C,C,CAEA;;AACA,SACE,SADF,EAEE,SAFF,EAGE,oBAHF,QAIO,oBAJP;AAKA,OAAO,MAAP,MAAmB,mBAAnB;AAEA,SACE,eADF,EAEE,cAFF,QAGO,wBAHP;AAqBA,eAAe,MAAM,CACnB,kBAAkB,CAAC,UAAD,CADC,EAEnB;AACA;AAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,YADC;;AAGP,EAAA,OAAO,GAAA;AACL,WAAO;AAAE,MAAA,QAAQ,EAAE;AAAZ,KAAP;AACD,GALM;;AAOP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,KADA;AAEN,MAAA,OAAO,EAAE,MAAO;AAFV,KADH;AAKL,IAAA,KAAK,EAAE,OALF;AAML,IAAA,QAAQ,EAAE,OANL;AAOL,IAAA,MAAM,EAAE,QAPH;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE,MAAO;AAFX,KATF;AAaL,IAAA,cAAc,EAAE,OAbX;AAcL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,KADF;AAEJ,MAAA,OAAO,EAAE,MAAO;AAFZ,KAdD;AAkBL,IAAA,OAAO,EAAE,OAlBJ;AAmBL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,OADM;AAEZ,MAAA,OAAO,EAAE,KAFG,CAEI;;AAFJ,KAnBT;AAuBL,IAAA,MAAM,EAAE,MAvBH;AAwBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE,MAAO;AAFX,KAxBF;AA4BL,OAAG;AA5BE,GAPA;AAsCP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,KAAK,EAAE,CAAC,CADG;AAEX,IAAA,WAAW,EAAE,IAAI,GAAJ,EAFF;AAGX,IAAA,KAAK,EAAE,EAHI;AAIX,IAAA,SAAS,EAAE,IAAI,GAAJ,EAJA;AAKX,IAAA,aAAa,EAAE,IAAI,GAAJ;AALJ,GAAP,CAtCC;AA8CP,EAAA,QAAQ,EAAE;AACR,IAAA,aAAa,GAAA;AACX,YAAM,QAAQ,GAAG,IAAI,GAAJ,EAAjB;AAEA,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,QAAP;;AAElB,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,KAAL,CAAW,MAA/B,EAAuC,CAAC,EAAxC,EAA4C;AAC1C,QAAA,eAAe,CACb,KAAK,MAAL,IAAe,cADF,EAEb,KAAK,KAAL,CAAW,CAAX,CAFa,EAGb,KAAK,MAHQ,EAIb,KAAK,OAJQ,EAKb,KAAK,QALQ,EAMb,KAAK,YANQ,EAOb,QAPa,CAAf;AASD;;AAED,aAAO,QAAP;AACD;;AAnBO,GA9CH;AAoEP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,GAAA;AACL,cAAM,OAAO,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,KAAjB,EAAwB,GAAxB,CAA4B,CAAC,IAAI,oBAAoB,CAAC,KAAK,KAAL,CAAW,CAAX,EAAc,IAAf,EAAqB,KAAK,OAA1B,CAArD,CAAhB;AACA,cAAM,OAAO,GAAG,KAAK,OAAL,CAAa,KAAK,KAAlB,CAAhB;AACA,cAAM,IAAI,GAAG,SAAS,CAAC,OAAD,EAAU,OAAV,CAAtB,CAHK,CAKL;;AACA,YAAI,CAAC,IAAI,CAAC,MAAN,IAAgB,OAAO,CAAC,MAAR,GAAiB,OAAO,CAAC,MAA7C,EAAqD,OANhD,CAQL;;AACA,QAAA,IAAI,CAAC,OAAL,CAAa,CAAC,IAAI,OAAO,KAAK,KAAL,CAAW,CAAX,CAAzB;AAEA,cAAM,gBAAgB,GAAG,CAAC,GAAG,KAAK,aAAT,CAAzB;AACA,aAAK,aAAL,GAAqB,IAAI,GAAJ,EAArB;AACA,aAAK,WAAL,GAAmB,IAAI,GAAJ,EAAnB;AACA,aAAK,SAAL,GAAiB,IAAI,GAAJ,EAAjB;AACA,aAAK,SAAL,CAAe,KAAK,KAApB,EAfK,CAiBL;AACA;AACA;AACA;;AACA,YAAI,CAAC,SAAS,CAAC,gBAAD,EAAmB,CAAC,GAAG,KAAK,aAAT,CAAnB,CAAd,EAA2D,KAAK,YAAL;AAC5D,OAvBI;;AAwBL,MAAA,IAAI,EAAE;AAxBD,KADF;;AA2BL,IAAA,MAAM,CAAE,KAAF,EAAkC;AACtC,WAAK,sBAAL,CAA4B,KAA5B,EAAmC,KAAK,WAAxC,EAAqD,KAAK,YAA1D,EAAwE,KAAK,UAA7E;AACD,KA7BI;;AA8BL,IAAA,KAAK,CAAE,KAAF,EAAkC;AACrC,WAAK,sBAAL,CAA4B,KAA5B,EAAmC,KAAK,aAAxC,EAAuD,KAAK,cAA5D,EAA4E,KAAK,YAAjF;AACD,KAhCI;;AAiCL,IAAA,IAAI,CAAE,KAAF,EAAkC;AACpC,WAAK,sBAAL,CAA4B,KAA5B,EAAmC,KAAK,SAAxC,EAAmD,KAAK,UAAxD,EAAoE,KAAK,QAAzE;AACD;;AAnCI,GApEA;;AA0GP,EAAA,OAAO,GAAA;AACL,UAAM,QAAQ,GAAI,GAAD,IAA0B,KAAK,YAAL,GAAoB,oBAAoB,CAAC,GAAD,EAAM,KAAK,OAAX,CAAxC,GAA8D,GAAzG;;AAEA,SAAK,SAAL,CAAe,KAAK,KAApB;;AAEA,SAAK,MAAM,KAAX,IAAoB,KAAK,KAAL,CAAW,GAAX,CAAe,QAAf,CAApB,EAA8C;AAC5C,WAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiC,IAAjC;AACD;;AAED,SAAK,MAAM,MAAX,IAAqB,KAAK,MAAL,CAAY,GAAZ,CAAgB,QAAhB,CAArB,EAAgD;AAC9C,WAAK,YAAL,CAAkB,MAAlB,EAA0B,IAA1B;AACD;AACF,GAtHM;;AAwHP,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,OAAT,EAAkB;AAChB,WAAK,SAAL,CAAe,IAAf;AACD,KAFD,MAEO;AACL,WAAK,IAAL,CAAU,OAAV,CAAkB,GAAG,IAAI,KAAK,UAAL,CAAgB,KAAK,YAAL,GAAoB,oBAAoB,CAAC,GAAD,EAAM,KAAK,OAAX,CAAxC,GAA8D,GAA9E,EAAmF,IAAnF,CAAzB;AACA,WAAK,QAAL;AACD;AACF,GA/HM;;AAiIP,EAAA,OAAO,EAAE;AACP;AACA,IAAA,SAAS,CAAE,KAAF,EAAgB;AACvB,MAAA,MAAM,CAAC,IAAP,CAAY,KAAK,KAAjB,EAAwB,OAAxB,CAAgC,GAAG,IAAI,KAAK,UAAL,CAAgB,oBAAoB,CAAC,KAAK,KAAL,CAAW,GAAX,EAAgB,IAAjB,EAAuB,KAAK,OAA5B,CAApC,EAA0E,KAA1E,CAAvC;AACA,WAAK,QAAL;AACD,KALM;;AAMP,IAAA,OAAO,CAAE,KAAF,EAAgB,IAAA,GAAc,EAA9B,EAAgC;AACrC,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,cAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAD,CAAN,EAAW,KAAK,OAAhB,CAAhC;AACA,QAAA,IAAI,CAAC,IAAL,CAAU,GAAV;AACA,cAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAD,CAAN,EAAW,KAAK,YAAhB,CAArC;;AACA,YAAI,QAAJ,EAAc;AACZ,UAAA,IAAI,CAAC,IAAL,CAAU,GAAG,KAAK,OAAL,CAAa,QAAb,CAAb;AACD;AACF;;AAED,aAAO,IAAP;AACD,KAjBM;;AAkBP,IAAA,SAAS,CAAE,KAAF,EAAgB,MAAA,GAAmC,IAAnD,EAAuD;;;AAC9D,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,cAAM,IAAI,GAAG,KAAK,CAAC,CAAD,CAAlB;AACA,cAAM,GAAG,GAAG,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAAhC;AACA,cAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,oBAAoB,CAAC,IAAD,EAAO,KAAK,YAAZ,CAApB,MAA6C,IAA7C,IAA6C,EAAA,KAAA,KAAA,CAA7C,GAA6C,EAA7C,GAAiD,EAAlE;AACA,cAAM,OAAO,GAAG,KAAK,KAAL,CAAW,cAAX,CAA0B,GAA1B,IAAiC,KAAK,KAAL,CAAW,GAAX,CAAjC,GAAmD;AACjE,UAAA,UAAU,EAAE,KADqD;AAC9C,UAAA,eAAe,EAAE,KAD6B;AACtB,UAAA,QAAQ,EAAE,KADY;AACL,UAAA,MAAM,EAAE,KADH;AACU,UAAA,KAAK,EAAE;AADjB,SAAnE;AAIA,cAAM,IAAI,GAAQ;AAChB,UAAA,KAAK,EAAE,OAAO,CAAC,KADC;AAEhB,UAAA,MAFgB;AAGhB,UAAA,QAAQ,EAAE,QAAQ,CAAC,GAAT,CAAc,CAAD,IAAY,oBAAoB,CAAC,CAAD,EAAI,KAAK,OAAT,CAA7C,CAHM;AAIhB,UAAA;AAJgB,SAAlB;AAOA,aAAK,SAAL,CAAe,QAAf,EAAyB,GAAzB,EAfqC,CAiBrC;;AACA,YACE,KAAK,aAAL,KAAuB,aAAvB,IACA,MAAM,KAAK,IADX,IAEA,CAAC,KAAK,KAAL,CAAW,cAAX,CAA0B,GAA1B,CAFD,IAGA,KAAK,KAAL,CAAW,cAAX,CAA0B,MAA1B,CAJF,EAKE;AACA,UAAA,IAAI,CAAC,UAAL,GAAkB,KAAK,KAAL,CAAW,MAAX,EAAmB,UAArC;AACD,SAPD,MAOO;AACL,UAAA,IAAI,CAAC,UAAL,GAAkB,OAAO,CAAC,UAA1B;AACA,UAAA,IAAI,CAAC,eAAL,GAAuB,OAAO,CAAC,eAA/B;AACD;;AAED,QAAA,IAAI,CAAC,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,QAAA,IAAI,CAAC,MAAL,GAAc,OAAO,CAAC,MAAtB;AAEA,aAAK,KAAL,CAAW,GAAX,IAAkB,IAAlB;;AAEA,YAAI,QAAQ,CAAC,MAAT,IAAmB,KAAK,aAAL,KAAuB,aAA9C,EAA6D;AAC3D,gBAAM;AAAE,YAAA,UAAF;AAAc,YAAA;AAAd,cAAkC,KAAK,cAAL,CAAoB,GAApB,EAAyB,KAAK,KAA9B,CAAxC;AAEA,UAAA,IAAI,CAAC,UAAL,GAAkB,UAAlB;AACA,UAAA,IAAI,CAAC,eAAL,GAAuB,eAAvB;AACD,SAxCoC,CA0CrC;;;AACA,YAAI,KAAK,KAAL,CAAW,GAAX,EAAgB,UAAhB,KAA+B,KAAK,aAAL,KAAuB,aAAvB,IAAwC,IAAI,CAAC,QAAL,CAAc,MAAd,KAAyB,CAAhG,CAAJ,EAAwG,KAAK,aAAL,CAAmB,GAAnB,CAAuB,GAAvB;AACxG,YAAI,KAAK,KAAL,CAAW,GAAX,EAAgB,QAApB,EAA8B,KAAK,WAAL,CAAiB,GAAjB,CAAqB,GAArB;AAC9B,YAAI,KAAK,KAAL,CAAW,GAAX,EAAgB,MAApB,EAA4B,KAAK,SAAL,CAAe,GAAf,CAAmB,GAAnB;AAE5B,aAAK,gBAAL,CAAsB,GAAtB;AACD;AACF,KApEM;;AAqEP,IAAA,cAAc,CAAE,IAAF,EAAyB,KAAzB,EAAkE;AAC9E,YAAM,QAAQ,GAAG,KAAK,CAAC,IAAD,CAAL,CAAY,QAA7B;AACA,YAAM,MAAM,GAAG,QAAQ,CAAC,MAAT,CAAgB,CAAC,MAAD,EAAmB,KAAnB,KAA6C;AAC1E,QAAA,MAAM,CAAC,CAAD,CAAN,IAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAD,CAAL,CAAa,UAAd,CAArB;AACA,QAAA,MAAM,CAAC,CAAD,CAAN,IAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAD,CAAL,CAAa,eAAd,CAArB;AAEA,eAAO,MAAP;AACD,OALc,EAKZ,CAAC,CAAD,EAAI,CAAJ,CALY,CAAf;AAOA,YAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAX,IAAqB,MAAM,CAAC,CAAD,CAAN,KAAc,QAAQ,CAAC,MAA/D;AACA,YAAM,eAAe,GAAG,CAAC,UAAD,KAAgB,MAAM,CAAC,CAAD,CAAN,GAAY,CAAZ,IAAiB,MAAM,CAAC,CAAD,CAAN,GAAY,CAA7C,CAAxB;AAEA,aAAO;AACL,QAAA,UADK;AAEL,QAAA;AAFK,OAAP;AAID,KArFM;;AAsFP,IAAA,QAAQ,GAAA;AACN,WAAK,aAAL,CAAmB,aAAnB,EAAkC,KAAK,SAAvC;AACD,KAxFM;;AAyFP,IAAA,YAAY,GAAA;AACV,WAAK,aAAL,CAAmB,OAAnB,EAA4B,KAAK,aAAjC;AACD,KA3FM;;AA4FP,IAAA,UAAU,GAAA;AACR,WAAK,aAAL,CAAmB,eAAnB,EAAoC,KAAK,WAAzC;AACD,KA9FM;;AA+FP,IAAA,aAAa,CAAE,KAAF,EAAiB,KAAjB,EAAiC;AAC5C,WAAK,KAAL,CAAW,KAAX,EAAkB,KAAK,YAAL,GAAoB,CAAC,GAAG,KAAJ,EAAW,GAAX,CAAe,GAAG,IAAI,KAAK,KAAL,CAAW,GAAX,EAAgB,IAAtC,CAApB,GAAkE,CAAC,GAAG,KAAJ,CAApF;AACD,KAjGM;;AAkGP,IAAA,sBAAsB,CAAE,KAAF,EAAgB,KAAhB,EAAkC,QAAlC,EAAsD,MAAtD,EAAsE;AAC1F,MAAA,KAAK,GAAG,KAAK,YAAL,GAAoB,KAAK,CAAC,GAAN,CAAU,CAAC,IAAI,oBAAoB,CAAC,CAAD,EAAI,KAAK,OAAT,CAAnC,CAApB,GAA4E,KAApF;AACA,YAAM,GAAG,GAAG,CAAC,GAAG,KAAJ,CAAZ;AACA,UAAI,SAAS,CAAC,GAAD,EAAM,KAAN,CAAb,EAA2B;AAE3B,MAAA,GAAG,CAAC,OAAJ,CAAY,GAAG,IAAI,QAAQ,CAAC,GAAD,EAAM,KAAN,CAA3B;AACA,MAAA,KAAK,CAAC,OAAN,CAAc,GAAG,IAAI,QAAQ,CAAC,GAAD,EAAM,IAAN,CAA7B;AAEA,MAAA,MAAM;AACP,KA3GM;;AA4GP,IAAA,cAAc,CAAE,GAAF,EAAwB,WAAA,GAAyB,EAAjD,EAAmD;AAC/D,YAAM,QAAQ,GAAG,KAAK,KAAL,CAAW,GAAX,EAAgB,QAAjC;AAEA,MAAA,WAAW,CAAC,IAAZ,CAAiB,GAAG,QAApB;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,QAAA,WAAW,GAAG,KAAK,cAAL,CAAoB,QAAQ,CAAC,CAAD,CAA5B,EAAiC,WAAjC,CAAd;AACD;;AAED,aAAO,WAAP;AACD,KAtHM;;AAuHP,IAAA,UAAU,CAAE,GAAF,EAAsB;AAC9B,UAAI,MAAM,GAAG,KAAK,KAAL,CAAW,GAAX,EAAgB,MAA7B;AAEA,YAAM,OAAO,GAAG,EAAhB;;AACA,aAAO,MAAM,KAAK,IAAlB,EAAwB;AACtB,QAAA,OAAO,CAAC,IAAR,CAAa,MAAb;AACA,QAAA,MAAM,GAAG,KAAK,KAAL,CAAW,MAAX,EAAmB,MAA5B;AACD;;AAED,aAAO,OAAP;AACD,KAjIM;;AAkIP,IAAA,QAAQ,CAAE,IAAF,EAA6B;AACnC,YAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAN,EAAY,KAAK,OAAjB,CAAhC;AAEA,WAAK,KAAL,CAAW,GAAX,EAAgB,KAAhB,GAAwB,IAAxB;AAEA,WAAK,gBAAL,CAAsB,GAAtB;AACD,KAxIM;;AAyIP,IAAA,UAAU,CAAE,IAAF,EAA6B;AACrC,YAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAN,EAAY,KAAK,OAAjB,CAAhC;AACA,UAAI,KAAK,KAAL,CAAW,GAAX,CAAJ,EAAqB,KAAK,KAAL,CAAW,GAAX,EAAgB,KAAhB,GAAwB,IAAxB;AACtB,KA5IM;;AA6IP,IAAA,QAAQ,CAAE,GAAF,EAAsB;AAC5B,aAAO,KAAK,KAAL,CAAW,GAAX,EAAgB,QAAhB,IAA4B,KAAK,KAAL,CAAW,GAAX,EAAgB,QAAhB,CAAyB,MAA5D;AACD,KA/IM;;AAgJP,IAAA,YAAY,CAAE,GAAF,EAAwB,QAAxB,EAAyC;AACnD,UAAI,CAAC,KAAK,KAAL,CAAW,cAAX,CAA0B,GAA1B,CAAL,EAAqC;;AAErC,UAAI,CAAC,KAAK,cAAV,EAA0B;AACxB,aAAK,WAAL,CAAiB,OAAjB,CAAyB,MAAM,IAAG;AAChC,eAAK,KAAL,CAAW,MAAX,EAAmB,QAAnB,GAA8B,KAA9B;AACA,eAAK,gBAAL,CAAsB,MAAtB;AACA,eAAK,WAAL,CAAiB,MAAjB,CAAwB,MAAxB;AACD,SAJD;AAKD;;AAED,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,GAAX,CAAb;AACA,UAAI,CAAC,IAAL,EAAW;AAEX,UAAI,QAAJ,EAAc,KAAK,WAAL,CAAiB,GAAjB,CAAqB,GAArB,EAAd,KACK,KAAK,WAAL,CAAiB,MAAjB,CAAwB,GAAxB;AAEL,MAAA,IAAI,CAAC,QAAL,GAAgB,QAAhB;AAEA,WAAK,gBAAL,CAAsB,GAAtB;AACD,KApKM;;AAqKP,IAAA,cAAc,CAAE,GAAF,EAAwB,UAAxB,EAA6C,QAAQ,GAAG,KAAxD,EAA6D;AACzE,UAAI,CAAC,KAAK,KAAL,CAAW,cAAX,CAA0B,GAA1B,CAAL,EAAqC;AAErC,YAAM,OAAO,GAAG,IAAI,GAAJ,EAAhB;;AAEA,UAAI,KAAK,aAAL,KAAuB,aAA3B,EAA0C;AACxC,aAAK,MAAM,UAAX,IAAyB,KAAK,cAAL,CAAoB,GAApB,CAAzB,EAAmD;AACjD,cAAI,CAAC,oBAAoB,CAAC,KAAK,KAAL,CAAW,UAAX,EAAuB,IAAxB,EAA8B,KAAK,YAAnC,CAArB,IAAyE,QAA7E,EAAuF;AACrF,iBAAK,KAAL,CAAW,UAAX,EAAuB,UAAvB,GAAoC,UAApC;AACA,iBAAK,KAAL,CAAW,UAAX,EAAuB,eAAvB,GAAyC,KAAzC;AACA,YAAA,OAAO,CAAC,GAAR,CAAY,UAAZ,EAAwB,UAAxB;AACD;AACF;;AAED,cAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,GAApB,EAAyB,KAAK,KAA9B,CAAnB;AACA,aAAK,KAAL,CAAW,GAAX,EAAgB,UAAhB,GAA6B,UAA7B;AACA,aAAK,KAAL,CAAW,GAAX,EAAgB,eAAhB,GAAkC,UAAU,CAAC,eAA7C;AACA,QAAA,OAAO,CAAC,GAAR,CAAY,GAAZ,EAAiB,UAAjB;;AAEA,aAAK,MAAM,MAAX,IAAqB,KAAK,UAAL,CAAgB,GAAhB,CAArB,EAA2C;AACzC,gBAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,MAApB,EAA4B,KAAK,KAAjC,CAAnB;AACA,eAAK,KAAL,CAAW,MAAX,EAAmB,UAAnB,GAAgC,UAAU,CAAC,UAA3C;AACA,eAAK,KAAL,CAAW,MAAX,EAAmB,eAAnB,GAAqC,UAAU,CAAC,eAAhD;AACA,UAAA,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,UAAU,CAAC,UAA/B;AACD;AACF,OApBD,MAoBO;AACL,aAAK,KAAL,CAAW,GAAX,EAAgB,UAAhB,GAA6B,UAA7B;AACA,aAAK,KAAL,CAAW,GAAX,EAAgB,eAAhB,GAAkC,KAAlC;AACA,QAAA,OAAO,CAAC,GAAR,CAAY,GAAZ,EAAiB,UAAjB;AACD;;AAED,WAAK,MAAM,CAAC,GAAD,EAAM,KAAN,CAAX,IAA2B,OAAO,CAAC,OAAR,EAA3B,EAA8C;AAC5C,aAAK,gBAAL,CAAsB,GAAtB;AAEA,YAAI,KAAK,aAAL,KAAuB,MAAvB,IAAiC,KAAK,QAAL,CAAc,GAAd,CAArC,EAAyD;AAEzD,QAAA,KAAK,KAAK,IAAV,GAAiB,KAAK,aAAL,CAAmB,GAAnB,CAAuB,GAAvB,CAAjB,GAA+C,KAAK,aAAL,CAAmB,MAAnB,CAA0B,GAA1B,CAA/C;AACD;AACF,KA3MM;;AA4MP,IAAA,UAAU,CAAE,GAAF,EAAwB,MAAxB,EAAuC;AAC/C,UAAI,CAAC,KAAK,KAAL,CAAW,cAAX,CAA0B,GAA1B,CAAL,EAAqC;AAErC,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,GAAX,CAAb;AACA,YAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAN,EAAY,KAAK,YAAjB,CAArC;;AAEA,UAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAtB,IAAgC,IAAI,CAAC,KAArC,IAA8C,CAAC,IAAI,CAAC,KAAL,CAAW,SAA9D,EAAyE;AACvE,QAAA,IAAI,CAAC,KAAL,CAAW,aAAX,GAA2B,IAA3B,CAAgC,MAAM,KAAK,UAAL,CAAgB,GAAhB,EAAqB,MAArB,CAAtC;AACD,OAFD,MAEO,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAzB,EAAiC;AACtC,QAAA,IAAI,CAAC,MAAL,GAAc,MAAd;AAEA,QAAA,IAAI,CAAC,MAAL,GAAc,KAAK,SAAL,CAAe,GAAf,CAAmB,GAAnB,CAAd,GAAwC,KAAK,SAAL,CAAe,MAAf,CAAsB,GAAtB,CAAxC;AAEA,aAAK,gBAAL,CAAsB,GAAtB;AACD;AACF,KA3NM;;AA4NP,IAAA,gBAAgB,CAAE,GAAF,EAAsB;AACpC,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,GAAX,CAAb;;AAEA,UAAI,IAAI,IAAI,IAAI,CAAC,KAAjB,EAAwB;AACtB,QAAA,IAAI,CAAC,KAAL,CAAW,UAAX,GAAwB,IAAI,CAAC,UAA7B;AACA,QAAA,IAAI,CAAC,KAAL,CAAW,eAAX,GAA6B,IAAI,CAAC,eAAlC;AACA,QAAA,IAAI,CAAC,KAAL,CAAW,QAAX,GAAsB,IAAI,CAAC,QAA3B;AACA,QAAA,IAAI,CAAC,KAAL,CAAW,MAAX,GAAoB,IAAI,CAAC,MAAzB;AACD;AACF,KArOM;;AAsOP,IAAA,UAAU,CAAE,GAAF,EAAsB;AAC9B,aAAO,CAAC,CAAC,KAAK,MAAP,IAAiB,KAAK,aAAL,CAAmB,GAAnB,CAAuB,GAAvB,CAAxB;AACD;;AAxOM,GAjIF;;AA4WP,EAAA,MAAM,GAAA;AACJ,UAAM,QAAQ,GAA+B,KAAK,KAAL,CAAW,MAAX,GACzC,KAAK,KAAL,CAAW,MAAX,CAAkB,IAAI,IAAG;AACzB,aAAO,CAAC,KAAK,UAAL,CAAgB,oBAAoB,CAAC,IAAD,EAAO,KAAK,OAAZ,CAApC,CAAR;AACD,KAFC,EAEC,GAFD,CAEK,IAAI,IAAG;AACZ,YAAM,QAAQ,GAAG,aAAa,CAAC,OAAd,CAAsB,QAAtB,CAA+B,IAA/B,CAAoC,IAApC,CAAjB;AAEA,aAAO,QAAQ,CAAC,IAAD,EAAO,KAAK,QAAL,IAAiB,oBAAoB,CAAC,IAAD,EAAO,KAAK,YAAZ,CAA5C,CAAf;AACD,KANC;AAOF;AAR2C,MASzC,KAAK,MAAL,CAAY,OAThB,CADI,CAUqB;;AAEzB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,YAAD,EAAe;AACpB,iCAAyB,KAAK,SADV;AAEpB,6BAAqB,KAAK,KAFN;AAGpB,WAAG,KAAK;AAHY,OAAf;AADO,KAAR,EAML,QANK,CAAR;AAOD;;AA/XM,CAJM,CAAf","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n }],\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
@@ -11,9 +11,6 @@ import { convertToUnit, getSlot } from '../../util/helpers'; // Types
11
11
  import { defineComponent } from 'vue';
12
12
  export default defineComponent({
13
13
  name: 'v-virtual-scroll',
14
- directives: {
15
- Scroll
16
- },
17
14
  extends: Measurable,
18
15
  props: {
19
16
  bench: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n },\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return withDirectives(\n h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n ...(this as any).$listeners,\n }, {\n default: () => [content]\n }),\n [\n [Scroll, this.onScroll, '', { self: true }]\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
1
+ {"version":3,"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'v-virtual-scroll',\n\n\n extends: Measurable,\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n },\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return h('div', {\n class: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (): VNode {\n const content = h('div', {\n class: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return withDirectives(\n h('div', {\n class: 'v-virtual-scroll',\n style: this.measurableStyles,\n ...(this as any).$listeners,\n }, {\n default: () => [content]\n }),\n [\n [Scroll, this.onScroll, '', { self: true }]\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VVirtualScroll.js"}
@@ -14,9 +14,6 @@ import { getSlot } from '../../util/helpers';
14
14
  export default defineComponent({
15
15
  name: 'v-window',
16
16
  extends: BaseItemGroup,
17
- directives: {
18
- Touch
19
- },
20
17
 
21
18
  provide() {
22
19
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType, defineComponent } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-window',\n extends: BaseItemGroup,\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n modelValue: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return h('div', {\n class: ['v-window__container', {\n 'v-window__container--is-active': this.isActive,\n }],\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n onClick: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n }\n }\n const children = this.$slots[direction]?.({\n attrs,\n }) ?? [h(VBtn, {\n icon: true,\n ...attrs,\n }, {\n default: () => [\n h(VIcon, {\n large: true,\n }, {\n default: () => icon\n }),\n ]\n })]\n\n return h('div', {\n class: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (): VNode {\n const directives = []\n\n const data = {\n class: ['v-window', this.classes]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n directives.push([\n Touch,\n value\n ])\n }\n\n return withDirectives(h('div', data, [this.genContainer()]), directives)\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
1
+ {"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType, defineComponent } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-window',\n extends: BaseItemGroup,\n\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n modelValue: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return h('div', {\n class: ['v-window__container', {\n 'v-window__container--is-active': this.isActive,\n }],\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n onClick: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n }\n }\n const children = this.$slots[direction]?.({\n attrs,\n }) ?? [h(VBtn, {\n icon: true,\n ...attrs,\n }, {\n default: () => [\n h(VIcon, {\n large: true,\n }, {\n default: () => icon\n }),\n ]\n })]\n\n return h('div', {\n class: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (): VNode {\n const directives = []\n\n const data = {\n class: ['v-window', this.classes]\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n directives.push([\n Touch,\n value\n ])\n }\n\n return withDirectives(h('div', data, [this.genContainer()]), directives)\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
@@ -1,9 +1,7 @@
1
1
  import { h, vShow, withDirectives } from 'vue'; // Mixins
2
2
 
3
3
  import Bootable from '../../mixins/bootable';
4
- import { factory as GroupableFactory } from '../../mixins/groupable'; // Directives
5
-
6
- import Touch from '../../directives/touch'; // Utilities
4
+ import { factory as GroupableFactory } from '../../mixins/groupable'; // Utilities
7
5
 
8
6
  import { convertToUnit, getSlot } from '../../util/helpers';
9
7
  import mixins from '../../util/mixins'; // Types
@@ -12,9 +10,7 @@ import { Transition } from 'vue';
12
10
  const baseMixins = mixins(Bootable, GroupableFactory('windowGroup', 'v-window-item', 'v-window'));
13
11
  export default baseMixins.extend({
14
12
  name: 'v-window-item',
15
- directives: {
16
- Touch
17
- },
13
+ emits: ['change'],
18
14
  props: {
19
15
  disabled: Boolean,
20
16
  reverseTransition: {