vuetify 2.0.19 → 2.1.0

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 (537) hide show
  1. package/dist/json/attributes.json +208 -16
  2. package/dist/json/tags.json +58 -0
  3. package/dist/vuetify.css +548 -57
  4. package/dist/vuetify.css.map +1 -1
  5. package/dist/vuetify.js +917 -249
  6. package/dist/vuetify.js.map +1 -1
  7. package/dist/vuetify.min.css +2 -2
  8. package/dist/vuetify.min.js +3 -3
  9. package/es5/components/VAlert/VAlert.js +3 -18
  10. package/es5/components/VAlert/VAlert.js.map +1 -1
  11. package/es5/components/VAppBar/VAppBarNavIcon.js +1 -1
  12. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  13. package/es5/components/VAutocomplete/VAutocomplete.js +20 -0
  14. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  15. package/es5/components/VBtn/VBtn.js +2 -0
  16. package/es5/components/VBtn/VBtn.js.map +1 -1
  17. package/es5/components/VBtnToggle/VBtnToggle.js +16 -3
  18. package/es5/components/VBtnToggle/VBtnToggle.js.map +1 -1
  19. package/es5/components/VCard/VCard.js +4 -2
  20. package/es5/components/VCard/VCard.js.map +1 -1
  21. package/es5/components/VCarousel/VCarousel.js +1 -1
  22. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  23. package/es5/components/VCheckbox/VCheckbox.js +3 -3
  24. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  25. package/es5/components/VCheckbox/VSimpleCheckbox.js +3 -3
  26. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  27. package/es5/components/VChip/VChip.js +2 -2
  28. package/es5/components/VChip/VChip.js.map +1 -1
  29. package/es5/components/VColorPicker/VColorPickerEdit.js +1 -1
  30. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  31. package/es5/components/VColorPicker/VColorPickerSwatches.js +1 -1
  32. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  33. package/es5/components/VCombobox/VCombobox.js +16 -0
  34. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  35. package/es5/components/VDataIterator/VDataFooter.js +10 -6
  36. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  37. package/es5/components/VDataIterator/VDataIterator.js +3 -0
  38. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  39. package/es5/components/VDataTable/VDataTable.js +5 -5
  40. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  41. package/es5/components/VDataTable/mixins/header.js +1 -1
  42. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  43. package/es5/components/VDatePicker/VDatePicker.js +55 -16
  44. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  45. package/es5/components/VDatePicker/VDatePickerHeader.js +2 -2
  46. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  47. package/es5/components/VDialog/VDialog.js +3 -0
  48. package/es5/components/VDialog/VDialog.js.map +1 -1
  49. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  50. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  51. package/es5/components/VFileInput/VFileInput.js +1 -1
  52. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  53. package/es5/components/VGrid/VCol.js +8 -1
  54. package/es5/components/VGrid/VCol.js.map +1 -1
  55. package/es5/components/VImg/VImg.js +34 -7
  56. package/es5/components/VImg/VImg.js.map +1 -1
  57. package/es5/components/VInput/VInput.js +6 -1
  58. package/es5/components/VInput/VInput.js.map +1 -1
  59. package/es5/components/VLazy/VLazy.js +90 -0
  60. package/es5/components/VLazy/VLazy.js.map +1 -0
  61. package/es5/components/VLazy/index.js +20 -0
  62. package/es5/components/VLazy/index.js.map +1 -0
  63. package/es5/components/VList/VListGroup.js +2 -2
  64. package/es5/components/VList/VListGroup.js.map +1 -1
  65. package/es5/components/VList/VListItem.js +4 -0
  66. package/es5/components/VList/VListItem.js.map +1 -1
  67. package/es5/components/VMenu/VMenu.js +3 -0
  68. package/es5/components/VMenu/VMenu.js.map +1 -1
  69. package/es5/components/VPagination/VPagination.js +2 -2
  70. package/es5/components/VPagination/VPagination.js.map +1 -1
  71. package/es5/components/VRadioGroup/VRadio.js +2 -2
  72. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  73. package/es5/components/VRating/VRating.js +3 -3
  74. package/es5/components/VRating/VRating.js.map +1 -1
  75. package/es5/components/VSelect/VSelect.js +1 -2
  76. package/es5/components/VSelect/VSelect.js.map +1 -1
  77. package/es5/components/VSkeletonLoader/VSkeletonLoader.js +193 -0
  78. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -0
  79. package/es5/components/VSkeletonLoader/index.js +20 -0
  80. package/es5/components/VSkeletonLoader/index.js.map +1 -0
  81. package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
  82. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  83. package/es5/components/VStepper/VStepperStep.js +3 -3
  84. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  85. package/es5/components/VTabs/VTabs.js +2 -2
  86. package/es5/components/VTabs/VTabs.js.map +1 -1
  87. package/es5/components/VTextField/VTextField.js +1 -1
  88. package/es5/components/VTextField/VTextField.js.map +1 -1
  89. package/es5/components/VTimePicker/VTimePicker.js +1 -1
  90. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  91. package/es5/components/VTimePicker/VTimePickerTitle.js +1 -1
  92. package/es5/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  93. package/es5/components/VTooltip/VTooltip.js +2 -1
  94. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  95. package/es5/components/VTreeview/VTreeviewNode.js +5 -5
  96. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  97. package/es5/components/VWindow/VWindow.js +2 -2
  98. package/es5/components/VWindow/VWindow.js.map +1 -1
  99. package/es5/components/index.js +24 -0
  100. package/es5/components/index.js.map +1 -1
  101. package/es5/directives/index.js +16 -0
  102. package/es5/directives/index.js.map +1 -1
  103. package/es5/directives/intersect/index.js +61 -0
  104. package/es5/directives/intersect/index.js.map +1 -0
  105. package/es5/directives/mutate/index.js +71 -0
  106. package/es5/directives/mutate/index.js.map +1 -0
  107. package/es5/framework.js +1 -1
  108. package/es5/locale/af.js +6 -2
  109. package/es5/locale/af.js.map +1 -1
  110. package/es5/locale/ar.js +6 -2
  111. package/es5/locale/ar.js.map +1 -1
  112. package/es5/locale/ca.js +6 -2
  113. package/es5/locale/ca.js.map +1 -1
  114. package/es5/locale/cs.js +52 -0
  115. package/es5/locale/cs.js.map +1 -0
  116. package/es5/locale/de.js +6 -2
  117. package/es5/locale/de.js.map +1 -1
  118. package/es5/locale/el.js +6 -2
  119. package/es5/locale/el.js.map +1 -1
  120. package/es5/locale/en.js +6 -2
  121. package/es5/locale/en.js.map +1 -1
  122. package/es5/locale/es.js +6 -2
  123. package/es5/locale/es.js.map +1 -1
  124. package/es5/locale/et.js +14 -10
  125. package/es5/locale/et.js.map +1 -1
  126. package/es5/locale/fa.js +6 -2
  127. package/es5/locale/fa.js.map +1 -1
  128. package/es5/locale/fr.js +6 -2
  129. package/es5/locale/fr.js.map +1 -1
  130. package/es5/locale/he.js +6 -2
  131. package/es5/locale/he.js.map +1 -1
  132. package/es5/locale/hr.js +20 -16
  133. package/es5/locale/hr.js.map +1 -1
  134. package/es5/locale/hu.js +6 -2
  135. package/es5/locale/hu.js.map +1 -1
  136. package/es5/locale/id.js +6 -2
  137. package/es5/locale/id.js.map +1 -1
  138. package/es5/locale/index.js +24 -0
  139. package/es5/locale/index.js.map +1 -1
  140. package/es5/locale/it.js +6 -2
  141. package/es5/locale/it.js.map +1 -1
  142. package/es5/locale/ja.js +6 -2
  143. package/es5/locale/ja.js.map +1 -1
  144. package/es5/locale/ko.js +6 -2
  145. package/es5/locale/ko.js.map +1 -1
  146. package/es5/locale/lt.js +52 -0
  147. package/es5/locale/lt.js.map +1 -0
  148. package/es5/locale/lv.js +6 -2
  149. package/es5/locale/lv.js.map +1 -1
  150. package/es5/locale/nl.js +6 -2
  151. package/es5/locale/nl.js.map +1 -1
  152. package/es5/locale/no.js +6 -2
  153. package/es5/locale/no.js.map +1 -1
  154. package/es5/locale/pl.js +6 -2
  155. package/es5/locale/pl.js.map +1 -1
  156. package/es5/locale/pt.js +6 -2
  157. package/es5/locale/pt.js.map +1 -1
  158. package/es5/locale/ro.js +6 -2
  159. package/es5/locale/ro.js.map +1 -1
  160. package/es5/locale/ru.js +6 -2
  161. package/es5/locale/ru.js.map +1 -1
  162. package/es5/locale/sl.js +14 -10
  163. package/es5/locale/sl.js.map +1 -1
  164. package/es5/locale/sr-Cyrl.js +6 -2
  165. package/es5/locale/sr-Cyrl.js.map +1 -1
  166. package/es5/locale/sv.js +52 -0
  167. package/es5/locale/sv.js.map +1 -0
  168. package/es5/locale/th.js +6 -2
  169. package/es5/locale/th.js.map +1 -1
  170. package/es5/locale/tr.js +6 -2
  171. package/es5/locale/tr.js.map +1 -1
  172. package/es5/locale/uk.js +6 -2
  173. package/es5/locale/uk.js.map +1 -1
  174. package/es5/locale/zh-Hans.js +6 -2
  175. package/es5/locale/zh-Hans.js.map +1 -1
  176. package/es5/locale/zh-Hant.js +6 -2
  177. package/es5/locale/zh-Hant.js.map +1 -1
  178. package/es5/mixins/overlayable/index.js +6 -2
  179. package/es5/mixins/overlayable/index.js.map +1 -1
  180. package/es5/services/lang/index.js +7 -2
  181. package/es5/services/lang/index.js.map +1 -1
  182. package/es5/util/helpers.js +5 -5
  183. package/es5/util/helpers.js.map +1 -1
  184. package/lib/components/VAlert/VAlert.js +3 -18
  185. package/lib/components/VAlert/VAlert.js.map +1 -1
  186. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  187. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  188. package/lib/components/VAutocomplete/VAutocomplete.js +22 -0
  189. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  190. package/lib/components/VBtn/VBtn.js +2 -0
  191. package/lib/components/VBtn/VBtn.js.map +1 -1
  192. package/lib/components/VBtnToggle/VBtnToggle.js +15 -2
  193. package/lib/components/VBtnToggle/VBtnToggle.js.map +1 -1
  194. package/lib/components/VCard/VCard.js +3 -1
  195. package/lib/components/VCard/VCard.js.map +1 -1
  196. package/lib/components/VCarousel/VCarousel.js +1 -1
  197. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  198. package/lib/components/VCheckbox/VCheckbox.js +3 -3
  199. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  200. package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -3
  201. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  202. package/lib/components/VChip/VChip.js +2 -2
  203. package/lib/components/VChip/VChip.js.map +1 -1
  204. package/lib/components/VColorPicker/VColorPickerEdit.js +1 -1
  205. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  206. package/lib/components/VColorPicker/VColorPickerSwatches.js +1 -1
  207. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  208. package/lib/components/VCombobox/VCombobox.js +16 -0
  209. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  210. package/lib/components/VDataIterator/VDataFooter.js +10 -6
  211. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  212. package/lib/components/VDataIterator/VDataIterator.js +3 -0
  213. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  214. package/lib/components/VDataTable/VDataTable.js +5 -5
  215. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  216. package/lib/components/VDataTable/mixins/header.js +1 -1
  217. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  218. package/lib/components/VDatePicker/VDatePicker.js +39 -16
  219. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  220. package/lib/components/VDatePicker/VDatePickerHeader.js +2 -2
  221. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  222. package/lib/components/VDialog/VDialog.js +3 -0
  223. package/lib/components/VDialog/VDialog.js.map +1 -1
  224. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  225. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  226. package/lib/components/VFileInput/VFileInput.js +1 -1
  227. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  228. package/lib/components/VGrid/VCol.js +7 -1
  229. package/lib/components/VGrid/VCol.js.map +1 -1
  230. package/lib/components/VImg/VImg.js +30 -8
  231. package/lib/components/VImg/VImg.js.map +1 -1
  232. package/lib/components/VInput/VInput.js +5 -0
  233. package/lib/components/VInput/VInput.js.map +1 -1
  234. package/lib/components/VLazy/VLazy.js +76 -0
  235. package/lib/components/VLazy/VLazy.js.map +1 -0
  236. package/lib/components/VLazy/index.js +4 -0
  237. package/lib/components/VLazy/index.js.map +1 -0
  238. package/lib/components/VList/VListGroup.js +2 -2
  239. package/lib/components/VList/VListGroup.js.map +1 -1
  240. package/lib/components/VList/VListItem.js +4 -0
  241. package/lib/components/VList/VListItem.js.map +1 -1
  242. package/lib/components/VMenu/VMenu.js +3 -0
  243. package/lib/components/VMenu/VMenu.js.map +1 -1
  244. package/lib/components/VPagination/VPagination.js +2 -2
  245. package/lib/components/VPagination/VPagination.js.map +1 -1
  246. package/lib/components/VRadioGroup/VRadio.js +2 -2
  247. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  248. package/lib/components/VRating/VRating.js +3 -3
  249. package/lib/components/VRating/VRating.js.map +1 -1
  250. package/lib/components/VSelect/VSelect.js +1 -2
  251. package/lib/components/VSelect/VSelect.js.map +1 -1
  252. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +170 -0
  253. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -0
  254. package/lib/components/VSkeletonLoader/index.js +4 -0
  255. package/lib/components/VSkeletonLoader/index.js.map +1 -0
  256. package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
  257. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  258. package/lib/components/VStepper/VStepperStep.js +3 -3
  259. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  260. package/lib/components/VTabs/VTabs.js +2 -2
  261. package/lib/components/VTabs/VTabs.js.map +1 -1
  262. package/lib/components/VTextField/VTextField.js +1 -1
  263. package/lib/components/VTextField/VTextField.js.map +1 -1
  264. package/lib/components/VTimePicker/VTimePicker.js +1 -1
  265. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  266. package/lib/components/VTimePicker/VTimePickerTitle.js +1 -1
  267. package/lib/components/VTimePicker/VTimePickerTitle.js.map +1 -1
  268. package/lib/components/VTooltip/VTooltip.js +2 -1
  269. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  270. package/lib/components/VTreeview/VTreeviewNode.js +5 -5
  271. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  272. package/lib/components/VWindow/VWindow.js +2 -2
  273. package/lib/components/VWindow/VWindow.js.map +1 -1
  274. package/lib/components/index.js +2 -0
  275. package/lib/components/index.js.map +1 -1
  276. package/lib/directives/index.js +2 -0
  277. package/lib/directives/index.js.map +1 -1
  278. package/lib/directives/intersect/index.js +45 -0
  279. package/lib/directives/intersect/index.js.map +1 -0
  280. package/lib/directives/mutate/index.js +56 -0
  281. package/lib/directives/mutate/index.js.map +1 -0
  282. package/lib/framework.js +1 -1
  283. package/lib/locale/af.js +6 -2
  284. package/lib/locale/af.js.map +1 -1
  285. package/lib/locale/ar.js +6 -2
  286. package/lib/locale/ar.js.map +1 -1
  287. package/lib/locale/ca.js +6 -2
  288. package/lib/locale/ca.js.map +1 -1
  289. package/lib/locale/cs.js +45 -0
  290. package/lib/locale/cs.js.map +1 -0
  291. package/lib/locale/de.js +6 -2
  292. package/lib/locale/de.js.map +1 -1
  293. package/lib/locale/el.js +6 -2
  294. package/lib/locale/el.js.map +1 -1
  295. package/lib/locale/en.js +6 -2
  296. package/lib/locale/en.js.map +1 -1
  297. package/lib/locale/es.js +6 -2
  298. package/lib/locale/es.js.map +1 -1
  299. package/lib/locale/et.js +14 -10
  300. package/lib/locale/et.js.map +1 -1
  301. package/lib/locale/fa.js +6 -2
  302. package/lib/locale/fa.js.map +1 -1
  303. package/lib/locale/fr.js +6 -2
  304. package/lib/locale/fr.js.map +1 -1
  305. package/lib/locale/he.js +6 -2
  306. package/lib/locale/he.js.map +1 -1
  307. package/lib/locale/hr.js +20 -16
  308. package/lib/locale/hr.js.map +1 -1
  309. package/lib/locale/hu.js +6 -2
  310. package/lib/locale/hu.js.map +1 -1
  311. package/lib/locale/id.js +6 -2
  312. package/lib/locale/id.js.map +1 -1
  313. package/lib/locale/index.js +3 -0
  314. package/lib/locale/index.js.map +1 -1
  315. package/lib/locale/it.js +6 -2
  316. package/lib/locale/it.js.map +1 -1
  317. package/lib/locale/ja.js +6 -2
  318. package/lib/locale/ja.js.map +1 -1
  319. package/lib/locale/ko.js +6 -2
  320. package/lib/locale/ko.js.map +1 -1
  321. package/lib/locale/lt.js +45 -0
  322. package/lib/locale/lt.js.map +1 -0
  323. package/lib/locale/lv.js +6 -2
  324. package/lib/locale/lv.js.map +1 -1
  325. package/lib/locale/nl.js +6 -2
  326. package/lib/locale/nl.js.map +1 -1
  327. package/lib/locale/no.js +6 -2
  328. package/lib/locale/no.js.map +1 -1
  329. package/lib/locale/pl.js +6 -2
  330. package/lib/locale/pl.js.map +1 -1
  331. package/lib/locale/pt.js +6 -2
  332. package/lib/locale/pt.js.map +1 -1
  333. package/lib/locale/ro.js +6 -2
  334. package/lib/locale/ro.js.map +1 -1
  335. package/lib/locale/ru.js +6 -2
  336. package/lib/locale/ru.js.map +1 -1
  337. package/lib/locale/sl.js +14 -10
  338. package/lib/locale/sl.js.map +1 -1
  339. package/lib/locale/sr-Cyrl.js +6 -2
  340. package/lib/locale/sr-Cyrl.js.map +1 -1
  341. package/lib/locale/sv.js +45 -0
  342. package/lib/locale/sv.js.map +1 -0
  343. package/lib/locale/th.js +6 -2
  344. package/lib/locale/th.js.map +1 -1
  345. package/lib/locale/tr.js +6 -2
  346. package/lib/locale/tr.js.map +1 -1
  347. package/lib/locale/uk.js +6 -2
  348. package/lib/locale/uk.js.map +1 -1
  349. package/lib/locale/zh-Hans.js +6 -2
  350. package/lib/locale/zh-Hans.js.map +1 -1
  351. package/lib/locale/zh-Hant.js +6 -2
  352. package/lib/locale/zh-Hant.js.map +1 -1
  353. package/lib/mixins/overlayable/index.js +6 -2
  354. package/lib/mixins/overlayable/index.js.map +1 -1
  355. package/lib/services/lang/index.js +6 -2
  356. package/lib/services/lang/index.js.map +1 -1
  357. package/lib/util/helpers.js +3 -4
  358. package/lib/util/helpers.js.map +1 -1
  359. package/package.json +2 -2
  360. package/src/components/VAlert/VAlert.sass +4 -0
  361. package/src/components/VAlert/VAlert.ts +3 -8
  362. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +2 -2
  363. package/src/components/VAlert/_variables.scss +1 -0
  364. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  365. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +1 -1
  366. package/src/components/VAutocomplete/VAutocomplete.ts +19 -0
  367. package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +54 -0
  368. package/src/components/VBtn/VBtn.ts +2 -0
  369. package/src/components/VBtn/__tests__/VBtn.spec.ts +20 -0
  370. package/src/components/VBtn/_variables.scss +1 -1
  371. package/src/components/VBtnToggle/VBtnToggle.sass +50 -24
  372. package/src/components/VBtnToggle/VBtnToggle.ts +16 -1
  373. package/src/components/VBtnToggle/__tests__/VBtnToggle.spec.ts +10 -3
  374. package/src/components/VBtnToggle/_variables.scss +7 -0
  375. package/src/components/VCalendar/VCalendarWeekly.sass +3 -0
  376. package/src/components/VCalendar/_variables.scss +1 -1
  377. package/src/components/VCard/VCard.sass +7 -0
  378. package/src/components/VCard/VCard.ts +2 -0
  379. package/src/components/VCard/_variables.scss +2 -0
  380. package/src/components/VCarousel/VCarousel.ts +1 -1
  381. package/src/components/VCheckbox/VCheckbox.ts +3 -3
  382. package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -3
  383. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +1 -1
  384. package/src/components/VChip/VChip.ts +2 -2
  385. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +1 -1
  386. package/src/components/VChip/_variables.scss +1 -1
  387. package/src/components/VColorPicker/VColorPicker.sass +2 -0
  388. package/src/components/VColorPicker/VColorPickerEdit.sass +2 -1
  389. package/src/components/VColorPicker/VColorPickerEdit.ts +1 -1
  390. package/src/components/VColorPicker/VColorPickerSwatches.ts +1 -1
  391. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +5 -5
  392. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +5 -5
  393. package/src/components/VColorPicker/_variables.scss +1 -0
  394. package/src/components/VCombobox/VCombobox.ts +16 -0
  395. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +41 -0
  396. package/src/components/VDataIterator/VDataFooter.ts +9 -5
  397. package/src/components/VDataIterator/VDataIterator.ts +1 -0
  398. package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +3 -0
  399. package/src/components/VDataTable/VDataTable.ts +5 -5
  400. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +71 -0
  401. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +1408 -446
  402. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +35 -35
  403. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +3 -3
  404. package/src/components/VDataTable/mixins/header.ts +2 -1
  405. package/src/components/VDatePicker/VDatePicker.ts +40 -16
  406. package/src/components/VDatePicker/VDatePickerHeader.ts +2 -2
  407. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +20 -0
  408. package/src/components/VDialog/VDialog.sass +4 -7
  409. package/src/components/VDialog/VDialog.ts +6 -0
  410. package/src/components/VDialog/_variables.scss +1 -1
  411. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  412. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +1 -1
  413. package/src/components/VExpansionPanel/_variables.scss +1 -1
  414. package/src/components/VFileInput/VFileInput.sass +4 -0
  415. package/src/components/VFileInput/VFileInput.ts +1 -1
  416. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +16 -16
  417. package/src/components/VGrid/VCol.ts +6 -0
  418. package/src/components/VGrid/__tests__/VCol.spec.ts +13 -0
  419. package/src/components/VIcon/__tests__/VIcon.spec.ts +11 -11
  420. package/src/components/VImg/VImg.ts +35 -6
  421. package/src/components/VImg/__tests__/VImg.spec.ts +4 -1
  422. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +23 -46
  423. package/src/components/VInput/VInput.sass +3 -0
  424. package/src/components/VInput/VInput.ts +5 -0
  425. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +3 -1
  426. package/src/components/VLazy/VLazy.ts +80 -0
  427. package/src/components/VLazy/__tests__/VLazy.spec.ts +78 -0
  428. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +14 -0
  429. package/src/components/VLazy/index.ts +4 -0
  430. package/src/components/VList/VList.sass +2 -1
  431. package/src/components/VList/VListGroup.ts +2 -2
  432. package/src/components/VList/VListItem.sass +3 -0
  433. package/src/components/VList/VListItem.ts +4 -0
  434. package/src/components/VList/__tests__/VListItem.spec.ts +10 -0
  435. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +1 -1
  436. package/src/components/VList/_variables.scss +1 -1
  437. package/src/components/VMenu/VMenu.sass +3 -8
  438. package/src/components/VMenu/VMenu.ts +6 -0
  439. package/src/components/VMenu/_variables.scss +1 -1
  440. package/src/components/VOverflowBtn/VOverflowBtn.sass +4 -0
  441. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +2 -2
  442. package/src/components/VPagination/VPagination.sass +3 -3
  443. package/src/components/VPagination/VPagination.ts +2 -2
  444. package/src/components/VPagination/_variables.scss +1 -0
  445. package/src/components/VPicker/_variables.scss +1 -1
  446. package/src/components/VProgressLinear/VProgressLinear.sass +1 -1
  447. package/src/components/VProgressLinear/_variables.scss +1 -0
  448. package/src/components/VRadioGroup/VRadio.ts +2 -2
  449. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
  450. package/src/components/VRating/VRating.ts +3 -3
  451. package/src/components/VSelect/VSelect.sass +17 -0
  452. package/src/components/VSelect/VSelect.ts +1 -2
  453. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +7 -7
  454. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +5 -5
  455. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +1 -1
  456. package/src/components/VSheet/VSheet.sass +0 -11
  457. package/src/components/VSkeletonLoader/VSkeletonLoader.sass +364 -0
  458. package/src/components/VSkeletonLoader/VSkeletonLoader.ts +179 -0
  459. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +84 -0
  460. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +994 -0
  461. package/src/components/VSkeletonLoader/_variables.scss +9 -0
  462. package/src/components/VSkeletonLoader/index.ts +4 -0
  463. package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
  464. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +4 -4
  465. package/src/components/VSnackbar/VSnackbar.sass +1 -1
  466. package/src/components/VSnackbar/_variables.scss +1 -0
  467. package/src/components/VStepper/VStepper.sass +2 -1
  468. package/src/components/VStepper/VStepperStep.ts +3 -3
  469. package/src/components/VStepper/_variables.scss +1 -0
  470. package/src/components/VTabs/VTabs.ts +2 -2
  471. package/src/components/VTextField/VTextField.sass +55 -13
  472. package/src/components/VTextField/VTextField.ts +1 -1
  473. package/src/components/VTextField/_mixins.sass +18 -0
  474. package/src/components/VTextField/_variables.scss +1 -0
  475. package/src/components/VTimePicker/VTimePicker.ts +2 -2
  476. package/src/components/VTimePicker/VTimePickerTitle.ts +2 -2
  477. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +5 -0
  478. package/src/components/VTimePicker/__tests__/VTimePickerTitle.spec.ts +6 -0
  479. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePickerTitle.spec.ts.snap +8 -8
  480. package/src/components/VTooltip/VTooltip.sass +5 -2
  481. package/src/components/VTooltip/VTooltip.ts +4 -0
  482. package/src/components/VTooltip/_variables.sass +1 -1
  483. package/src/components/VTreeview/VTreeviewNode.ts +5 -5
  484. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +2 -2
  485. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +1 -1
  486. package/src/components/VWindow/VWindow.ts +2 -2
  487. package/src/components/index.ts +2 -0
  488. package/src/directives/index.ts +2 -0
  489. package/src/directives/intersect/__tests__/intersect.spec.ts +47 -0
  490. package/src/directives/intersect/index.ts +57 -0
  491. package/src/directives/mutate/__tests__/mutate.spec.ts +130 -0
  492. package/src/directives/mutate/index.ts +63 -0
  493. package/src/globals.d.ts +7 -0
  494. package/src/locale/af.ts +5 -1
  495. package/src/locale/ar.ts +5 -1
  496. package/src/locale/ca.ts +5 -1
  497. package/src/locale/cs.ts +44 -0
  498. package/src/locale/de.ts +5 -1
  499. package/src/locale/el.ts +5 -1
  500. package/src/locale/en.ts +5 -1
  501. package/src/locale/es.ts +5 -1
  502. package/src/locale/et.ts +13 -9
  503. package/src/locale/fa.ts +5 -1
  504. package/src/locale/fr.ts +5 -1
  505. package/src/locale/he.ts +5 -1
  506. package/src/locale/hr.ts +20 -16
  507. package/src/locale/hu.ts +5 -1
  508. package/src/locale/id.ts +5 -1
  509. package/src/locale/index.ts +3 -0
  510. package/src/locale/it.ts +5 -1
  511. package/src/locale/ja.ts +5 -1
  512. package/src/locale/ko.ts +5 -1
  513. package/src/locale/lt.ts +44 -0
  514. package/src/locale/lv.ts +5 -1
  515. package/src/locale/nl.ts +5 -1
  516. package/src/locale/no.ts +5 -1
  517. package/src/locale/pl.ts +5 -1
  518. package/src/locale/pt.ts +5 -1
  519. package/src/locale/ro.ts +5 -1
  520. package/src/locale/ru.ts +5 -1
  521. package/src/locale/sl.ts +13 -9
  522. package/src/locale/sr-Cyrl.ts +5 -1
  523. package/src/locale/sv.ts +44 -0
  524. package/src/locale/th.ts +5 -1
  525. package/src/locale/tr.ts +5 -1
  526. package/src/locale/uk.ts +5 -1
  527. package/src/locale/zh-Hans.ts +5 -1
  528. package/src/locale/zh-Hant.ts +5 -1
  529. package/src/mixins/overlayable/index.ts +4 -0
  530. package/src/services/lang/__tests__/lang.spec.ts +8 -0
  531. package/src/services/lang/index.ts +6 -2
  532. package/src/styles/settings/_dark.scss +1 -0
  533. package/src/styles/settings/_light.scss +1 -0
  534. package/src/styles/settings/_variables.scss +4 -3
  535. package/src/util/helpers.ts +3 -5
  536. package/src/components/VBtnToggle/_variables.sass +0 -6
  537. package/src/components/VSheet/_variables.scss +0 -1
