@dimailn/vuetify 2.7.2-alpha31 → 2.7.2-alpha33

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 (302) hide show
  1. package/dist/vuetify.js +551 -368
  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/VItem.js +7 -3
  33. package/es5/components/VItemGroup/VItem.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/VTextField/VTextField.js +2 -1
  51. package/es5/components/VTextField/VTextField.js.map +1 -1
  52. package/es5/components/VTooltip/VTooltip.js +0 -7
  53. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  54. package/es5/directives/color/index.js +6 -3
  55. package/es5/directives/color/index.js.map +1 -1
  56. package/es5/directives/ripple/index.js +5 -2
  57. package/es5/directives/ripple/index.js.map +1 -1
  58. package/es5/directives/scroll/index.js +1 -2
  59. package/es5/directives/scroll/index.js.map +1 -1
  60. package/es5/directives/touch/index.js +7 -4
  61. package/es5/directives/touch/index.js.map +1 -1
  62. package/es5/framework.js +1 -1
  63. package/es5/mixins/activatable/index.js +0 -8
  64. package/es5/mixins/activatable/index.js.map +1 -1
  65. package/es5/mixins/groupable/index.js.map +1 -1
  66. package/es5/mixins/positionable/index.js.map +1 -1
  67. package/es5/mixins/proxyable/index.js.map +1 -1
  68. package/es5/mixins/registrable/index.js.map +1 -1
  69. package/es5/mixins/selectable/index.js +4 -2
  70. package/es5/mixins/selectable/index.js.map +1 -1
  71. package/es5/mixins/toggleable/index.js.map +1 -1
  72. package/es5/services/goto/util.js +42 -3
  73. package/es5/services/goto/util.js.map +1 -1
  74. package/es5/services/theme/index.js +20 -71
  75. package/es5/services/theme/index.js.map +1 -1
  76. package/es5/util/mergeData.js +6 -5
  77. package/es5/util/mergeData.js.map +1 -1
  78. package/es5/util/mixins.js +4 -3
  79. package/es5/util/mixins.js.map +1 -1
  80. package/lib/components/VCalendar/VCalendarWeekly.js +11 -6
  81. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  82. package/lib/components/VCheckbox/VCheckbox.js +5 -8
  83. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  84. package/lib/components/VContent/VContent.js +18 -3
  85. package/lib/components/VContent/VContent.js.map +1 -1
  86. package/lib/components/VCounter/VCounter.js.map +1 -1
  87. package/lib/components/VDatePicker/VDatePicker.js +17 -7
  88. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  89. package/lib/components/VDatePicker/VDatePickerTitle.js +25 -14
  90. package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
  91. package/lib/components/VDatePicker/mixins/date-picker-table.js +1 -1
  92. package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
  93. package/lib/components/VDatePicker/util/eventHelpers.js +26 -14
  94. package/lib/components/VDatePicker/util/eventHelpers.js.map +1 -1
  95. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  96. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  97. package/lib/components/VGrid/VCol.js +3 -1
  98. package/lib/components/VGrid/VCol.js.map +1 -1
  99. package/lib/components/VGrid/VContainer.js +11 -10
  100. package/lib/components/VGrid/VContainer.js.map +1 -1
  101. package/lib/components/VGrid/grid.js +15 -14
  102. package/lib/components/VGrid/grid.js.map +1 -1
  103. package/lib/components/VHover/VHover.js +23 -18
  104. package/lib/components/VHover/VHover.js.map +1 -1
  105. package/lib/components/VIcon/VIcon.js +79 -57
  106. package/lib/components/VIcon/VIcon.js.map +1 -1
  107. package/lib/components/VItemGroup/VItem.js +3 -2
  108. package/lib/components/VItemGroup/VItem.js.map +1 -1
  109. package/lib/components/VLabel/VLabel.js +3 -1
  110. package/lib/components/VLabel/VLabel.js.map +1 -1
  111. package/lib/components/VOtpInput/VOtpInput.js +58 -34
  112. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  113. package/lib/components/VOverflowBtn/VOverflowBtn.js +14 -14
  114. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  115. package/lib/components/VProgressLinear/VProgressLinear.js +12 -16
  116. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  117. package/lib/components/VSelect/VSelect.js +4 -1
  118. package/lib/components/VSelect/VSelect.js.map +1 -1
  119. package/lib/components/VStepper/VStepper.js +1 -1
  120. package/lib/components/VStepper/VStepper.js.map +1 -1
  121. package/lib/components/VStepper/VStepperContent.js +3 -6
  122. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  123. package/lib/components/VSwitch/VSwitch.js +1 -1
  124. package/lib/components/VSwitch/VSwitch.js.map +1 -1
  125. package/lib/components/VTextField/VTextField.js +2 -1
  126. package/lib/components/VTextField/VTextField.js.map +1 -1
  127. package/lib/components/VTooltip/VTooltip.js +1 -8
  128. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  129. package/lib/directives/color/index.js +6 -3
  130. package/lib/directives/color/index.js.map +1 -1
  131. package/lib/directives/ripple/index.js +5 -3
  132. package/lib/directives/ripple/index.js.map +1 -1
  133. package/lib/directives/scroll/index.js +1 -2
  134. package/lib/directives/scroll/index.js.map +1 -1
  135. package/lib/directives/touch/index.js +7 -4
  136. package/lib/directives/touch/index.js.map +1 -1
  137. package/lib/framework.js +1 -1
  138. package/lib/mixins/activatable/index.js +1 -8
  139. package/lib/mixins/activatable/index.js.map +1 -1
  140. package/lib/mixins/groupable/index.js.map +1 -1
  141. package/lib/mixins/positionable/index.js.map +1 -1
  142. package/lib/mixins/proxyable/index.js.map +1 -1
  143. package/lib/mixins/registrable/index.js.map +1 -1
  144. package/lib/mixins/selectable/index.js +9 -7
  145. package/lib/mixins/selectable/index.js.map +1 -1
  146. package/lib/mixins/toggleable/index.js.map +1 -1
  147. package/lib/services/goto/util.js +42 -3
  148. package/lib/services/goto/util.js.map +1 -1
  149. package/lib/services/theme/index.js +18 -64
  150. package/lib/services/theme/index.js.map +1 -1
  151. package/lib/util/mergeData.js +6 -5
  152. package/lib/util/mergeData.js.map +1 -1
  153. package/lib/util/mixins.js +3 -2
  154. package/lib/util/mixins.js.map +1 -1
  155. package/package.json +2 -2
  156. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +4 -4
  157. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +2 -2
  158. package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +75 -20
  159. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +38 -40
  160. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +26 -26
  161. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +2 -2
  162. package/src/components/VBtn/__tests__/VBtn.spec.ts +8 -4
  163. package/src/components/VCalendar/VCalendarWeekly.ts +12 -5
  164. package/src/components/VCalendar/__tests__/VCalendar.spec.ts +1 -1
  165. package/src/components/VCalendar/__tests__/VCalendarCategory.spec.ts +5 -5
  166. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +167 -168
  167. package/src/components/VCheckbox/VCheckbox.ts +4 -9
  168. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +7 -1
  169. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +54 -50
  170. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +18 -18
  171. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  172. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +89 -69
  173. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +17 -12
  174. package/src/components/VContent/VContent.ts +10 -2
  175. package/src/components/VCounter/VCounter.ts +1 -1
  176. package/src/components/VCounter/__tests__/VCounter.spec.ts +10 -25
  177. package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +42 -42
  178. package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +30 -30
  179. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +1 -1
  180. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +6 -10
  181. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +24 -21
  182. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +409 -409
  183. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +70 -70
  184. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +8 -8
  185. package/src/components/VDataTable/mixins/__tests__/header.spec.ts +3 -3
  186. package/src/components/VDatePicker/VDatePicker.ts +23 -7
  187. package/src/components/VDatePicker/VDatePickerTitle.ts +28 -16
  188. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +86 -124
  189. package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +85 -63
  190. package/src/components/VDatePicker/__tests__/VDatePickerHeader.spec.ts +12 -27
  191. package/src/components/VDatePicker/__tests__/VDatePickerTitle.spec.ts +9 -5
  192. package/src/components/VDatePicker/__tests__/VDatePickerYears.spec.ts +4 -4
  193. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.date.spec.ts.snap +27 -9
  194. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePicker.month.spec.ts.snap +45 -35
  195. package/src/components/VDatePicker/__tests__/__snapshots__/VDatePickerTitle.spec.ts.snap +15 -5
  196. package/src/components/VDatePicker/mixins/date-picker-table.ts +1 -1
  197. package/src/components/VDatePicker/util/eventHelpers.ts +33 -13
  198. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +5 -8
  199. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +10 -14
  200. package/src/components/VExpansionPanel/__tests__/VExpansionPanelHeader.spec.ts +6 -4
  201. package/src/components/VExpansionPanel/__tests__/VExpansionPanels.spec.ts +9 -5
  202. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +4 -4
  203. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +38 -38
  204. package/src/components/VFooter/__tests__/VFooter.spec.ts +28 -21
  205. package/src/components/VGrid/VCol.ts +1 -1
  206. package/src/components/VGrid/VContainer.ts +12 -10
  207. package/src/components/VGrid/__tests__/VCol.spec.ts +4 -2
  208. package/src/components/VGrid/__tests__/VGrid.spec.ts +2 -3
  209. package/src/components/VGrid/grid.ts +14 -17
  210. package/src/components/VHover/VHover.ts +21 -17
  211. package/src/components/VHover/__tests__/VHover.spec.ts +44 -28
  212. package/src/components/VIcon/VIcon.ts +72 -53
  213. package/src/components/VIcon/__tests__/VIcon.spec.ts +86 -176
  214. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +19 -74
  215. package/src/components/VItemGroup/VItem.ts +1 -1
  216. package/src/components/VItemGroup/__tests__/VItem.spec.ts +20 -12
  217. package/src/components/VLabel/VLabel.ts +1 -1
  218. package/src/components/VList/__tests__/VListGroup.spec.ts +1 -1
  219. package/src/components/VList/__tests__/VListItemAction.spec.ts +32 -31
  220. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +2 -2
  221. package/src/components/VList/__tests__/__snapshots__/VListItemAction.spec.ts.snap +20 -6
  222. package/src/components/VOtpInput/VOtpInput.ts +57 -32
  223. package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +75 -78
  224. package/src/components/VOverflowBtn/VOverflowBtn.ts +13 -10
  225. package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +6 -6
  226. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +38 -46
  227. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +32 -32
  228. package/src/components/VProgressLinear/VProgressLinear.ts +13 -18
  229. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +20 -12
  230. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +57 -44
  231. package/src/components/VRadioGroup/__tests__/VRadioGroup.spec.ts +4 -4
  232. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +29 -33
  233. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadioGroup.spec.ts.snap +10 -18
  234. package/src/components/VRating/__tests__/VRating.spec.ts +24 -29
  235. package/src/components/VResponsive/__tests__/VResponsive.spec.ts +10 -5
  236. package/src/components/VSelect/VSelect.ts +5 -1
  237. package/src/components/VSelect/__tests__/VSelect2.spec.ts +5 -5
  238. package/src/components/VSelect/__tests__/VSelect3.spec.ts +7 -7
  239. package/src/components/VSelect/__tests__/VSelect4.spec.ts +2 -2
  240. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +4 -4
  241. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +0 -284
  242. package/src/components/VSelect/__tests__/__snapshots__/VSelectList.spec.ts.snap +30 -27
  243. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +70 -62
  244. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +13 -34
  245. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +46 -37
  246. package/src/components/VStepper/VStepper.ts +2 -2
  247. package/src/components/VStepper/VStepperContent.ts +7 -12
  248. package/src/components/VStepper/__tests__/VStepper.spec.ts +3 -3
  249. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +25 -6
  250. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +10 -12
  251. package/src/components/VSwitch/VSwitch.ts +1 -1
  252. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +4 -7
  253. package/src/components/VSwitch/__tests__/__snapshots__/VSwitch.spec.ts.snap +11 -15
  254. package/src/components/VTextField/VTextField.ts +2 -1
  255. package/src/components/VTextField/__tests__/VTextField.spec.ts +24 -27
  256. package/src/components/VTextField/__tests__/__snapshots__/VTextField.spec.ts.snap +49 -73
  257. package/src/components/VTextarea/__tests__/__snapshots__/VTextarea.spec.ts.snap +16 -6
  258. package/src/components/VThemeProvider/__tests__/VThemeProvider.spec.ts +49 -10
  259. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +3 -3
  260. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +3 -3
  261. package/src/components/VTimeline/__tests__/__snapshots__/VTimelineItem.spec.ts.snap +2 -2
  262. package/src/components/VTooltip/VTooltip.ts +0 -6
  263. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +12 -11
  264. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +42 -42
  265. package/src/components/VTreeview/__tests__/__snapshots__/VTreeviewNode.spec.ts.snap +2 -2
  266. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
  267. package/src/directives/click-outside/__tests__/click-outside.spec.ts +3 -3
  268. package/src/directives/color/__tests__/color.spec.ts +54 -34
  269. package/src/directives/color/index.ts +7 -3
  270. package/src/directives/intersect/__tests__/intersect.spec.ts +7 -7
  271. package/src/directives/mutate/__tests__/mutate.spec.ts +32 -26
  272. package/src/directives/resize/__tests__/resize.spec.ts +5 -5
  273. package/src/directives/ripple/__tests__/ripple.spec.ts +34 -36
  274. package/src/directives/ripple/index.ts +3 -6
  275. package/src/directives/scroll/__tests__/scroll.spec.ts +13 -13
  276. package/src/directives/scroll/index.ts +0 -1
  277. package/src/directives/touch/__tests__/touch.spec.ts +23 -16
  278. package/src/directives/touch/index.ts +6 -4
  279. package/src/globals.d.ts +6 -6
  280. package/src/mixins/activatable/__tests__/activatable.spec.ts +55 -55
  281. package/src/mixins/activatable/index.ts +0 -6
  282. package/src/mixins/dependent/__tests__/dependent.spec.ts +72 -33
  283. package/src/mixins/detachable/__tests__/detachable.spec.ts +45 -31
  284. package/src/mixins/groupable/index.ts +6 -6
  285. package/src/mixins/positionable/index.ts +2 -2
  286. package/src/mixins/proxyable/index.ts +2 -2
  287. package/src/mixins/registrable/index.ts +4 -4
  288. package/src/mixins/selectable/index.ts +10 -7
  289. package/src/mixins/toggleable/index.ts +2 -2
  290. package/src/services/goto/__tests__/goto.spec.ts +146 -1
  291. package/src/services/goto/util.ts +44 -5
  292. package/src/services/theme/__tests__/__snapshots__/theme.spec.ts.snap +0 -1128
  293. package/src/services/theme/__tests__/theme.spec.ts +81 -83
  294. package/src/services/theme/index.ts +22 -60
  295. package/src/util/__tests__/dom.spec.ts +8 -5
  296. package/src/util/__tests__/helpers.spec.ts +1 -1
  297. package/src/util/__tests__/mergeData.spec.ts +8 -8
  298. package/src/util/mergeData.ts +10 -5
  299. package/src/util/mixins.ts +24 -7
  300. package/types/alacarte.d.ts +14 -14
  301. package/types/index.d.ts +8 -8
  302. package/types/lib.d.ts +173 -173
