@dimailn/vuetify 2.7.2-alpha3 → 2.7.2-alpha32

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 (887) hide show
  1. package/dist/vuetify.js +3833 -2062
  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 +39 -9
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +23 -17
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VAppBar/VAppBarNavIcon.js +5 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VAutocomplete/VAutocomplete.js +11 -7
  12. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  13. package/es5/components/VBadge/VBadge.js +46 -14
  14. package/es5/components/VBadge/VBadge.js.map +1 -1
  15. package/es5/components/VBanner/VBanner.js +51 -15
  16. package/es5/components/VBanner/VBanner.js.map +1 -1
  17. package/es5/components/VBottomNavigation/VBottomNavigation.js +33 -7
  18. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  19. package/es5/components/VBreadcrumbs/VBreadcrumbs.js +22 -8
  20. package/es5/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  21. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  22. package/es5/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  23. package/es5/components/VBtn/VBtn.js +20 -16
  24. package/es5/components/VBtn/VBtn.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendar.js +27 -29
  26. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  27. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  28. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  29. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  30. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  31. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  32. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  33. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  34. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  35. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  36. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  37. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  38. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  39. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  40. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  41. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  42. package/es5/components/VCarousel/VCarousel.js +61 -17
  43. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  44. package/es5/components/VCarousel/VCarouselItem.js +7 -3
  45. package/es5/components/VCarousel/VCarouselItem.js.map +1 -1
  46. package/es5/components/VCheckbox/VCheckbox.js +34 -1
  47. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  48. package/es5/components/VCheckbox/VSimpleCheckbox.js +94 -38
  49. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  50. package/es5/components/VChip/VChip.js +15 -6
  51. package/es5/components/VChip/VChip.js.map +1 -1
  52. package/es5/components/VColorPicker/VColorPicker.js +54 -39
  53. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  54. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  55. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  56. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  57. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  58. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  59. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  60. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  61. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  62. package/es5/components/VCombobox/VCombobox.js +1 -0
  63. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  64. package/es5/components/VData/VData.js +15 -2
  65. package/es5/components/VData/VData.js.map +1 -1
  66. package/es5/components/VDataIterator/VDataFooter.js +21 -7
  67. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  68. package/es5/components/VDataIterator/VDataIterator.js +47 -50
  69. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  70. package/es5/components/VDataTable/RowGroup.js +46 -15
  71. package/es5/components/VDataTable/RowGroup.js.map +1 -1
  72. package/es5/components/VDataTable/VDataTable.js +41 -44
  73. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  74. package/es5/components/VDataTable/VDataTableHeader.js +5 -8
  75. package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
  76. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +8 -2
  77. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  78. package/es5/components/VDataTable/VDataTableHeaderMobile.js +29 -37
  79. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  80. package/es5/components/VDataTable/VEditDialog.js +26 -22
  81. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  82. package/es5/components/VDataTable/VSimpleTable.js +1 -1
  83. package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
  84. package/es5/components/VDataTable/VVirtualTable.js +6 -6
  85. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  86. package/es5/components/VDataTable/mixins/header.js +7 -9
  87. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  88. package/es5/components/VDatePicker/VDatePicker.js +39 -32
  89. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  90. package/es5/components/VDatePicker/VDatePickerHeader.js +68 -24
  91. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  92. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  93. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  94. package/es5/components/VDatePicker/VDatePickerTitle.js +44 -10
  95. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  96. package/es5/components/VDatePicker/VDatePickerYears.js +47 -23
  97. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  98. package/es5/components/VDatePicker/mixins/date-picker-table.js +51 -30
  99. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  100. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  101. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  102. package/es5/components/VDialog/VDialog.js +58 -32
  103. package/es5/components/VDialog/VDialog.js.map +1 -1
  104. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  105. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  106. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +12 -10
  107. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  108. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +17 -20
  109. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  110. package/es5/components/VFileInput/VFileInput.js +50 -27
  111. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  112. package/es5/components/VForm/VForm.js +45 -30
  113. package/es5/components/VForm/VForm.js.map +1 -1
  114. package/es5/components/VGrid/VCol.js +3 -3
  115. package/es5/components/VGrid/VCol.js.map +1 -1
  116. package/es5/components/VGrid/VContainer.js +3 -1
  117. package/es5/components/VGrid/VContainer.js.map +1 -1
  118. package/es5/components/VHover/VHover.js +1 -0
  119. package/es5/components/VHover/VHover.js.map +1 -1
  120. package/es5/components/VImg/VImg.js +10 -8
  121. package/es5/components/VImg/VImg.js.map +1 -1
  122. package/es5/components/VInput/VInput.js +65 -12
  123. package/es5/components/VInput/VInput.js.map +1 -1
  124. package/es5/components/VItemGroup/VItem.js +21 -17
  125. package/es5/components/VItemGroup/VItem.js.map +1 -1
  126. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  127. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  128. package/es5/components/VLazy/VLazy.js +8 -15
  129. package/es5/components/VLazy/VLazy.js.map +1 -1
  130. package/es5/components/VList/VList.js +1 -1
  131. package/es5/components/VList/VList.js.map +1 -1
  132. package/es5/components/VList/VListGroup.js +73 -40
  133. package/es5/components/VList/VListGroup.js.map +1 -1
  134. package/es5/components/VList/VListItem.js +63 -18
  135. package/es5/components/VList/VListItem.js.map +1 -1
  136. package/es5/components/VList/VListItemAction.js +23 -9
  137. package/es5/components/VList/VListItemAction.js.map +1 -1
  138. package/es5/components/VMenu/VMenu.js +57 -31
  139. package/es5/components/VMenu/VMenu.js.map +1 -1
  140. package/es5/components/VMessages/VMessages.js +33 -6
  141. package/es5/components/VMessages/VMessages.js.map +1 -1
  142. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +37 -16
  143. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  144. package/es5/components/VOtpInput/VOtpInput.js +37 -5
  145. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  146. package/es5/components/VOverflowBtn/VOverflowBtn.js +4 -1
  147. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  148. package/es5/components/VOverlay/VOverlay.js +32 -4
  149. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  150. package/es5/components/VPagination/VPagination.js +48 -27
  151. package/es5/components/VPagination/VPagination.js.map +1 -1
  152. package/es5/components/VPicker/VPicker.js +7 -4
  153. package/es5/components/VPicker/VPicker.js.map +1 -1
  154. package/es5/components/VProgressCircular/VProgressCircular.js +6 -13
  155. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  156. package/es5/components/VProgressLinear/VProgressLinear.js +67 -25
  157. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  158. package/es5/components/VRadioGroup/VRadio.js +11 -2
  159. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  160. package/es5/components/VRadioGroup/VRadioGroup.js +30 -2
  161. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  162. package/es5/components/VRangeSlider/VRangeSlider.js +57 -32
  163. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  164. package/es5/components/VRating/VRating.js +45 -17
  165. package/es5/components/VRating/VRating.js.map +1 -1
  166. package/es5/components/VSelect/VSelect.js +156 -79
  167. package/es5/components/VSelect/VSelect.js.map +1 -1
  168. package/es5/components/VSelect/VSelectList.js +104 -44
  169. package/es5/components/VSelect/VSelectList.js.map +1 -1
  170. package/es5/components/VSlideGroup/VSlideGroup.js +27 -22
  171. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  172. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  173. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  174. package/es5/components/VSlider/VSlider.js +73 -41
  175. package/es5/components/VSlider/VSlider.js.map +1 -1
  176. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  177. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  178. package/es5/components/VSparkline/VSparkline.js +48 -68
  179. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  180. package/es5/components/VSpeedDial/VSpeedDial.js +13 -17
  181. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  182. package/es5/components/VStepper/VStepper.js +1 -0
  183. package/es5/components/VStepper/VStepper.js.map +1 -1
  184. package/es5/components/VStepper/VStepperContent.js +4 -2
  185. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  186. package/es5/components/VStepper/VStepperStep.js +12 -20
  187. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  188. package/es5/components/VSubheader/VSubheader.js +2 -2
  189. package/es5/components/VSubheader/VSubheader.js.map +1 -1
  190. package/es5/components/VSwitch/VSwitch.js +11 -9
  191. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  192. package/es5/components/VTabs/VTab.js +1 -0
  193. package/es5/components/VTabs/VTab.js.map +1 -1
  194. package/es5/components/VTabs/VTabs.js +62 -23
  195. package/es5/components/VTabs/VTabs.js.map +1 -1
  196. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  197. package/es5/components/VTabs/VTabsItems.js +1 -0
  198. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  199. package/es5/components/VTextField/VTextField.js +39 -28
  200. package/es5/components/VTextField/VTextField.js.map +1 -1
  201. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  202. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  203. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  204. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  205. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  206. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  207. package/es5/components/VToolbar/VToolbar.js +3 -6
  208. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  209. package/es5/components/VTooltip/VTooltip.js +13 -12
  210. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  211. package/es5/components/VTreeview/VTreeview.js +24 -18
  212. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  213. package/es5/components/VTreeview/VTreeviewNode.js +12 -6
  214. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  215. package/es5/components/VVirtualScroll/VVirtualScroll.js +15 -19
  216. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  217. package/es5/components/VWindow/VWindow.js +13 -8
  218. package/es5/components/VWindow/VWindow.js.map +1 -1
  219. package/es5/components/VWindow/VWindowItem.js +10 -10
  220. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  221. package/es5/components/transitions/createTransition.js +8 -2
  222. package/es5/components/transitions/createTransition.js.map +1 -1
  223. package/es5/components/transitions/expand-transition.js +1 -0
  224. package/es5/components/transitions/expand-transition.js.map +1 -1
  225. package/es5/directives/intersect/index.js +20 -7
  226. package/es5/directives/intersect/index.js.map +1 -1
  227. package/es5/directives/mutate/index.js +13 -13
  228. package/es5/directives/mutate/index.js.map +1 -1
  229. package/es5/directives/resize/index.js +8 -8
  230. package/es5/directives/resize/index.js.map +1 -1
  231. package/es5/directives/scroll/index.js +10 -9
  232. package/es5/directives/scroll/index.js.map +1 -1
  233. package/es5/directives/touch/index.js +4 -4
  234. package/es5/directives/touch/index.js.map +1 -1
  235. package/es5/framework.js +1 -1
  236. package/es5/install.js +10 -33
  237. package/es5/install.js.map +1 -1
  238. package/es5/mixins/activatable/index.js +11 -5
  239. package/es5/mixins/activatable/index.js.map +1 -1
  240. package/es5/mixins/applicationable/index.js +4 -4
  241. package/es5/mixins/applicationable/index.js.map +1 -1
  242. package/es5/mixins/binds-attrs/index.js +1 -1
  243. package/es5/mixins/binds-attrs/index.js.map +1 -1
  244. package/es5/mixins/bootable/index.js +1 -2
  245. package/es5/mixins/bootable/index.js.map +1 -1
  246. package/es5/mixins/detachable/index.js +12 -9
  247. package/es5/mixins/detachable/index.js.map +1 -1
  248. package/es5/mixins/groupable/index.js +1 -1
  249. package/es5/mixins/groupable/index.js.map +1 -1
  250. package/es5/mixins/intersectable/index.js +2 -2
  251. package/es5/mixins/intersectable/index.js.map +1 -1
  252. package/es5/mixins/menuable/index.js +1 -1
  253. package/es5/mixins/menuable/index.js.map +1 -1
  254. package/es5/mixins/mouse/index.js +10 -5
  255. package/es5/mixins/mouse/index.js.map +1 -1
  256. package/es5/mixins/overlayable/index.js +5 -3
  257. package/es5/mixins/overlayable/index.js.map +1 -1
  258. package/es5/mixins/picker/index.js +13 -3
  259. package/es5/mixins/picker/index.js.map +1 -1
  260. package/es5/mixins/routable/index.js +5 -2
  261. package/es5/mixins/routable/index.js.map +1 -1
  262. package/es5/mixins/selectable/index.js +5 -5
  263. package/es5/mixins/selectable/index.js.map +1 -1
  264. package/es5/mixins/translatable/index.js +1 -1
  265. package/es5/mixins/translatable/index.js.map +1 -1
  266. package/es5/mixins/validatable/index.js +34 -7
  267. package/es5/mixins/validatable/index.js.map +1 -1
  268. package/es5/services/breakpoint/index.js +3 -1
  269. package/es5/services/breakpoint/index.js.map +1 -1
  270. package/es5/util/console.js +49 -18
  271. package/es5/util/console.js.map +1 -1
  272. package/es5/util/helpers.js +49 -1
  273. package/es5/util/helpers.js.map +1 -1
  274. package/es5/util/legacyEventsMixin.js +48 -0
  275. package/es5/util/legacyEventsMixin.js.map +1 -0
  276. package/lib/components/VAlert/VAlert.js +13 -7
  277. package/lib/components/VAlert/VAlert.js.map +1 -1
  278. package/lib/components/VAppBar/VAppBar.js +23 -16
  279. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  280. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  281. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  282. package/lib/components/VAutocomplete/VAutocomplete.js +12 -8
  283. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  284. package/lib/components/VBadge/VBadge.js +26 -13
  285. package/lib/components/VBadge/VBadge.js.map +1 -1
  286. package/lib/components/VBanner/VBanner.js +20 -13
  287. package/lib/components/VBanner/VBanner.js.map +1 -1
  288. package/lib/components/VBottomNavigation/VBottomNavigation.js +15 -7
  289. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  290. package/lib/components/VBreadcrumbs/VBreadcrumbs.js +7 -5
  291. package/lib/components/VBreadcrumbs/VBreadcrumbs.js.map +1 -1
  292. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js +4 -0
  293. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.js.map +1 -1
  294. package/lib/components/VBtn/VBtn.js +21 -20
  295. package/lib/components/VBtn/VBtn.js.map +1 -1
  296. package/lib/components/VCalendar/VCalendar.js +26 -31
  297. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  298. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  299. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  300. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  301. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  302. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  303. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  304. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  305. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  306. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  307. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  308. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  309. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  310. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  311. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  312. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  313. package/lib/components/VCarousel/VCarousel.js +36 -16
  314. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  315. package/lib/components/VCarousel/VCarouselItem.js +1 -1
  316. package/lib/components/VCarousel/VCarouselItem.js.map +1 -1
  317. package/lib/components/VCheckbox/VCheckbox.js +15 -2
  318. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  319. package/lib/components/VCheckbox/VSimpleCheckbox.js +83 -39
  320. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  321. package/lib/components/VChip/VChip.js +15 -6
  322. package/lib/components/VChip/VChip.js.map +1 -1
  323. package/lib/components/VColorPicker/VColorPicker.js +47 -44
  324. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  325. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  326. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  327. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  328. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  329. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  330. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  331. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  332. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  333. package/lib/components/VCombobox/VCombobox.js +1 -0
  334. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  335. package/lib/components/VData/VData.js +16 -2
  336. package/lib/components/VData/VData.js.map +1 -1
  337. package/lib/components/VDataIterator/VDataFooter.js +15 -7
  338. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  339. package/lib/components/VDataIterator/VDataIterator.js +31 -34
  340. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  341. package/lib/components/VDataTable/RowGroup.js +30 -14
  342. package/lib/components/VDataTable/RowGroup.js.map +1 -1
  343. package/lib/components/VDataTable/VDataTable.js +20 -33
  344. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  345. package/lib/components/VDataTable/VDataTableHeader.js +7 -9
  346. package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
  347. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +7 -1
  348. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  349. package/lib/components/VDataTable/VDataTableHeaderMobile.js +18 -25
  350. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  351. package/lib/components/VDataTable/VEditDialog.js +18 -18
  352. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  353. package/lib/components/VDataTable/VSimpleTable.js +1 -1
  354. package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
  355. package/lib/components/VDataTable/VVirtualTable.js +2 -3
  356. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  357. package/lib/components/VDataTable/mixins/header.js +3 -8
  358. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  359. package/lib/components/VDatePicker/VDatePicker.js +24 -23
  360. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  361. package/lib/components/VDatePicker/VDatePickerHeader.js +45 -21
  362. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  363. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  364. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  365. package/lib/components/VDatePicker/VDatePickerTitle.js +17 -5
  366. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  367. package/lib/components/VDatePicker/VDatePickerYears.js +17 -8
  368. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  369. package/lib/components/VDatePicker/mixins/date-picker-table.js +30 -15
  370. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  371. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  372. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  373. package/lib/components/VDialog/VDialog.js +12 -4
  374. package/lib/components/VDialog/VDialog.js.map +1 -1
  375. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  376. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  377. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +2 -2
  378. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  379. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +4 -7
  380. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  381. package/lib/components/VFileInput/VFileInput.js +43 -25
  382. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  383. package/lib/components/VForm/VForm.js +41 -26
  384. package/lib/components/VForm/VForm.js.map +1 -1
  385. package/lib/components/VGrid/VCol.js +3 -3
  386. package/lib/components/VGrid/VCol.js.map +1 -1
  387. package/lib/components/VGrid/VContainer.js +3 -1
  388. package/lib/components/VGrid/VContainer.js.map +1 -1
  389. package/lib/components/VHover/VHover.js +1 -0
  390. package/lib/components/VHover/VHover.js.map +1 -1
  391. package/lib/components/VImg/VImg.js +5 -9
  392. package/lib/components/VImg/VImg.js.map +1 -1
  393. package/lib/components/VInput/VInput.js +32 -9
  394. package/lib/components/VInput/VInput.js.map +1 -1
  395. package/lib/components/VItemGroup/VItem.js +25 -21
  396. package/lib/components/VItemGroup/VItem.js.map +1 -1
  397. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  398. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  399. package/lib/components/VLazy/VLazy.js +8 -15
  400. package/lib/components/VLazy/VLazy.js.map +1 -1
  401. package/lib/components/VList/VList.js +1 -1
  402. package/lib/components/VList/VList.js.map +1 -1
  403. package/lib/components/VList/VListGroup.js +34 -32
  404. package/lib/components/VList/VListGroup.js.map +1 -1
  405. package/lib/components/VList/VListItem.js +40 -18
  406. package/lib/components/VList/VListItem.js.map +1 -1
  407. package/lib/components/VList/VListItemAction.js +15 -9
  408. package/lib/components/VList/VListItemAction.js.map +1 -1
  409. package/lib/components/VMenu/VMenu.js +16 -4
  410. package/lib/components/VMenu/VMenu.js.map +1 -1
  411. package/lib/components/VMessages/VMessages.js +13 -2
  412. package/lib/components/VMessages/VMessages.js.map +1 -1
  413. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +12 -8
  414. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  415. package/lib/components/VOtpInput/VOtpInput.js +50 -6
  416. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  417. package/lib/components/VOverflowBtn/VOverflowBtn.js +2 -1
  418. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  419. package/lib/components/VOverlay/VOverlay.js +14 -3
  420. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  421. package/lib/components/VPagination/VPagination.js +28 -23
  422. package/lib/components/VPagination/VPagination.js.map +1 -1
  423. package/lib/components/VPicker/VPicker.js +4 -4
  424. package/lib/components/VPicker/VPicker.js.map +1 -1
  425. package/lib/components/VProgressCircular/VProgressCircular.js +6 -7
  426. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  427. package/lib/components/VProgressLinear/VProgressLinear.js +46 -19
  428. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  429. package/lib/components/VRadioGroup/VRadio.js +3 -2
  430. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  431. package/lib/components/VRadioGroup/VRadioGroup.js +14 -5
  432. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  433. package/lib/components/VRangeSlider/VRangeSlider.js +17 -5
  434. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  435. package/lib/components/VRating/VRating.js +11 -0
  436. package/lib/components/VRating/VRating.js.map +1 -1
  437. package/lib/components/VSelect/VSelect.js +99 -40
  438. package/lib/components/VSelect/VSelect.js.map +1 -1
  439. package/lib/components/VSelect/VSelectList.js +54 -29
  440. package/lib/components/VSelect/VSelectList.js.map +1 -1
  441. package/lib/components/VSlideGroup/VSlideGroup.js +4 -7
  442. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  443. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  444. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  445. package/lib/components/VSlider/VSlider.js +37 -25
  446. package/lib/components/VSlider/VSlider.js.map +1 -1
  447. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  448. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  449. package/lib/components/VSparkline/VSparkline.js +48 -67
  450. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  451. package/lib/components/VSpeedDial/VSpeedDial.js +9 -15
  452. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  453. package/lib/components/VStepper/VStepper.js +1 -0
  454. package/lib/components/VStepper/VStepper.js.map +1 -1
  455. package/lib/components/VStepper/VStepperContent.js +2 -2
  456. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  457. package/lib/components/VStepper/VStepperStep.js +8 -19
  458. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  459. package/lib/components/VSubheader/VSubheader.js +1 -2
  460. package/lib/components/VSubheader/VSubheader.js.map +1 -1
  461. package/lib/components/VSwitch/VSwitch.js +2 -4
  462. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  463. package/lib/components/VTabs/VTab.js +1 -0
  464. package/lib/components/VTabs/VTab.js.map +1 -1
  465. package/lib/components/VTabs/VTabs.js +28 -7
  466. package/lib/components/VTabs/VTabs.js.map +1 -1
  467. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  468. package/lib/components/VTabs/VTabsItems.js +1 -0
  469. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  470. package/lib/components/VTextField/VTextField.js +12 -18
  471. package/lib/components/VTextField/VTextField.js.map +1 -1
  472. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  473. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  474. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  475. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  476. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  477. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  478. package/lib/components/VToolbar/VToolbar.js +5 -6
  479. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  480. package/lib/components/VTooltip/VTooltip.js +10 -14
  481. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  482. package/lib/components/VTreeview/VTreeview.js +15 -13
  483. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  484. package/lib/components/VTreeview/VTreeviewNode.js +4 -6
  485. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  486. package/lib/components/VVirtualScroll/VVirtualScroll.js +8 -14
  487. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  488. package/lib/components/VWindow/VWindow.js +7 -6
  489. package/lib/components/VWindow/VWindow.js.map +1 -1
  490. package/lib/components/VWindow/VWindowItem.js +5 -7
  491. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  492. package/lib/components/transitions/createTransition.js +2 -2
  493. package/lib/components/transitions/createTransition.js.map +1 -1
  494. package/lib/components/transitions/expand-transition.js +1 -0
  495. package/lib/components/transitions/expand-transition.js.map +1 -1
  496. package/lib/directives/intersect/index.js +20 -7
  497. package/lib/directives/intersect/index.js.map +1 -1
  498. package/lib/directives/mutate/index.js +13 -13
  499. package/lib/directives/mutate/index.js.map +1 -1
  500. package/lib/directives/resize/index.js +8 -8
  501. package/lib/directives/resize/index.js.map +1 -1
  502. package/lib/directives/scroll/index.js +10 -9
  503. package/lib/directives/scroll/index.js.map +1 -1
  504. package/lib/directives/touch/index.js +4 -4
  505. package/lib/directives/touch/index.js.map +1 -1
  506. package/lib/framework.js +1 -1
  507. package/lib/install.js +5 -28
  508. package/lib/install.js.map +1 -1
  509. package/lib/mixins/activatable/index.js +12 -6
  510. package/lib/mixins/activatable/index.js.map +1 -1
  511. package/lib/mixins/applicationable/index.js +4 -4
  512. package/lib/mixins/applicationable/index.js.map +1 -1
  513. package/lib/mixins/binds-attrs/index.js +1 -1
  514. package/lib/mixins/binds-attrs/index.js.map +1 -1
  515. package/lib/mixins/bootable/index.js +2 -4
  516. package/lib/mixins/bootable/index.js.map +1 -1
  517. package/lib/mixins/detachable/index.js +13 -10
  518. package/lib/mixins/detachable/index.js.map +1 -1
  519. package/lib/mixins/groupable/index.js +1 -1
  520. package/lib/mixins/groupable/index.js.map +1 -1
  521. package/lib/mixins/intersectable/index.js +2 -2
  522. package/lib/mixins/intersectable/index.js.map +1 -1
  523. package/lib/mixins/menuable/index.js +1 -1
  524. package/lib/mixins/menuable/index.js.map +1 -1
  525. package/lib/mixins/mouse/index.js +9 -5
  526. package/lib/mixins/mouse/index.js.map +1 -1
  527. package/lib/mixins/overlayable/index.js +5 -3
  528. package/lib/mixins/overlayable/index.js.map +1 -1
  529. package/lib/mixins/picker/index.js +5 -3
  530. package/lib/mixins/picker/index.js.map +1 -1
  531. package/lib/mixins/routable/index.js +5 -2
  532. package/lib/mixins/routable/index.js.map +1 -1
  533. package/lib/mixins/selectable/index.js +6 -5
  534. package/lib/mixins/selectable/index.js.map +1 -1
  535. package/lib/mixins/translatable/index.js +1 -1
  536. package/lib/mixins/translatable/index.js.map +1 -1
  537. package/lib/mixins/validatable/index.js +17 -7
  538. package/lib/mixins/validatable/index.js.map +1 -1
  539. package/lib/services/breakpoint/index.js +3 -1
  540. package/lib/services/breakpoint/index.js.map +1 -1
  541. package/lib/util/console.js +47 -17
  542. package/lib/util/console.js.map +1 -1
  543. package/lib/util/helpers.js +47 -1
  544. package/lib/util/helpers.js.map +1 -1
  545. package/lib/util/legacyEventsMixin.js +37 -0
  546. package/lib/util/legacyEventsMixin.js.map +1 -0
  547. package/package.json +1 -1
  548. package/src/components/VAlert/VAlert.ts +19 -8
  549. package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
  550. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
  551. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  552. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  553. package/src/components/VAppBar/VAppBar.ts +21 -14
  554. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  555. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  556. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  557. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  558. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  559. package/src/components/VAutocomplete/VAutocomplete.ts +35 -6
  560. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
  561. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
  562. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
  563. package/src/components/VAvatar/__tests__/VAvatar.spec.ts +72 -10
  564. package/src/components/VBadge/VBadge.ts +38 -26
  565. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  566. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  567. package/src/components/VBanner/VBanner.ts +30 -17
  568. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  569. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  570. package/src/components/VBottomNavigation/VBottomNavigation.ts +20 -8
  571. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +43 -37
  572. package/src/components/VBottomNavigation/__tests__/__snapshots__/VBottomNavigation.spec.ts.snap +11 -10
  573. package/src/components/VBreadcrumbs/VBreadcrumbs.ts +8 -4
  574. package/src/components/VBreadcrumbs/VBreadcrumbsItem.ts +4 -0
  575. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbs.spec.ts +125 -10
  576. package/src/components/VBreadcrumbs/__tests__/VBreadcrumbsItem.spec.ts +10 -6
  577. package/src/components/VBtn/VBtn.ts +25 -17
  578. package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
  579. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  580. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -6
  581. package/src/components/VCalendar/VCalendar.ts +29 -27
  582. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  583. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  584. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  585. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  586. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  587. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  588. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  589. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  590. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  591. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  592. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  593. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  594. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  595. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  596. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  597. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  598. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  599. package/src/components/VCalendar/mixins/times.ts +1 -1
  600. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  601. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  602. package/src/components/VCarousel/VCarousel.ts +42 -15
  603. package/src/components/VCarousel/VCarouselItem.ts +1 -1
  604. package/src/components/VCarousel/__tests__/VCarousel.spec.ts +74 -54
  605. package/src/components/VCarousel/__tests__/VCarouselItem.spec.ts +9 -5
  606. package/src/components/VCarousel/__tests__/__snapshots__/VCarousel.spec.ts.snap +1 -1
  607. package/src/components/VCheckbox/VCheckbox.ts +20 -2
  608. package/src/components/VCheckbox/VSimpleCheckbox.ts +97 -45
  609. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  610. package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
  611. package/src/components/VChip/VChip.ts +17 -13
  612. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  613. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  614. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  615. package/src/components/VColorPicker/VColorPicker.ts +51 -41
  616. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  617. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  618. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  619. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  620. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  621. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  622. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  623. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  624. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +218 -175
  625. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +38 -21
  626. package/src/components/VCombobox/VCombobox.ts +23 -0
  627. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
  628. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
  629. package/src/components/VData/VData.ts +14 -1
  630. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  631. package/src/components/VDataIterator/VDataFooter.ts +16 -9
  632. package/src/components/VDataIterator/VDataIterator.ts +51 -35
  633. package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
  634. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
  635. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
  636. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
  637. package/src/components/VDataTable/RowGroup.ts +33 -16
  638. package/src/components/VDataTable/VDataTable.ts +20 -29
  639. package/src/components/VDataTable/VDataTableHeader.ts +8 -9
  640. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +10 -1
  641. package/src/components/VDataTable/VDataTableHeaderMobile.ts +18 -25
  642. package/src/components/VDataTable/VEditDialog.ts +23 -21
  643. package/src/components/VDataTable/VSimpleTable.ts +2 -3
  644. package/src/components/VDataTable/VVirtualTable.ts +2 -3
  645. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  646. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  647. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  648. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
  649. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
  650. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
  651. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
  652. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  653. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  654. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
  655. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
  656. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
  657. package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
  658. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
  659. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
  660. package/src/components/VDataTable/mixins/header.ts +6 -10
  661. package/src/components/VDatePicker/VDatePicker.ts +30 -25
  662. package/src/components/VDatePicker/VDatePickerHeader.ts +57 -32
  663. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  664. package/src/components/VDatePicker/VDatePickerTitle.ts +21 -7
  665. package/src/components/VDatePicker/VDatePickerYears.ts +19 -10
  666. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  667. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  668. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  669. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  670. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  671. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  672. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  673. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  674. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  675. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  676. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  677. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  678. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  679. package/src/components/VDatePicker/mixins/date-picker-table.ts +32 -14
  680. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  681. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  682. package/src/components/VDialog/VDialog.ts +23 -11
  683. package/src/components/VDialog/__tests__/VDialog.spec.ts +105 -101
  684. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +0 -15
  685. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  686. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  687. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  688. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +2 -2
  689. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +3 -4
  690. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +43 -27
  691. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +18 -16
  692. package/src/components/VFileInput/VFileInput.ts +47 -32
  693. package/src/components/VFileInput/__tests__/VFileInput.spec.ts +84 -54
  694. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +242 -146
  695. package/src/components/VForm/VForm.ts +63 -35
  696. package/src/components/VForm/__tests__/VForm.spec.ts +100 -80
  697. package/src/components/VGrid/VCol.ts +2 -2
  698. package/src/components/VGrid/VContainer.ts +1 -1
  699. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  700. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  701. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  702. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  703. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  704. package/src/components/VHover/VHover.ts +2 -0
  705. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  706. package/src/components/VImg/VImg.ts +5 -4
  707. package/src/components/VImg/__tests__/VImg.spec.ts +21 -20
  708. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +71 -66
  709. package/src/components/VInput/VInput.ts +33 -8
  710. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  711. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  712. package/src/components/VItemGroup/VItem.ts +30 -24
  713. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  714. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  715. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  716. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  717. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  718. package/src/components/VLazy/VLazy.ts +11 -13
  719. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  720. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  721. package/src/components/VList/VList.ts +1 -1
  722. package/src/components/VList/VListGroup.ts +43 -32
  723. package/src/components/VList/VListItem.ts +55 -23
  724. package/src/components/VList/VListItemAction.ts +11 -10
  725. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  726. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  727. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  728. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  729. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  730. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  731. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  732. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  733. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  734. package/src/components/VMenu/VMenu.ts +25 -4
  735. package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
  736. package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
  737. package/src/components/VMessages/VMessages.ts +15 -4
  738. package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
  739. package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
  740. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +23 -16
  741. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +84 -71
  742. package/src/components/VOtpInput/VOtpInput.ts +39 -4
  743. package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -1
  744. package/src/components/VOverlay/VOverlay.ts +16 -2
  745. package/src/components/VOverlay/__tests__/VOverlay.spec.ts +6 -6
  746. package/src/components/VPagination/VPagination.ts +41 -29
  747. package/src/components/VPagination/__tests__/VPagination.spec.ts +85 -71
  748. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +184 -429
  749. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  750. package/src/components/VPicker/VPicker.ts +9 -11
  751. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  752. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  753. package/src/components/VProgressCircular/VProgressCircular.ts +6 -6
  754. package/src/components/VProgressCircular/__tests__/VProgressCircular.spec.ts +28 -21
  755. package/src/components/VProgressCircular/__tests__/__snapshots__/VProgressCircular.spec.ts.snap +62 -62
  756. package/src/components/VProgressLinear/VProgressLinear.ts +64 -30
  757. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +378 -71
  758. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +53 -79
  759. package/src/components/VRadioGroup/VRadio.ts +4 -2
  760. package/src/components/VRadioGroup/VRadioGroup.ts +20 -7
  761. package/src/components/VRangeSlider/VRangeSlider.ts +20 -5
  762. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +40 -40
  763. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +32 -38
  764. package/src/components/VRating/VRating.ts +13 -0
  765. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  766. package/src/components/VSelect/VSelect.ts +105 -47
  767. package/src/components/VSelect/VSelectList.ts +51 -25
  768. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  769. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  770. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  771. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  772. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  773. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  774. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  775. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  776. package/src/components/VSheet/__tests__/VSheet.spec.ts +5 -5
  777. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  778. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  779. package/src/components/VSlideGroup/VSlideGroup.ts +5 -7
  780. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  781. package/src/components/VSlider/VSlider.ts +58 -32
  782. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  783. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  784. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  785. package/src/components/VSparkline/VSparkline.ts +54 -92
  786. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  787. package/src/components/VSpeedDial/VSpeedDial.ts +12 -15
  788. package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
  789. package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
  790. package/src/components/VStepper/VStepper.ts +3 -1
  791. package/src/components/VStepper/VStepperContent.ts +2 -2
  792. package/src/components/VStepper/VStepperStep.ts +9 -16
  793. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  794. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  795. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  796. package/src/components/VSubheader/VSubheader.ts +1 -1
  797. package/src/components/VSubheader/__tests__/VSubheader.spec.ts +12 -7
  798. package/src/components/VSubheader/__tests__/__snapshots__/VSubheader.spec.ts.snap +1 -1
  799. package/src/components/VSwitch/VSwitch.ts +5 -6
  800. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  801. package/src/components/VSystemBar/__tests__/VSystemBar.spec.ts +89 -17
  802. package/src/components/VTabs/VTab.ts +2 -0
  803. package/src/components/VTabs/VTabs.ts +33 -13
  804. package/src/components/VTabs/VTabsBar.ts +7 -5
  805. package/src/components/VTabs/VTabsItems.ts +2 -0
  806. package/src/components/VTabs/__tests__/VTab.spec.ts +49 -38
  807. package/src/components/VTabs/__tests__/VTabs.spec.ts +127 -79
  808. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +68 -27
  809. package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
  810. package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
  811. package/src/components/VTextField/VTextField.ts +14 -16
  812. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  813. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  814. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  815. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  816. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  817. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  818. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  819. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  820. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +120 -40
  821. package/src/components/VTimeline/__tests__/VTimelineItem.spec.ts +25 -35
  822. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +4 -5
  823. package/src/components/VToolbar/VToolbar.ts +5 -6
  824. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  825. package/src/components/VTooltip/VTooltip.ts +24 -24
  826. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
  827. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  828. package/src/components/VTreeview/VTreeview.ts +20 -17
  829. package/src/components/VTreeview/VTreeviewNode.ts +4 -6
  830. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +168 -174
  831. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +77 -66
  832. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +141 -141
  833. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +26 -51
  834. package/src/components/VVirtualScroll/VVirtualScroll.ts +14 -15
  835. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +24 -20
  836. package/src/components/VWindow/VWindow.ts +9 -6
  837. package/src/components/VWindow/VWindowItem.ts +5 -4
  838. package/src/components/VWindow/__tests__/VWindow.spec.ts +304 -185
  839. package/src/components/VWindow/__tests__/VWindowItem.spec.ts +283 -126
  840. package/src/components/VWindow/__tests__/__snapshots__/VWindow.spec.ts.snap +59 -0
  841. package/src/components/VWindow/__tests__/__snapshots__/VWindowItem.spec.ts.snap +36 -0
  842. package/src/components/transitions/createTransition.ts +2 -2
  843. package/src/components/transitions/expand-transition.ts +2 -0
  844. package/src/directives/intersect/index.ts +81 -42
  845. package/src/directives/mutate/index.ts +58 -49
  846. package/src/directives/resize/index.ts +33 -14
  847. package/src/directives/scroll/index.ts +36 -20
  848. package/src/directives/touch/index.ts +37 -27
  849. package/src/install.ts +10 -32
  850. package/src/mixins/activatable/index.ts +10 -5
  851. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +31 -27
  852. package/src/mixins/applicationable/index.ts +4 -4
  853. package/src/mixins/binds-attrs/index.ts +1 -1
  854. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  855. package/src/mixins/bootable/index.ts +4 -3
  856. package/src/mixins/colorable/__tests__/colorable.spec.ts +9 -6
  857. package/src/mixins/detachable/index.ts +16 -9
  858. package/src/mixins/elevatable/__tests__/elevatable.spec.ts +14 -13
  859. package/src/mixins/groupable/index.ts +1 -1
  860. package/src/mixins/intersectable/__tests__/intersectable.spec.ts +35 -29
  861. package/src/mixins/intersectable/index.ts +2 -2
  862. package/src/mixins/menuable/__tests__/menuable.spec.ts +76 -33
  863. package/src/mixins/menuable/index.ts +1 -1
  864. package/src/mixins/mobile/__tests__/mobile.spec.ts +9 -6
  865. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  866. package/src/mixins/mouse/index.ts +10 -6
  867. package/src/mixins/overlayable/__tests__/overlayable.spec.ts +32 -24
  868. package/src/mixins/overlayable/index.ts +5 -4
  869. package/src/mixins/picker/index.ts +4 -4
  870. package/src/mixins/proxyable/__tests__/proxyable.spec.ts +18 -17
  871. package/src/mixins/registrable/__tests__/registrable.spec.ts +31 -0
  872. package/src/mixins/rippleable/__tests__/rippleable.spec.ts +10 -9
  873. package/src/mixins/roundable/__tests__/roundable.spec.ts +7 -5
  874. package/src/mixins/routable/__tests__/routable.spec.ts +60 -52
  875. package/src/mixins/routable/index.ts +6 -4
  876. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +56 -27
  877. package/src/mixins/selectable/__tests__/selectable.spec.ts +22 -9
  878. package/src/mixins/selectable/index.ts +7 -7
  879. package/src/mixins/translatable/index.ts +1 -1
  880. package/src/mixins/validatable/__tests__/validatable.spec.ts +194 -158
  881. package/src/mixins/validatable/index.ts +29 -21
  882. package/src/services/breakpoint/index.ts +5 -0
  883. package/src/util/__tests__/console.spec.ts +124 -11
  884. package/src/util/__tests__/helpers.spec.ts +121 -32
  885. package/src/util/console.ts +43 -24
  886. package/src/util/helpers.ts +49 -4
  887. package/src/util/legacyEventsMixin.ts +34 -0
