@dimailn/vuetify 2.7.2-alpha26 → 2.7.2-alpha27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/dist/vuetify.js +1109 -1021
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +1 -0
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VAppBar/VAppBar.js +17 -6
  8. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  9. package/es5/components/VBadge/VBadge.js +1 -0
  10. package/es5/components/VBadge/VBadge.js.map +1 -1
  11. package/es5/components/VBanner/VBanner.js +11 -12
  12. package/es5/components/VBanner/VBanner.js.map +1 -1
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js +8 -7
  14. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  15. package/es5/components/VBtn/VBtn.js +2 -2
  16. package/es5/components/VBtn/VBtn.js.map +1 -1
  17. package/es5/components/VCalendar/VCalendar.js +27 -29
  18. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarCategory.js +26 -34
  20. package/es5/components/VCalendar/VCalendarCategory.js.map +1 -1
  21. package/es5/components/VCalendar/VCalendarDaily.js +43 -60
  22. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  23. package/es5/components/VCalendar/VCalendarMonthly.js +2 -2
  24. package/es5/components/VCalendar/VCalendarMonthly.js.map +1 -1
  25. package/es5/components/VCalendar/VCalendarWeekly.js +26 -35
  26. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  27. package/es5/components/VCalendar/mixins/calendar-base.js +5 -10
  28. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  29. package/es5/components/VCalendar/mixins/calendar-with-events.js +43 -58
  30. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  31. package/es5/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  32. package/es5/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  33. package/es5/components/VCalendar/mixins/times.js.map +1 -1
  34. package/es5/components/VCarousel/VCarousel.js +10 -9
  35. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  36. package/es5/components/VCheckbox/VCheckbox.js +31 -2
  37. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  38. package/es5/components/VCheckbox/VSimpleCheckbox.js +0 -3
  39. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  40. package/es5/components/VChip/VChip.js +14 -6
  41. package/es5/components/VChip/VChip.js.map +1 -1
  42. package/es5/components/VData/VData.js +1 -0
  43. package/es5/components/VData/VData.js.map +1 -1
  44. package/es5/components/VDataIterator/VDataFooter.js +1 -0
  45. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  46. package/es5/components/VDataIterator/VDataIterator.js +1 -0
  47. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  48. package/es5/components/VDataTable/VDataTable.js +1 -6
  49. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  50. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  51. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  52. package/es5/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  53. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  54. package/es5/components/VDataTable/VEditDialog.js +19 -18
  55. package/es5/components/VDataTable/VEditDialog.js.map +1 -1
  56. package/es5/components/VDataTable/mixins/header.js +0 -6
  57. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  58. package/es5/components/VDatePicker/VDatePicker.js +13 -18
  59. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  60. package/es5/components/VDatePicker/VDatePickerHeader.js +48 -26
  61. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  62. package/es5/components/VDatePicker/VDatePickerMonthTable.js +6 -3
  63. package/es5/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  64. package/es5/components/VDatePicker/VDatePickerTitle.js +4 -3
  65. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  66. package/es5/components/VDatePicker/VDatePickerYears.js +11 -12
  67. package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
  68. package/es5/components/VDatePicker/mixins/date-picker-table.js +16 -13
  69. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  70. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  71. package/es5/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  72. package/es5/components/VDialog/VDialog.js +1 -0
  73. package/es5/components/VDialog/VDialog.js.map +1 -1
  74. package/es5/components/VExpansionPanel/VExpansionPanel.js +1 -0
  75. package/es5/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  76. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -10
  77. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  78. package/es5/components/VFileInput/VFileInput.js +1 -0
  79. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  80. package/es5/components/VForm/VForm.js +1 -0
  81. package/es5/components/VForm/VForm.js.map +1 -1
  82. package/es5/components/VHover/VHover.js +1 -0
  83. package/es5/components/VHover/VHover.js.map +1 -1
  84. package/es5/components/VImg/VImg.js +3 -5
  85. package/es5/components/VImg/VImg.js.map +1 -1
  86. package/es5/components/VInput/VInput.js +1 -0
  87. package/es5/components/VInput/VInput.js.map +1 -1
  88. package/es5/components/VItemGroup/VItem.js +2 -1
  89. package/es5/components/VItemGroup/VItem.js.map +1 -1
  90. package/es5/components/VItemGroup/VItemGroup.js +5 -1
  91. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  92. package/es5/components/VLazy/VLazy.js +8 -15
  93. package/es5/components/VLazy/VLazy.js.map +1 -1
  94. package/es5/components/VList/VListGroup.js +3 -11
  95. package/es5/components/VList/VListGroup.js.map +1 -1
  96. package/es5/components/VList/VListItem.js +26 -12
  97. package/es5/components/VList/VListItem.js.map +1 -1
  98. package/es5/components/VList/VListItemAction.js +23 -9
  99. package/es5/components/VList/VListItemAction.js.map +1 -1
  100. package/es5/components/VMenu/VMenu.js +1 -0
  101. package/es5/components/VMenu/VMenu.js.map +1 -1
  102. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -7
  103. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  104. package/es5/components/VOtpInput/VOtpInput.js +1 -5
  105. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  106. package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -0
  107. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  108. package/es5/components/VOverlay/VOverlay.js +1 -0
  109. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  110. package/es5/components/VPagination/VPagination.js +1 -3
  111. package/es5/components/VPagination/VPagination.js.map +1 -1
  112. package/es5/components/VPicker/VPicker.js +2 -3
  113. package/es5/components/VPicker/VPicker.js.map +1 -1
  114. package/es5/components/VProgressCircular/VProgressCircular.js +1 -10
  115. package/es5/components/VProgressCircular/VProgressCircular.js.map +1 -1
  116. package/es5/components/VProgressLinear/VProgressLinear.js +4 -12
  117. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  118. package/es5/components/VRadioGroup/VRadio.js +1 -0
  119. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  120. package/es5/components/VSelect/VSelect.js +111 -64
  121. package/es5/components/VSelect/VSelect.js.map +1 -1
  122. package/es5/components/VSelect/VSelectList.js +13 -17
  123. package/es5/components/VSelect/VSelectList.js.map +1 -1
  124. package/es5/components/VSlideGroup/VSlideGroup.js +1 -4
  125. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  126. package/es5/components/VSlideGroup/VSlideItem.js +2 -1
  127. package/es5/components/VSlideGroup/VSlideItem.js.map +1 -1
  128. package/es5/components/VSlider/VSlider.js +0 -3
  129. package/es5/components/VSlider/VSlider.js.map +1 -1
  130. package/es5/components/VSnackbar/VSnackbar.js +1 -0
  131. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  132. package/es5/components/VSparkline/VSparkline.js +48 -68
  133. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  134. package/es5/components/VSpeedDial/VSpeedDial.js +4 -10
  135. package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
  136. package/es5/components/VStepper/VStepper.js +1 -0
  137. package/es5/components/VStepper/VStepper.js.map +1 -1
  138. package/es5/components/VStepper/VStepperStep.js +11 -19
  139. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  140. package/es5/components/VSwitch/VSwitch.js +1 -3
  141. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  142. package/es5/components/VTabs/VTab.js +1 -0
  143. package/es5/components/VTabs/VTab.js.map +1 -1
  144. package/es5/components/VTabs/VTabs.js +11 -4
  145. package/es5/components/VTabs/VTabs.js.map +1 -1
  146. package/es5/components/VTabs/VTabsItems.js +1 -0
  147. package/es5/components/VTabs/VTabsItems.js.map +1 -1
  148. package/es5/components/VTextField/VTextField.js +31 -27
  149. package/es5/components/VTextField/VTextField.js.map +1 -1
  150. package/es5/components/VTimePicker/VTimePicker.js +72 -44
  151. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  152. package/es5/components/VTimePicker/VTimePickerClock.js +37 -48
  153. package/es5/components/VTimePicker/VTimePickerClock.js.map +1 -1
  154. package/es5/components/VTimePicker/VTimePickerTitle.js +13 -11
  155. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  156. package/es5/components/VToolbar/VToolbar.js +1 -3
  157. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  158. package/es5/components/VTooltip/VTooltip.js +6 -3
  159. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  160. package/es5/components/VVirtualScroll/VVirtualScroll.js +0 -3
  161. package/es5/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  162. package/es5/components/VWindow/VWindow.js +0 -3
  163. package/es5/components/VWindow/VWindow.js.map +1 -1
  164. package/es5/components/VWindow/VWindowItem.js +1 -5
  165. package/es5/components/VWindow/VWindowItem.js.map +1 -1
  166. package/es5/framework.js +1 -1
  167. package/es5/mixins/detachable/index.js +9 -5
  168. package/es5/mixins/detachable/index.js.map +1 -1
  169. package/lib/components/VAlert/VAlert.js +1 -0
  170. package/lib/components/VAlert/VAlert.js.map +1 -1
  171. package/lib/components/VAppBar/VAppBar.js +17 -6
  172. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  173. package/lib/components/VBadge/VBadge.js +1 -0
  174. package/lib/components/VBadge/VBadge.js.map +1 -1
  175. package/lib/components/VBanner/VBanner.js +7 -11
  176. package/lib/components/VBanner/VBanner.js.map +1 -1
  177. package/lib/components/VBottomNavigation/VBottomNavigation.js +8 -7
  178. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  179. package/lib/components/VBtn/VBtn.js +2 -2
  180. package/lib/components/VBtn/VBtn.js.map +1 -1
  181. package/lib/components/VCalendar/VCalendar.js +26 -31
  182. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  183. package/lib/components/VCalendar/VCalendarCategory.js +8 -10
  184. package/lib/components/VCalendar/VCalendarCategory.js.map +1 -1
  185. package/lib/components/VCalendar/VCalendarDaily.js +21 -33
  186. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  187. package/lib/components/VCalendar/VCalendarMonthly.js +2 -2
  188. package/lib/components/VCalendar/VCalendarMonthly.js.map +1 -1
  189. package/lib/components/VCalendar/VCalendarWeekly.js +17 -30
  190. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  191. package/lib/components/VCalendar/mixins/calendar-base.js +7 -11
  192. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  193. package/lib/components/VCalendar/mixins/calendar-with-events.js +16 -39
  194. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  195. package/lib/components/VCalendar/mixins/calendar-with-intervals.js +2 -2
  196. package/lib/components/VCalendar/mixins/calendar-with-intervals.js.map +1 -1
  197. package/lib/components/VCalendar/mixins/times.js.map +1 -1
  198. package/lib/components/VCarousel/VCarousel.js +12 -11
  199. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  200. package/lib/components/VCheckbox/VCheckbox.js +14 -1
  201. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  202. package/lib/components/VCheckbox/VSimpleCheckbox.js +0 -3
  203. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  204. package/lib/components/VChip/VChip.js +14 -6
  205. package/lib/components/VChip/VChip.js.map +1 -1
  206. package/lib/components/VData/VData.js +1 -0
  207. package/lib/components/VData/VData.js.map +1 -1
  208. package/lib/components/VDataIterator/VDataFooter.js +1 -0
  209. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  210. package/lib/components/VDataIterator/VDataIterator.js +1 -0
  211. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  212. package/lib/components/VDataTable/VDataTable.js +2 -7
  213. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  214. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -0
  215. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  216. package/lib/components/VDataTable/VDataTableHeaderMobile.js +1 -0
  217. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  218. package/lib/components/VDataTable/VEditDialog.js +15 -14
  219. package/lib/components/VDataTable/VEditDialog.js.map +1 -1
  220. package/lib/components/VDataTable/mixins/header.js +0 -5
  221. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  222. package/lib/components/VDatePicker/VDatePicker.js +11 -16
  223. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  224. package/lib/components/VDatePicker/VDatePickerHeader.js +33 -20
  225. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  226. package/lib/components/VDatePicker/VDatePickerMonthTable.js +3 -1
  227. package/lib/components/VDatePicker/VDatePickerMonthTable.js.map +1 -1
  228. package/lib/components/VDatePicker/VDatePickerTitle.js +4 -3
  229. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  230. package/lib/components/VDatePicker/VDatePickerYears.js +8 -9
  231. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  232. package/lib/components/VDatePicker/mixins/date-picker-table.js +17 -13
  233. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  234. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js +4 -0
  235. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.js.map +1 -1
  236. package/lib/components/VDialog/VDialog.js +1 -0
  237. package/lib/components/VDialog/VDialog.js.map +1 -1
  238. package/lib/components/VExpansionPanel/VExpansionPanel.js +1 -0
  239. package/lib/components/VExpansionPanel/VExpansionPanel.js.map +1 -1
  240. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -4
  241. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  242. package/lib/components/VFileInput/VFileInput.js +1 -0
  243. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  244. package/lib/components/VForm/VForm.js +1 -0
  245. package/lib/components/VForm/VForm.js.map +1 -1
  246. package/lib/components/VHover/VHover.js +1 -0
  247. package/lib/components/VHover/VHover.js.map +1 -1
  248. package/lib/components/VImg/VImg.js +2 -6
  249. package/lib/components/VImg/VImg.js.map +1 -1
  250. package/lib/components/VInput/VInput.js +1 -0
  251. package/lib/components/VInput/VInput.js.map +1 -1
  252. package/lib/components/VItemGroup/VItem.js +2 -1
  253. package/lib/components/VItemGroup/VItem.js.map +1 -1
  254. package/lib/components/VItemGroup/VItemGroup.js +6 -1
  255. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  256. package/lib/components/VLazy/VLazy.js +8 -15
  257. package/lib/components/VLazy/VLazy.js.map +1 -1
  258. package/lib/components/VList/VListGroup.js +3 -5
  259. package/lib/components/VList/VListGroup.js.map +1 -1
  260. package/lib/components/VList/VListItem.js +25 -14
  261. package/lib/components/VList/VListItem.js.map +1 -1
  262. package/lib/components/VList/VListItemAction.js +15 -9
  263. package/lib/components/VList/VListItemAction.js.map +1 -1
  264. package/lib/components/VMenu/VMenu.js +1 -0
  265. package/lib/components/VMenu/VMenu.js.map +1 -1
  266. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -6
  267. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  268. package/lib/components/VOtpInput/VOtpInput.js +2 -6
  269. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  270. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -0
  271. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  272. package/lib/components/VOverlay/VOverlay.js +1 -0
  273. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  274. package/lib/components/VPagination/VPagination.js +1 -3
  275. package/lib/components/VPagination/VPagination.js.map +1 -1
  276. package/lib/components/VPicker/VPicker.js +3 -3
  277. package/lib/components/VPicker/VPicker.js.map +1 -1
  278. package/lib/components/VProgressCircular/VProgressCircular.js +1 -4
  279. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  280. package/lib/components/VProgressLinear/VProgressLinear.js +4 -6
  281. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  282. package/lib/components/VRadioGroup/VRadio.js +1 -0
  283. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  284. package/lib/components/VSelect/VSelect.js +64 -19
  285. package/lib/components/VSelect/VSelect.js.map +1 -1
  286. package/lib/components/VSelect/VSelectList.js +13 -15
  287. package/lib/components/VSelect/VSelectList.js.map +1 -1
  288. package/lib/components/VSlideGroup/VSlideGroup.js +1 -4
  289. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  290. package/lib/components/VSlideGroup/VSlideItem.js +2 -1
  291. package/lib/components/VSlideGroup/VSlideItem.js.map +1 -1
  292. package/lib/components/VSlider/VSlider.js +0 -3
  293. package/lib/components/VSlider/VSlider.js.map +1 -1
  294. package/lib/components/VSnackbar/VSnackbar.js +1 -0
  295. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  296. package/lib/components/VSparkline/VSparkline.js +48 -67
  297. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  298. package/lib/components/VSpeedDial/VSpeedDial.js +3 -9
  299. package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
  300. package/lib/components/VStepper/VStepper.js +1 -0
  301. package/lib/components/VStepper/VStepper.js.map +1 -1
  302. package/lib/components/VStepper/VStepperStep.js +7 -18
  303. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  304. package/lib/components/VSwitch/VSwitch.js +1 -3
  305. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  306. package/lib/components/VTabs/VTab.js +1 -0
  307. package/lib/components/VTabs/VTab.js.map +1 -1
  308. package/lib/components/VTabs/VTabs.js +14 -4
  309. package/lib/components/VTabs/VTabs.js.map +1 -1
  310. package/lib/components/VTabs/VTabsItems.js +1 -0
  311. package/lib/components/VTabs/VTabsItems.js.map +1 -1
  312. package/lib/components/VTextField/VTextField.js +6 -15
  313. package/lib/components/VTextField/VTextField.js.map +1 -1
  314. package/lib/components/VTimePicker/VTimePicker.js +65 -31
  315. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  316. package/lib/components/VTimePicker/VTimePickerClock.js +24 -39
  317. package/lib/components/VTimePicker/VTimePickerClock.js.map +1 -1
  318. package/lib/components/VTimePicker/VTimePickerTitle.js +3 -2
  319. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  320. package/lib/components/VToolbar/VToolbar.js +1 -3
  321. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  322. package/lib/components/VTooltip/VTooltip.js +1 -2
  323. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  324. package/lib/components/VVirtualScroll/VVirtualScroll.js +0 -3
  325. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  326. package/lib/components/VWindow/VWindow.js +0 -3
  327. package/lib/components/VWindow/VWindow.js.map +1 -1
  328. package/lib/components/VWindow/VWindowItem.js +2 -6
  329. package/lib/components/VWindow/VWindowItem.js.map +1 -1
  330. package/lib/framework.js +1 -1
  331. package/lib/mixins/detachable/index.js +9 -5
  332. package/lib/mixins/detachable/index.js.map +1 -1
  333. package/package.json +1 -1
  334. package/src/components/VAlert/VAlert.ts +2 -0
  335. package/src/components/VAppBar/VAppBar.ts +12 -3
  336. package/src/components/VBadge/VBadge.ts +1 -1
  337. package/src/components/VBanner/VBanner.ts +14 -14
  338. package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -8
  339. package/src/components/VBtn/VBtn.ts +2 -2
  340. package/src/components/VCalendar/VCalendar.ts +29 -27
  341. package/src/components/VCalendar/VCalendarCategory.ts +9 -8
  342. package/src/components/VCalendar/VCalendarDaily.ts +18 -28
  343. package/src/components/VCalendar/VCalendarMonthly.ts +2 -1
  344. package/src/components/VCalendar/VCalendarWeekly.ts +18 -30
  345. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +18 -34
  346. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +16 -14
  347. package/src/components/VCalendar/__tests__/VCalendarDaily.spec.ts +30 -28
  348. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +206 -205
  349. package/src/components/VCalendar/__tests__/__snapshots__/VCalendarDaily.spec.ts.snap +122 -122
  350. package/src/components/VCalendar/mixins/__tests__/__snapshots__/calendar-with-events.spec.ts.snap +1 -56
  351. package/src/components/VCalendar/mixins/__tests__/calendar-base.spec.ts +24 -21
  352. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +27 -34
  353. package/src/components/VCalendar/mixins/__tests__/calendar-with-intervals.spec.ts +31 -28
  354. package/src/components/VCalendar/mixins/__tests__/times.spec.ts +10 -9
  355. package/src/components/VCalendar/mixins/calendar-base.ts +8 -12
  356. package/src/components/VCalendar/mixins/calendar-with-events.ts +19 -38
  357. package/src/components/VCalendar/mixins/calendar-with-intervals.ts +1 -1
  358. package/src/components/VCalendar/mixins/times.ts +1 -1
  359. package/src/components/VCarousel/VCarousel.ts +13 -9
  360. package/src/components/VCheckbox/VCheckbox.ts +19 -1
  361. package/src/components/VCheckbox/VSimpleCheckbox.ts +0 -3
  362. package/src/components/VChip/VChip.ts +16 -13
  363. package/src/components/VData/VData.ts +2 -0
  364. package/src/components/VDataIterator/VDataFooter.ts +2 -0
  365. package/src/components/VDataIterator/VDataIterator.ts +2 -0
  366. package/src/components/VDataTable/VDataTable.ts +2 -4
  367. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +5 -0
  368. package/src/components/VDataTable/VDataTableHeaderMobile.ts +2 -0
  369. package/src/components/VDataTable/VEditDialog.ts +19 -17
  370. package/src/components/VDataTable/mixins/header.ts +0 -4
  371. package/src/components/VDatePicker/VDatePicker.ts +13 -18
  372. package/src/components/VDatePicker/VDatePickerHeader.ts +44 -32
  373. package/src/components/VDatePicker/VDatePickerMonthTable.ts +1 -1
  374. package/src/components/VDatePicker/VDatePickerTitle.ts +7 -5
  375. package/src/components/VDatePicker/VDatePickerYears.ts +6 -10
  376. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +302 -246
  377. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +90 -86
  378. package/src/components/VDatePicker/__tests__/VDatePickerDateTable.spec.ts +76 -90
  379. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +96 -71
  380. package/src/components/VDatePicker/__tests__/VDatePickerMonthTable.spec.ts +63 -77
  381. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +48 -28
  382. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +25 -22
  383. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +601 -586
  384. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +203 -193
  385. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerDateTable.spec.ts.snap +615 -615
  386. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerHeader.spec.ts.snap +52 -52
  387. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerMonthTable.spec.ts.snap +144 -144
  388. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +3 -4
  389. package/src/components/VDatePicker/mixins/date-picker-table.ts +18 -13
  390. package/src/components/VDatePicker/util/__tests__/createNativeLocaleFormatter.spec.ts +7 -0
  391. package/src/components/VDatePicker/util/createNativeLocaleFormatter.ts +3 -0
  392. package/src/components/VDialog/VDialog.ts +7 -5
  393. package/src/components/VExpansionPanel/VExpansionPanel.ts +5 -0
  394. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +0 -1
  395. package/src/components/VFileInput/VFileInput.ts +2 -0
  396. package/src/components/VForm/VForm.ts +2 -0
  397. package/src/components/VHover/VHover.ts +2 -0
  398. package/src/components/VImg/VImg.ts +2 -1
  399. package/src/components/VInput/VInput.ts +2 -0
  400. package/src/components/VItemGroup/VItem.ts +4 -0
  401. package/src/components/VItemGroup/VItemGroup.ts +7 -1
  402. package/src/components/VLazy/VLazy.ts +11 -13
  403. package/src/components/VList/VListGroup.ts +7 -8
  404. package/src/components/VList/VListItem.ts +29 -15
  405. package/src/components/VList/VListItemAction.ts +11 -10
  406. package/src/components/VMenu/VMenu.ts +3 -1
  407. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +2 -5
  408. package/src/components/VOtpInput/VOtpInput.ts +2 -3
  409. package/src/components/VOverflowBtn/VOverflowBtn.ts +2 -0
  410. package/src/components/VOverlay/VOverlay.ts +2 -0
  411. package/src/components/VPagination/VPagination.ts +2 -1
  412. package/src/components/VPicker/VPicker.ts +8 -10
  413. package/src/components/VPicker/__tests__/VPicker.spec.ts +14 -15
  414. package/src/components/VProgressCircular/VProgressCircular.ts +0 -1
  415. package/src/components/VProgressLinear/VProgressLinear.ts +14 -13
  416. package/src/components/VRadioGroup/VRadio.ts +2 -0
  417. package/src/components/VSelect/VSelect.ts +59 -19
  418. package/src/components/VSelect/VSelectList.ts +13 -9
  419. package/src/components/VSlideGroup/VSlideGroup.ts +2 -4
  420. package/src/components/VSlideGroup/VSlideItem.ts +2 -0
  421. package/src/components/VSlider/VSlider.ts +0 -3
  422. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  423. package/src/components/VSparkline/VSparkline.ts +54 -92
  424. package/src/components/VSpeedDial/VSpeedDial.ts +6 -8
  425. package/src/components/VStepper/VStepper.ts +3 -1
  426. package/src/components/VStepper/VStepperStep.ts +8 -15
  427. package/src/components/VSwitch/VSwitch.ts +4 -5
  428. package/src/components/VTabs/VTab.ts +2 -0
  429. package/src/components/VTabs/VTabs.ts +16 -10
  430. package/src/components/VTabs/VTabsItems.ts +2 -0
  431. package/src/components/VTextField/VTextField.ts +9 -12
  432. package/src/components/VTimePicker/VTimePicker.ts +199 -89
  433. package/src/components/VTimePicker/VTimePickerClock.ts +40 -45
  434. package/src/components/VTimePicker/VTimePickerTitle.ts +5 -4
  435. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +153 -140
  436. package/src/components/VTimePicker/__tests__/VTimePickerClock.spec.ts +78 -81
  437. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +47 -41
  438. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +160 -40
  439. package/src/components/VToolbar/VToolbar.ts +1 -1
  440. package/src/components/VTooltip/VTooltip.ts +1 -1
  441. package/src/components/VVirtualScroll/VVirtualScroll.ts +0 -1
  442. package/src/components/VWindow/VWindow.ts +0 -1
  443. package/src/components/VWindow/VWindowItem.ts +2 -3
  444. package/src/mixins/detachable/index.ts +11 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTextField/VTextField.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,UAAU,GAAG,qBACjB,eADiB,EAEjB,4BAAc;AACZ,EAAA,SAAS,EAAE,CACT,UADS,EAET,cAFS;AADC,CAAd,CAFiB,EAQjB,iBARiB,CAAnB;AAoBA,IAAM,UAAU,GAAG,CAAC,OAAD,EAAU,MAAV,EAAkB,MAAlB,EAA0B,MAA1B,EAAkC,gBAAlC,EAAoD,MAApD,EAA4D,OAA5D,CAAnB;AAEA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,cADyB;AAG/B,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN,eADU;AAEV,IAAA,MAAM,EAAN;AAFU,GAHmB;AAQ/B,EAAA,KAAK,EAAE;AACL,IAAA,eAAe,EAAE,MADZ;AAEL,IAAA,SAAS,EAAE,OAFN;AAGL,IAAA,SAAS,EAAE,OAHN;AAIL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,MADG;AAET,MAAA,OAAO,EAAE;AAFA,KAJN;AAQL,IAAA,OAAO,EAAE,CAAC,OAAD,EAAU,MAAV,EAAkB,MAAlB,CARJ;AASL,IAAA,YAAY,EAAE,QATT;AAUL,IAAA,MAAM,EAAE,OAVH;AAWL,IAAA,IAAI,EAAE,OAXD;AAYL,IAAA,SAAS,EAAE,OAZN;AAaL,IAAA,KAAK,EAAE,MAbF;AAcL,IAAA,QAAQ,EAAE,OAdL;AAeL,IAAA,WAAW,EAAE,MAfR;AAgBL,IAAA,MAAM,EAAE,MAhBH;AAiBL,IAAA,gBAAgB,EAAE,MAjBb;AAkBL,IAAA,qBAAqB,EAAE,OAlBlB;AAmBL,IAAA,OAAO,EAAE,OAnBJ;AAoBL,IAAA,OAAO,EAAE,OApBJ;AAqBL,IAAA,MAAM,EAAE,OArBH;AAsBL,IAAA,UAAU,EAAE,OAtBP;AAuBL,IAAA,IAAI,EAAE,OAvBD;AAwBL,IAAA,YAAY,EAAE,OAxBT;AAyBL,IAAA,MAAM,EAAE,MAzBH;AA0BL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAFL;AA1BD,GARwB;AAwC/B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE,KADC;AAEX,MAAA,UAAU,EAAE,CAFD;AAGX,MAAA,WAAW,EAAE,CAHF;AAIX,MAAA,YAAY,EAAE,CAJH;AAKX,MAAA,YAAY,EAAE,IALH;AAMX,MAAA,QAAQ,EAAE,KANC;AAOX,MAAA,UAAU,EAAE;AAPD,KAAP;AAAA,GAxCyB;AAkD/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADL;AAEE,wBAAgB,IAFlB;AAGE,oCAA4B,KAAK,SAHnC;AAIE,gCAAwB,KAAK,MAJ/B;AAKE,qCAA6B,KAAK,QALpC;AAME,8BAAsB,KAAK,MAN7B;AAOE,uCAA+B,KAAK,YAPtC;AAQE,mCAA2B,KAAK,IARlC;AASE,gCAAwB,KAAK,MAT/B;AAUE,mCAA2B,KAAK,QAVlC;AAWE,kCAA0B,KAAK,UAXjC;AAYE,iCAAyB,KAAK,OAZhC;AAaE,kCAA0B,KAAK,QAbjC;AAcE,qCAA6B,KAAK,WAdpC;AAeE,iCAAyB,KAAK,OAfhC;AAgBE,gCAAwB,KAAK;AAhB/B;AAkBD,KApBO;AAqBR,IAAA,aArBQ,2BAqBK;AACX,UAAM,aAAa,GAAG,qBAAY,QAAZ,CAAqB,aAArB,CAAmC,IAAnC,CAAwC,IAAxC,CAAtB;;AAEA,UAAI,CAAC,KAAK,YAAN,IAAsB,CAAC,KAAK,SAAhC,EAA2C,OAAO,aAAP;AAE3C,aAAO,KAAK,KAAL,IAAc,SAArB;AACD,KA3BO;AA4BR,IAAA,oBA5BQ,kCA4BY;AAClB,UAAI,OAAO,KAAK,YAAZ,KAA6B,UAAjC,EAA6C;AAC3C,eAAO,KAAK,YAAL,CAAkB,KAAK,aAAvB,CAAP;AACD;;AACD,aAAO,mBAAI,CAAC,KAAK,aAAL,IAAsB,EAAvB,EAA2B,QAA3B,EAAJ,EAA2C,MAAlD;AACD,KAjCO;AAkCR,IAAA,UAlCQ,wBAkCE;AACR,aAAO,KAAK,OAAL,KAAiB,KAAjB,IAA0B,KAAK,OAAL,IAAgB,IAAjD;AACD,KApCO;AAqCR,IAAA,UArCQ,wBAqCE;AACR,aAAO,gBAAO,QAAP,CAAgB,UAAhB,CAA2B,IAA3B,CAAgC,IAAhC,KAAyC,KAAK,UAArD;AACD,KAvCO;AAwCR,IAAA,aAAa,EAAE;AACb,MAAA,GADa,iBACV;AACD,eAAO,KAAK,SAAZ;AACD,OAHY;AAIb,MAAA,GAJa,eAIR,GAJQ,EAIA;AACX,aAAK,SAAL,GAAiB,GAAjB;AACA,aAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,SAArC;AACD;AAPY,KAxCP;AAiDR,IAAA,OAjDQ,qBAiDD;;;AACL,aAAO,CAAA,CAAA,EAAA,GAAA,KAAK,SAAL,MAAc,IAAd,IAAc,EAAA,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAc,EAAA,CAAE,QAAF,GAAa,MAA3B,IAAoC,CAApC,IAAyC,KAAK,QAArD;AACD,KAnDO;AAoDR,IAAA,UApDQ,wBAoDE;AACR,aACE,KAAK,MAAL,IACA,KAAK,MADL,IAEA,KAAK,QAHP;AAKD,KA1DO;AA2DR,IAAA,aA3DQ,2BA2DK;AACX,aAAO,KAAK,OAAL,IAAgB,UAAU,CAAC,QAAX,CAAoB,KAAK,IAAzB,CAAvB;AACD,KA7DO;AA8DR,IAAA,QA9DQ,sBA8DA;AACN,aACE,KAAK,MAAL,IACA,KAAK,UADL,IAEA,KAAK,SAFL,IAGA;AACC,WAAK,MAAL,IAAe,CAAC,KAAK,QALxB;AAOD,KAtEO;AAuER,IAAA,MAvEQ,oBAuEF;AACJ,aAAO,KAAK,IAAL,IAAa,KAAK,YAAzB;AACD,KAzEO;AA0ER,IAAA,aA1EQ,2BA0EK;AACX,UAAI,MAAM,GAAI,KAAK,MAAL,IAAe,CAAC,KAAK,UAAtB,GAAoC,KAAK,WAAzC,GAAuD,CAApE;AAEA,UAAI,KAAK,UAAL,IAAmB,KAAK,YAA5B,EAA0C,MAAM,IAAI,KAAK,YAAf;AAE1C,aAAQ,KAAK,QAAL,CAAc,GAAd,KAAsB,KAAK,OAA5B,GAAuC;AAC5C,QAAA,IAAI,EAAE,MADsC;AAE5C,QAAA,KAAK,EAAE;AAFqC,OAAvC,GAGH;AACF,QAAA,IAAI,EAAE,MADJ;AAEF,QAAA,KAAK,EAAE;AAFL,OAHJ;AAOD,KAtFO;AAuFR,IAAA,SAvFQ,uBAuFC;AACP,aAAO,KAAK,QAAL,IAAiB,EAAE,KAAK,QAAL,IAAiB,KAAK,UAAxB,CAAxB;AACD,KAzFO;AA0FR,IAAA,UA1FQ,wBA0FE;AACR,aAAO,KAAK,SAAL,IAAkB,KAAK,aAAvB,IAAwC,KAAK,qBAApD;AACD;AA5FO,GAlDqB;AAiJ/B,EAAA,KAAK,EAAE;AACL;AACA,IAAA,QAAQ,EAAE,eAFL;AAGL,IAAA,KAHK,mBAGA;AACH,WAAK,SAAL,CAAe,KAAK,aAApB;AACD,KALI;AAML,IAAA,MANK,oBAMC;AACJ,WAAK,SAAL,CAAe,KAAK,cAApB;AACD,KARI;AASL,IAAA,SAAS,EAAE,aATN;AAUL,IAAA,UAVK,sBAUO,GAVP,EAUU;AACb,WAAK,SAAL,GAAiB,GAAjB;AACD;AAZI,GAjJwB;AAgK/B,EAAA,OAhK+B,qBAgKxB;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,KAA3B,CAAJ,EAAuC;AACrC,6BAAS,KAAT,EAAgB,QAAhB,EAA0B,IAA1B;AACD;AAED;;;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,sBAA3B,CAAJ,EAAwD;AACtD,6BAAS,sBAAT,EAAiC,cAAjC,EAAiD,IAAjD;AACD;AAED;;;AACA,QAAI,KAAK,MAAL,IAAe,EAAE,KAAK,MAAL,IAAe,KAAK,QAApB,IAAgC,KAAK,MAAvC,CAAnB,EAAmE;AACjE,gCAAY,sDAAZ,EAAoE,IAApE;AACD;AACF,GA/K8B;AAiL/B,EAAA,OAjL+B,qBAiLxB;AAAA;;AACL;AACA,SAAK,MAAL,CAAY;AAAA,aAAM,KAAI,CAAC,UAAX;AAAA,KAAZ,EAAmC,KAAK,aAAxC;AACA,SAAK,SAAL,IAAkB,KAAK,YAAL,EAAlB;AACA,IAAA,qBAAqB,CAAC,YAAK;AACzB,MAAA,KAAI,CAAC,QAAL,GAAgB,IAAhB;AACA,MAAA,qBAAqB,CAAC,YAAK;AACzB,YAAI,CAAC,KAAI,CAAC,cAAV,EAA0B;AACxB,UAAA,KAAI,CAAC,QAAL;AACD;AACF,OAJoB,CAArB;AAKD,KAPoB,CAArB;AAQD,GA7L8B;AA+L/B,EAAA,OAAO,EAAE;AACP;AACA,IAAA,KAFO,mBAEF;AACH,WAAK,OAAL;AACD,KAJM;;AAKP;AACA,IAAA,IANO,gBAMD,CANC,EAMQ;AAAA;;AACb;AACA;AACA,MAAA,MAAM,CAAC,qBAAP,CAA6B,YAAK;AAChC,QAAA,MAAI,CAAC,KAAL,CAAW,KAAX,IAAoB,MAAI,CAAC,KAAL,CAAW,KAAX,CAAiB,IAAjB,EAApB;AACD,OAFD;AAGD,KAZM;AAaP,IAAA,iBAbO,+BAaU;AAAA;;AACf,WAAK,KAAL,CAAW,KAAX,IAAoB,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,EAApB;AACA,WAAK,SAAL,CAAe;AAAA,eAAM,MAAI,CAAC,aAAL,GAAqB,IAA3B;AAAA,OAAf;AACD,KAhBM;AAiBP,IAAA,aAjBO,2BAiBM;AACX,UAAM,IAAI,GAAG,EAAb;;AAEA,UAAI,KAAK,MAAL,CAAY,cAAZ,CAAJ,EAAiC;AAC/B,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,MAAL,CAAY,cAAZ,CAAV;AACD,OAFD,MAEO,IAAI,KAAK,eAAT,EAA0B;AAC/B,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,OAAL,CAAa,aAAb,CAAV;AACD;;AAED,aAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,IAAhC,CAAP;AACD,KA3BM;AA4BP,IAAA,mBA5BO,iCA4BY;AACjB,UAAM,IAAI,GAAG,EAAb;;AAEA,UAAI,KAAK,MAAL,CAAY,eAAZ,CAAJ,EAAkC;AAChC,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,MAAL,CAAY,eAAZ,GAAV;AACD,OAFD,MAEO,IAAI,KAAK,gBAAT,EAA2B;AAChC,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,OAAL,CAAa,cAAb,CAAV;AACD;;AAED,aAAO,KAAK,OAAL,CAAa,SAAb,EAAwB,OAAxB,EAAiC,IAAjC,CAAP;AACD,KAtCM;AAuCP,IAAA,WAvCO,yBAuCI;AACT,UAAM,IAAI,GAAG,EAAb;;AAEA,UAAI,KAAK,MAAL,CAAY,MAAhB,EAAwB;AACtB,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,MAAL,CAAY,MAAtB;AACD,OAFD,MAEO,IAAI,KAAK,UAAT,EAAqB;AAC1B,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,OAAL,CAAa,QAAb,CAAV;AACD;;AAED,aAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,IAAhC,CAAP;AACD,KAjDM;AAkDP,IAAA,YAlDO,0BAkDK;AACV,UAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,YAAf,CAA4B,IAA5B,CAAiC,IAAjC,CAAd;;AAEA,UAAM,OAAO,GAAG,KAAK,mBAAL,EAAhB;;AAEA,UAAI,OAAJ,EAAa;AACX,QAAA,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,IAAkB,EAAnC;AACA,QAAA,KAAK,CAAC,QAAN,CAAe,OAAf,CAAuB,OAAvB;AACD;;AAED,aAAO,KAAP;AACD,KA7DM;AA8DP,IAAA,YA9DO,0BA8DK;AACV,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,IAAP,CADX,CAGV;AACA;;AACA,UAAI,CAAC,KAAK,OAAV,EAAmB;AACjB,eAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,CACrC,YAAE,KAAF,CADqC,CAAhC,CAAP;AAGD;;AAED,aAAO,KAAK,OAAL,CAAa,QAAb,EAAuB,OAAvB,EAAgC,CACrC,KAAK,OAAL,CAAa,OAAb,EAAsB,KAAK,iBAA3B,CADqC,CAAhC,CAAP;AAGD,KA5EM;AA6EP,IAAA,UA7EO,wBA6EG;;;AACR,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,IAAP;AAEtB,UAAM,GAAG,GAAG,KAAK,OAAL,KAAiB,IAAjB,GAAwB,KAAK,MAAL,CAAY,SAApC,GAAgD,KAAK,OAAjE;AAEA,UAAM,KAAK,GAAG;AACZ,QAAA,IAAI,EAAE,KAAK,IADC;AAEZ,QAAA,KAAK,EAAE,KAAK,KAFA;AAGZ,QAAA,GAAG,EAAH,GAHY;AAIZ,QAAA,KAAK,EAAE,KAAK;AAJA,OAAd;AAOA,aAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG;AAAE,QAAA,KAAK,EAAL;AAAF,OAAH,CAAnB,MAAgC,IAAhC,IAAgC,EAAA,KAAA,KAAA,CAAhC,GAAgC,EAAhC,GAAoC,YAAE,iBAAF,EAAY,KAAZ,CAA3C;AACD,KA1FM;AA2FP,IAAA,UA3FO,wBA2FG;AACR,aAAO,gBAAO,OAAP,CAAe,UAAf,CAA0B,IAA1B,CAA+B,IAA/B,CAAP;AACD,KA7FM;AA8FP,IAAA,cA9FO,4BA8FO;AACZ,aAAO,CACL,KAAK,WAAL,EADK,EAEL,KAAK,gBAAL,EAFK,EAGL,KAAK,YAAL,EAHK,EAIL,KAAK,WAAL,EAJK,EAKL,KAAK,WAAL,EALK,CAAP;AAOD,KAtGM;AAuGP,IAAA,WAvGO,yBAuGI;AACT,UAAI,CAAC,KAAK,QAAV,EAAoB,OAAO,IAAP;AAEpB,aAAO,YAAE,UAAF,EAAc;AACnB,uBAAe;AADI,OAAd,EAEJ,CAAC,KAAK,SAAL,EAAD,CAFI,CAAP;AAGD,KA7GM;AA8GP,IAAA,QA9GO,sBA8GC;AAAA;;AACN,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,IAAP;AAErB,UAAM,IAAI,GAAG;AACX,QAAA,GAAG,EAAE,OADM;AAEX,QAAA,QAAQ,EAAE,IAFC;AAGX,QAAA,KAAK,EAAE,KAAK,eAHD;AAIX,QAAA,IAAI,EAAE,KAAK,IAJA;AAKX,QAAA,QAAQ,EAAE,KAAK,UALJ;AAMX,QAAA,OAAO,EAAE,CAAC,KAAK,QAAN,KAAmB,KAAK,SAAL,IAAkB,CAAC,CAAC,KAAK,eAA5C,CANE;AAOX,QAAA,GAAG,EAAE,KAAK,UAPC;AAQX,QAAA,IAAI,EAAE,KAAK,aAAL,CAAmB,IARd;AASX,QAAA,KAAK,EAAE,KAAK,KATD;AAUX,QAAA,KAAK,EAAE,KAAK,aAAL,CAAmB,KAVf;AAWX,QAAA,KAAK,EAAE,KAAK;AAXD,OAAb;AAcA,aAAO,YAAE,eAAF,EAAU,IAAV,EAAgB;AAAA,eAAM,sBAAQ,MAAR,EAAc,OAAd,KAA0B,MAAI,CAAC,KAArC;AAAA,OAAhB,CAAP;AACD,KAhIM;AAiIP,IAAA,SAjIO,uBAiIE;AACP,UAAM,KAAK,GAAG,CAAC,KAAK,UAAN,KAAqB,KAAK,UAAL,IAAmB,KAAK,OAA7C,IAAwD,KAAK,UAA7D,GAA0E,CAAxF;AACA,UAAM,IAAI,GAAG,YAAE,MAAF,EAAU;AACrB,QAAA,SAAS,EAAE,SADU;AAErB,QAAA,KAAK,EAAE;AAFc,OAAV,CAAb;AAKA,aAAO,YAAE,QAAF,EAAY;AACjB,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,CAAC,KAAK,QAAN,GAAiB,4BAAc,KAAd,CAAjB,GAAwC;AAD1C;AADU,OAAZ,EAIJ,CAAC,IAAD,CAJI,CAAP;AAKD,KA7IM;AA8IP,IAAA,QA9IO,sBA8IC;AACN,UAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,UAAvB,CAAlB;AACA,aAAO,SAAS,CAAC,MAAjB,CAFM,CAEkB;;AAFlB,yBAG2B,KAAK,MAHhC;AAAA,UAGE,KAHF,gBAGE,KAHF;AAAA,UAGY,UAHZ;;AAKN,UAAM,IAAI,GAAG,YAAE,OAAF;AACX,QAAA,KAAK,EAAE,EADI;AAEX,QAAA,KAAK,EAAG,KAAK,IAAL,KAAc,QAAd,IAA0B,MAAM,CAAC,EAAP,CAAU,KAAK,SAAf,EAA0B,CAAC,CAA3B,CAA3B,GAA4D,IAA5D,GAAmE,KAAK;AAFpE,SAGR,UAHQ;AAIX,QAAA,SAAS,EAAE,KAAK,SAJL;AAKX,QAAA,QAAQ,EAAE,KAAK,UALJ;AAMX,QAAA,EAAE,EAAE,KAAK,UANE;AAOX,QAAA,WAAW,EAAE,KAAK,qBAAL,IAA8B,KAAK,SAAnC,IAAgD,CAAC,KAAK,QAAtD,GAAiE,KAAK,WAAtE,GAAoF,SAPtF;AAQX,QAAA,QAAQ,EAAE,KAAK,UARJ;AASX,QAAA,IAAI,EAAE,KAAK,IATA;AAUX,QAAA,MAAM,EAAE,KAAK,MAVF;AAWX,QAAA,OAAO,EAAE,KAAK,OAXH;AAYX,QAAA,OAAO,EAAE,KAAK,OAZH;AAaX,QAAA,SAAS,EAAE,KAAK;AAbL,SAcR,SAdQ;AAeX,QAAA,GAAG,EAAE;AAfM,SAAb;AAkBA,aAAO,yBAAe,IAAf,EAAqB,CAC1B,CACE,eADF,EAEE,KAAK,QAFP,EAGE,EAHF,EAIE;AAAE,QAAA,KAAK,EAAE;AAAT,OAJF,CAD0B,CAArB,CAAP;AAQD,KA7KM;AA8KP,IAAA,WA9KO,yBA8KI;AACT,UAAI,CAAC,KAAK,WAAV,EAAuB,OAAO,IAAP;;AAEvB,UAAM,YAAY,GAAG,gBAAO,OAAP,CAAe,WAAf,CAA2B,IAA3B,CAAgC,IAAhC,CAArB;;AACA,UAAM,WAAW,GAAG,KAAK,UAAL,EAApB;AAEA,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,CACD,YADC,EAED,WAFC,CAFI,CAAP;AAMD,KA1LM;AA2LP,IAAA,gBA3LO,8BA2LS;AACd,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,CACD,KAAK,QAAL,EADC,EAED,KAAK,MAAL,GAAc,KAAK,QAAL,CAAc,QAAd,CAAd,GAAwC,IAFvC,EAGD,KAAK,QAAL,EAHC,EAID,KAAK,MAAL,GAAc,KAAK,QAAL,CAAc,QAAd,CAAd,GAAwC,IAJvC,CAFI,CAAP;AAQD,KApMM;AAqMP,IAAA,QArMO,oBAqMG,IArMH,EAqM4B;AACjC,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,0BAAmB,IAAnB,CADS;AAEd,QAAA,GAAG,EAAE;AAFS,OAAT,EAGJ,KAAK,IAAL,CAHI,CAAP;AAID,KA1MM;AA2MP,IAAA,MA3MO,kBA2MC,CA3MD,EA2MU;AAAA;;AACf,WAAK,SAAL,GAAiB,KAAjB;AACA,MAAA,CAAC,IAAI,KAAK,SAAL,CAAe;AAAA,eAAM,MAAI,CAAC,KAAL,CAAW,MAAX,EAAmB,CAAnB,CAAN;AAAA,OAAf,CAAL;AACD,KA9MM;AA+MP,IAAA,OA/MO,qBA+MA;AACL,UAAI,KAAK,SAAL,IAAkB,KAAK,UAAvB,IAAqC,CAAC,KAAK,KAAL,CAAW,KAArD,EAA4D;AAE5D,WAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB;AACD,KAnNM;AAoNP,IAAA,OApNO,mBAoNE,CApNF,EAoNW;AAChB,UAAI,CAAC,KAAK,KAAL,CAAW,KAAhB,EAAuB;AAEvB,UAAM,IAAI,GAAG,uBAAa,KAAK,GAAlB,CAAb;AACA,UAAI,CAAC,IAAL,EAAW;;AAEX,UAAI,IAAI,CAAC,aAAL,KAAuB,KAAK,KAAL,CAAW,KAAtC,EAA6C;AAC3C,eAAO,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,EAAP;AACD;;AAED,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,aAAK,SAAL,GAAiB,IAAjB;AACA,QAAA,CAAC,IAAI,KAAK,KAAL,CAAW,OAAX,EAAoB,CAApB,CAAL;AACD;AACF,KAlOM;AAmOP,IAAA,OAnOO,mBAmOE,CAnOF,EAmOU;AACf,UAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,WAAK,aAAL,GAAqB,MAAM,CAAC,KAA5B;AACA,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAP,IAAmB,MAAM,CAAC,QAAP,CAAgB,QAAnD;AACD,KAvOM;AAwOP,IAAA,SAxOO,qBAwOI,CAxOJ,EAwOoB;AACzB,UACE,CAAC,CAAC,OAAF,KAAc,kBAAS,KAAvB,IACA,KAAK,SAAL,KAAmB,KAAK,YAF1B,EAGE;AACA,aAAK,YAAL,GAAoB,KAAK,SAAzB;AACA,aAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,YAArC;AACD;;AAED,WAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD,KAlPM;AAmPP,IAAA,WAnPO,uBAmPM,CAnPN,EAmPc;AACnB;AACA,UAAI,CAAC,CAAC,MAAF,KAAa,KAAK,KAAL,CAAW,KAA5B,EAAmC;AACjC,QAAA,CAAC,CAAC,cAAF;AACA,QAAA,CAAC,CAAC,eAAF;AACD;;AAED,sBAAO,OAAP,CAAe,WAAf,CAA2B,IAA3B,CAAgC,IAAhC,EAAsC,CAAtC;AACD,KA3PM;AA4PP,IAAA,SA5PO,qBA4PI,CA5PJ,EA4PY;AACjB,UAAI,KAAK,YAAT,EAAuB,KAAK,KAAL;;AAEvB,sBAAO,OAAP,CAAe,SAAf,CAAyB,IAAzB,CAA8B,IAA9B,EAAoC,CAApC;AACD,KAhQM;AAiQP,IAAA,aAjQO,2BAiQM;;;AACX,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,UAAL,GAAkB,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,KAAL,MAAU,IAAV,IAAU,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAU,EAAA,CAAE,KAAZ,MAAiB,IAAjB,IAAiB,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiB,EAAA,CAAE,GAAnB,IACd,IAAI,CAAC,GAAL,CAAS,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,KAAL,MAAU,IAAV,IAAU,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAU,EAAA,CAAE,KAAZ,MAAiB,IAAjB,IAAiB,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiB,EAAA,CAAE,GAAF,CAAM,WAAvB,IAAqC,IAArC,GAA4C,CAArD,EAAyD,KAAK,GAAL,CAAyB,WAAzB,GAAuC,EAAhG,CADc,GAEd,CAFJ;AAGD,KAvQM;AAwQP,IAAA,cAxQO,4BAwQO;AACZ,UAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB;AAExB,WAAK,WAAL,GAAmB,KAAK,KAAL,CAAW,MAAX,CAAkB,WAArC;AACD,KA5QM;AA6QP,IAAA,eA7QO,6BA6QQ;AACb,UAAI,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,KAAL,CAAW,eAAX,CAAvB,EAAoD;AAEpD,WAAK,YAAL,GAAoB,KAAK,KAAL,CAAW,eAAX,EAA4B,WAAhD;AACD,KAjRM;AAkRP,IAAA,YAlRO,0BAkRK;AACV,UACE,CAAC,KAAK,SAAN,IACA,OAAO,QAAP,KAAoB,WADpB,IAEA,CAAC,KAAK,KAAL,CAAW,KAHd,EAGqB,OAAO,KAAP;AAErB,UAAM,IAAI,GAAG,uBAAa,KAAK,GAAlB,CAAb;AACA,UAAI,CAAC,IAAD,IAAS,IAAI,CAAC,aAAL,KAAuB,KAAK,KAAL,CAAW,KAA/C,EAAsD,OAAO,KAAP;AAEtD,WAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB;AAEA,aAAO,IAAP;AACD,KA9RM;AA+RP,IAAA,WA/RO,uBA+RM,GA/RN,EA+RkB;AACvB;AACA,WAAK,QAAL,GAAgB,GAAhB;;AAEA,UAAI,GAAJ,EAAS;AACP,aAAK,YAAL,GAAoB,KAAK,SAAzB;AACD,OAFD,MAEO,IAAI,KAAK,YAAL,KAAsB,KAAK,SAA/B,EAA0C;AAC/C,aAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,SAArC;AACD;AACF,KAxSM;AAySP,IAAA,QAzSO,sBAySC;AACN,WAAK,aAAL;AACA,WAAK,cAAL;AACA,WAAK,eAAL;AACD;AA7SM;AA/LsB,CAAlB,C","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 modelValue (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 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"}
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"}
@@ -25,6 +25,8 @@ var _pad = _interopRequireDefault(require("../VDatePicker/util/pad"));
25
25
 
26
26
  var _mixins = _interopRequireDefault(require("../../util/mixins"));
27
27
 
28
+ var _vue = require("vue");
29
+
28
30
  var _SelectingTimes = require("./SelectingTimes");
29
31
 
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -75,9 +77,10 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
75
77
  readonly: Boolean,
76
78
  scrollable: Boolean,
77
79
  useSeconds: Boolean,
78
- value: null,
80
+ modelValue: null,
79
81
  ampmInTitle: Boolean
80
82
  },