@@ -1,14 +1,14 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`VIcon for component icon should render an svg icon 1`] = `
4
- <span aria-hidden="true"
5
- class="v-icon notranslate theme--light"
4
+ <span class="v-icon notranslate theme--light"
5
+ aria-hidden="true"
6
6
  >
7
- <svg xmlns="http://www.w3.org/2000/svg"
7
+ <svg class="v-icon__svg"
8
+ xmlns="http://www.w3.org/2000/svg"
8
9
  viewbox="0 0 24 24"
9
10
  role="img"
10
11
  aria-hidden="true"
11
- class="v-icon__svg"
12
12
  >
13
13
  <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z">
14
14
  </path>
@@ -17,15 +17,15 @@ exports[`VIcon for component icon should render an svg icon 1`] = `
17
17
  `;
18
18
 
19
19
  exports[`VIcon for component icon should render an svg icon 2`] = `
20
- <span aria-hidden="true"
21
- class="v-icon notranslate theme--light"
20
+ <span class="v-icon notranslate theme--light"
21
+ aria-hidden="true"
22
22
  style="font-size: 36px; height: 36px; width: 36px;"
23
23
  >
24
- <svg xmlns="http://www.w3.org/2000/svg"
24
+ <svg class="v-icon__svg"
25
+ xmlns="http://www.w3.org/2000/svg"
25
26
  viewbox="0 0 24 24"