@@ -10,8 +10,7 @@ import Intersectable from '../../mixins/intersectable';
10
10
  import Loadable from '../../mixins/loadable';
11
11
  import Validatable from '../../mixins/validatable'; // Directives
12
12
 
13
- import resize from '../../directives/resize';
14
- import ripple from '../../directives/ripple'; // Utilities
13
+ import resize from '../../directives/resize'; // Utilities
15
14
 
16
15
  import { attachedRoot } from '../../util/dom';
17
16
  import { convertToUnit, getSlot, keyCodes } from '../../util/helpers';
@@ -27,10 +26,6 @@ const dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', '
27
26
 
28
27
  export default baseMixins.extend({
29
28
  name: 'v-text-field',
30
- directives: {
31
- resize,
32
- ripple
33
- },
34
29
  props: {
35
30
  appendOuterIcon: String,
36
31
  autofocus: Boolean,
@@ -62,6 +57,7 @@ export default baseMixins.extend({
62
57
  default: 'text'
63
58
  }
64
59
  },
60
+ emits: ['update:modelValue', 'blur', 'focus', 'keydown'],
65
61
  data: () => ({
66
62
  badInput: false,
67
63
  labelWidth: 0,
@@ -184,26 +180,21 @@ export default baseMixins.extend({
184
180
 
185
181
  isFocused: 'updateValue',
186
182
 
187
- value(val) {
183
+ modelValue(val) {
188
184
  this.lazyValue = val;
189
185
  }
190
186
 
191
187
  },
192
188
 
193
189
  created() {
190
+ const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
194
191
  /* istanbul ignore next */
195
- if (this.$attrs.hasOwnProperty('box')) {
196
- breaking('box', 'filled', this);
197
- }
198
- /* istanbul ignore next */
199
-
200
192
 
201
- if (this.$attrs.hasOwnProperty('browser-autocomplete')) {
202
- breaking('browser-autocomplete', 'autocomplete', this);
203
- }
193
+ breakingProps.forEach(([original, replacement]) => {
194
+ if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
195
+ });
204
196
  /* istanbul ignore if */
205
197
 
206
-
207
198
  if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {
208
199
  consoleWarn('shaped should be used with either filled or outlined', this);
209
200
  }
@@ -336,6 +327,7 @@ export default baseMixins.extend({
336
327
  genLabel() {
337
328
  if (!this.showLabel) return null;
338
329
  const data = {
330
+ ref: "label",
339
331
  absolute: true,
340
332
  color: this.validationState,
341
333
  dark: this.dark,
@@ -347,7 +339,7 @@ export default baseMixins.extend({
347
339
  right: this.labelPosition.right,
348
340
  value: this.labelValue
349
341
  };
350
- return h(VLabel, data, getSlot(this, 'label') || this.label);
342
+ return h(VLabel, data, () => getSlot(this, 'label') || this.label);
351
343
  },
352
344
 
353
345
  genLegend() {
@@ -471,8 +463,10 @@ export default baseMixins.extend({
471
463
  },
472
464
 
473
465
  setLabelWidth() {
466
+ var _a, _b, _c, _d;
467
+
474
468
  if (!this.outlined) return;
475
- this.labelWidth = this.$refs.label ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, this.$el.offsetWidth - 24) : 0;
469
+ this.labelWidth = ((_b = (_a = this.$refs) === null || _a === void 0 ? void 0 : _a.label) === null || _b === void 0 ? void 0 : _b.$el) ? Math.min(((_d = (_c = this.$refs) === null || _c === void 0 ? void 0 : _c.label) === null || _d === void 0 ? void 0 : _d.$el.scrollWidth) * 0.75 + 6, this.$el.offsetWidth - 24) : 0;
476
470
  },
477
471
 
478
472
  setPrefixWidth() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('update:modelValue', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']() as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n h('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n\n return h(VLabel, data, getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = h('span', {\n innerHTML: '&#8203;',\n class: 'notranslate',\n })\n\n return h('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return h('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('update:modelValue', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('update:modelValue', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
1
+ {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\nimport { withDirectives, h } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-text-field',\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n emits: ['update:modelValue', 'blur', 'focus', 'keydown'],\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('update:modelValue', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']() as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n h('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$slots.counter?.({ props }) ?? h(VCounter, props)\n },\n genControl () {\n return VInput.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return h('fieldset', {\n 'aria-hidden': true\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n ref: \"label\",\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n\n return h(VLabel, data, () => getSlot(this, 'label') || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = h('span', {\n innerHTML: '&#8203;',\n class: 'notranslate',\n })\n\n return h('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n const node = h('input', {\n style: {},\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n onBlur: this.onBlur,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onKeydown: this.onKeyDown,\n ...listeners,\n ref: 'input'\n })\n\n return withDirectives(node, [\n [\n resize,\n this.onResize,\n '',\n { quiet: true }\n ]\n ])\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return h('div', {\n class: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return h('div', {\n class: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return h('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('update:modelValue', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs?.label?.$el\n ? Math.min(this.$refs?.label?.$el.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('update:modelValue', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n"],"sourceRoot":"","file":"VTextField.js"}
@@ -7,7 +7,9 @@ import PickerButton from '../../mixins/picker-button'; // Utils
7
7
 
8
8
  import { createRange } from '../../util/helpers';
9
9
  import pad from '../VDatePicker/util/pad';
10
- import mixins from '../../util/mixins';
10
+ import mixins from '../../util/mixins'; // Types
11
+
12
+ import { h } from 'vue';
11
13
  import { SelectingTimes } from './SelectingTimes';
12
14
  const rangeHours24 = createRange(24);
13
15
  const rangeHours12am = createRange(12);
@@ -43,9 +45,10 @@ export default mixins(Picker, PickerButton
43
45
  readonly: Boolean,
44
46
  scrollable: Boolean,
45
47
  useSeconds: Boolean,
46
- value: null,
48
+ modelValue: null,
47
49
  ampmInTitle: Boolean
48
50
  },
51
+ emits: ['update:modelValue', 'change', 'update:active-picker', 'update:period', 'click:hour', 'click:minute', 'click:second'],
49
52
 
50
53
  data() {
51
54
  return {
@@ -166,14 +169,21 @@ export default mixins(Picker, PickerButton
166
169
  watch: {
167
170
  activePicker: 'setPicker',
168
171
  selecting: 'emitPicker',
169
- value: 'setInputData'
172
+ modelValue: {
173
+ handler: 'setInputData',
174
+ immediate: false
175
+ }
170
176
  },
171
177
 
172
178
  mounted() {
173
- this.setInputData(this.value);
179
+ this.setInputData(this.modelValue);
174
180
  this.$on('update:period', this.setPeriod);
175
181
  },
176
182
 
183
+ beforeUnmount() {
184
+ this.$off('update:period', this.setPeriod);
185
+ },
186
+
177
187
  methods: {
178
188
  genValue() {
179
189
  if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {
@@ -185,7 +195,7 @@ export default mixins(Picker, PickerButton
185
195
 
186
196
  emitValue() {
187
197
  const value = this.genValue();
188
- if (value !== null) this.$emit('input', value);
198
+ if (value !== null) this.$emit('update:modelValue', value);
189
199
  },
190
200
 
191
201
  emitPicker(value) {
@@ -201,7 +211,9 @@ export default mixins(Picker, PickerButton
201
211
  },
202
212
 
203
213
  setPicker(picker) {
204
- if (picker === 'HOUR') this.selecting = SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds) this.selecting = SelectingTimes.Second;
214
+ if (picker === 'HOUR') this.selecting = SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds) {
215
+ this.selecting = SelectingTimes.Second;
216
+ }
205
217
  },
206
218
 
207
219
  setPeriod(period) {
@@ -224,13 +236,31 @@ export default mixins(Picker, PickerButton
224
236
  this.inputMinute = value.getMinutes();
225
237
  this.inputSecond = value.getSeconds();
226
238
  } else {
227
- const [, hour, minute,, second, period] = value.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/) || new Array(6);
228
- this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period) : parseInt(hour, 10);
229
- this.inputMinute = parseInt(minute, 10);
230
- this.inputSecond = parseInt(second || 0, 10);
239
+ const match = value.trim().match(/^(\d+):(\d+)(:(\d+))?\s*([ap]m)?$/i);
240
+
241
+ if (match) {
242
+ const [, hour, minute,, second, period] = match;
243
+ const normalizedPeriod = period ? period.toLowerCase() : null;
244
+ this.inputHour = normalizedPeriod ? this.convert12to24(parseInt(hour, 10), normalizedPeriod) : parseInt(hour, 10);
245
+ this.inputMinute = parseInt(minute, 10);
246
+ this.inputSecond = parseInt(second || 0, 10); // Устанавливаем период только если он был указан в строке
247
+
248
+ if (normalizedPeriod) {
249
+ this.period = normalizedPeriod;
250
+ } else if (this.inputHour != null) {
251
+ this.period = this.inputHour < 12 ? 'am' : 'pm';
252
+ }
253
+ } else {
254
+ this.inputHour = null;
255
+ this.inputMinute = null;
256
+ this.inputSecond = null;
257
+ }
258
+ } // Для Date объектов устанавливаем период на основе 24-часового формата
259
+
260
+
261
+ if (value instanceof Date && this.inputHour != null) {
262
+ this.period = this.inputHour < 12 ? 'am' : 'pm';
231
263
  }
232
-
233
- this.period = this.inputHour == null || this.inputHour < 12 ? 'am' : 'pm';
234
264
  },
235
265
 
236
266
  convert24to12(hour) {
@@ -254,6 +284,8 @@ export default mixins(Picker, PickerButton
254
284
  },
255
285
 
256
286
  onChange(value) {
287
+ // Сначала обновляем значение через onInput - это ключевой момент!
288
+ this.onInput(value);
257
289
  this.$emit(`click:${selectingNames[this.selecting]}`, value);
258
290
  const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute);
259
291
 
@@ -263,7 +295,10 @@ export default mixins(Picker, PickerButton
263
295
  this.selecting = SelectingTimes.Second;
264
296
  }
265
297
 
266
- if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) return;
298
+ if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) {
299
+ return;
300
+ }
301
+
267
302
  const time = this.genValue();
268
303
  if (time === null) return;
269
304
  this.lazyInputHour = this.inputHour;
@@ -296,8 +331,8 @@ export default mixins(Picker, PickerButton
296
331
  scrollable: this.scrollable,
297
332
  size: Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),
298
333
  step: this.selecting === SelectingTimes.Hour ? 1 : 5,
299
- value: this.selecting === SelectingTimes.Hour ? this.inputHour : this.selecting === SelectingTimes.Minute ? this.inputMinute : this.inputSecond,
300
- onInput: this.onInput,
334
+ modelValue: this.selecting === SelectingTimes.Hour ? this.inputHour : this.selecting === SelectingTimes.Minute ? this.inputMinute : this.inputSecond,
335
+ onUpdateModelValue: this.onInput,
301
336
  onChange: this.onChange,
302
337
  ref: 'clock'
303
338
  });
@@ -318,24 +353,23 @@ export default mixins(Picker, PickerButton
318
353
 
319
354
  genPickerTitle() {
320
355
  return h(VTimePickerTitle, {
321
- props: {
322
- ampm: this.isAmPm,
323
- ampmReadonly: this.isAmPm && !this.ampmInTitle,
324
- disabled: this.disabled,
325
- hour: this.inputHour,
326
- minute: this.inputMinute,
327
- second: this.inputSecond,
328
- period: this.period,
329
- readonly: this.readonly,
330
- useSeconds: this.useSeconds,
331
- selecting: this.selecting
356
+ ampm: this.isAmPm,
357
+ ampmReadonly: this.isAmPm && !this.ampmInTitle,
358
+ disabled: this.disabled,
359
+ hour: this.inputHour,
360
+ minute: this.inputMinute,
361
+ second: this.inputSecond,
362
+ period: this.period,
363
+ readonly: this.readonly,
364
+ useSeconds: this.useSeconds,
365
+ selecting: this.selecting,
366
+ 'onUpdate:selecting': value => {
367
+ this.selecting = value;
332
368
  },
333
- on: {
334
- 'update:selecting': value => this.selecting = value,
335
- 'update:period': period => this.$emit('update:period', period)
369
+ 'onUpdate:period': period => {
370
+ this.$emit('update:period', period);
336
371
  },
337
- ref: 'title',
338
- slot: 'title'
372
+ ref: 'title'
339
373
  });
340
374
  }
341
375
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTimePicker/VTimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\ntype ActivePicker = 'HOUR' | 'MINUTE' | 'SECOND'\n\nexport default mixins(\n Picker,\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n validator (val: any) {\n return ['ampm', '24hr'].includes(val)\n },\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n value: null as any as PropType<any>,\n ampmInTitle: Boolean,\n },\n\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 &&\n val <= maxHour * 1 &&\n (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min ? this.min.split(':').map(Number) : [0, 0]\n const [maxHour, maxMinute] = this.max ? this.max.split(':').map(Number) : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed = !this.isAllowedHourCb || this.inputHour === null || this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed = isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute)\n )\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min ? this.min.split(':').map(Number) : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max ? this.max.split(':').map(Number) : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n activePicker: 'setPicker',\n selecting: 'emitPicker',\n value: 'setInputData',\n },\n\n mounted () {\n this.setInputData(this.value)\n this.$on('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {\n return `${pad(this.inputHour)}:${pad(this.inputMinute)}` + (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('input', value)\n },\n emitPicker (value: SelectingTimes) {\n let activePicker = 'HOUR'\n if (value === SelectingTimes.Minute) {\n activePicker = 'MINUTE'\n } else if (value === SelectingTimes.Second) {\n activePicker = 'SECOND'\n }\n this.$emit('update:active-picker', activePicker)\n },\n setPicker (picker: ActivePicker) {\n if (picker === 'HOUR') this.selecting = SelectingTimes.Hour\n else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute\n else if (picker === 'SECOND' && this.useSeconds) this.selecting = SelectingTimes.Second\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const [, hour, minute, , second, period] = value.trim().toLowerCase().match(/^(\\d+):(\\d+)(:(\\d+))?([ap]m)?$/) || new Array(6)\n\n this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period as Period) : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n }\n\n this.period = (this.inputHour == null || this.inputHour < 12) ? 'am' : 'pm'\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12 + 1) : 12\n },\n convert12to24 (hour: number, period: Period) {\n return hour % 12 + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm ? this.convert12to24(value, this.period) : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange = this.selecting === (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) return\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn = type === 'hour' ? this.isAllowedHourCb : (type === 'minute' ? this.isAllowedMinuteCb : this.isAllowedSecondCb)\n if (!allowedFn) return value\n\n // TODO: clean up\n const range = type === 'minute'\n ? range60\n : (type === 'second'\n ? range60\n : (this.isAmPm\n ? (value < 12\n ? rangeHours12am\n : rangeHours12pm)\n : rangeHours24))\n const first = range.find(v => allowedFn((v + value) % range.length + range[0]))\n return ((first || 0) + value) % range.length + range[0]\n },\n genClock () {\n return h(VTimePickerClock, {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : (this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb),\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format: this.selecting === SelectingTimes.Hour\n ? (this.isAmPm ? this.convert24to12 : (val: number) => val)\n : (val: number) => pad(val, 2),\n light: this.light,\n max: this.selecting === SelectingTimes.Hour ? (this.isAmPm && this.period === 'am' ? 11 : 23) : 59,\n min: this.selecting === SelectingTimes.Hour && this.isAmPm && this.period === 'pm' ? 12 : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size: Number(this.width) - ((!this.fullWidth && this.landscape) ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n value: this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : (this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond),\n onInput: this.onInput,\n onChange: this.onChange,\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return h('div', this.setTextColor(this.color || 'primary', {\n class: 'v-time-picker-clock__ampm',\n }), [\n this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),\n this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),\n ])\n },\n genPickerBody () {\n return h('div', {\n class: 'v-time-picker-clock__container',\n key: this.selecting,\n }, [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ])\n },\n genPickerTitle () {\n return h(VTimePickerTitle, {\n props: {\n ampm: this.isAmPm,\n ampmReadonly: this.isAmPm && !this.ampmInTitle,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n },\n on: {\n 'update:selecting': (value: 1 | 2 | 3) => (this.selecting = value),\n 'update:period': (period: string) => this.$emit('update:period', period),\n },\n ref: 'title',\n slot: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n"],"sourceRoot":"","file":"VTimePicker.js"}
1
+ {"version":3,"sources":["../../../src/components/VTimePicker/VTimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VTimePickerTitle from './VTimePickerTitle'\nimport VTimePickerClock from './VTimePickerClock'\n\n// Mixins\nimport Picker from '../../mixins/picker'\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport { createRange } from '../../util/helpers'\nimport pad from '../VDatePicker/util/pad'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType, h, defineComponent } from 'vue'\nimport { SelectingTimes } from './SelectingTimes'\n\nconst rangeHours24 = createRange(24)\nconst rangeHours12am = createRange(12)\nconst rangeHours12pm = rangeHours12am.map(v => v + 12)\nconst range60 = createRange(60)\nconst selectingNames = { 1: 'hour', 2: 'minute', 3: 'second' }\nexport { SelectingTimes }\n\ntype Period = 'am' | 'pm'\ntype AllowFunction = (val: number) => boolean\ntype ActivePicker = 'HOUR' | 'MINUTE' | 'SECOND'\n\nexport default mixins(\n Picker,\n PickerButton\n /* @vue/component */\n).extend({\n name: 'v-time-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedHours: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedMinutes: [Function, Array] as PropType<AllowFunction | number[]>,\n allowedSeconds: [Function, Array] as PropType<AllowFunction | number[]>,\n disabled: Boolean,\n format: {\n type: String as PropType<'ampm' | '24hr'>,\n default: 'ampm',\n validator (val: any) {\n return ['ampm', '24hr'].includes(val)\n },\n },\n min: String,\n max: String,\n readonly: Boolean,\n scrollable: Boolean,\n useSeconds: Boolean,\n modelValue: (null as any) as PropType<any>,\n ampmInTitle: Boolean,\n },\n emits: [\n 'update:modelValue',\n 'change',\n 'update:active-picker',\n 'update:period',\n 'click:hour',\n 'click:minute',\n 'click:second',\n ],\n data () {\n return {\n inputHour: null as number | null,\n inputMinute: null as number | null,\n inputSecond: null as number | null,\n lazyInputHour: null as number | null,\n lazyInputMinute: null as number | null,\n lazyInputSecond: null as number | null,\n period: 'am' as Period,\n selecting: SelectingTimes.Hour,\n }\n },\n\n computed: {\n selectingHour: {\n get (): boolean {\n return this.selecting === SelectingTimes.Hour\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Hour\n },\n },\n selectingMinute: {\n get (): boolean {\n return this.selecting === SelectingTimes.Minute\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Minute\n },\n },\n selectingSecond: {\n get (): boolean {\n return this.selecting === SelectingTimes.Second\n },\n set (v: boolean) {\n this.selecting = SelectingTimes.Second\n },\n },\n isAllowedHourCb (): AllowFunction {\n let cb: AllowFunction\n\n if (this.allowedHours instanceof Array) {\n cb = (val: number) => (this.allowedHours as number[]).includes(val)\n } else {\n cb = this.allowedHours\n }\n\n if (!this.min && !this.max) return cb\n\n const minHour = this.min ? Number(this.min.split(':')[0]) : 0\n const maxHour = this.max ? Number(this.max.split(':')[0]) : 23\n\n return (val: number) => {\n return val >= minHour * 1 && val <= maxHour * 1 && (!cb || cb(val))\n }\n },\n isAllowedMinuteCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed =\n !this.isAllowedHourCb ||\n this.inputHour === null ||\n this.isAllowedHourCb(this.inputHour)\n if (this.allowedMinutes instanceof Array) {\n cb = (val: number) => (this.allowedMinutes as number[]).includes(val)\n } else {\n cb = this.allowedMinutes\n }\n\n if (!this.min && !this.max) {\n return isHourAllowed ? cb : () => false\n }\n\n const [minHour, minMinute] = this.min\n ? this.min.split(':').map(Number)\n : [0, 0]\n const [maxHour, maxMinute] = this.max\n ? this.max.split(':').map(Number)\n : [23, 59]\n const minTime = minHour * 60 + minMinute * 1\n const maxTime = maxHour * 60 + maxMinute * 1\n\n return (val: number) => {\n const time = 60 * this.inputHour! + val\n return (\n time >= minTime &&\n time <= maxTime &&\n isHourAllowed &&\n (!cb || cb(val))\n )\n }\n },\n isAllowedSecondCb (): AllowFunction {\n let cb: AllowFunction\n\n const isHourAllowed =\n !this.isAllowedHourCb ||\n this.inputHour === null ||\n this.isAllowedHourCb(this.inputHour)\n const isMinuteAllowed =\n isHourAllowed &&\n (!this.isAllowedMinuteCb ||\n this.inputMinute === null ||\n this.isAllowedMinuteCb(this.inputMinute))\n\n if (this.allowedSeconds instanceof Array) {\n cb = (val: number) => (this.allowedSeconds as number[]).includes(val)\n } else {\n cb = this.allowedSeconds\n }\n\n if (!this.min && !this.max) {\n return isMinuteAllowed ? cb : () => false\n }\n\n const [minHour, minMinute, minSecond] = this.min\n ? this.min.split(':').map(Number)\n : [0, 0, 0]\n const [maxHour, maxMinute, maxSecond] = this.max\n ? this.max.split(':').map(Number)\n : [23, 59, 59]\n const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0) * 1\n const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0) * 1\n\n return (val: number) => {\n const time = 3600 * this.inputHour! + 60 * this.inputMinute! + val\n return (\n time >= minTime &&\n time <= maxTime &&\n isMinuteAllowed &&\n (!cb || cb(val))\n )\n }\n },\n isAmPm (): boolean {\n return this.format === 'ampm'\n },\n },\n\n watch: {\n activePicker: 'setPicker',\n selecting: 'emitPicker',\n modelValue: {\n handler: 'setInputData',\n immediate: false\n },\n },\n\n mounted () {\n this.setInputData(this.modelValue)\n this.$on('update:period', this.setPeriod)\n },\n\n beforeUnmount () {\n this.$off('update:period', this.setPeriod)\n },\n\n methods: {\n genValue () {\n if (\n this.inputHour != null &&\n this.inputMinute != null &&\n (!this.useSeconds || this.inputSecond != null)\n ) {\n return (\n `${pad(this.inputHour)}:${pad(this.inputMinute)}` +\n (this.useSeconds ? `:${pad(this.inputSecond!)}` : '')\n )\n }\n\n return null\n },\n emitValue () {\n const value = this.genValue()\n if (value !== null) this.$emit('update:modelValue', value)\n },\n emitPicker (value: SelectingTimes) {\n let activePicker = 'HOUR'\n if (value === SelectingTimes.Minute) {\n activePicker = 'MINUTE'\n } else if (value === SelectingTimes.Second) {\n activePicker = 'SECOND'\n }\n this.$emit('update:active-picker', activePicker)\n },\n setPicker (picker: ActivePicker) {\n if (picker === 'HOUR') this.selecting = SelectingTimes.Hour\n else if (picker === 'MINUTE') this.selecting = SelectingTimes.Minute\n else if (picker === 'SECOND' && this.useSeconds) { this.selecting = SelectingTimes.Second }\n },\n setPeriod (period: Period) {\n this.period = period\n if (this.inputHour != null) {\n const newHour = this.inputHour! + (period === 'am' ? -12 : 12)\n this.inputHour = this.firstAllowed('hour', newHour)\n this.emitValue()\n }\n },\n setInputData (value: string | null | Date) {\n if (value == null || value === '') {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n } else if (value instanceof Date) {\n this.inputHour = value.getHours()\n this.inputMinute = value.getMinutes()\n this.inputSecond = value.getSeconds()\n } else {\n const match = value\n .trim()\n .match(/^(\\d+):(\\d+)(:(\\d+))?\\s*([ap]m)?$/i)\n\n if (match) {\n const [, hour, minute, , second, period] = match\n const normalizedPeriod = period ? period.toLowerCase() as Period : null\n this.inputHour = normalizedPeriod\n ? this.convert12to24(parseInt(hour, 10), normalizedPeriod)\n : parseInt(hour, 10)\n this.inputMinute = parseInt(minute, 10)\n this.inputSecond = parseInt(second || 0, 10)\n\n // Устанавливаем период только если он был указан в строке\n if (normalizedPeriod) {\n this.period = normalizedPeriod\n } else if (this.inputHour != null) {\n this.period = this.inputHour < 12 ? 'am' : 'pm'\n }\n } else {\n this.inputHour = null\n this.inputMinute = null\n this.inputSecond = null\n }\n }\n\n // Для Date объектов устанавливаем период на основе 24-часового формата\n if (value instanceof Date && this.inputHour != null) {\n this.period = this.inputHour < 12 ? 'am' : 'pm'\n }\n },\n convert24to12 (hour: number) {\n return hour ? ((hour - 1) % 12) + 1 : 12\n },\n convert12to24 (hour: number, period: Period) {\n return (hour % 12) + (period === 'pm' ? 12 : 0)\n },\n onInput (value: number) {\n if (this.selecting === SelectingTimes.Hour) {\n this.inputHour = this.isAmPm\n ? this.convert12to24(value, this.period)\n : value\n } else if (this.selecting === SelectingTimes.Minute) {\n this.inputMinute = value\n } else {\n this.inputSecond = value\n }\n this.emitValue()\n },\n onChange (value: number) {\n // Сначала обновляем значение через onInput - это ключевой момент!\n this.onInput(value)\n\n this.$emit(`click:${selectingNames[this.selecting]}`, value)\n\n const emitChange =\n this.selecting ===\n (this.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute)\n\n if (this.selecting === SelectingTimes.Hour) {\n this.selecting = SelectingTimes.Minute\n } else if (this.useSeconds && this.selecting === SelectingTimes.Minute) {\n this.selecting = SelectingTimes.Second\n }\n\n if (\n this.inputHour === this.lazyInputHour &&\n this.inputMinute === this.lazyInputMinute &&\n (!this.useSeconds || this.inputSecond === this.lazyInputSecond)\n ) {\n return\n }\n\n const time = this.genValue()\n if (time === null) return\n\n this.lazyInputHour = this.inputHour\n this.lazyInputMinute = this.inputMinute\n this.useSeconds && (this.lazyInputSecond = this.inputSecond)\n\n emitChange && this.$emit('change', time)\n },\n firstAllowed (type: 'hour' | 'minute' | 'second', value: number) {\n const allowedFn =\n type === 'hour'\n ? this.isAllowedHourCb\n : type === 'minute'\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb\n if (!allowedFn) return value\n\n // TODO: clean up\n const range =\n type === 'minute'\n ? range60\n : type === 'second'\n ? range60\n : this.isAmPm\n ? value < 12\n ? rangeHours12am\n : rangeHours12pm\n : rangeHours24\n const first = range.find(v =>\n allowedFn(((v + value) % range.length) + range[0])\n )\n return (((first || 0) + value) % range.length) + range[0]\n },\n genClock () {\n return h(VTimePickerClock, {\n allowedValues:\n this.selecting === SelectingTimes.Hour\n ? this.isAllowedHourCb\n : this.selecting === SelectingTimes.Minute\n ? this.isAllowedMinuteCb\n : this.isAllowedSecondCb,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n double: this.selecting === SelectingTimes.Hour && !this.isAmPm,\n format:\n this.selecting === SelectingTimes.Hour\n ? this.isAmPm\n ? this.convert24to12\n : (val: number) => val\n : (val: number) => pad(val, 2),\n light: this.light,\n max:\n this.selecting === SelectingTimes.Hour\n ? this.isAmPm && this.period === 'am'\n ? 11\n : 23\n : 59,\n min:\n this.selecting === SelectingTimes.Hour &&\n this.isAmPm &&\n this.period === 'pm'\n ? 12\n : 0,\n readonly: this.readonly,\n scrollable: this.scrollable,\n size:\n Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),\n step: this.selecting === SelectingTimes.Hour ? 1 : 5,\n modelValue:\n this.selecting === SelectingTimes.Hour\n ? this.inputHour\n : this.selecting === SelectingTimes.Minute\n ? this.inputMinute\n : this.inputSecond,\n onUpdateModelValue: this.onInput,\n onChange: this.onChange,\n ref: 'clock',\n })\n },\n genClockAmPm () {\n return h(\n 'div',\n this.setTextColor(this.color || 'primary', {\n class: 'v-time-picker-clock__ampm',\n }),\n [\n this.genPickerButton(\n 'period',\n 'am',\n this.$vuetify.lang.t('$vuetify.timePicker.am'),\n this.disabled || this.readonly\n ),\n this.genPickerButton(\n 'period',\n 'pm',\n this.$vuetify.lang.t('$vuetify.timePicker.pm'),\n this.disabled || this.readonly\n ),\n ]\n )\n },\n genPickerBody () {\n return h(\n 'div',\n {\n class: 'v-time-picker-clock__container',\n key: this.selecting,\n },\n [\n !this.ampmInTitle && this.isAmPm && this.genClockAmPm(),\n this.genClock(),\n ]\n )\n },\n genPickerTitle () {\n return h(VTimePickerTitle, {\n ampm: this.isAmPm,\n ampmReadonly: this.isAmPm && !this.ampmInTitle,\n disabled: this.disabled,\n hour: this.inputHour,\n minute: this.inputMinute,\n second: this.inputSecond,\n period: this.period,\n readonly: this.readonly,\n useSeconds: this.useSeconds,\n selecting: this.selecting,\n 'onUpdate:selecting': (value: 1 | 2 | 3) => {\n this.selecting = value\n },\n 'onUpdate:period': (period: string) => {\n this.$emit('update:period', period)\n },\n ref: 'title',\n })\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--time')\n },\n})\n"],"sourceRoot":"","file":"VTimePicker.js"}