@@ -0,0 +1,9 @@
1
+ $skeleton-loader-border-radius: $border-radius-root !default;
2
+ $skeleton-loader-button-border-radius: $border-radius-root !default;
3
+ $skeleton-loader-chip-border-radius: 16px !default;
4
+ $skeleton-loader-date-picker-border-radius: inherit !default;
5
+ $skeleton-loader-divider-border-radius: 1px !default;
6
+ $skeleton-loader-heading-border-radius: 12px !default;
7
+ $skeleton-loader-text-border-radius: 6px !default;
8
+ $skeleton-loader-loading-animation: loading 1.5s infinite !default;
9
+ $skeleton-loader-loading-transform: translateX(-100%) !default;
@@ -0,0 +1,4 @@
1
+ import VSkeletonLoader from './VSkeletonLoader'
2
+
3
+ export { VSkeletonLoader }
4
+ export default VSkeletonLoader
@@ -59,7 +59,7 @@ export const BaseSlideGroup = mixins<options &
59
59
  centerActive: Boolean,
60
60
  nextIcon: {
61
61
  type: String,
62
- default: '$vuetify.icons.next',
62
+ default: '$next',
63
63
  },
64
64
  mobileBreakPoint: {
65
65
  type: [Number, String],
@@ -68,7 +68,7 @@ export const BaseSlideGroup = mixins<options &
68
68
  },