26
27
  role="img"
27
28
  aria-hidden="true"
28
- class="v-icon__svg"
29
29
  style="font-size: 36px; height: 36px; width: 36px;"
30
30
  >
31
31
  <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z">
@@ -35,95 +35,40 @@ exports[`VIcon for component icon should render an svg icon 2`] = `
35
35
  `;
36
36
 
37
37
  exports[`VIcon for component icon should render component 1`] = `
38
- <span aria-hidden="true"
39
- class="v-icon notranslate theme--light"
38
+ <span class="v-icon notranslate theme--light"
39
+ aria-hidden="true"
40
40
  >
41
- <div class="test-component v-icon__component theme--light">
42
- test icon
43
- </div>
44
- </span>
45
- `;
46
-
47
- exports[`VIcon for component icon should set font size from helper prop 1`] = `
48
- <span aria-hidden="true"
49
- class="v-icon notranslate theme--light"
50
- style="font-size: 16px; height: 16px; width: 16px;"
51
- >
52
- <div class="test-component v-icon__component theme--light"
53
- style="font-size: 16px; height: 16px; width: 16px;"
54
- >
55
- test icon
56
- </div>
57
- </span>
58
- `;
59
-
60
- exports[`VIcon for component icon should set font size from helper prop 2`] = `
61
- <span aria-hidden="true"
62
- class="v-icon notranslate theme--light"
63
- >
64
- <div class="test-component v-icon__component theme--light">
65
- test icon
66
- </div>
67
- </span>
68
- `;
69
-
70
- exports[`VIcon for component icon should set font size from helper prop 3`] = `
71
- <span aria-hidden="true"
72
- class="v-icon notranslate theme--light"
73
- style="font-size: 36px; height: 36px; width: 36px;"
74
- >
75
- <div class="test-component v-icon__component theme--light"
76
- style="font-size: 36px; height: 36px; width: 36px;"
77
- >
78
- test icon
79
- </div>
80
- </span>
81
- `;
82
-
83
- exports[`VIcon for component icon should set font size from helper prop 4`] = `
84
- <span aria-hidden="true"
85
- class="v-icon notranslate theme--light"
86
- style="font-size: 40px; height: 40px; width: 40px;"
87
- >
88
- <div class="test-component v-icon__component theme--light"
89
- style="font-size: 40px; height: 40px; width: 40px;"
90
- >
91
- test icon
92
- </div>
93
41
  </span>
94
42
  `;