83
+ emits: ['update:modelValue', 'change', 'update:active-picker', 'update:period', 'click:hour', 'click:minute', 'click:second'],
81
84
  data: function data() {
82
85
  return {
83
86
  inputHour: null,
@@ -219,12 +222,18 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
219
222
  watch: {
220
223
  activePicker: 'setPicker',
221
224
  selecting: 'emitPicker',
222
- value: 'setInputData'
225
+ modelValue: {
226
+ handler: 'setInputData',
227
+ immediate: false
228
+ }
223
229
  },
224
230
  mounted: function mounted() {
225
- this.setInputData(this.value);
231
+ this.setInputData(this.modelValue);
226
232
  this.$on('update:period', this.setPeriod);
227
233
  },
234
+ beforeUnmount: function beforeUnmount() {
235
+ this.$off('update:period', this.setPeriod);
236
+ },
228
237
  methods: {
229
238
  genValue: function genValue() {
230
239
  if (this.inputHour != null && this.inputMinute != null && (!this.useSeconds || this.inputSecond != null)) {
@@ -235,7 +244,7 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
235
244
  },
236
245
  emitValue: function emitValue() {
237
246
  var value = this.genValue();
238
- if (value !== null) this.$emit('input', value);
247
+ if (value !== null) this.$emit('update:modelValue', value);
239
248
  },
240
249
  emitPicker: function emitPicker(value) {
241
250
  var activePicker = 'HOUR';
@@ -249,7 +258,9 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
249
258
  this.$emit('update:active-picker', activePicker);
250
259
  },
251
260
  setPicker: function setPicker(picker) {
252
- if (picker === 'HOUR') this.selecting = _SelectingTimes.SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = _SelectingTimes.SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds) this.selecting = _SelectingTimes.SelectingTimes.Second;
261
+ if (picker === 'HOUR') this.selecting = _SelectingTimes.SelectingTimes.Hour;else if (picker === 'MINUTE') this.selecting = _SelectingTimes.SelectingTimes.Minute;else if (picker === 'SECOND' && this.useSeconds) {
262
+ this.selecting = _SelectingTimes.SelectingTimes.Second;
263
+ }
253
264
  },
254
265
  setPeriod: function setPeriod(period) {
255
266
  this.period = period;
@@ -270,19 +281,36 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
270
281
  this.inputMinute = value.getMinutes();
271
282
  this.inputSecond = value.getSeconds();
272
283
  } else {
273
- var _ref9 = value.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/) || new Array(6),
274
- _ref10 = _slicedToArray(_ref9, 6),
275
- hour = _ref10[1],
276
- minute = _ref10[2],
277
- second = _ref10[4],
278
- period = _ref10[5];
279
-
280
- this.inputHour = period ? this.convert12to24(parseInt(hour, 10), period) : parseInt(hour, 10);
281
- this.inputMinute = parseInt(minute, 10);
282
- this.inputSecond = parseInt(second || 0, 10);
283
- }
284
+ var match = value.trim().match(/^(\d+):(\d+)(:(\d+))?\s*([ap]m)?$/i);
285
+
286
+ if (match) {
287
+ var _match = _slicedToArray(match, 6),
288
+ hour = _match[1],
289
+ minute = _match[2],
290
+ second = _match[4],
291
+ period = _match[5];
292
+
293
+ var normalizedPeriod = period ? period.toLowerCase() : null;
294
+ this.inputHour = normalizedPeriod ? this.convert12to24(parseInt(hour, 10), normalizedPeriod) : parseInt(hour, 10);
295
+ this.inputMinute = parseInt(minute, 10);
296
+ this.inputSecond = parseInt(second || 0, 10); // Устанавливаем период только если он был указан в строке
297
+
298
+ if (normalizedPeriod) {
299
+ this.period = normalizedPeriod;
300
+ } else if (this.inputHour != null) {
301
+ this.period = this.inputHour < 12 ? 'am' : 'pm';
302
+ }
303
+ } else {
304
+ this.inputHour = null;
305
+ this.inputMinute = null;
306
+ this.inputSecond = null;
307
+ }
308
+ } // Для Date объектов устанавливаем период на основе 24-часового формата
284
309
 
285
- this.period = this.inputHour == null || this.inputHour < 12 ? 'am' : 'pm';
310
+
311
+ if (value instanceof Date && this.inputHour != null) {
312
+ this.period = this.inputHour < 12 ? 'am' : 'pm';
313
+ }
286
314
  },
