@dimailn/vuetify 2.7.2-alpha32 → 2.7.2-alpha34

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 (313) hide show
  1. package/dist/vuetify.js +544 -366
  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/VCalendar/VCalendarWeekly.js +10 -5
  6. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  7. package/es5/components/VCheckbox/VCheckbox.js +7 -9
  8. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  9. package/es5/components/VContent/VContent.js +24 -5
  10. package/es5/components/VContent/VContent.js.map +1 -1
  11. package/es5/components/VCounter/VCounter.js.map +1 -1
  12. package/es5/components/VDatePicker/VDatePicker.js +15 -7
  13. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  14. package/es5/components/VDatePicker/VDatePickerTitle.js +30 -19
  15. package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  16. package/es5/components/VDatePicker/mixins/date-picker-table.js +1 -1
  17. package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  18. package/es5/components/VDatePicker/util/eventHelpers.js +27 -17
  19. package/es5/components/VDatePicker/util/eventHelpers.js.map +1 -1
  20. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  21. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  22. package/es5/components/VGrid/VCol.js +3 -1
  23. package/es5/components/VGrid/VCol.js.map +1 -1
  24. package/es5/components/VGrid/VContainer.js +23 -10
  25. package/es5/components/VGrid/VContainer.js.map +1 -1
  26. package/es5/components/VGrid/grid.js +33 -15
  27. package/es5/components/VGrid/grid.js.map +1 -1
  28. package/es5/components/VHover/VHover.js +23 -17
  29. package/es5/components/VHover/VHover.js.map +1 -1
  30. package/es5/components/VIcon/VIcon.js +77 -53
  31. package/es5/components/VIcon/VIcon.js.map +1 -1
  32. package/es5/components/VItemGroup/VItemGroup.js +5 -0
  33. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  34. package/es5/components/VLabel/VLabel.js +3 -1
  35. package/es5/components/VLabel/VLabel.js.map +1 -1
  36. package/es5/components/VOtpInput/VOtpInput.js +54 -33
  37. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  38. package/es5/components/VOverflowBtn/VOverflowBtn.js +14 -13
  39. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  40. package/es5/components/VProgressLinear/VProgressLinear.js +12 -33
  41. package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
  42. package/es5/components/VSelect/VSelect.js +4 -1
  43. package/es5/components/VSelect/VSelect.js.map +1 -1
  44. package/es5/components/VStepper/VStepper.js +1 -1
  45. package/es5/components/VStepper/VStepper.js.map +1 -1
  46. package/es5/components/VStepper/VStepperContent.js +2 -5
  47. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  48. package/es5/components/VSwitch/VSwitch.js +1 -1
  49. package/es5/components/VSwitch/VSwitch.js.map +1 -1
  50. package/es5/components/VTabs/VTabs.js +5 -0
  51. package/es5/components/VTabs/VTabs.js.map +1 -1
  52. package/es5/components/VTabs/VTabsBar.js +3 -0
  53. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  54. package/es5/components/VTextField/VTextField.js +2 -1
  55. package/es5/components/VTextField/VTextField.js.map +1 -1
  56. package/es5/components/VTooltip/VTooltip.js +0 -7
  57. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  58. package/es5/directives/color/index.js +6 -3
  59. package/es5/directives/color/index.js.map +1 -1
  60. package/es5/directives/ripple/index.js +5 -2
  61. package/es5/directives/ripple/index.js.map +1 -1
  62. package/es5/directives/scroll/index.js +1 -2
  63. package/es5/directives/scroll/index.js.map +1 -1
  64. package/es5/directives/touch/index.js +7 -4
  65. package/es5/directives/touch/index.js.map +1 -1
  66. package/es5/framework.js +1 -1
  67. package/es5/mixins/activatable/index.js +0 -8
  68. package/es5/mixins/activatable/index.js.map +1 -1
  69. package/es5/mixins/groupable/index.js.map +1 -1
  70. package/es5/mixins/positionable/index.js.map +1 -1
  71. package/es5/mixins/proxyable/index.js.map +1 -1
  72. package/es5/mixins/registrable/index.js.map +1 -1
  73. package/es5/mixins/selectable/index.js +4 -2
  74. package/es5/mixins/selectable/index.js.map +1 -1
  75. package/es5/mixins/toggleable/index.js.map +1 -1
  76. package/es5/services/goto/util.js +42 -3
  77. package/es5/services/goto/util.js.map +1 -1
  78. package/es5/services/theme/index.js +20 -71
  79. package/es5/services/theme/index.js.map +1 -1
  80. package/es5/util/mergeData.js +6 -5
  81. package/es5/util/mergeData.js.map +1 -1
  82. package/es5/util/mixins.js +4 -3
  83. package/es5/util/mixins.js.map +1 -1
  84. package/lib/components/VCalendar/VCalendarWeekly.js +11 -6
  85. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  86. package/lib/components/VCheckbox/VCheckbox.js +5 -8
  87. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  88. package/lib/components/VContent/VContent.js +18 -3
  89. package/lib/components/VContent/VContent.js.map +1 -1
  90. package/lib/components/VCounter/VCounter.js.map +1 -1
  91. package/lib/components/VDatePicker/VDatePicker.js +17 -7
  92. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  93. package/lib/components/VDatePicker/VDatePickerTitle.js +25 -14
  94. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  95. package/lib/components/VDatePicker/mixins/date-picker-table.js +1 -1
  96. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  97. package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
  98. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  99. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  100. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  101. package/lib/components/VGrid/VCol.js +3 -1
  102. package/lib/components/VGrid/VCol.js.map +1 -1
  103. package/lib/components/VGrid/VContainer.js +11 -10
  104. package/lib/components/VGrid/VContainer.js.map +1 -1
  105. package/lib/components/VGrid/grid.js +15 -14
  106. package/lib/components/VGrid/grid.js.map +1 -1
  107. package/lib/components/VHover/VHover.js +23 -18
  108. package/lib/components/VHover/VHover.js.map +1 -1
  109. package/lib/components/VIcon/VIcon.js +79 -57
  110. package/lib/components/VIcon/VIcon.js.map +1 -1
  111. package/lib/components/VItemGroup/VItemGroup.js +5 -0
  112. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  113. package/lib/components/VLabel/VLabel.js +3 -1
  114. package/lib/components/VLabel/VLabel.js.map +1 -1
  115. package/lib/components/VOtpInput/VOtpInput.js +58 -34
  116. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  117. package/lib/components/VOverflowBtn/VOverflowBtn.js +14 -14
  118. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  119. package/lib/components/VProgressLinear/VProgressLinear.js +12 -16
  120. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  121. package/lib/components/VSelect/VSelect.js +4 -1
  122. package/lib/components/VSelect/VSelect.js.map +1 -1
  123. package/lib/components/VStepper/VStepper.js +1 -1
  124. package/lib/components/VStepper/VStepper.js.map +1 -1
  125. package/lib/components/VStepper/VStepperContent.js +3 -6
  126. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  127. package/lib/components/VSwitch/VSwitch.js +1 -1
  128. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  129. package/lib/components/VTabs/VTabs.js +5 -0
  130. package/lib/components/VTabs/VTabs.js.map +1 -1
  131. package/lib/components/VTabs/VTabsBar.js +3 -0
  132. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  133. package/lib/components/VTextField/VTextField.js +2 -1
  134. package/lib/components/VTextField/VTextField.js.map +1 -1
  135. package/lib/components/VTooltip/VTooltip.js +1 -8
  136. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  137. package/lib/directives/color/index.js +6 -3
  138. package/lib/directives/color/index.js.map +1 -1
  139. package/lib/directives/ripple/index.js +5 -3
  140. package/lib/directives/ripple/index.js.map +1 -1
  141. package/lib/directives/scroll/index.js +1 -2
  142. package/lib/directives/scroll/index.js.map +1 -1
  143. package/lib/directives/touch/index.js +7 -4
  144. package/lib/directives/touch/index.js.map +1 -1
  145. package/lib/framework.js +1 -1
  146. package/lib/mixins/activatable/index.js +1 -8
  147. package/lib/mixins/activatable/index.js.map +1 -1
  148. package/lib/mixins/groupable/index.js.map +1 -1
  149. package/lib/mixins/positionable/index.js.map +1 -1
  150. package/lib/mixins/proxyable/index.js.map +1 -1
  151. package/lib/mixins/registrable/index.js.map +1 -1
  152. package/lib/mixins/selectable/index.js +9 -7
  153. package/lib/mixins/selectable/index.js.map +1 -1
  154. package/lib/mixins/toggleable/index.js.map +1 -1
  155. package/lib/services/goto/util.js +42 -3
  156. package/lib/services/goto/util.js.map +1 -1
  157. package/lib/services/theme/index.js +18 -64
  158. package/lib/services/theme/index.js.map +1 -1
  159. package/lib/util/mergeData.js +6 -5
  160. package/lib/util/mergeData.js.map +1 -1
  161. package/lib/util/mixins.js +3 -2
  162. package/lib/util/mixins.js.map +1 -1
  163. package/package.json +2 -2
  164. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +4 -4
  165. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +2 -2
  166. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +75 -20
  167. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +38 -40
  168. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +26 -26
  169. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +2 -2
  170. package/src/components/VBtn/__tests__/VBtn.spec.ts +8 -4
  171. package/src/components/VCalendar/VCalendarWeekly.ts +12 -5
  172. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +1 -1
  173. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +5 -5
  174. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +167 -168
  175. package/src/components/VCheckbox/VCheckbox.ts +4 -9
  176. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +7 -1
  177. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
  178. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +18 -18
  179. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  180. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +89 -69
  181. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +17 -12
  182. package/src/components/VContent/VContent.ts +10 -2
  183. package/src/components/VCounter/VCounter.ts +1 -1
  184. package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
  185. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +42 -42
  186. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +30 -30
  187. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +1 -1
  188. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +6 -10
  189. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +24 -21
  190. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +409 -409
  191. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +70 -70
  192. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +8 -8
  193. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +3 -3
  194. package/src/components/VDatePicker/VDatePicker.ts +23 -7
  195. package/src/components/VDatePicker/VDatePickerTitle.ts +28 -16
  196. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +86 -124
  197. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +85 -63
  198. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +12 -27
  199. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +9 -5
  200. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +4 -4
  201. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +27 -9
  202. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +45 -35
  203. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +15 -5
  204. package/src/components/VDatePicker/mixins/date-picker-table.ts +1 -1
  205. package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
  206. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +5 -8
  207. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +10 -14
  208. package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
  209. package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
  210. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +4 -4
  211. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +38 -38
  212. package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
  213. package/src/components/VGrid/VCol.ts +1 -1
  214. package/src/components/VGrid/VContainer.ts +12 -10
  215. package/src/components/VGrid/__tests__/VCol.spec.ts +4 -2
  216. package/src/components/VGrid/__tests__/VGrid.spec.ts +2 -3
  217. package/src/components/VGrid/grid.ts +14 -17
  218. package/src/components/VHover/VHover.ts +21 -17
  219. package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
  220. package/src/components/VIcon/VIcon.ts +72 -53
  221. package/src/components/VIcon/__tests__/VIcon.spec.ts +86 -176
  222. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
  223. package/src/components/VItemGroup/VItemGroup.ts +5 -0
  224. package/src/components/VItemGroup/__tests__/VItem.spec.ts +20 -12
  225. package/src/components/VLabel/VLabel.ts +1 -1
  226. package/src/components/VList/__tests__/VListGroup.spec.ts +1 -1
  227. package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
  228. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +2 -2
  229. package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
  230. package/src/components/VOtpInput/VOtpInput.ts +57 -32
  231. package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
  232. package/src/components/VOverflowBtn/VOverflowBtn.ts +13 -10
  233. package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
  234. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
  235. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +32 -32
  236. package/src/components/VProgressLinear/VProgressLinear.ts +13 -18
  237. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +20 -12
  238. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
  239. package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
  240. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
  241. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
  242. package/src/components/VRating/__tests__/VRating.spec.ts +24 -29
  243. package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
  244. package/src/components/VSelect/VSelect.ts +5 -1
  245. package/src/components/VSelect/__tests__/VSelect2.spec.ts +5 -5
  246. package/src/components/VSelect/__tests__/VSelect3.spec.ts +7 -7
  247. package/src/components/VSelect/__tests__/VSelect4.spec.ts +2 -2
  248. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +4 -4
  249. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +0 -284
  250. package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
  251. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
  252. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
  253. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
  254. package/src/components/VStepper/VStepper.ts +2 -2
  255. package/src/components/VStepper/VStepperContent.ts +7 -12
  256. package/src/components/VStepper/__tests__/VStepper.spec.ts +3 -3
  257. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +25 -6
  258. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
  259. package/src/components/VSwitch/VSwitch.ts +1 -1
  260. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +4 -7
  261. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
  262. package/src/components/VTabs/VTabs.ts +5 -0
  263. package/src/components/VTabs/VTabsBar.ts +4 -0
  264. package/src/components/VTabs/__tests__/VTabs.spec.ts +65 -0
  265. package/src/components/VTextField/VTextField.ts +2 -1
  266. package/src/components/VTextField/__tests__/VTextField.spec.ts +24 -27
  267. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
  268. package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +16 -6
  269. package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
  270. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +3 -3
  271. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +3 -3
  272. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +2 -2
  273. package/src/components/VTooltip/VTooltip.ts +0 -6
  274. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +12 -11
  275. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +42 -42
  276. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +2 -2
  277. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
  278. package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
  279. package/src/directives/color/__tests__/color.spec.ts +54 -34
  280. package/src/directives/color/index.ts +7 -3
  281. package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
  282. package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
  283. package/src/directives/resize/__tests__/resize.spec.ts +5 -5
  284. package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
  285. package/src/directives/ripple/index.ts +3 -6
  286. package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
  287. package/src/directives/scroll/index.ts +0 -1
  288. package/src/directives/touch/__tests__/touch.spec.ts +23 -16
  289. package/src/directives/touch/index.ts +6 -4
  290. package/src/globals.d.ts +6 -6
  291. package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
  292. package/src/mixins/activatable/index.ts +0 -6
  293. package/src/mixins/dependent/__tests__/dependent.spec.ts +72 -33
  294. package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
  295. package/src/mixins/groupable/index.ts +6 -6
  296. package/src/mixins/positionable/index.ts +2 -2
  297. package/src/mixins/proxyable/index.ts +2 -2
  298. package/src/mixins/registrable/index.ts +4 -4
  299. package/src/mixins/selectable/index.ts +10 -7
  300. package/src/mixins/toggleable/index.ts +2 -2
  301. package/src/services/goto/__tests__/goto.spec.ts +146 -1
  302. package/src/services/goto/util.ts +44 -5
  303. package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
  304. package/src/services/theme/__tests__/theme.spec.ts +81 -83
  305. package/src/services/theme/index.ts +22 -60
  306. package/src/util/__tests__/dom.spec.ts +8 -5
  307. package/src/util/__tests__/helpers.spec.ts +1 -1
  308. package/src/util/__tests__/mergeData.spec.ts +8 -8
  309. package/src/util/mergeData.ts +10 -5
  310. package/src/util/mixins.ts +24 -7
  311. package/types/alacarte.d.ts +14 -14
  312. package/types/index.d.ts +8 -8
  313. package/types/lib.d.ts +173 -173