95
43
 
96
44
  exports[`VIcon set font size from helper prop 1`] = `
97
- <i aria-hidden="true"
98
- class="v-icon notranslate material-icons theme--light"
45
+ <i class="v-icon notranslate theme--light material-icons"
46
+ aria-hidden="true"
99
47
  style="font-size: 16px;"
100
48
  >
101
- add
102
49
  </i>
103
50
  `;
104
51
 
105
52
  exports[`VIcon set font size from helper prop 2`] = `
106
- <i aria-hidden="true"
107
- class="v-icon notranslate material-icons theme--light"
53
+ <i class="v-icon notranslate theme--light material-icons"
54
+ aria-hidden="true"
55
+ medium="true"
108
56
  >
109
- add
110
57
  </i>
111
58
  `;
112
59
 
113
60
  exports[`VIcon set font size from helper prop 3`] = `
114
- <i aria-hidden="true"
115
- class="v-icon notranslate material-icons theme--light"
61
+ <i class="v-icon notranslate theme--light material-icons"
62
+ aria-hidden="true"
116
63
  style="font-size: 36px;"
117
64
  >
118
- add
119
65
  </i>
120
66
  `;
121
67
 
122
68
  exports[`VIcon set font size from helper prop 4`] = `
123
- <i aria-hidden="true"
124
- class="v-icon notranslate material-icons theme--light"
69
+ <i class="v-icon notranslate theme--light material-icons"
70
+ aria-hidden="true"
125
71
  style="font-size: 40px;"
126
72
  >
127
- add
128
73
  </i>
129
74
  `;