287
315
  convert24to12: function convert24to12(hour) {
288
316
  return hour ? (hour - 1) % 12 + 1 : 12;
@@ -302,6 +330,8 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
302
330
  this.emitValue();
303
331
  },
304
332
  onChange: function onChange(value) {
333
+ // Сначала обновляем значение через onInput - это ключевой момент!
334
+ this.onInput(value);
305
335
  this.$emit("click:".concat(selectingNames[this.selecting]), value);
306
336
  var emitChange = this.selecting === (this.useSeconds ? _SelectingTimes.SelectingTimes.Second : _SelectingTimes.SelectingTimes.Minute);
307
337
 
@@ -311,7 +341,10 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
311
341
  this.selecting = _SelectingTimes.SelectingTimes.Second;
312
342
  }
313
343
 
314
- if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) return;
344
+ if (this.inputHour === this.lazyInputHour && this.inputMinute === this.lazyInputMinute && (!this.useSeconds || this.inputSecond === this.lazyInputSecond)) {
345
+ return;
346
+ }
347
+
315
348
  var time = this.genValue();
316
349
  if (time === null) return;
317
350
  this.lazyInputHour = this.inputHour;
@@ -330,7 +363,7 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
330
363
  return ((first || 0) + value) % range.length + range[0];
331
364
  },