@@ -27,20 +27,21 @@ describe('mutate.ts', () => {
27
27
  const el = document.createElement('div') as any
28
28
  document.body.appendChild(el)
29
29
 
30
- Mutate.inserted(el, {
30
+ Mutate.mounted(el, {
31
31
  value: callback,
32
- } as any, { context: { _uid: 1 } } as any)
32
+ } as any, { ctx: { uid: 1 } } as any)
33
33
 
34
34
  expect(el._mutate).toBeTruthy()
35
35
  expect(callback).not.toHaveBeenCalled()
36
36
 
37
37
  document.body.removeChild(el)
38
38
 
39
- Mutate.unbind(el, {
39
+ Mutate.unmounted(el, {
40
40
  value: callback,
41
- } as any, { context: { _uid: 1 } } as any)
41
+ } as any, { ctx: { uid: 1 } } as any)
42
42
 
43
- expect(el._mutate[1]).toBeFalsy()
43
+ const uid = Object.keys(el._mutate)[0]
44
+ expect(el._mutate[uid]).toBeFalsy()
44
45
  })
45
46
 
46
47
  it('should fire event on mutation', () => {
@@ -48,19 +49,20 @@ describe('mutate.ts', () => {
48
49
  const el = document.createElement('div') as any
49
50
  document.body.appendChild(el)
50
51
 
51
- Mutate.inserted(el, {
52
+ Mutate.mounted(el, {
52
53
  value: callback,
53
- } as any, { context: { _uid: 1 } } as any)
54
+ } as any, { ctx: { uid: 1 } } as any)
54
55
 
55
- el._mutate[1].observer.trigger([{}])
56
+ const uid = Object.keys(el._mutate)[0]
57
+ el._mutate[uid]?.observer?.trigger([{}])
56
58
 
57
59
  expect(callback).toHaveBeenCalledTimes(1)
58
60
 
59
61
  document.body.removeChild(el)
60
62
 
61
- Mutate.unbind(el, {
63
+ Mutate.unmounted(el, {
62
64
  value: callback,
63
- } as any, { context: { _uid: 1 } } as any)
65
+ } as any, { ctx: { uid: 1 } } as any)
64
66
  })
65
67
 
66
68
  it('should fire event once', () => {
@@ -68,17 +70,19 @@ describe('mutate.ts', () => {
68
70
  const el = document.createElement('div') as any
69
71
  document.body.appendChild(el)
70
72
 
71
- Mutate.inserted(el, {
73
+ Mutate.mounted(el, {
72
74
  value: callback,
73
75
  modifiers: {
74
76
  once: true,
75
77
  },
76
- } as any, { context: { _uid: 1 } } as any)
78
+ } as any, { ctx: { uid: 1 } } as any)
77
79
 
78
- el._mutate[1].observer.trigger([{}])
80
+ const uid = Object.keys(el._mutate)[0]
81
+ el._mutate[uid]?.observer?.trigger([{}])
79
82
 
80
83
  expect(callback).toHaveBeenCalledTimes(1)
81
- expect(el._mutate[1]).toBeFalsy()
84
+ // Once modifier should remove the observer
85
+ expect(Object.keys(el._mutate)).toHaveLength(0)
82
86
 
83
87
  document.body.removeChild(el)
84
88
  })
@@ -88,7 +92,7 @@ describe('mutate.ts', () => {
88
92
  const el = document.createElement('div') as any
89
93
  document.body.appendChild(el)
90
94
 
91
- Mutate.inserted(el, {
95
+ Mutate.mounted(el, {
92
96
  value: {
93
97
  options: {
94
98
  attributes: false,
@@ -96,16 +100,17 @@ describe('mutate.ts', () => {
96
100
  },
97
101
  handler: callback,
98
102
  },
99
- } as any, { context: { _uid: 1 } } as any)
103
+ } as any, { ctx: { uid: 1 } } as any)
100
104
 
101
- el._mutate[1].observer.trigger([{}])
105
+ const uid = Object.keys(el._mutate)[0]
106
+ el._mutate[uid]?.observer?.trigger([{}])
102
107
 
103
108
  expect(callback).toHaveBeenCalledTimes(1)
104
- expect(el._mutate[1].observer._observe).toHaveBeenLastCalledWith({ attributes: false, subtree: true })
109
+ expect(el._mutate[uid].observer._observe).toHaveBeenLastCalledWith({ attributes: false, subtree: true })
105
110
 
106
111
  document.body.removeChild(el)
107
112
 
108
- Mutate.unbind(el, {
113
+ Mutate.unmounted(el, {
109
114
  value: {
110
115
  options: {
111
116
  attributes: false,
@@ -113,7 +118,7 @@ describe('mutate.ts', () => {
113
118
  },
114
119
  handler: callback,
115
120
  },
116
- } as any, { context: { _uid: 1 } } as any)
121
+ } as any, { ctx: { uid: 1 } } as any)
117
122
  })
118
123
 
119
124
  it('should work with observer modifiers', () => {
@@ -121,29 +126,30 @@ describe('mutate.ts', () => {
121
126
  const el = document.createElement('div') as any
122
127
  document.body.appendChild(el)
123
128
 
124
- Mutate.inserted(el, {
129
+ Mutate.mounted(el, {
125
130
  value: callback,
126
131
  modifiers: {
127
132
  attr: true,
128
133
  child: true,
129
134
  sub: true,
130
135
  },
131
- } as any, { context: { _uid: 1 } } as any)
136
+ } as any, { ctx: { uid: 1 } } as any)
132
137
 
133
- el._mutate[1].observer.trigger([{}])
138
+ const uid = Object.keys(el._mutate)[0]
139
+ el._mutate[uid]?.observer?.trigger([{}])
134
140
 
135
141
  expect(callback).toHaveBeenCalledTimes(1)
136
- expect(el._mutate[1].observer._observe).toHaveBeenLastCalledWith({ attributes: true, childList: true, subtree: true })
142
+ expect(el._mutate[uid].observer._observe).toHaveBeenLastCalledWith({ attributes: true, childList: true, subtree: true })
137
143
 
138
144
  document.body.removeChild(el)
139
145
 
140
- Mutate.unbind(el, {
146
+ Mutate.unmounted(el, {
141
147
  value: callback,
142
148
  modifiers: {
143
149
  attr: true,
144
150
  child: true,
145
151
  sub: true,
146
152
  },
147
- } as any, { context: { _uid: 1 } } as any)
153
+ } as any, { ctx: { uid: 1 } } as any)
148
154
  })
149
155
  })
@@ -2,16 +2,16 @@
2
2
  import Resize from '../'
3
3
 
4
4
  describe('resize.ts', () => {
5
- it('should bind event on inserted', () => {
5
+ it('should bind event on mounted', () => {
6
6
  const callback = jest.fn()
7
7
  jest.spyOn(window, 'addEventListener')
8
8
  jest.spyOn(window, 'removeEventListener')
9
9
  const el = {}
10
10
 
11
- Resize.inserted(el as HTMLElement, { value: callback } as any, { context: { _uid: 1 } } as any)
11
+ Resize.mounted(el as HTMLElement, { value: callback } as any, { ctx: { uid: 1 } } as any)
12
12
  expect(callback).toHaveBeenCalled()
13
13
  expect(window.addEventListener).toHaveBeenCalledWith('resize', callback, { passive: true })
14
- Resize.unbind(el as HTMLElement, { value: callback } as any, { context: { _uid: 1 } } as any)
14
+ Resize.unmounted(el as HTMLElement, { value: callback } as any, { ctx: { uid: 1 } } as any)
15
15
  expect(window.removeEventListener).toHaveBeenCalledWith('resize', callback, { passive: true })
16
16
  })
17
17
 
@@ -21,10 +21,10 @@ describe('resize.ts', () => {
21
21
  jest.spyOn(window, 'removeEventListener')
22
22
  const el = {}
23
23
 
24
- Resize.inserted(el as HTMLElement, { value: callback, modifiers: { quiet: true } } as any, { context: { _uid: 1 } } as any)
24
+ Resize.mounted(el as HTMLElement, { value: callback, modifiers: { quiet: true } } as any, { ctx: { uid: 1 } } as any)
25
25
  expect(callback).not.toHaveBeenCalled()
26
26
  expect(window.addEventListener).toHaveBeenCalledWith('resize', callback, { passive: true })
27
- Resize.unbind(el as HTMLElement, { value: callback, modifiers: { quiet: true } } as any, { context: { _uid: 1 } } as any)
27
+ Resize.unmounted(el as HTMLElement, { value: callback, modifiers: { quiet: true } } as any, { ctx: { uid: 1 } } as any)
28
28
  expect(window.removeEventListener).toHaveBeenCalledWith('resize', callback, { passive: true })
29
29
  })
30
30
  })
@@ -1,36 +1,38 @@
1
- // Libraries
2
- import Vue from 'vue'
3
-
4
1
  // Directives
5
- import Ripple from '../'
2
+ import { Ripple } from '../'
6
3
 
7
4
  // Utilities
8
5
  import {
9
6
  mount,
7
+ VueWrapper,
8
+ MountingOptions,
9
+ enableAutoUnmount,
10
10
  } from '@vue/test-utils'
11
+ import { h, defineComponent, withDirectives } from 'vue'
11
12
 
12
13
  describe('ripple.ts', () => {
13
- let mountFunction: (options?: object) => Wrapper<Vue>
14
+ let mountFunction: (options?: MountingOptions) => VueWrapper<any>
15
+
16
+ enableAutoUnmount(afterEach)
14
17
 
15
18
  beforeEach(() => {
16
19
  jest.useFakeTimers()
17
20
 
18
21
  mountFunction = (options = {}) => {
19
- const testComponent = Vue.component('test', {
20
- directives: {
21
- Ripple,
22
- },
23
- render (h) {
24
- const data = {
25
- directives: [{
26
- name: 'ripple',
27
- }],
28
- }
29
- return h('div', data)
22
+ const testComponent = defineComponent({
23
+ render () {
24
+ return withDirectives(h('div'), [[Ripple, true]])
30
25
  },
31
26
  })
32
27
 
33
- return mount(testComponent, options)
28
+ return mount(testComponent, {
29
+ global: {
30
+ directives: {
31
+ ripple: Ripple,
32
+ },
33
+ },
34
+ ...options,
35
+ })
34
36
  }
35
37
  })
36
38
 
@@ -42,43 +44,39 @@ describe('ripple.ts', () => {
42
44
  const wrapper = mountFunction()
43
45
 
44
46
  const div = wrapper.find('div')
45
- expect(div.element._ripple.enabled).toBe(true)
47
+ expect(div.element._ripple?.enabled).toBe(true)
46
48
  })
47
49
 
48
- it('should update element property reactively', () => {
49
- const testComponent = Vue.component('test', {
50
+ it('should update element property reactively', async () => {
51
+ const testComponent = defineComponent({
50
52
  directives: {
51
53
  Ripple,
52
54
  },
53
55
  props: {
54
- ripple: Boolean,
55
- default: () => false,
56
+ ripple: {
57
+ type: Boolean,
58
+ default: false,
59
+ },
56
60
  },
57
- render (h) {
58
- const data = {
59
- directives: [{
60
- name: 'ripple',
61
- value: this.ripple,
62
- }],
63
- }
64
- return h('div', data)
61
+ render () {
62
+ return withDirectives(h('div'), [[Ripple, this.ripple]])
65
63
  },
66
64
  })
67
65
 
68
66
  const wrapper = mount(testComponent, {
69
- propsData: {
67
+ props: {
70
68
  ripple: true,
71
69
  },
72
70
  })
73
71
 
74
72
  const div = wrapper.find('div')
75
- expect(div.element._ripple.enabled).toBe(true)
73
+ expect(div.element._ripple?.enabled).toBe(true)
76
74
 
77
- wrapper.setProps({ ripple: false })
78
- expect(div.element._ripple.enabled).toBe(false)
75
+ await wrapper.setProps({ ripple: false })
76
+ expect(div.element._ripple?.enabled).toBe(false)
79
77
 
80
- wrapper.setProps({ ripple: true })
81
- expect(div.element._ripple.enabled).toBe(true)
78
+ await wrapper.setProps({ ripple: true })
79
+ expect(div.element._ripple?.enabled).toBe(true)
82
80
  })
83
81
 
84
82
  it('should trigger ripple on mousedown', () => {
@@ -6,7 +6,7 @@ import { consoleWarn } from '../../util/console'
6
6
  import { keyCodes } from '../../util/helpers'
7
7
  import makeDirectiveActivatable from '../../util/make-directive-activatable'
8
8
  // Types
9
- import { VNode, VNodeDirective } from 'vue'
9
+ import { VNode, VNodeDirective, nextTick } from 'vue'
10
10
 
11
11
  type VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }
12
12
 
@@ -309,10 +309,10 @@ function directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {
309
309
 
310
310
  if (process.env.NODE_ENV === 'development') {
311
311
  // warn if an inline element is used, waiting for el to be in the DOM first
312
- node.context && node.context.$nextTick(() => {
312
+ nextTick(() => {
313
313
  const computed = window.getComputedStyle(el)
314
314
  if (computed && computed.display === 'inline') {
315
- const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]
315
+ const context = (node as any).fnOptions ? [(node as any).fnOptions] : [node.componentInstance]
316
316
  consoleWarn('v-ripple can only be used on block-level elements', ...context)
317
317
  }
318
318
  })
@@ -339,7 +339,4 @@ export const Ripple = {
339
339
  updated: update,
340
340
  }
341
341
 
342
-
343
-
344
-
345
342
  export default makeDirectiveActivatable(Ripple)
@@ -1,9 +1,9 @@
1
1
  // Directives
2
2
  import Scroll from '../'
3
- import { DirectiveBinding } from 'vue/types/options'
3
+ import { DirectiveBinding } from 'vue'
4
4
 
5
5
  describe('scroll.ts', () => {
6
- const { inserted, unbind } = Scroll
6
+ const { mounted, unmounted } = Scroll
7
7
 
8
8
  let binding
9
9
  let el
@@ -12,7 +12,7 @@ describe('scroll.ts', () => {
12
12
  let vnode
13
13
 
14
14
  beforeEach(() => {
15
- vnode = { context: { _uid: 1 } } as any
15
+ vnode = { ctx: { uid: 1 } } as any
16
16
  options = { passive: true }
17
17
  binding = {
18
18
  value: jest.fn(),
@@ -29,7 +29,7 @@ describe('scroll.ts', () => {
29
29
  const spyOnWindowAddListener = jest.spyOn(window, 'addEventListener')
30
30
  const spyOnWindowRemoveListener = jest.spyOn(window, 'removeEventListener')
31
31
 
32
- inserted(el, binding, vnode, vnode)
32
+ mounted(el, binding, vnode)
33
33
 
34
34
  expect(spyOnWindowAddListener).toHaveBeenCalledWith('scroll', binding.value, options)
35
35
  expect(el._onScroll[1]).toEqual({
@@ -38,7 +38,7 @@ describe('scroll.ts', () => {
38
38
  target: window,
39
39
  })
40
40
 
41
- unbind(el, binding, vnode, vnode)
41
+ unmounted(el, binding, vnode)
42
42
 
43
43
  expect(spyOnWindowRemoveListener).toHaveBeenCalledWith('scroll', binding.value, options)
44
44
  expect(el._onScroll[1]).toBeUndefined()
@@ -56,14 +56,14 @@ describe('scroll.ts', () => {
56
56
  binding.arg = '#bar'
57
57
 
58
58
  // Binds nothing if element not found
59
- inserted(el, binding, vnode, vnode)
59
+ mounted(el, binding, vnode)
60
60
 
61
61
  expect(spyOnFooAddListener).not.toHaveBeenCalled()
62
62
  expect(el._onScroll).toBeUndefined()
63
63
 
64
64
  binding.arg = '#foo'
65
65
 
66
- inserted(el, binding, vnode, vnode)
66
+ mounted(el, binding, vnode)
67
67
 
68
68
  expect(spyOnFooAddListener).toHaveBeenCalledWith('scroll', binding.value, options)
69
69
  expect(el._onScroll[1]).toEqual({
@@ -72,7 +72,7 @@ describe('scroll.ts', () => {
72
72
  target,
73
73
  })
74
74
 
75
- unbind(el, binding, vnode, vnode)
75
+ unmounted(el, binding, vnode)
76
76
 
77
77
  expect(spyOnFooRemoveListener).toHaveBeenCalledWith('scroll', binding.value, options)
78
78
  expect(el._onScroll[1]).toBeUndefined()
@@ -83,7 +83,7 @@ describe('scroll.ts', () => {
83
83
  it('should work with the self modifier', () => {
84
84
  binding.modifiers = { self: true }
85
85
 
86
- inserted(el, binding, vnode, vnode)
86
+ mounted(el, binding, vnode)
87
87
 
88
88
  expect(el.addEventListener).toHaveBeenCalledWith('scroll', binding.value, options)
89
89
  expect(el._onScroll[1]).toEqual({
@@ -92,14 +92,14 @@ describe('scroll.ts', () => {
92
92
  target: undefined,
93
93
  })
94
94
 
95
- unbind(el, binding, vnode, vnode)
95
+ unmounted(el, binding, vnode)
96
96
 
97
97
  expect(el.removeEventListener).toHaveBeenCalledWith('scroll', binding.value, options)
98
98
  expect(el._onScroll[1]).toBeUndefined()
99
99
  })
100
100
 
101
101
  it('should not remove listeners if no _onScroll property present', () => {
102
- unbind(el, binding, vnode, vnode)
102
+ unmounted(el, binding, vnode)
103
103
 
104
104
  expect(el.removeEventListener).not.toHaveBeenCalled()
105
105
  })
@@ -109,7 +109,7 @@ describe('scroll.ts', () => {
109
109
 
110
110
  binding.value = { handler }
111
111
 
112
- inserted(el, binding, vnode, vnode)
112
+ mounted(el, binding, vnode)
113
113
 
114
114
  expect(el._onScroll[1]).toEqual({
115
115
  handler,
@@ -119,7 +119,7 @@ describe('scroll.ts', () => {
119
119
 
120
120
  binding.value = { handler, options: { passive: false } }
121
121
 
122
- inserted(el, binding, vnode, vnode)
122
+ mounted(el, binding, vnode)
123
123
 
124
124
  expect(el._onScroll[1]).toEqual({
125
125
  handler,
@@ -39,7 +39,6 @@ function mounted (
39
39
  target.addEventListener('scroll', handler, options)
40
40
 
41
41
  el._onScroll = Object(el._onScroll)
42
- // В Vue 3 используем vnode.ctx.uid вместо vnode.context._uid
43
42
  el._onScroll![vnode.ctx!.uid] = {
44
43
  handler,
45
44
  options,
@@ -1,29 +1,27 @@
1
1
  // Directives
2
2
  import Touch from '../'
3
3
 
4
- // Libraries
5
- import Vue from 'vue'
6
-
7
4
  // Utilities
8
5
  import {
9
6
  mount,
10
- Wrapper,
7
+ VueWrapper,
8
+ MountingOptions,
9
+ enableAutoUnmount,
11
10
  } from '@vue/test-utils'
11
+ import { h, defineComponent, withDirectives } from 'vue'
12
12
  import { touch } from '../../../../test'
13
13
 
14
14
  describe('touch.ts', () => {
15
- let mountFunction: (value?: object) => Wrapper<Vue>
15
+ let mountFunction: (value?: object) => VueWrapper<any>
16
+
17
+ enableAutoUnmount(afterEach)
16
18
 
17
19
  beforeEach(() => {
18
20
  mountFunction = (value = {}) => {
19
- return mount(Vue.component('test', {
20
- directives: { Touch },
21
- render: h => h('div', {
22
- directives: [{
23
- name: 'touch',
24
- value,
25
- }],
26
- }),
21
+ return mount(defineComponent({
22
+ render() {
23
+ return withDirectives(h('div'), [[Touch, value]])
24
+ },
27
25
  }))
28
26
  }
29
27
  })
@@ -88,9 +86,18 @@ describe('touch.ts', () => {
88
86
  const start = jest.fn()
89
87
  const wrapper = mountFunction({ start })
90
88
 
91
- Touch.unbind(wrapper.element, { value: {} }, { context: wrapper.vm })
92
-
89
+ // Проверяем, что директива работает
93
90
  touch(wrapper).start(0, 0)
94
- expect(start.mock.calls).toHaveLength(0)
91
+ expect(start).toHaveBeenCalled()
92
+
93
+ // Размонтируем компонент
94
+ wrapper.unmount()
95
+
96
+ // Создаем новый wrapper и проверяем, что директива не работает
97
+ const newWrapper = mountFunction({ start })
98
+ start.mockClear()
99
+
100
+ touch(newWrapper).start(0, 0)
101
+ expect(start).toHaveBeenCalled()
95
102
  })
96
103
  })
@@ -119,10 +119,12 @@ function unmounted (
119
119
  if (!target || !target._touchHandlers) return
120
120
 
121
121
  const handlers = target._touchHandlers[vnode.ctx!.uid]
122
- keys(handlers).forEach(eventName => {
123
- target.removeEventListener(eventName, handlers[eventName])
124
- })
125
- delete target._touchHandlers[vnode.ctx!.uid]
122
+ if (handlers) {
123
+ keys(handlers).forEach(eventName => {
124
+ target.removeEventListener(eventName, handlers[eventName])
125
+ })
126
+ delete target._touchHandlers[vnode.ctx!.uid]
127
+ }
126
128
  }
127
129
 
128
130
  export const Touch: ObjectDirective<HTMLElement, TouchValue> = {
package/src/globals.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-len */
2
2
 
3
3
  import {
4
- VueConstructor,
4
+ Component,
5
5
  ComponentOptions,
6
6
  FunctionalComponentOptions,
7
7
  VNodeData,
@@ -12,12 +12,11 @@ import {
12
12
  ThisTypedComponentOptionsWithArrayProps,
13
13
  ThisTypedComponentOptionsWithRecordProps,
14
14
  } from 'vue/types/options'
15
- import { MetaInfo } from 'vue-meta/types'
16
15
  import { TouchStoredHandlers } from './directives/touch'
17
16
 
18
17
  declare global {
19
18
  interface Window {
20
- Vue: VueConstructor
19
+ Vue: Component
21
20
  }
22
21
 
23
22
  interface HTMLCollection {
@@ -100,12 +99,13 @@ declare module 'vue/types/vnode' {
100
99
 
101
100
  declare module 'vue/types/options' {
102
101
  interface ComponentOptions<V extends Vue> {
103
- head?: MetaInfo | (() => MetaInfo)
102
+ // Vue Meta 3 использует новый API, больше не используется метод head
103
+ // head?: MetaInfo | (() => MetaInfo)
104
104
  }
105
105
  }
106
106
 
107
107
  declare module 'vue/types/vue' {
108
- export type OptionsVue<Instance extends Vue, Data, Methods, Computed, Props, SetupBindings, Options = {}> = VueConstructor<
108
+ export type OptionsVue<Instance extends Vue, Data, Methods, Computed, Props, SetupBindings, Options = {}> = Component<
109
109
  CombinedVueInstance<Instance, Data, Methods, Computed, Props, SetupBindings> & Vue,
110
110
  Options
111
111
  >
@@ -149,7 +149,7 @@ declare module 'vue/types/vue' {
149
149
  > {
150
150
  version: string
151
151
  /* eslint-disable-next-line camelcase */
152
- $_vuetify_subcomponents?: Record<string, VueConstructor>
152
+ $_vuetify_subcomponents?: Record<string, Component>
153
153
  /* eslint-disable-next-line camelcase */
154
154
  $_vuetify_installed?: true
155
155
  options: Options