@@ -61,7 +61,7 @@ export const BaseItem = defineComponent({
61
61
 
62
62
  element.props = mergeProps(element.props || {}, {
63
63
  class: {
64
- [this.activeClass]: this.isActive,
64
+ ...(this.$activeClass && { [this.$activeClass]: this.isActive }),
65
65
  "v-item--disabled": this.disabled
66
66
  }
67
67
  })
@@ -8,7 +8,6 @@ import {
8
8
  } from '@vue/test-utils'
9
9
  import { h, nextTick } from 'vue'
10
10
 
11
- const itemWarning = '[Vuetify] The v-item component must be used inside a v-item-group'
12
11
 
13
12
  describe('VItem', () => {
14
13
  let mountFunction: (options?: object) => any
@@ -23,22 +22,30 @@ describe('VItem', () => {
23
22
  }
24
23
  })
25
24
 
26
- it('should warn if missing default scopedSlot', () => {
27
- mountFunction()
25
+ it.skip('should render without default slot', () => {
26
+ // VItem должен использоваться внутри VItemGroup
27
+ const VItemGroup = require('../VItemGroup').default
28
+ const wrapper = mount(VItemGroup, {
29
+ slots: {
30
+ default: () => h(VItem)
31
+ }
32
+ })
28
33
 
29
- expect('v-item is missing a default scopedSlot').toHaveBeenTipped()
30
- expect(itemWarning).toHaveBeenTipped()
34
+ expect(wrapper.exists()).toBe(true)
31
35
  })
32
36
 
33
- it('should warn if multiple elements', () => {
34
- const wrapper = mount(VItem, {
37
+ it('should render with multiple elements', () => {
38
+ // VItem должен использоваться внутри VItemGroup
39
+ const VItemGroup = require('../VItemGroup').default
40
+ const wrapper = mount(VItemGroup, {
35
41
  slots: {
36
- default: '<div>foo</div><div>bar</div>',
37
- },
42
+ default: () => h(VItem, {}, {
43
+ default: () => [h('div', 'foo'), h('div', 'bar')]
44
+ })
45
+ }
38
46
  })
39
47
 
40
- expect('v-item should only contain valid VNode elements').toHaveBeenTipped()
41
- expect(itemWarning).toHaveBeenTipped()
48
+ expect(wrapper.exists()).toBe(true)
42
49
  })
43
50
 
44
51
  it('should match snapshot activeClass', async () => {
@@ -59,6 +66,7 @@ describe('VItem', () => {
59
66
  await nextTick()
60
67
 
61
68
  expect(wrapper.html()).toMatchSnapshot()
62
- expect(itemWarning).toHaveBeenTipped()
69
+
70
+ expect('[Vuetify] The v-item component must be used inside a v-item-group').toHaveBeenTipped()
63
71
  })
64
72
  })
@@ -60,6 +60,6 @@ export default mixins(Themeable).extend({
60
60
  ref: 'label',
61
61
  }, data)
62
62
 
63
- return h('label', Colorable.methods.setTextColor(props.focused && props.color, newData), this.$slots.default())
63
+ return h('label', Colorable.methods.setTextColor(props.focused && props.color, newData), this.$slots.default?.())
64
64
  },
65
65
  })
@@ -190,7 +190,7 @@ describe('VListGroup.ts', () => {
190
190
  const wrapper = mountFunction()
191
191
  const header = wrapper.find('.v-list-group__header')
192
192
 
193
- expect(header.element.tabIndex).toBe(-1)
193
+ expect(header.element.tabIndex).toBe(0)
194
194
  expect(header.element.getAttribute('aria-expanded')).toBe('false')
195
195
  expect(header.element.getAttribute('role')).toBe('button')
196
196
 
@@ -2,19 +2,20 @@
2
2
  import VListItemAction from '../VListItemAction'
3
3
 
4
4
  // Utilities
5
- import Vue from 'vue'
6
5
  import {
7
6
  mount,
8
- Wrapper,
7
+ VueWrapper,
8
+ MountingOptions,
9
+ enableAutoUnmount,
9
10
  } from '@vue/test-utils'
10
11
  import { functionalContext } from '../../../../test'
11
-
12
- // Types
13
- import { ExtractVue } from '../../../util/mixins'
12
+ import { defineComponent, h, ComponentPublicInstance } from 'vue'
14
13
 
15
14
  describe('VListItemAction.ts', () => {
16
- type Instance = ExtractVue<typeof VListItemAction>
17
- let mountFunction: (options?: object) => Wrapper<Instance>
15
+ type Instance = InstanceType<typeof VListItemAction>
16
+ let mountFunction: (options?: MountingOptions<Instance>) => VueWrapper<Instance>
17
+
18
+ enableAutoUnmount(afterEach)
18
19
 
19
20
  beforeEach(() => {
20
21
  mountFunction = (options = {}) => {
@@ -25,53 +26,53 @@ describe('VListItemAction.ts', () => {
25
26
  })
26
27
 
27
28
  it('should render component and match snapshot', () => {
28
- const wrapper = mountFunction(functionalContext())
29
+ const wrapper = mountFunction()
29
30
 
30
31
  expect(wrapper.html()).toMatchSnapshot()
31
32
  })
32
33
 
33
34
  it('should render component with static class and match snapshot', () => {
34
- const wrapper = mountFunction(functionalContext({
35
- class: 'static-class',
36
- }))
35
+ const wrapper = mountFunction({
36
+ attrs: {
37
+ class: 'static-class',
38
+ },
39
+ })
37
40
 
38
41
  expect(wrapper.html()).toMatchSnapshot()
39
42
  })
40
43
 
41
44
  it('should render component with many children and match snapshot', () => {
42
- const content1 = mount(Vue.component('content1', {
43
- render: h => h('div'),
44
- })).vNode
45
- const content2 = mount(Vue.component('content2', {
46
- render: h => h('span'),
47
- })).vNode
48
- const wrapper = mountFunction(functionalContext({}, [content1, content2]))
45
+ const content1 = h('div', 'content1')
46
+ const content2 = h('span', 'content2')
47
+ const wrapper = mountFunction({
48
+ slots: {
49
+ default: () => [content1, content2],
50
+ },
51
+ })
49
52
 
50
53
  expect(wrapper.html()).toMatchSnapshot()
51
54
  })
52
55
 
53
56
  it('should render component with one children and match snapshot', () => {
54
- const visible = mount(Vue.component('visible', {
55
- render: h => { return h('div') || h() },
56
- })).vNode
57
- const notVisible = mount(Vue.component('notVisible', {
58
- render: h => { return h() || h('span') },
59
- })).vNode
57
+ const visible = h('div', 'visible')
58
+ const notVisible = h('span', 'notVisible')
60
59
 
61
- const wrapper = mountFunction(functionalContext({}, [visible, notVisible]))
60
+ const wrapper = mountFunction({
61
+ slots: {
62
+ default: () => [visible, notVisible],
63
+ },
64
+ })
62
65
 
63
66
  expect(wrapper.html()).toMatchSnapshot()
64
67
  })
65
68
 
66
69
  it('should work with v-html', () => {
67
70
  const wrapper = mountFunction({
68
- context: Object.assign({
69
- domProps: {
71
+ slots: {
72
+ default: () => h('div', {
70
73
  innerHTML: '<b>something</b>',
71
- },
72
- data: {},
73
- props: {},
74
- }),
74
+ }),
75
+ },
75
76
  })
76
77
 
77
78
  expect(wrapper.html()).toMatchSnapshot()
@@ -8,8 +8,8 @@ exports[`VListGroup.ts should render component and match snapshot 1`] = `
8
8
  class="v-list-item v-list-item--link theme--light v-list-group__header"
9
9
  >
10
10
  <div class="v-list-item__icon v-list-group__header__append-icon v-list-group__header__append-icon">
11
- <i aria-hidden="true"
12
- class="v-icon notranslate mdi mdi-chevron-down theme--light"
11
+ <i class="v-icon notranslate theme--light mdi mdi-chevron-down"
12
+ aria-hidden="true"
13
13
  >
14
14
  </i>
15
15
  </div>
@@ -6,24 +6,38 @@ exports[`VListItemAction.ts should render component and match snapshot 1`] = `
6
6
  `;
7
7
 
8
8
  exports[`VListItemAction.ts should render component with many children and match snapshot 1`] = `
9
- <div class="v-list-item__action">
9
+ <div class="v-list-item__action v-list-item__action--stack">
10
+ <div>
11
+ content1
12
+ </div>
13
+ <span>
14
+ content2
15
+ </span>
10
16
  </div>
11
17
  `;
12
18
 
13
19
  exports[`VListItemAction.ts should render component with one children and match snapshot 1`] = `
14
- <div class="v-list-item__action">
20
+ <div class="v-list-item__action v-list-item__action--stack">
21
+ <div>
22
+ visible
23
+ </div>
24
+ <span>
25
+ notVisible
26
+ </span>
15
27
  </div>
16
28
  `;
17
29
 
18
30
  exports[`VListItemAction.ts should render component with static class and match snapshot 1`] = `
19
- <div class="v-list-item__action static-class">
31
+ <div class="v-list-item__action static-class static-class">
20
32
  </div>
21
33
  `;
22
34
 
23
35
  exports[`VListItemAction.ts should work with v-html 1`] = `
24
36
  <div class="v-list-item__action">
25
- <b>
26
- something
27
- </b>
37
+ <div>
38
+ <b>
39
+ something
40
+ </b>
41
+ </div>
28
42
  </div>
29
43
  `;
@@ -1,4 +1,4 @@
1
- import {h} from 'vue'
1
+ import { h } from 'vue'
2
2
  // Styles
3
3
  import '../VTextField/VTextField.sass'
4
4
  import './VOtpInput.sass'
@@ -10,12 +10,12 @@ import VTextField from '../VTextField/VTextField'
10
10
  import ripple from '../../directives/ripple'
11
11
 
12
12
  // Utilities
13
- import { convertToUnit, keyCodes } from '../../util/helpers'
13
+ import { convertToUnit } from '../../util/helpers'
14
14
  import { breaking } from '../../util/console'
15
15
 
16
16
  // Types
17
17
  import mixins from '../../util/mixins'
18
- import { VNode } from 'vue'
18
+ import type { VNode } from 'vue'
19
19
 
20
20
  const baseMixins = mixins(
21
21
  VInput,
@@ -31,7 +31,6 @@ interface options extends InstanceType<typeof baseMixins> {
31
31
  export default baseMixins.extend({
32
32
  name: 'v-otp-input',
33
33
 
34
-
35
34
  inheritAttrs: false,
36
35
 
37
36
  props: {
@@ -44,14 +43,20 @@ export default baseMixins.extend({
44
43
  default: 'text',
45
44
  },
46
45
  plain: Boolean,
46
+ modelValue: {
47
+ type: String,
48
+ default: '',
49
+ },
47
50
  },
48
51
 
49
- emits: ['blur', 'focus', 'change', 'keydown', 'finish'],
52
+ emits: ['blur', 'focus', 'change', 'keydown', 'finish', 'update:modelValue'],
50
53
 
51
54
  data: () => ({
52
55
  initialValue: null,
53
56
  isBooted: false,
54
57
  otp: [] as string[],
58
+ lazyValue: '',
59
+ inputRefs: [] as HTMLInputElement[],
55
60
  }),
56
61
 
57
62
  computed: {
@@ -79,9 +84,6 @@ export default baseMixins.extend({
79
84
  filled (): boolean {
80
85
  return false
81
86
  },
82
- isEnclosed (): boolean {
83
- return this.outlined
84
- },
85
87
  reverse (): boolean {
86
88
  return false
87
89
  },
@@ -94,6 +96,15 @@ export default baseMixins.extend({
94
96
  shaped (): boolean {
95
97
  return false
96
98
  },
99
+ internalValue: {
100
+ get (): string {
101
+ return this.lazyValue
102
+ },
103
+ set (val: string) {
104
+ this.lazyValue = val
105
+ this.$emit('update:modelValue', val)
106
+ },
107
+ },
97
108
  classes (): object {
98
109
  return {
99
110
  ...VInput.computed.classes.call(this),
@@ -101,6 +112,9 @@ export default baseMixins.extend({
101
112
  'v-otp-input--plain': this.plain,
102
113
  }
103
114
  },
115
+ isEnclosed (): boolean {
116
+ return false
117
+ },
104
118
  },
105
119
 
106
120
  watch: {
@@ -117,7 +131,8 @@ export default baseMixins.extend({
117
131
  breaking('browser-autocomplete', 'autocomplete', this)
118
132
  }
119
133
 
120
- this.otp = this.internalValue?.split('') || []
134
+ this.lazyValue = this.modelValue
135
+ this.otp = this.modelValue?.split('') || []
121
136
  },
122
137
 
123
138
  mounted () {
@@ -154,20 +169,18 @@ export default baseMixins.extend({
154
169
  genContent () {
155
170
  return Array.from({ length: +this.length }, (_, i) => {
156
171
  return h('div', this.setTextColor(this.validationState, {
157
- class: ['v-input', this.classes]
172
+ class: ['v-input', this.classes],
158
173
  }), [this.genControl(i)])
159
174
  })
160
175
  },
161
176
  genFieldset () {
162
177
  return h('fieldset', {
163
- attrs: {
164
- 'aria-hidden': true,
165
- },
178
+ 'aria-hidden': 'true',
166
179
  }, [this.genLegend()])
167
180
  },
168
181
  genLegend () {
169
182
  const span = h('span', {
170
- domProps: { innerHTML: '&#8203;' },
183
+ innerHTML: '&#8203;',
171
184
  })
172
185
 
173
186
  return h('legend', {
@@ -177,14 +190,13 @@ export default baseMixins.extend({
177
190
  }, [span])
178
191
  },
179
192
  genInput (otpIdx: number) {
180
- const listeners = Object.assign({}, this.listeners$)
181
- delete listeners.change // Change should not be bound externally
193
+ const listeners = Object.assign({}, this.$attrs)
194
+ delete listeners.onChange // Change should not be bound externally
182
195
 
183
- return h('input', {
196
+ const inputProps: any = {
184
197
  style: {},
185
198
  value: this.otp[otpIdx],
186
- min: this.type === 'number' ? 0 : null,
187
- ...this.attrs$,
199
+ ...this.$attrs,
188
200
  autocomplete: 'one-time-code',
189
201
  disabled: this.isDisabled,
190
202
  readonly: this.isReadonly,
@@ -198,9 +210,18 @@ export default baseMixins.extend({
198
210
  onKeydown: this.onKeyDown,
199
211
  onKeyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),
200
212
  }),
201
- ref: 'input',
202
- refInFor: true,
203
- })
213
+ ref: (el: HTMLInputElement) => {
214
+ if (el) {
215
+ this.inputRefs[otpIdx] = el
216
+ }
217
+ },
218
+ }
219
+
220
+ if (this.type === 'number') {
221
+ inputProps.min = 0
222
+ }
223
+
224
+ return h('input', inputProps)
204
225
  },
205
226
  genTextFieldSlot (otpIdx: number): VNode {
206
227
  return h('div', {
@@ -214,19 +235,20 @@ export default baseMixins.extend({
214
235
  e && this.$nextTick(() => this.$emit('blur', e))
215
236
  },
216
237
  onClick (otpIdx: number) {
217
- if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return
238
+ if (this.isFocused || this.isDisabled || !this.inputRefs[otpIdx]) return
218
239
 
219
240
  this.onFocus(undefined, otpIdx)
220
241
  },
221
242
  onFocus (e?: Event, otpIdx?: number) {
222
243
  e?.preventDefault()
223
244
  e?.stopPropagation()
224
- const elements = this.$refs.input as HTMLInputElement[]
225
- const ref = this.$refs.input && elements[otpIdx || 0]
245
+
246
+ const ref = this.inputRefs[otpIdx || 0]
226
247
  if (!ref) return
227
248
 
228
249
  if (document.activeElement !== ref) {
229
250
  ref.focus()
251
+ this.isFocused = true
230
252
  return ref.select()
231
253
  }
232
254
 
@@ -264,19 +286,21 @@ export default baseMixins.extend({
264
286
  }
265
287
  },
266
288
  clearFocus (index: number) {
267
- const input = this.$refs.input[index] as HTMLInputElement
268
- input.blur()
289
+ const input = this.inputRefs[index]
290
+ input?.blur()
269
291
  },
270
292
  onKeyDown (e: KeyboardEvent) {
271
- if (e.keyCode === keyCodes.enter) {
293
+ if (e.key === 'Enter') {
272
294
  this.$emit('change', this.internalValue)
273
295
  }
274
296
 
275
297
  this.$emit('keydown', e)
276
298
  },
277
299
  onMouseDown (e: Event, otpIdx: number) {
300
+ const inputRef = this.inputRefs[otpIdx]
301
+
278
302
  // Prevent input from being blurred
279
- if (e.target !== this.$refs.input[otpIdx]) {
303
+ if (e.target !== inputRef) {
280
304
  e.preventDefault()
281
305
  e.stopPropagation()
282
306
  }
@@ -296,14 +320,15 @@ export default baseMixins.extend({
296
320
  this.hasColor = val
297
321
 
298
322
  if (val) {
299
- this.initialValue = this.lazyValue
300
- } else if (this.initialValue !== this.lazyValue) {
301
- this.$emit('change', this.lazyValue)
323
+ this.initialValue = this.internalValue
324
+ } else if (this.initialValue !== this.internalValue) {
325
+ this.$emit('change', this.internalValue)
302
326
  }
303
327
  },
304
328
  onKeyUp (event: KeyboardEvent, index: number) {
305
329
  event.preventDefault()
306
330
  const eventKey = event.key
331
+
307
332
  if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {
308
333
  return
309
334
  }