69
69
  prevIcon: {
70
70
  type: String,
71
- default: '$vuetify.icons.prev',
71
+ default: '$prev',
72
72
  },
73
73
  showArrows: Boolean,
74
74
  },
@@ -5,7 +5,7 @@ exports[`VSlideGroup.ts should match snapshot in rtl 1`] = `
5
5
  <div class="v-slide-group__prev">
6
6
  <fade-transition-stub origin="top center 0">
7
7
  <vuecomponent-stub>
8
- $vuetify.icons.next
8
+ $next
9
9
  </vuecomponent-stub>
10
10
  </fade-transition-stub>
11
11
  </div>
@@ -16,7 +16,7 @@ exports[`VSlideGroup.ts should match snapshot in rtl 1`] = `
16
16
  <div class="v-slide-group__next">
17
17
  <fade-transition-stub origin="top center 0">
18
18
  <vuecomponent-stub>
19
- $vuetify.icons.prev
19
+ $prev
20
20
  </vuecomponent-stub>
21
21
  </fade-transition-stub>
22
22
  </div>
@@ -28,7 +28,7 @@ exports[`VSlideGroup.ts should match snapshot in rtl 2`] = `
28
28
  <div class="v-slide-group__prev">
29
29
  <fade-transition-stub origin="top center 0">
30
30
  <vuecomponent-stub>
31
- $vuetify.icons.prev
31
+ $prev
32
32
  </vuecomponent-stub>
33
33
  </fade-transition-stub>
34
34
  </div>
@@ -39,7 +39,7 @@ exports[`VSlideGroup.ts should match snapshot in rtl 2`] = `
39
39
  <div class="v-slide-group__next">