332
365
  genClock: function genClock() {
333
- return h(_VTimePickerClock.default, {
366
+ return (0, _vue.h)(_VTimePickerClock.default, {
334
367
  allowedValues: this.selecting === _SelectingTimes.SelectingTimes.Hour ? this.isAllowedHourCb : this.selecting === _SelectingTimes.SelectingTimes.Minute ? this.isAllowedMinuteCb : this.isAllowedSecondCb,
335
368
  color: this.color,
336
369
  dark: this.dark,
@@ -348,19 +381,19 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
348
381
  scrollable: this.scrollable,
349
382
  size: Number(this.width) - (!this.fullWidth && this.landscape ? 80 : 20),
350
383
  step: this.selecting === _SelectingTimes.SelectingTimes.Hour ? 1 : 5,
351
- value: this.selecting === _SelectingTimes.SelectingTimes.Hour ? this.inputHour : this.selecting === _SelectingTimes.SelectingTimes.Minute ? this.inputMinute : this.inputSecond,
352
- onInput: this.onInput,
384
+ modelValue: this.selecting === _SelectingTimes.SelectingTimes.Hour ? this.inputHour : this.selecting === _SelectingTimes.SelectingTimes.Minute ? this.inputMinute : this.inputSecond,
385
+ onUpdateModelValue: this.onInput,
353
386
  onChange: this.onChange,
354
387
  ref: 'clock'
355
388
  });
356
389
  },
357
390
  genClockAmPm: function genClockAmPm() {
358
- return h('div', this.setTextColor(this.color || 'primary', {
391
+ return (0, _vue.h)('div', this.setTextColor(this.color || 'primary', {
359
392
  class: 'v-time-picker-clock__ampm'
360
393
  }), [this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly), this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly)]);
361
394
  },
362
395
  genPickerBody: function genPickerBody() {
363
- return h('div', {
396
+ return (0, _vue.h)('div', {
364
397
  class: 'v-time-picker-clock__container',
365
398
  key: this.selecting
366
399
  }, [!this.ampmInTitle && this.isAmPm && this.genClockAmPm(), this.genClock()]);
@@ -368,29 +401,24 @@ var _default = (0, _mixins.default)(_picker.default, _pickerButton.default
368
401
  genPickerTitle: function genPickerTitle() {
369
402
  var _this4 = this;
370
403
 
371
- return h(_VTimePickerTitle.default, {
372
- props: {
373
- ampm: this.isAmPm,
374
- ampmReadonly: this.isAmPm && !this.ampmInTitle,
375
- disabled: this.disabled,
376
- hour: this.inputHour,
377
- minute: this.inputMinute,
378
- second: this.inputSecond,
379
- period: this.period,
380
- readonly: this.readonly,
381
- useSeconds: this.useSeconds,
382
- selecting: this.selecting
404
+ return (0, _vue.h)(_VTimePickerTitle.default, {
405
+ ampm: this.isAmPm,
406
+ ampmReadonly: this.isAmPm && !this.ampmInTitle,
407
+ disabled: this.disabled,
408
+ hour: this.inputHour,
409
+ minute: this.inputMinute,
410
+ second: this.inputSecond,
411
+ period: this.period,
412
+ readonly: this.readonly,
413
+ useSeconds: this.useSeconds,
414
+ selecting: this.selecting,
415
+ 'onUpdate:selecting': function onUpdateSelecting(value) {
416
+ _this4.selecting = value;
383
417
  },
384
- on: {
385
- 'update:selecting': function updateSelecting(value) {
386
- return _this4.selecting = value;
387
- },
388
- 'update:period': function updatePeriod(period) {
389
- return _this4.$emit('update:period', period);
390
- }
418
+ 'onUpdate:period': function onUpdatePeriod(period) {
419
+ _this4.$emit('update:period', period);
391
420
  },
392
- ref: 'title',
393
- slot: 'title'
421
+ ref: 'title'
394
422
  });
395
423
  }
396
424
  },
@@ -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":";;;;;;;;;;;;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAM,YAAY,GAAG,0BAAY,EAAZ,CAArB;AACA,IAAM,cAAc,GAAG,0BAAY,EAAZ,CAAvB;AACA,IAAM,cAAc,GAAG,cAAc,CAAC,GAAf,CAAmB,UAAA,CAAC;AAAA,SAAI,CAAC,GAAG,EAAR;AAAA,CAApB,CAAvB;AACA,IAAM,OAAO,GAAG,0BAAY,EAAZ,CAAhB;AACA,IAAM,cAAc,GAAG;AAAE,KAAG,MAAL;AAAa,KAAG,QAAhB;AAA0B,KAAG;AAA7B,CAAvB;;eAOe,qBACb,eADa,EAEb;AACA;AAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,eADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,YAAY,EAAE,MADT;AAEL,IAAA,YAAY,EAAE,CAAC,QAAD,EAAW,KAAX,CAFT;AAGL,IAAA,cAAc,EAAE,CAAC,QAAD,EAAW,KAAX,CAHX;AAIL,IAAA,cAAc,EAAE,CAAC,QAAD,EAAW,KAAX,CAJX;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,OAAO,EAAE,MAFH;AAGN,MAAA,SAHM,qBAGK,GAHL,EAGa;AACjB,eAAO,CAAC,MAAD,EAAS,MAAT,EAAiB,QAAjB,CAA0B,GAA1B,CAAP;AACD;AALK,KANH;AAaL,IAAA,GAAG,EAAE,MAbA;AAcL,IAAA,GAAG,EAAE,MAdA;AAeL,IAAA,QAAQ,EAAE,OAfL;AAgBL,IAAA,UAAU,EAAE,OAhBP;AAiBL,IAAA,UAAU,EAAE,OAjBP;AAkBL,IAAA,UAAU,EAAG,IAlBR;AAmBL,IAAA,WAAW,EAAE;AAnBR,GAHA;AAwBP,EAAA,KAAK,EAAE,CACL,mBADK,EAEL,QAFK,EAGL,sBAHK,EAIL,eAJK,EAKL,YALK,EAML,cANK,EAOL,cAPK,CAxBA;AAiCP,EAAA,IAjCO,kBAiCH;AACF,WAAO;AACL,MAAA,SAAS,EAAE,IADN;AAEL,MAAA,WAAW,EAAE,IAFR;AAGL,MAAA,WAAW,EAAE,IAHR;AAIL,MAAA,aAAa,EAAE,IAJV;AAKL,MAAA,eAAe,EAAE,IALZ;AAML,MAAA,eAAe,EAAE,IANZ;AAOL,MAAA,MAAM,EAAE,IAPH;AAQL,MAAA,SAAS,EAAE,+BAAe;AARrB,KAAP;AAUD,GA5CM;AA8CP,EAAA,QAAQ,EAAE;AACR,IAAA,aAAa,EAAE;AACb,MAAA,GADa,iBACV;AACD,eAAO,KAAK,SAAL,KAAmB,+BAAe,IAAzC;AACD,OAHY;AAIb,MAAA,GAJa,eAIR,CAJQ,EAIE;AACb,aAAK,SAAL,GAAiB,+BAAe,IAAhC;AACD;AANY,KADP;AASR,IAAA,eAAe,EAAE;AACf,MAAA,GADe,iBACZ;AACD,eAAO,KAAK,SAAL,KAAmB,+BAAe,MAAzC;AACD,OAHc;AAIf,MAAA,GAJe,eAIV,CAJU,EAIA;AACb,aAAK,SAAL,GAAiB,+BAAe,MAAhC;AACD;AANc,KATT;AAiBR,IAAA,eAAe,EAAE;AACf,MAAA,GADe,iBACZ;AACD,eAAO,KAAK,SAAL,KAAmB,+BAAe,MAAzC;AACD,OAHc;AAIf,MAAA,GAJe,eAIV,CAJU,EAIA;AACb,aAAK,SAAL,GAAiB,+BAAe,MAAhC;AACD;AANc,KAjBT;AAyBR,IAAA,eAzBQ,6BAyBO;AAAA;;AACb,UAAI,EAAJ;;AAEA,UAAI,KAAK,YAAL,YAA6B,KAAjC,EAAwC;AACtC,QAAA,EAAE,GAAG,YAAC,GAAD;AAAA,iBAAkB,KAAI,CAAC,YAAL,CAA+B,QAA/B,CAAwC,GAAxC,CAAlB;AAAA,SAAL;AACD,OAFD,MAEO;AACL,QAAA,EAAE,GAAG,KAAK,YAAV;AACD;;AAED,UAAI,CAAC,KAAK,GAAN,IAAa,CAAC,KAAK,GAAvB,EAA4B,OAAO,EAAP;AAE5B,UAAM,OAAO,GAAG,KAAK,GAAL,GAAW,MAAM,CAAC,KAAK,GAAL,CAAS,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAD,CAAjB,GAA4C,CAA5D;AACA,UAAM,OAAO,GAAG,KAAK,GAAL,GAAW,MAAM,CAAC,KAAK,GAAL,CAAS,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAD,CAAjB,GAA4C,EAA5D;AAEA,aAAO,UAAC,GAAD,EAAgB;AACrB,eAAO,GAAG,IAAI,OAAO,GAAG,CAAjB,IAAsB,GAAG,IAAI,OAAO,GAAG,CAAvC,KAA6C,CAAC,EAAD,IAAO,EAAE,CAAC,GAAD,CAAtD,CAAP;AACD,OAFD;AAGD,KA1CO;AA2CR,IAAA,iBA3CQ,+BA2CS;AAAA;;AACf,UAAI,EAAJ;AAEA,UAAM,aAAa,GACjB,CAAC,KAAK,eAAN,IACA,KAAK,SAAL,KAAmB,IADnB,IAEA,KAAK,eAAL,CAAqB,KAAK,SAA1B,CAHF;;AAIA,UAAI,KAAK,cAAL,YAA+B,KAAnC,EAA0C;AACxC,QAAA,EAAE,GAAG,YAAC,GAAD;AAAA,iBAAkB,MAAI,CAAC,cAAL,CAAiC,QAAjC,CAA0C,GAA1C,CAAlB;AAAA,SAAL;AACD,OAFD,MAEO;AACL,QAAA,EAAE,GAAG,KAAK,cAAV;AACD;;AAED,UAAI,CAAC,KAAK,GAAN,IAAa,CAAC,KAAK,GAAvB,EAA4B;AAC1B,eAAO,aAAa,GAAG,EAAH,GAAQ;AAAA,iBAAM,KAAN;AAAA,SAA5B;AACD;;AAfc,iBAiBc,KAAK,GAAL,GACzB,KAAK,GAAL,CAAS,KAAT,CAAe,GAAf,EAAoB,GAApB,CAAwB,MAAxB,CADyB,GAEzB,CAAC,CAAD,EAAI,CAAJ,CAnBW;AAAA;AAAA,UAiBR,OAjBQ;AAAA,UAiBC,SAjBD;;AAAA,kBAoBc,KAAK,GAAL,GACzB,KAAK,GAAL,CAAS,KAAT,CAAe,GAAf,EAAoB,GAApB,CAAwB,MAAxB,CADyB,GAEzB,CAAC,EAAD,EAAK,EAAL,CAtBW;AAAA;AAAA,UAoBR,OApBQ;AAAA,UAoBC,SApBD;;AAuBf,UAAM,OAAO,GAAG,OAAO,GAAG,EAAV,GAAe,SAAS,GAAG,CAA3C;AACA,UAAM,OAAO,GAAG,OAAO,GAAG,EAAV,GAAe,SAAS,GAAG,CAA3C;AAEA,aAAO,UAAC,GAAD,EAAgB;AACrB,YAAM,IAAI,GAAG,KAAK,MAAI,CAAC,SAAV,GAAuB,GAApC;AACA,eACE,IAAI,IAAI,OAAR,IACA,IAAI,IAAI,OADR,IAEA,aAFA,KAGC,CAAC,EAAD,IAAO,EAAE,CAAC,GAAD,CAHV,CADF;AAMD,OARD;AASD,KA9EO;AA+ER,IAAA,iBA/EQ,+BA+ES;AAAA;;AACf,UAAI,EAAJ;AAEA,UAAM,aAAa,GACjB,CAAC,KAAK,eAAN,IACA,KAAK,SAAL,KAAmB,IADnB,IAEA,KAAK,eAAL,CAAqB,KAAK,SAA1B,CAHF;AAIA,UAAM,eAAe,GACnB,aAAa,KACZ,CAAC,KAAK,iBAAN,IACC,KAAK,WAAL,KAAqB,IADtB,IAEC,KAAK,iBAAL,CAAuB,KAAK,WAA5B,CAHW,CADf;;AAMA,UAAI,KAAK,cAAL,YAA+B,KAAnC,EAA0C;AACxC,QAAA,EAAE,GAAG,YAAC,GAAD;AAAA,iBAAkB,MAAI,CAAC,cAAL,CAAiC,QAAjC,CAA0C,GAA1C,CAAlB;AAAA,SAAL;AACD,OAFD,MAEO;AACL,QAAA,EAAE,GAAG,KAAK,cAAV;AACD;;AAED,UAAI,CAAC,KAAK,GAAN,IAAa,CAAC,KAAK,GAAvB,EAA4B;AAC1B,eAAO,eAAe,GAAG,EAAH,GAAQ;AAAA,iBAAM,KAAN;AAAA,SAA9B;AACD;;AArBc,kBAuByB,KAAK,GAAL,GACpC,KAAK,GAAL,CAAS,KAAT,CAAe,GAAf,EAAoB,GAApB,CAAwB,MAAxB,CADoC,GAEpC,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAzBW;AAAA;AAAA,UAuBR,OAvBQ;AAAA,UAuBC,SAvBD;AAAA,UAuBY,SAvBZ;;AAAA,kBA0ByB,KAAK,GAAL,GACpC,KAAK,GAAL,CAAS,KAAT,CAAe,GAAf,EAAoB,GAApB,CAAwB,MAAxB,CADoC,GAEpC,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,CA5BW;AAAA;AAAA,UA0BR,OA1BQ;AAAA,UA0BC,SA1BD;AAAA,UA0BY,SA1BZ;;AA6Bf,UAAM,OAAO,GAAG,OAAO,GAAG,IAAV,GAAiB,SAAS,GAAG,EAA7B,GAAkC,CAAC,SAAS,IAAI,CAAd,IAAmB,CAArE;AACA,UAAM,OAAO,GAAG,OAAO,GAAG,IAAV,GAAiB,SAAS,GAAG,EAA7B,GAAkC,CAAC,SAAS,IAAI,CAAd,IAAmB,CAArE;AAEA,aAAO,UAAC,GAAD,EAAgB;AACrB,YAAM,IAAI,GAAG,OAAO,MAAI,CAAC,SAAZ,GAAyB,KAAK,MAAI,CAAC,WAAnC,GAAkD,GAA/D;AACA,eACE,IAAI,IAAI,OAAR,IACA,IAAI,IAAI,OADR,IAEA,eAFA,KAGC,CAAC,EAAD,IAAO,EAAE,CAAC,GAAD,CAHV,CADF;AAMD,OARD;AASD,KAxHO;AAyHR,IAAA,MAzHQ,oBAyHF;AACJ,aAAO,KAAK,MAAL,KAAgB,MAAvB;AACD;AA3HO,GA9CH;AA4KP,EAAA,KAAK,EAAE;AACL,IAAA,YAAY,EAAE,WADT;AAEL,IAAA,SAAS,EAAE,YAFN;AAGL,IAAA,UAAU,EAAE;AACV,MAAA,OAAO,EAAE,cADC;AAEV,MAAA,SAAS,EAAE;AAFD;AAHP,GA5KA;AAqLP,EAAA,OArLO,qBAqLA;AACL,SAAK,YAAL,CAAkB,KAAK,UAAvB;AACA,SAAK,GAAL,CAAS,eAAT,EAA0B,KAAK,SAA/B;AACD,GAxLM;AA0LP,EAAA,aA1LO,2BA0LM;AACX,SAAK,IAAL,CAAU,eAAV,EAA2B,KAAK,SAAhC;AACD,GA5LM;AA8LP,EAAA,OAAO,EAAE;AACP,IAAA,QADO,sBACC;AACN,UACE,KAAK,SAAL,IAAkB,IAAlB,IACA,KAAK,WAAL,IAAoB,IADpB,KAEC,CAAC,KAAK,UAAN,IAAoB,KAAK,WAAL,IAAoB,IAFzC,CADF,EAIE;AACA,eACE,UAAG,kBAAI,KAAK,SAAT,CAAH,cAA0B,kBAAI,KAAK,WAAT,CAA1B,KACC,KAAK,UAAL,cAAsB,kBAAI,KAAK,WAAT,CAAtB,IAAiD,EADlD,CADF;AAID;;AAED,aAAO,IAAP;AACD,KAdM;AAeP,IAAA,SAfO,uBAeE;AACP,UAAM,KAAK,GAAG,KAAK,QAAL,EAAd;AACA,UAAI,KAAK,KAAK,IAAd,EAAoB,KAAK,KAAL,CAAW,mBAAX,EAAgC,KAAhC;AACrB,KAlBM;AAmBP,IAAA,UAnBO,sBAmBK,KAnBL,EAmB0B;AAC/B,UAAI,YAAY,GAAG,MAAnB;;AACA,UAAI,KAAK,KAAK,+BAAe,MAA7B,EAAqC;AACnC,QAAA,YAAY,GAAG,QAAf;AACD,OAFD,MAEO,IAAI,KAAK,KAAK,+BAAe,MAA7B,EAAqC;AAC1C,QAAA,YAAY,GAAG,QAAf;AACD;;AACD,WAAK,KAAL,CAAW,sBAAX,EAAmC,YAAnC;AACD,KA3BM;AA4BP,IAAA,SA5BO,qBA4BI,MA5BJ,EA4BwB;AAC7B,UAAI,MAAM,KAAK,MAAf,EAAuB,KAAK,SAAL,GAAiB,+BAAe,IAAhC,CAAvB,KACK,IAAI,MAAM,KAAK,QAAf,EAAyB,KAAK,SAAL,GAAiB,+BAAe,MAAhC,CAAzB,KACA,IAAI,MAAM,KAAK,QAAX,IAAuB,KAAK,UAAhC,EAA4C;AAAE,aAAK,SAAL,GAAiB,+BAAe,MAAhC;AAAwC;AAC5F,KAhCM;AAiCP,IAAA,SAjCO,qBAiCI,MAjCJ,EAiCkB;AACvB,WAAK,MAAL,GAAc,MAAd;;AACA,UAAI,KAAK,SAAL,IAAkB,IAAtB,EAA4B;AAC1B,YAAM,OAAO,GAAG,KAAK,SAAL,IAAmB,MAAM,KAAK,IAAX,GAAkB,CAAC,EAAnB,GAAwB,EAA3C,CAAhB;AACA,aAAK,SAAL,GAAiB,KAAK,YAAL,CAAkB,MAAlB,EAA0B,OAA1B,CAAjB;AACA,aAAK,SAAL;AACD;AACF,KAxCM;AAyCP,IAAA,YAzCO,wBAyCO,KAzCP,EAyCkC;AACvC,UAAI,KAAK,IAAI,IAAT,IAAiB,KAAK,KAAK,EAA/B,EAAmC;AACjC,aAAK,SAAL,GAAiB,IAAjB;AACA,aAAK,WAAL,GAAmB,IAAnB;AACA,aAAK,WAAL,GAAmB,IAAnB;AACD,OAJD,MAIO,IAAI,KAAK,YAAY,IAArB,EAA2B;AAChC,aAAK,SAAL,GAAiB,KAAK,CAAC,QAAN,EAAjB;AACA,aAAK,WAAL,GAAmB,KAAK,CAAC,UAAN,EAAnB;AACA,aAAK,WAAL,GAAmB,KAAK,CAAC,UAAN,EAAnB;AACD,OAJM,MAIA;AACL,YAAM,KAAK,GAAG,KAAK,CAChB,IADW,GAEX,KAFW,CAEL,oCAFK,CAAd;;AAIA,YAAI,KAAJ,EAAW;AAAA,sCACkC,KADlC;AAAA,cACA,IADA;AAAA,cACM,MADN;AAAA,cACgB,MADhB;AAAA,cACwB,MADxB;;AAET,cAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC,WAAP,EAAH,GAAoC,IAAnE;AACA,eAAK,SAAL,GAAiB,gBAAgB,GAC7B,KAAK,aAAL,CAAmB,QAAQ,CAAC,IAAD,EAAO,EAAP,CAA3B,EAAuC,gBAAvC,CAD6B,GAE7B,QAAQ,CAAC,IAAD,EAAO,EAAP,CAFZ;AAGA,eAAK,WAAL,GAAmB,QAAQ,CAAC,MAAD,EAAS,EAAT,CAA3B;AACA,eAAK,WAAL,GAAmB,QAAQ,CAAC,MAAM,IAAI,CAAX,EAAc,EAAd,CAA3B,CAPS,CAST;;AACA,cAAI,gBAAJ,EAAsB;AACpB,iBAAK,MAAL,GAAc,gBAAd;AACD,WAFD,MAEO,IAAI,KAAK,SAAL,IAAkB,IAAtB,EAA4B;AACjC,iBAAK,MAAL,GAAc,KAAK,SAAL,GAAiB,EAAjB,GAAsB,IAAtB,GAA6B,IAA3C;AACD;AACF,SAfD,MAeO;AACL,eAAK,SAAL,GAAiB,IAAjB;AACA,eAAK,WAAL,GAAmB,IAAnB;AACA,eAAK,WAAL,GAAmB,IAAnB;AACD;AACF,OAlCsC,CAoCvC;;;AACA,UAAI,KAAK,YAAY,IAAjB,IAAyB,KAAK,SAAL,IAAkB,IAA/C,EAAqD;AACnD,aAAK,MAAL,GAAc,KAAK,SAAL,GAAiB,EAAjB,GAAsB,IAAtB,GAA6B,IAA3C;AACD;AACF,KAjFM;AAkFP,IAAA,aAlFO,yBAkFQ,IAlFR,EAkFoB;AACzB,aAAO,IAAI,GAAI,CAAC,IAAI,GAAG,CAAR,IAAa,EAAd,GAAoB,CAAvB,GAA2B,EAAtC;AACD,KApFM;AAqFP,IAAA,aArFO,yBAqFQ,IArFR,EAqFsB,MArFtB,EAqFoC;AACzC,aAAQ,IAAI,GAAG,EAAR,IAAe,MAAM,KAAK,IAAX,GAAkB,EAAlB,GAAuB,CAAtC,CAAP;AACD,KAvFM;AAwFP,IAAA,OAxFO,mBAwFE,KAxFF,EAwFe;AACpB,UAAI,KAAK,SAAL,KAAmB,+BAAe,IAAtC,EAA4C;AAC1C,aAAK,SAAL,GAAiB,KAAK,MAAL,GACb,KAAK,aAAL,CAAmB,KAAnB,EAA0B,KAAK,MAA/B,CADa,GAEb,KAFJ;AAGD,OAJD,MAIO,IAAI,KAAK,SAAL,KAAmB,+BAAe,MAAtC,EAA8C;AACnD,aAAK,WAAL,GAAmB,KAAnB;AACD,OAFM,MAEA;AACL,aAAK,WAAL,GAAmB,KAAnB;AACD;;AACD,WAAK,SAAL;AACD,KAnGM;AAoGP,IAAA,QApGO,oBAoGG,KApGH,EAoGgB;AACrB;AACA,WAAK,OAAL,CAAa,KAAb;AAEA,WAAK,KAAL,iBAAoB,cAAc,CAAC,KAAK,SAAN,CAAlC,GAAsD,KAAtD;AAEA,UAAM,UAAU,GACd,KAAK,SAAL,MACC,KAAK,UAAL,GAAkB,+BAAe,MAAjC,GAA0C,+BAAe,MAD1D,CADF;;AAIA,UAAI,KAAK,SAAL,KAAmB,+BAAe,IAAtC,EAA4C;AAC1C,aAAK,SAAL,GAAiB,+BAAe,MAAhC;AACD,OAFD,MAEO,IAAI,KAAK,UAAL,IAAmB,KAAK,SAAL,KAAmB,+BAAe,MAAzD,EAAiE;AACtE,aAAK,SAAL,GAAiB,+BAAe,MAAhC;AACD;;AAED,UACE,KAAK,SAAL,KAAmB,KAAK,aAAxB,IACA,KAAK,WAAL,KAAqB,KAAK,eAD1B,KAEC,CAAC,KAAK,UAAN,IAAoB,KAAK,WAAL,KAAqB,KAAK,eAF/C,CADF,EAIE;AACA;AACD;;AAED,UAAM,IAAI,GAAG,KAAK,QAAL,EAAb;AACA,UAAI,IAAI,KAAK,IAAb,EAAmB;AAEnB,WAAK,aAAL,GAAqB,KAAK,SAA1B;AACA,WAAK,eAAL,GAAuB,KAAK,WAA5B;AACA,WAAK,UAAL,KAAoB,KAAK,eAAL,GAAuB,KAAK,WAAhD;AAEA,MAAA,UAAU,IAAI,KAAK,KAAL,CAAW,QAAX,EAAqB,IAArB,CAAd;AACD,KApIM;AAqIP,IAAA,YArIO,wBAqIO,IArIP,EAqI2C,KArI3C,EAqIwD;AAC7D,UAAM,SAAS,GACb,IAAI,KAAK,MAAT,GACI,KAAK,eADT,GAEI,IAAI,KAAK,QAAT,GACE,KAAK,iBADP,GAEE,KAAK,iBALb;AAMA,UAAI,CAAC,SAAL,EAAgB,OAAO,KAAP,CAP6C,CAS7D;;AACA,UAAM,KAAK,GACT,IAAI,KAAK,QAAT,GACI,OADJ,GAEI,IAAI,KAAK,QAAT,GACE,OADF,GAEE,KAAK,MAAL,GACE,KAAK,GAAG,EAAR,GACE,cADF,GAEE,cAHJ,GAIE,YATV;AAUA,UAAM,KAAK,GAAG,KAAK,CAAC,IAAN,CAAW,UAAA,CAAC;AAAA,eACxB,SAAS,CAAE,CAAC,CAAC,GAAG,KAAL,IAAc,KAAK,CAAC,MAArB,GAA+B,KAAK,CAAC,CAAD,CAArC,CADe;AAAA,OAAZ,CAAd;AAGA,aAAQ,CAAC,CAAC,KAAK,IAAI,CAAV,IAAe,KAAhB,IAAyB,KAAK,CAAC,MAAhC,GAA0C,KAAK,CAAC,CAAD,CAAtD;AACD,KA7JM;AA8JP,IAAA,QA9JO,sBA8JC;AACN,aAAO,YAAE,yBAAF,EAAoB;AACzB,QAAA,aAAa,EACX,KAAK,SAAL,KAAmB,+BAAe,IAAlC,GACI,KAAK,eADT,GAEI,KAAK,SAAL,KAAmB,+BAAe,MAAlC,GACE,KAAK,iBADP,GAEE,KAAK,iBANY;AAOzB,QAAA,KAAK,EAAE,KAAK,KAPa;AAQzB,QAAA,IAAI,EAAE,KAAK,IARc;AASzB,QAAA,QAAQ,EAAE,KAAK,QATU;AAUzB,QAAA,MAAM,EAAE,KAAK,SAAL,KAAmB,+BAAe,IAAlC,IAA0C,CAAC,KAAK,MAV/B;AAWzB,QAAA,MAAM,EACJ,KAAK,SAAL,KAAmB,+BAAe,IAAlC,GACI,KAAK,MAAL,GACE,KAAK,aADP,GAEE,UAAC,GAAD;AAAA,iBAAiB,GAAjB;AAAA,SAHN,GAII,UAAC,GAAD;AAAA,iBAAiB,kBAAI,GAAJ,EAAS,CAAT,CAAjB;AAAA,SAhBmB;AAiBzB,QAAA,KAAK,EAAE,KAAK,KAjBa;AAkBzB,QAAA,GAAG,EACD,KAAK,SAAL,KAAmB,+BAAe,IAAlC,GACI,KAAK,MAAL,IAAe,KAAK,MAAL,KAAgB,IAA/B,GACE,EADF,GAEE,EAHN,GAII,EAvBmB;AAwBzB,QAAA,GAAG,EACD,KAAK,SAAL,KAAmB,+BAAe,IAAlC,IACA,KAAK,MADL,IAEA,KAAK,MAAL,KAAgB,IAFhB,GAGI,EAHJ,GAII,CA7BmB;AA8BzB,QAAA,QAAQ,EAAE,KAAK,QA9BU;AA+BzB,QAAA,UAAU,EAAE,KAAK,UA/BQ;AAgCzB,QAAA,IAAI,EACF,MAAM,CAAC,KAAK,KAAN,CAAN,IAAsB,CAAC,KAAK,SAAN,IAAmB,KAAK,SAAxB,GAAoC,EAApC,GAAyC,EAA/D,CAjCuB;AAkCzB,QAAA,IAAI,EAAE,KAAK,SAAL,KAAmB,+BAAe,IAAlC,GAAyC,CAAzC,GAA6C,CAlC1B;AAmCzB,QAAA,UAAU,EACR,KAAK,SAAL,KAAmB,+BAAe,IAAlC,GACI,KAAK,SADT,GAEI,KAAK,SAAL,KAAmB,+BAAe,MAAlC,GACE,KAAK,WADP,GAEE,KAAK,WAxCY;AAyCzB,QAAA,kBAAkB,EAAE,KAAK,OAzCA;AA0CzB,QAAA,QAAQ,EAAE,KAAK,QA1CU;AA2CzB,QAAA,GAAG,EAAE;AA3CoB,OAApB,CAAP;AA6CD,KA5MM;AA6MP,IAAA,YA7MO,0BA6MK;AACV,aAAO,YACL,KADK,EAEL,KAAK,YAAL,CAAkB,KAAK,KAAL,IAAc,SAAhC,EAA2C;AACzC,QAAA,KAAK,EAAE;AADkC,OAA3C,CAFK,EAKL,CACE,KAAK,eAAL,CACE,QADF,EAEE,IAFF,EAGE,KAAK,QAAL,CAAc,IAAd,CAAmB,CAAnB,CAAqB,wBAArB,CAHF,EAIE,KAAK,QAAL,IAAiB,KAAK,QAJxB,CADF,EAOE,KAAK,eAAL,CACE,QADF,EAEE,IAFF,EAGE,KAAK,QAAL,CAAc,IAAd,CAAmB,CAAnB,CAAqB,wBAArB,CAHF,EAIE,KAAK,QAAL,IAAiB,KAAK,QAJxB,CAPF,CALK,CAAP;AAoBD,KAlOM;AAmOP,IAAA,aAnOO,2BAmOM;AACX,aAAO,YACL,KADK,EAEL;AACE,QAAA,KAAK,EAAE,gCADT;AAEE,QAAA,GAAG,EAAE,KAAK;AAFZ,OAFK,EAML,CACE,CAAC,KAAK,WAAN,IAAqB,KAAK,MAA1B,IAAoC,KAAK,YAAL,EADtC,EAEE,KAAK,QAAL,EAFF,CANK,CAAP;AAWD,KA/OM;AAgPP,IAAA,cAhPO,4BAgPO;AAAA;;AACZ,aAAO,YAAE,yBAAF,EAAoB;AACzB,QAAA,IAAI,EAAE,KAAK,MADc;AAEzB,QAAA,YAAY,EAAE,KAAK,MAAL,IAAe,CAAC,KAAK,WAFV;AAGzB,QAAA,QAAQ,EAAE,KAAK,QAHU;AAIzB,QAAA,IAAI,EAAE,KAAK,SAJc;AAKzB,QAAA,MAAM,EAAE,KAAK,WALY;AAMzB,QAAA,MAAM,EAAE,KAAK,WANY;AAOzB,QAAA,MAAM,EAAE,KAAK,MAPY;AAQzB,QAAA,QAAQ,EAAE,KAAK,QARU;AASzB,QAAA,UAAU,EAAE,KAAK,UATQ;AAUzB,QAAA,SAAS,EAAE,KAAK,SAVS;AAWzB,8BAAsB,2BAAC,KAAD,EAAqB;AACzC,UAAA,MAAI,CAAC,SAAL,GAAiB,KAAjB;AACD,SAbwB;AAczB,2BAAmB,wBAAC,MAAD,EAAmB;AACpC,UAAA,MAAI,CAAC,KAAL,CAAW,eAAX,EAA4B,MAA5B;AACD,SAhBwB;AAiBzB,QAAA,GAAG,EAAE;AAjBoB,OAApB,CAAP;AAmBD;AApQM,GA9LF;AAqcP,EAAA,MArcO,oBAqcD;AACJ,WAAO,KAAK,SAAL,CAAe,gBAAf,CAAP;AACD;AAvcM,CAJM,C","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"}
@@ -56,11 +56,10 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
56
56
  type: Number,
57
57
  default: 1
58
58
  },
59
- value: Number
59
+ modelValue: Number
60
60
  },
61
61
  data: function data() {
62
62
  return {
63
- inputValue: this.value,
64
63
  isDragging: false,
65
64
  valueOnMouseDown: null,
66
65
  valueOnMouseUp: null
@@ -77,7 +76,7 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
77
76
  return this.degreesPerUnit * Math.PI / 180;
78
77
  },
79
78
  displayedValue: function displayedValue() {
80
- return this.value == null ? this.min : this.value;
79
+ return this.modelValue == null ? this.min : this.modelValue;
81
80
  },
82
81
  innerRadiusScale: function innerRadiusScale() {
83
82
  return 0.62;
@@ -86,11 +85,6 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
86
85
  return this.double ? this.count / 2 : this.count;
87
86
  }
88
87
  },
89
- watch: {
90
- value: function value(_value) {
91
- this.inputValue = _value;
92
- }
93
- },
94
88
  methods: {
95
89
  wheel: function wheel(e) {
96
90
  e.preventDefault();
@@ -119,34 +113,31 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
119
113
  var children = [];
120
114
 
121
115
  for (var value = this.min; value <= this.max; value = value + this.step) {
122
- var _this$setBackgroundCo;
123
-
124
- var color = value === this.value && (this.color || 'accent');
125
- children.push((0, _vue.h)('span', this.setBackgroundColor(color, (_this$setBackgroundCo = {
126
- class: 'v-time-picker-clock__item'
127
- }, _defineProperty(_this$setBackgroundCo, "class", {
128
- 'v-time-picker-clock__item--active': value === this.displayedValue,
129
- 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value)
130
- }), _defineProperty(_this$setBackgroundCo, "style", this.getTransform(value)), _defineProperty(_this$setBackgroundCo, "domProps", {
116
+ var color = value === this.modelValue && (this.color || 'accent');
117
+ children.push((0, _vue.h)('span', this.setBackgroundColor(color, {
118
+ class: ['v-time-picker-clock__item', {
119
+ 'v-time-picker-clock__item--active': value === this.displayedValue,
120
+ 'v-time-picker-clock__item--disabled': this.disabled || !this.isAllowed(value)
121
+ }],
122
+ style: this.getTransform(value),
131
123
  innerHTML: "<span>".concat(this.format(value), "</span>")
132
- }), _this$setBackgroundCo))));
124
+ })));
133
125
  }
134
126
 
135
127
  return children;
136
128
  },
137
129
  genHand: function genHand() {
138
- var _this$setBackgroundCo2;
139
-
140
130
  var scale = "scaleY(".concat(this.handScale(this.displayedValue), ")");
141
131
  var angle = this.rotate + this.degreesPerUnit * (this.displayedValue - this.min);
142
- var color = this.value != null && (this.color || 'accent');
143
- return (0, _vue.h)('div', this.setBackgroundColor(color, (_this$setBackgroundCo2 = {
144
- class: 'v-time-picker-clock__hand'
145
- }, _defineProperty(_this$setBackgroundCo2, "class", {
146
- 'v-time-picker-clock__hand--inner': this.isInner(this.value)
147
- }), _defineProperty(_this$setBackgroundCo2, "style", {
148
- transform: "rotate(".concat(angle, "deg) ").concat(scale)
149
- }), _this$setBackgroundCo2)));
132
+ var color = this.modelValue != null && (this.color || 'accent');
133
+ return (0, _vue.h)('div', this.setBackgroundColor(color, {
134
+ class: ['v-time-picker-clock__hand', {
135
+ 'v-time-picker-clock__hand--inner': this.isInner(this.modelValue)
136
+ }],
137
+ style: {
138
+ transform: "rotate(".concat(angle, "deg) ").concat(scale)
139
+ }
140
+ }));
150
141
  },
151
142
  getTransform: function getTransform(i) {
152
143
  var _this$getPosition = this.getPosition(i),
@@ -231,9 +222,8 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
231
222
  this.update(value);
232
223
  },
233
224
  update: function update(value) {
234
- if (this.inputValue !== value) {
235
- this.inputValue = value;
236
- this.$emit('input', value);
225
+ if (this.modelValue !== value) {
226
+ this.$emit('update:modelValue', value);
237
227
  }
238
228
  },
239
229
  euclidean: function euclidean(p0, p1) {
@@ -247,27 +237,26 @@ var _default2 = (0, _mixins.default)(_colorable.default, _themeable.default
247
237
  }
248
238
  },
249
239
  render: function render() {
250
- var _this = this,
251
- _data;
240
+ var _this = this;
252
241
 
253
- var data = (_data = {
254
- class: 'v-time-picker-clock'
255
- }, _defineProperty(_data, "class", _objectSpread({
256
- 'v-time-picker-clock--indeterminate': this.value == null
257
- }, this.themeClasses)), _defineProperty(_data, "on", this.readonly || this.disabled ? undefined : {
258
- mousedown: this.onMouseDown,
259
- mouseup: this.onMouseUp,
260
- mouseleave: function mouseleave(e) {
242
+ var data = {
243
+ class: ['v-time-picker-clock', _objectSpread({
244
+ 'v-time-picker-clock--indeterminate': this.modelValue == null
245
+ }, this.themeClasses)],
246
+ onMousedown: this.readonly || this.disabled ? undefined : this.onMouseDown,
247
+ onMouseup: this.readonly || this.disabled ? undefined : this.onMouseUp,
248
+ onMouseleave: this.readonly || this.disabled ? undefined : function (e) {
261
249
  return _this.isDragging && _this.onMouseUp(e);
262
250
  },
263
- touchstart: this.onMouseDown,
264
- touchend: this.onMouseUp,
265
- mousemove: this.onDragMove,
266
- touchmove: this.onDragMove
267
- }), _defineProperty(_data, "ref", 'clock'), _data);
251
+ onTouchstart: this.readonly || this.disabled ? undefined : this.onMouseDown,
252
+ onTouchend: this.readonly || this.disabled ? undefined : this.onMouseUp,
253
+ onMousemove: this.readonly || this.disabled ? undefined : this.onDragMove,
254
+ onTouchmove: this.readonly || this.disabled ? undefined : this.onDragMove,
255
+ ref: 'clock'
256
+ };
268
257
 
269
- if (this.scrollable && data.on) {
270
- data.on.wheel = this.wheel;
258
+ if (this.scrollable && !this.readonly && !this.disabled) {
259
+ data.onWheel = this.wheel;
271
260
  }
272
261
 
273
262
  return (0, _vue.h)('div', data, [(0, _vue.h)('div', {