40
40
  <fade-transition-stub origin="top center 0">
41
41
  <vuecomponent-stub>
42
- $vuetify.icons.next
42
+ $next
43
43
  </vuecomponent-stub>
44
44
  </fade-transition-stub>
45
45
  </div>
@@ -27,7 +27,7 @@
27
27
  &__wrapper
28
28
  align-items: center
29
29
  background-color: $snackbar-background-color
30
- border-radius: 4px
30
+ border-radius: $snackbar-border-radius
31
31
  display: flex
32
32
  margin: 0 auto
33
33
  pointer-events: auto
@@ -1,3 +1,4 @@
1
1
  $snackbar-color: map-get($shades, 'white') !default;
2
2
  $snackbar-background-color: #323232 !default;
3
+ $snackbar-border-radius: $border-radius-root !default;
3
4
  $snackbar-corner-offset: 16px !default;
@@ -1,4 +1,5 @@
1
1
  @import '../../styles/styles.sass'
2
+ @import './_variables.scss'
2
3
 
3
4
  +theme(v-stepper) using ($material)
4
5
  background: map-get($material, 'bg-color')
@@ -55,7 +56,7 @@
55
56
  border-left: 1px solid rgba(map-get($material, 'fg-color'), map-get($material, 'divider-percent'))
56
57
 
57
58
  .v-stepper
58
- border-radius: 4px
59
+ border-radius: $stepper-border-radius
59
60
  overflow: hidden
60
61
  position: relative
61
62
  +elevation(2)
@@ -41,16 +41,16 @@ export default baseMixins.extend<options>().extend({
41
41
  complete: Boolean,
42
42
  completeIcon: {
43
43
  type: String,
44
- default: '$vuetify.icons.complete',
44
+ default: '$complete',
45
45
  },
46
46
  editable: Boolean,
47
47
  editIcon: {
48
48
  type: String,
49
- default: '$vuetify.icons.edit',
49
+ default: '$edit',
50
50
  },
51
51
  errorIcon: {
52
52
  type: String,
53
- default: '$vuetify.icons.error',
53
+ default: '$error',
54
54
  },
55
55
  rules: {
56
56
  type: Array,
@@ -0,0 +1 @@
1
+ $stepper-border-radius: $border-radius-root !default;
@@ -64,12 +64,12 @@ export default baseMixins.extend<options>().extend({
64
64
  },
65
65
  nextIcon: {
66
66
  type: String,
67
- default: '$vuetify.icons.next',
67
+ default: '$next',
68
68
  },
69
69
  optional: Boolean,
70
70
  prevIcon: {
71
71
  type: String,
72
- default: '$vuetify.icons.prev',
72
+ default: '$prev',
73
73
  },
74
74
  right: Boolean,
75
75
  showArrows: Boolean,
@@ -1,4 +1,6 @@
1
1
  @import '../../styles/styles.sass'
2
+ @import './_mixins.sass'
3
+ @import './_variables.scss'
2
4
 
3
5
  +theme(v-text-field) using ($material)
4
6
  & > .v-input__control > .v-input__slot:before
@@ -65,6 +67,13 @@
65
67
  min-width: 0px
66
68
  width: 100%
67
69
 
70
+ &.v-input--dense
71
+ padding-top: 0
72
+
73
+ &:not(.v-text-field--outlined):not(.v-text-field--solo)
74
+ input
75
+ padding: 4px 0 8px
76
+
68
77
  &[type=text]::-ms-clear
69
78
  display: none
70
79
 
@@ -203,21 +212,46 @@
203
212
  align-items: stretch
204
213
  min-height: 56px
205
214
 
215
+ &.v-input--dense
216
+ > .v-input__control > .v-input__slot
217
+ min-height: 44px
218
+
219
+ &.v-text-field--single-line,
220
+ &.v-text-field--outlined
221
+ > .v-input__control > .v-input__slot
222
+ min-height: 40px
223
+
206
224
  &--filled,
207
225
  &--full-width
208
226
  input
209
227
  margin-top: 22px
210
228
 
229
+ &.v-input--dense
230
+ input
231
+ margin-top: 20px
232
+
211
233
  &.v-text-field--single-line
212
234
  input
213
235
  margin-top: 12px
214
236
 
237
+ &.v-input--dense
238
+ input
239
+ margin-top: 6px
240
+
215
241
  .v-label
216
242
  top: 18px
217
243
 
218
244
  &--active
219
245
  transform: translateY(-6px) scale(.75)
220
246
 
247
+ &.v-input--dense
248
+ .v-label--active
249
+ transform: translateY(-10px) scale(.75)
250
+
251
+ &.v-text-field--single-line
252
+ .v-label
253
+ top: 11px
254
+
221
255
  &--filled > .v-input__control > .v-input__slot
222
256
  border-top-left-radius: 4px
223
257
  border-top-right-radius: 4px
@@ -235,11 +269,16 @@
235
269
  .v-progress-linear__background
236
270
  display: none
237
271
 
238
- .v-input__prepend-outer,
239
- .v-input__prepend-inner,
240
- .v-input__append-inner,
241
- .v-input__append-outer
242
- margin-top: 16px
272
+ +prepend-append-margin-top(16px)
273
+
274
+ &.v-input--dense:not(.v-text-field--solo)
275
+ +prepend-append-margin-top(14px)
276
+
277
+ &.v-text-field--single-line
278
+ +prepend-append-margin-top(9px)
279
+
280
+ &.v-text-field--outlined
281
+ +prepend-append-margin-top(7px)
243
282
 
244
283
  .v-text-field__details,
245
284
  & > .v-input__control > .v-input__slot
@@ -272,11 +311,10 @@
272
311
  margin-bottom: 16px
273
312
  transition: border $primary-transition
274
313
 
275
- .v-label
276
- top: 18px
314
+ +label-position(18px, -24px)
277
315
 
278
- &--active
279
- transform: translateY(-24px) scale(.75)
316
+ &.v-input--dense
317
+ +label-position(10px, -16px)
280
318
 
281
319
  fieldset
282
320
  border-style: solid
@@ -331,7 +369,7 @@
331
369
 
332
370
  &--solo,
333
371
  &--outlined
334
- border-radius: 4px
372
+ border-radius: $text-field-border-radius
335
373
 
336
374
  fieldset,
337
375
  .v-input__control,
@@ -369,6 +407,9 @@
369
407
  min-height: 48px
370
408
  padding: 0
371
409
 
410
+ &.v-input--dense > .v-input__control
411
+ min-height: 38px
412
+
372
413
  &:not(.v-text-field--solo-flat) > .v-input__control > .v-input__slot
373
414
  +elevation(2)
374
415
 
@@ -377,9 +418,10 @@
377
418
  align-self: center
378
419
  margin-top: 0
379
420
 
380
- .v-input__prepend-outer,
381
- .v-input__append-outer
382
- margin-top: 12px
421
+ +outer-margin-top(12px)
422
+
423
+ &.v-input--dense
424
+ +outer-margin-top(7px)
383
425
 
384
426
  &.v-input--is-focused > .v-input__control > .v-input__slot:after
385
427
  transform: scaleX(1)
@@ -52,7 +52,7 @@ export default baseMixins.extend<options>().extend({
52
52
  clearable: Boolean,
53
53
  clearIcon: {
54
54
  type: String,
55
- default: '$vuetify.icons.clear',
55
+ default: '$clear',
56
56
  },
57
57
  counter: [Boolean, Number, String],
58
58
  filled: Boolean,
@@ -0,0 +1,18 @@
1
+ @mixin prepend-append-margin-top($margin-top)
2
+ .v-input__prepend-outer,
3
+ .v-input__prepend-inner,
4
+ .v-input__append-inner,
5
+ .v-input__append-outer
6
+ margin-top: $margin-top
7
+
8
+ @mixin outer-margin-top($margin-top)
9
+ .v-input__prepend-outer,
10
+ .v-input__append-outer
11
+ margin-top: $margin-top
12
+
13
+ @mixin label-position($top, $translateY, $scale: .75)
14
+ .v-label
15
+ top: $top
16
+
17
+ &--active
18
+ transform: translateY($translateY) scale($scale)
@@ -0,0 +1 @@
1
+ $text-field-border-radius: $border-radius-root !default;
@@ -333,8 +333,8 @@ export default mixins(
333
333
  return this.$createElement('div', this.setTextColor(this.color || 'primary', {
334
334
  staticClass: 'v-time-picker-clock__ampm',
335
335
  }), [
336
- this.genPickerButton('period', 'am', 'AM', this.disabled || this.readonly),
337
- this.genPickerButton('period', 'pm', 'PM', this.disabled || this.readonly),
336
+ this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),
337
+ this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),
338
338
  ])
339
339
  },
340
340
  genPickerBody () {
@@ -60,8 +60,8 @@ export default mixins(
60
60
  return this.$createElement('div', {
61
61
  staticClass: 'v-time-picker-title__ampm',
62
62
  }, [
63
- this.genPickerButton('period', 'am', 'am', this.disabled || this.readonly),
64
- this.genPickerButton('period', 'pm', 'pm', this.disabled || this.readonly),
63
+ this.genPickerButton('period', 'am', this.$vuetify.lang.t('$vuetify.timePicker.am'), this.disabled || this.readonly),
64
+ this.genPickerButton('period', 'pm', this.$vuetify.lang.t('$vuetify.timePicker.pm'), this.disabled || this.readonly),
65
65
  ])
66
66
  },
67
67
  },
@@ -1,4 +1,5 @@
1
1
  import Vue from 'vue'
2
+ import { Lang } from '../../../services/lang'
2
3
  import VTimePicker, { SelectingTimes } from '../VTimePicker'
3
4
  import {
4
5
  mount,
@@ -6,6 +7,10 @@ import {
6
7
  Wrapper,
7
8
  } from '@vue/test-utils'
8
9
 
10
+ Vue.prototype.$vuetify = {
11
+ lang: new Lang(),
12
+ }
13
+
9
14
  describe('VTimePicker.ts', () => {
10
15
  type Instance = InstanceType<typeof VTimePicker>
11
16
  let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
@@ -1,11 +1,17 @@
1
+ import Vue from 'vue'
1
2
  import VTimePickerTitle from '../VTimePickerTitle'
2
3
  import { SelectingTimes } from '../VTimePicker'
4
+ import { Lang } from '../../../services/lang'
3
5
  import {
4
6
  mount,
5
7
  Wrapper,
6
8
  MountOptions,
7
9
  } from '@vue/test-utils'
8
10
 
11
+ Vue.prototype.$vuetify = {
12
+ lang: new Lang(),
13
+ }
14
+
9
15
  describe('VTimePickerTitle.ts', () => {
10
16
  type Instance = InstanceType<typeof VTimePickerTitle>
11
17
  let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
@@ -15,10 +15,10 @@ exports[`VTimePickerTitle.ts should render component in 12hr 1`] = `
15
15
  </div>
16
16
  <div class="v-time-picker-title__ampm">
17
17
  <div class="v-picker__title__btn">
18
- am
18
+ AM
19
19
  </div>
20
20
  <div class="v-picker__title__btn v-picker__title__btn--active">
21
- pm
21
+ PM
22
22
  </div>
23
23
  </div>
24
24
  </div>
@@ -45,10 +45,10 @@ exports[`VTimePickerTitle.ts should render component in 12hr. with useSeconds 1`
45
45
  </div>
46
46
  <div class="v-time-picker-title__ampm">
47
47
  <div class="v-picker__title__btn">
48
- am
48
+ AM
49
49
  </div>
50
50
  <div class="v-picker__title__btn v-picker__title__btn--active">
51
- pm
51
+ PM
52
52
  </div>
53
53
  </div>
54
54
  </div>
@@ -145,10 +145,10 @@ exports[`VTimePickerTitle.ts should render disabled component 1`] = `
145
145
  </div>
146
146
  <div class="v-time-picker-title__ampm">
147
147
  <div class="v-picker__title__btn v-picker__title__btn--readonly">
148
- am
148
+ AM
149
149
  </div>
150
150
  <div class="v-picker__title__btn v-picker__title__btn--active v-picker__title__btn--readonly">
151
- pm
151
+ PM
152
152
  </div>
153
153
  </div>
154
154
  </div>
@@ -175,10 +175,10 @@ exports[`VTimePickerTitle.ts should render disabled component. with useSeconds 1
175
175
  </div>
176
176
  <div class="v-time-picker-title__ampm">
177
177
  <div class="v-picker__title__btn v-picker__title__btn--readonly">
178
- am
178
+ AM
179
179
  </div>
180
180
  <div class="v-picker__title__btn v-picker__title__btn--active v-picker__title__btn--readonly">
181
- pm
181
+ PM
182
182
  </div>
183
183
  </div>
184
184
  </div>
@@ -2,7 +2,10 @@
2
2
  @import ./_variables
3
3
 
4
4
  .v-tooltip
5
- display: inline
5
+ display: none
6
+
7
+ &--attached
8
+ display: inline
6
9
 
7
10
  &__content
8
11
  background: $tooltip-background-color
@@ -17,7 +20,7 @@
17
20
  width: auto
18
21
  opacity: 1
19
22
  pointer-events: none
20
-
23
+
21
24
  &--fixed
22
25
  position: fixed
23
26
 
@@ -110,6 +110,10 @@ export default mixins(Colorable, Delayable, Dependent, Detachable, Menuable, Tog
110
110
  'v-tooltip--right': this.right,
111
111
  'v-tooltip--bottom': this.bottom,
112
112
  'v-tooltip--left': this.left,
113
+ 'v-tooltip--attached':
114
+ this.attach === '' ||
115
+ this.attach === true ||
116
+ this.attach === 'attach',
113
117
  }
114
118
  },
115
119
  computedTransition (): string {
@@ -1,4 +1,4 @@
1
1
  $tooltip-background-color: rgba(map-get($grey, 'darken-2'), 0.9) !default
2
2
  $tooltip-text-color: map-get($shades, 'white') !default
3
- $tooltip-border-radius: 4px !default
3
+ $tooltip-border-radius: $border-radius-root !default
4
4
  $tooltip-font-size: 14px !default
@@ -39,11 +39,11 @@ export const VTreeviewNodeProps = {
39
39
  },
40
40
  expandIcon: {
41
41
  type: String,
42
- default: '$vuetify.icons.subgroup',
42
+ default: '$subgroup',
43
43
  },
44
44
  indeterminateIcon: {
45
45
  type: String,
46
- default: '$vuetify.icons.checkboxIndeterminate',
46
+ default: '$checkboxIndeterminate',
47
47
  },
48
48
  itemChildren: {
49
49
  type: String,
@@ -64,15 +64,15 @@ export const VTreeviewNodeProps = {
64
64
  loadChildren: Function as PropValidator<(item: any) => Promise<void>>,
65
65
  loadingIcon: {
66
66
  type: String,
67
- default: '$vuetify.icons.loading',
67
+ default: '$loading',
68
68
  },
69
69
  offIcon: {
70
70
  type: String,
71
- default: '$vuetify.icons.checkboxOff',
71
+ default: '$checkboxOff',
72
72
  },
73
73
  onIcon: {
74
74
  type: String,
75
- default: '$vuetify.icons.checkboxOn',
75
+ default: '$checkboxOn',
76
76
  },
77
77
  openOnClick: Boolean,
78
78
  rounded: Boolean,
@@ -69,11 +69,11 @@ describe('VTreeViewNode.ts', () => {
69
69
  provide: { treeview },
70
70
  })
71
71
 
72
- expect(wrapper.vm.computedIcon).toBe('$vuetify.icons.checkboxOff')
72
+ expect(wrapper.vm.computedIcon).toBe('$checkboxOff')
73
73
 
74
74
  wrapper.setData({ isIndeterminate: true })
75
75
 
76
- expect(wrapper.vm.computedIcon).toBe('$vuetify.icons.checkboxIndeterminate')
76
+ expect(wrapper.vm.computedIcon).toBe('$checkboxIndeterminate')
77
77
  })
78
78
 
79
79
  it('should use scoped slots', () => {
@@ -730,7 +730,7 @@ exports[`VTreeView.ts should select only leaf nodes 1`] = `
730
730
  <i role="button"
731
731
  class="v-icon notranslate v-treeview-node__checkbox v-icon--link material-icons theme--light"
732
732
  >
733
- $vuetify.icons.checkboxIndeterminate
733
+ $checkboxIndeterminate
734
734
  </i>
735
735
  <div class="v-treeview-node__content">
736
736
  <div class="v-treeview-node__label">
@@ -36,11 +36,11 @@ export default BaseItemGroup.extend({
36
36
  },
37
37
  nextIcon: {
38
38
  type: [Boolean, String],
39
- default: '$vuetify.icons.next',
39
+ default: '$next',
40
40
  },
41
41
  prevIcon: {
42
42
  type: [Boolean, String],
43
- default: '$vuetify.icons.prev',
43
+ default: '$prev',
44
44
  },
45
45
  reverse: {
46
46
  type: Boolean,
@@ -37,6 +37,7 @@ export * from './VImg'
37
37
  export * from './VInput'
38
38
  export * from './VItemGroup'
39
39
  export * from './VLabel'
40
+ export * from './VLazy'
40
41
  export * from './VList'
41
42
  export * from './VMenu'
42
43
  export * from './VMessages'
@@ -54,6 +55,7 @@ export * from './VRangeSlider'
54
55
  export * from './VRating'
55
56
  export * from './VResponsive'
56
57
  export * from './VSelect'
58
+ export * from './VSkeletonLoader'
57
59
  export * from './VSlider'
58
60
  export * from './VSlideGroup'
59
61
  export * from './VSnackbar'
@@ -1,4 +1,6 @@
1
1
  export { ClickOutside } from './click-outside'
2
+ export { Intersect } from './intersect'
3
+ export { Mutate } from './mutate'
2
4
  export { Resize } from './resize'
3
5
  export { Ripple } from './ripple'
4
6
  export { Scroll } from './scroll'
@@ -0,0 +1,47 @@
1
+ // Directives
2
+ import Intersect from '../'
3
+
4
+ describe('resize.ts', () => {
5
+ it('should bind event on inserted', () => {
6
+ const callback = jest.fn()
7
+ const el = document.createElement('div')
8
+ document.body.appendChild(el)
9
+
10
+ Intersect.inserted(el, {
11
+ value: callback,
12
+ modifiers: { quiet: true } } as any
13
+ )
14
+
15
+ expect((el as any)._observe).toBeTruthy()
16
+ expect(callback).not.toHaveBeenCalled()
17
+
18
+ document.body.removeChild(el)
19
+
20
+ Intersect.unbind(el)
21
+
22
+ expect((el as any)._observe).toBeFalsy()
23
+ })
24
+
25
+ it('should invoke callback once and unbind', () => {
26
+ const el = document.createElement('div')
27
+
28
+ document.body.appendChild(el)
29
+
30
+ const callback = jest.fn()
31
+
32
+ Intersect.inserted(el, {
33
+ value: callback,
34
+ modifiers: { once: true },
35
+ } as any)
36
+
37
+ expect(callback).toHaveBeenCalled()
38
+ expect((el as any)._observe).toBeTruthy()
39
+
40
+ if ((el as any)._observe) {
41
+ (el as any)._observe.observer.callback()
42
+ }
43
+
44
+ expect(callback).toHaveBeenCalledTimes(2)
45
+ expect((el as any)._observe).toBeFalsy()
46
+ })
47
+ })
@@ -0,0 +1,57 @@
1
+ import { VNodeDirective } from 'vue/types/vnode'
2
+
3
+ interface ObserveVNodeDirective extends VNodeDirective {
4
+ options?: IntersectionObserverInit
5
+ }
6
+
7
+ function inserted (el: HTMLElement, binding: ObserveVNodeDirective) {
8
+ const modifiers = binding.modifiers || /* istanbul ignore next */ {}
9
+ const value = binding.value
10
+ const isObject = typeof value === 'object'
11
+ const callback = isObject ? value.handler : value
12
+ const observer = new IntersectionObserver((
13
+ entries: IntersectionObserverEntry[] = [],
14
+ observer: IntersectionObserver
15
+ ) => {
16
+ /* istanbul ignore if */
17
+ if (!el._observe) return // Just in case, should never fire
18
+
19
+ // If is not quiet or has already been
20
+ // initted, invoke the user callback
21
+ if (
22
+ callback && (
23
+ !modifiers.quiet ||
24
+ el._observe.init
25
+ )
26
+ ) {
27
+ const isIntersecting = Boolean(entries.find(entry => entry.isIntersecting))
28
+
29
+ callback(entries, observer, isIntersecting)
30
+ }
31
+
32
+ // If has already been initted and
33
+ // has the once modifier, unbind
34
+ if (el._observe.init && modifiers.once) unbind(el)
35
+ // Otherwise, mark the observer as initted
36
+ else (el._observe.init = true)
37
+ }, value.options || {})
38
+
39
+ el._observe = { init: false, observer }
40
+
41
+ observer.observe(el)
42
+ }
43
+
44
+ function unbind (el: HTMLElement) {
45
+ /* istanbul ignore if */
46
+ if (!el._observe) return
47
+
48
+ el._observe.observer.unobserve(el)
49
+ delete el._observe
50
+ }
51
+
52
+ export const Intersect = {
53
+ inserted,
54
+ unbind,
55
+ }
56
+
57
+ export default Intersect