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,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _toggleable = _interopRequireDefault(require("../../mixins/toggleable"));
9
+
10
+ var _intersect = _interopRequireDefault(require("../../directives/intersect"));
11
+
12
+ var _mixins = _interopRequireDefault(require("../../util/mixins"));
13
+
14
+ var _helpers = require("../../util/helpers");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ // Mixins
19
+ // Directives
20
+ // Utilities
21
+ var _default2 = (0, _mixins.default)(_toggleable.default).extend({
22
+ name: 'VLazy',
23
+ directives: {
24
+ intersect: _intersect.default
25
+ },
26
+ props: {
27
+ minHeight: [Number, String],
28
+ options: {
29
+ type: Object,
30
+ // For more information on types, navigate to:
31
+ // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
32
+ default: function _default() {
33
+ return {
34
+ root: undefined,
35
+ rootMargin: undefined,
36
+ threshold: undefined
37
+ };
38
+ }
39
+ },
40
+ transition: {
41
+ type: String,
42
+ default: 'fade-transition'
43
+ }
44
+ },
45
+ computed: {
46
+ styles: function styles() {
47
+ return {
48
+ minHeight: parseInt(this.minHeight) ? (0, _helpers.convertToUnit)(this.minHeight) : this.minHeight
49
+ };
50
+ }
51
+ },
52
+ methods: {
53
+ genContent: function genContent() {
54
+ if (!this.isActive) return undefined;
55
+ var slot = (0, _helpers.getSlot)(this);
56
+ /* istanbul ignore if */
57
+
58
+ if (!this.transition) return slot;
59
+ return this.$createElement('transition', {
60
+ props: {
61
+ name: this.transition
62
+ }
63
+ }, slot);
64
+ },
65
+ onObserve: function onObserve(entries) {
66
+ if (this.isActive) return;
67
+ this.isActive = Boolean(entries.find(function (entry) {
68
+ return entry.isIntersecting;
69
+ }));
70
+ }
71
+ },
72
+ render: function render(h) {
73
+ return h('div', {
74
+ staticClass: 'v-observe',
75
+ attrs: this.$attrs,
76
+ directives: [{
77
+ name: 'intersect',
78
+ value: {
79
+ handler: this.onObserve,
80
+ options: this.options
81
+ }
82
+ }],
83
+ on: this.$listeners,
84
+ style: this.styles
85
+ }, [this.genContent()]);
86
+ }
87
+ });
88
+
89
+ exports.default = _default2;
90
+ //# sourceMappingURL=VLazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAGA;;AACA;;;;AARA;AAGA;AAGA;gBAOe,qBAAO,mBAAP,EAAmB,MAAnB,CAA0B;AACvC,EAAA,IAAI,EAAE,OADiC;AAGvC,EAAA,UAAU,EAAE;AAAE,IAAA,SAAS,EAAT;AAAF,GAH2B;AAKvC,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE,CAAC,MAAD,EAAS,MAAT,CADN;AAEL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,SADQ;AAEd,UAAA,UAAU,EAAE,SAFE;AAGd,UAAA,SAAS,EAAE;AAHG,SAAP;AAAA;AAJF,KAFJ;AAYL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAZP,GALgC;AAuBvC,EAAA,QAAQ,EAAE;AACR,IAAA,MADQ,oBACF;AACJ,aAAO;AACL,QAAA,SAAS,EAAE,QAAQ,CAAC,KAAK,SAAN,CAAR,GAA2B,4BAAc,KAAK,SAAnB,CAA3B,GAA2D,KAAK;AADtE,OAAP;AAGD;AALO,GAvB6B;AA+BvC,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB,OAAO,SAAP;AAEpB,UAAM,IAAI,GAAG,sBAAQ,IAAR,CAAb;AAEA;;AACA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,IAAP;AAEtB,aAAO,KAAK,cAAL,CAAoB,YAApB,EAAkC;AACvC,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAE,KAAK;AAAb;AADgC,OAAlC,EAEJ,IAFI,CAAP;AAGD,KAZM;AAaP,IAAA,SAbO,qBAaI,OAbJ,EAawC;AAC7C,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,OAAO,CAAC,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,eAAI,KAAK,CAAC,cAAV;AAAA,OAAlB,CAAD,CAAvB;AACD;AAjBM,GA/B8B;AAmDvC,EAAA,MAnDuC,kBAmD/B,CAnD+B,EAmD9B;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,KAAK,EAAE,KAAK,MAFE;AAGd,MAAA,UAAU,EAAE,CAAC;AACX,QAAA,IAAI,EAAE,WADK;AAEX,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK,SADT;AAEL,UAAA,OAAO,EAAE,KAAK;AAFT;AAFI,OAAD,CAHE;AAUd,MAAA,EAAE,EAAE,KAAK,UAVK;AAWd,MAAA,KAAK,EAAE,KAAK;AAXE,KAAR,EAYL,CAAC,KAAK,UAAL,EAAD,CAZK,CAAR;AAaD;AAjEsC,CAA1B,C","sourcesContent":["// Mixins\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(Toggleable).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n minHeight: [Number, String],\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n minHeight: parseInt(this.minHeight) ? convertToUnit(this.minHeight) : this.minHeight,\n }\n },\n },\n\n methods: {\n genContent () {\n if (!this.isActive) return undefined\n\n const slot = getSlot(this)\n\n /* istanbul ignore if */\n if (!this.transition) return slot\n\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, slot)\n },\n onObserve (entries: IntersectionObserverEntry[]) {\n if (this.isActive) return\n\n this.isActive = Boolean(entries.find(entry => entry.isIntersecting))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-observe',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n value: {\n handler: this.onObserve,\n options: this.options,\n },\n }] as any,\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n"],"sourceRoot":"","file":"VLazy.js"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "VLazy", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _VLazy.default;
10
+ }
11
+ });
12
+ exports.default = void 0;
13
+
14
+ var _VLazy = _interopRequireDefault(require("./VLazy"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ var _default = _VLazy.default;
19
+ exports.default = _default;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VLazy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;eAGe,c","sourcesContent":["import VLazy from './VLazy'\n\nexport { VLazy }\nexport default VLazy\n"],"sourceRoot":"","file":"index.js"}
@@ -51,7 +51,7 @@ var _default = baseMixins.extend().extend({
51
51
  },
52
52
  appendIcon: {
53
53
  type: String,
54
- default: '$vuetify.icons.expand'
54
+ default: '$expand'
55
55
  },
56
56
  color: {
57
57
  type: String,
@@ -147,7 +147,7 @@ var _default = baseMixins.extend().extend({
147
147
  }, this.showLazyContent([this.$createElement('div', this.$slots.default)]));
148
148
  },
149
149
  genPrependIcon: function genPrependIcon() {
150
- var icon = this.prependIcon ? this.prependIcon : this.subGroup ? '$vuetify.icons.subgroup' : false;
150
+ var icon = this.prependIcon ? this.prependIcon : this.subGroup ? '$subgroup' : false;
151
151
  if (!icon && !this.$slots.prependIcon) return null;
152
152
  return this.$createElement(_VListItemIcon.default, {
153
153
  staticClass: 'v-list-group__header__prepend-icon'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAEA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AAGA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,mBADiB,EAEjB,iBAFiB,EAGjB,kBAHiB,EAIjB,yBAAkB,MAAlB,CAJiB,EAKjB,mBALiB,CAAnB;;eAkBe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,cAD2C;AAGjD,EAAA,UAAU,EAAE;AAAE,IAAA,MAAM,EAAN;AAAF,GAHqC;AAKjD,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE,MAdF;AAeL,IAAA,QAAQ,EAAE,OAfL;AAgBL,IAAA,WAAW,EAAE,MAhBR;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAjBH;AAqBL,IAAA,QAAQ,EAAE;AArBL,GAL0C;AA6BjD,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,aAAO;AACL,gCAAwB,KAAK,QADxB;AAEL,kCAA0B,KAAK,QAF1B;AAGL,mCAA2B,KAAK,QAH3B;AAIL,mCAA2B,KAAK;AAJ3B,OAAP;AAMD;AARO,GA7BuC;AAwCjD,EAAA,KAAK,EAAE;AACL,IAAA,QADK,oBACK,GADL,EACiB;AACpB;AACA,UAAI,CAAC,KAAK,QAAN,IAAkB,GAAtB,EAA2B;AACzB,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,IAAzB,CAAb;AACD;AACF,KANI;AAOL,IAAA,MAAM,EAAE;AAPH,GAxC0C;AAkDjD,EAAA,OAlDiD,qBAkD1C;AACL,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAb;;AAEA,QAAI,KAAK,KAAL,IACF,KAAK,MADH,IAEF,KAAK,KAAL,IAAc,IAFhB,EAGE;AACA,WAAK,QAAL,GAAgB,KAAK,UAAL,CAAgB,KAAK,MAAL,CAAY,IAA5B,CAAhB;AACD;AACF,GA3DgD;AA6DjD,EAAA,aA7DiD,2BA6DpC;AACX,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,UAAV,CAAqB,IAArB,CAAb;AACD,GA/DgD;AAiEjD,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EACQ;AAAA;;AACb,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,IAAhB;AAEA,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AACA,WAAK,SAAL,CAAe;AAAA,eAAO,KAAI,CAAC,QAAL,GAAgB,CAAC,KAAI,CAAC,QAA7B;AAAA,OAAf;AACD,KARM;AASP,IAAA,OATO,mBASE,IATF,EASsB;AAC3B,aAAO,KAAK,cAAL,CAAoB,cAApB,EAA2B,IAA3B,CAAP;AACD,KAXM;AAYP,IAAA,aAZO,2BAYM;AACX,UAAM,IAAI,GAAG,CAAC,KAAK,QAAN,GAAiB,KAAK,UAAtB,GAAmC,KAAhD;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,KAAK,MAAL,CAAY,UAA1B,EAAsC,OAAO,IAAP;AAEtC,aAAO,KAAK,cAAL,CAAoB,sBAApB,EAAmC;AACxC,QAAA,WAAW,EAAE;AAD2B,OAAnC,EAEJ,CACD,KAAK,MAAL,CAAY,UAAZ,IAA0B,KAAK,OAAL,CAAa,IAAb,CADzB,CAFI,CAAP;AAKD,KAtBM;AAuBP,IAAA,SAvBO,uBAuBE;AACP,aAAO,KAAK,cAAL,CAAoB,kBAApB,EAA+B;AACpC,QAAA,WAAW,EAAE,sBADuB;AAEpC,QAAA,KAAK,EAAE;AACL,2BAAiB,MAAM,CAAC,KAAK,QAAN,CADlB;AAEL,UAAA,IAAI,EAAE;AAFD,SAF6B;AAMpC,QAAA,KAAK,sBACF,KAAK,WADH,EACiB,KAAK,QADtB,CAN+B;AASpC,QAAA,KAAK,EAAE;AACL,UAAA,UAAU,EAAE,KAAK;AADZ,SAT6B;AAYpC,QAAA,UAAU,EAAE,CAAC;AACX,UAAA,IAAI,EAAE,QADK;AAEX,UAAA,KAAK,EAAE,KAAK;AAFD,SAAD,CAZwB;AAgBpC,QAAA,EAAE,oBACG,KAAK,UADR;AAEA,UAAA,KAAK,EAAE,KAAK;AAFZ;AAhBkC,OAA/B,EAoBJ,CACD,KAAK,cAAL,EADC,EAED,KAAK,MAAL,CAAY,SAFX,EAGD,KAAK,aAAL,EAHC,CApBI,CAAP;AAyBD,KAjDM;AAkDP,IAAA,QAlDO,sBAkDC;AACN,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,qBADmB;AAEhC,QAAA,UAAU,EAAE,CAAC;AACX,UAAA,IAAI,EAAE,MADK;AAEX,UAAA,KAAK,EAAE,KAAK;AAFD,SAAD;AAFoB,OAA3B,EAMJ,KAAK,eAAL,CAAqB,CACtB,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,MAAL,CAAY,OAAvC,CADsB,CAArB,CANI,CAAP;AASD,KA5DM;AA6DP,IAAA,cA7DO,4BA6DO;AACZ,UAAM,IAAI,GAAG,KAAK,WAAL,GACT,KAAK,WADI,GAET,KAAK,QAAL,GACE,yBADF,GAEE,KAJN;AAMA,UAAI,CAAC,IAAD,IAAS,CAAC,KAAK,MAAL,CAAY,WAA1B,EAAuC,OAAO,IAAP;AAEvC,aAAO,KAAK,cAAL,CAAoB,sBAApB,EAAmC;AACxC,QAAA,WAAW,EAAE;AAD2B,OAAnC,EAEJ,CACD,KAAK,MAAL,CAAY,WAAZ,IAA2B,KAAK,OAAL,CAAa,IAAb,CAD1B,CAFI,CAAP;AAKD,KA3EM;AA4EP,IAAA,aA5EO,yBA4EQ,EA5ER,EA4EiB;AACtB;AACA,UAAI,CAAC,KAAK,KAAV,EAAiB;AAEjB,UAAM,QAAQ,GAAG,KAAK,UAAL,CAAgB,EAAE,CAAC,IAAnB,CAAjB;AAEA;;AACA,UAAI,QAAQ,IAAI,KAAK,QAAL,KAAkB,QAAlC,EAA4C;AAC1C,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,IAAzB,CAAb;AACD;;AAED,WAAK,QAAL,GAAgB,QAAhB;AACD,KAxFM;AAyFP,IAAA,MAzFO,kBAyFC,GAzFD,EAyFY;AAAA;;AACjB,UAAM,QAAQ,GAAG,KAAK,IAAL,KAAc,GAA/B;AAEA,UAAI,QAAJ,EAAc,KAAK,QAAL,GAAgB,IAAhB;AACd,WAAK,SAAL,CAAe;AAAA,eAAO,MAAI,CAAC,QAAL,GAAgB,QAAvB;AAAA,OAAf;AACD,KA9FM;AA+FP,IAAA,UA/FO,sBA+FK,EA/FL,EA+Fe;AACpB,aAAO,EAAE,CAAC,KAAH,CAAS,KAAK,KAAd,MAAyB,IAAhC;AACD;AAjGM,GAjEwC;AAqKjD,EAAA,MArKiD,kBAqKzC,CArKyC,EAqKxC;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,YAAL,CAAkB,KAAK,QAAL,IAAiB,KAAK,KAAxC,EAA+C;AAC7D,MAAA,WAAW,EAAE,cADgD;AAE7D,MAAA,KAAK,EAAE,KAAK;AAFiD,KAA/C,CAAR,EAGJ,CACF,KAAK,SAAL,EADE,EAEF,CAAC,CAAC,8BAAD,EAAoB,CAAC,KAAK,QAAL,EAAD,CAApB,CAFC,CAHI,CAAR;AAOD;AA7KgD,CAApC,C","sourcesContent":["// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$vuetify.icons.expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, this.showLazyContent([\n this.$createElement('div', this.$slots.default),\n ]))\n },\n genPrependIcon (): VNode | null {\n const icon = this.prependIcon\n ? this.prependIcon\n : this.subGroup\n ? '$vuetify.icons.subgroup'\n : false\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, [this.genItems()]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, this.showLazyContent([\n this.$createElement('div', this.$slots.default),\n ]))\n },\n genPrependIcon (): VNode | null {\n const icon = this.prependIcon\n ? this.prependIcon\n : this.subGroup\n ? '$subgroup'\n : false\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, [this.genItems()]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
@@ -67,6 +67,9 @@ var _default2 = baseMixins.extend().extend({
67
67
  dense: Boolean,
68
68
  inactive: Boolean,
69
69
  link: Boolean,
70
+ selectable: {
71
+ type: Boolean
72
+ },
70
73
  tag: {
71
74
  type: String,
72
75
  default: 'div'
@@ -88,6 +91,7 @@ var _default2 = baseMixins.extend().extend({
88
91
  'v-list-item--dense': this.dense,
89
92
  'v-list-item--disabled': this.disabled,
90
93
  'v-list-item--link': this.isClickable && !this.inactive,
94
+ 'v-list-item--selectable': this.selectable,
91
95
  'v-list-item--three-line': this.threeLine,
92
96
  'v-list-item--two-line': this.twoLine
93
97
  }, this.themeClasses);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inheritAttrs: false,\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropValidator<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'listitem'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data.on = {\n ...data.on,\n click: this.click,\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n tag = this.inactive ? 'div' : tag\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inheritAttrs: false,\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropValidator<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'listitem'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data.on = {\n ...data.on,\n click: this.click,\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n tag = this.inactive ? 'div' : tag\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
@@ -422,6 +422,9 @@ var _default = baseMixins.extend({
422
422
  render: function render(h) {
423
423
  var data = {
424
424
  staticClass: 'v-menu',
425
+ class: {
426
+ 'v-menu--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
427
+ },
425
428
  directives: [{
426
429
  arg: '500',
427
430
  name: 'resize',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n if (!this.transition) return this.genContent()\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [this.genContent()])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement(\n 'div',\n options,\n this.showLazyContent(this.getContentSlot())\n )\n },\n getTiles () {\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n this.isActive = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
1
+ {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n if (!this.transition) return this.genContent()\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [this.genContent()])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement(\n 'div',\n options,\n this.showLazyContent(this.getContentSlot())\n )\n },\n getTiles () {\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n this.isActive = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
@@ -51,11 +51,11 @@ var _default = (0, _mixins.default)(_colorable.default, _themeable.default).exte
51
51
  },
52
52
  nextIcon: {
53
53
  type: String,
54
- default: '$vuetify.icons.next'
54
+ default: '$next'
55
55
  },
56
56
  prevIcon: {
57
57
  type: String,
58
- default: '$vuetify.icons.prev'
58
+ default: '$prev'
59
59
  },
60
60
  totalVisible: [Number, String],
61
61
  value: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VPagination/VPagination.ts"],"names":[],"mappings":"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","sourcesContent":["import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, CreateElement } from 'vue'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next',\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n const maxLength = totalVisible > this.maxButtons\n ? this.maxButtons\n : totalVisible || this.maxButtons\n\n if (this.length <= maxLength || maxLength < 1) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n\n return [1, '...', ...this.range(start, end), '...', this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n type: 'button',\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h, this.$vuetify.rtl ? this.nextIcon : this.prevIcon, this.value <= 1, this.previous),\n this.genItems(h),\n this.genIcon(h, this.$vuetify.rtl ? this.prevIcon : this.nextIcon, this.value >= this.length, this.next),\n ]\n\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VPagination.js"}
1
+ {"version":3,"sources":["../../../src/components/VPagination/VPagination.ts"],"names":[],"mappings":"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","sourcesContent":["import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, CreateElement } from 'vue'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n const maxLength = totalVisible > this.maxButtons\n ? this.maxButtons\n : totalVisible || this.maxButtons\n\n if (this.length <= maxLength || maxLength < 1) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n\n return [1, '...', ...this.range(start, end), '...', this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n type: 'button',\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h, this.$vuetify.rtl ? this.nextIcon : this.prevIcon, this.value <= 1, this.previous),\n this.genItems(h),\n this.genIcon(h, this.$vuetify.rtl ? this.prevIcon : this.nextIcon, this.value >= this.length, this.next),\n ]\n\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VPagination.js"}
@@ -50,11 +50,11 @@ var _default = baseMixins.extend().extend({
50
50
  name: String,
51
51
  offIcon: {
52
52
  type: String,
53
- default: '$vuetify.icons.radioOff'
53
+ default: '$radioOff'
54
54
  },
55
55
  onIcon: {
56
56
  type: String,
57
- default: '$vuetify.icons.radioOn'
57
+ default: '$radioOn'
58
58
  },
59
59
  readonly: Boolean,
60
60
  value: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRadioGroup/VRadio.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$vuetify.icons.radioOff',\n },\n onIcon: {\n type: String,\n default: '$vuetify.icons.radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || !!(this.radioGroup || {}).disabled\n },\n isReadonly (): boolean {\n return this.readonly || !!(this.radioGroup || {}).readonly\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n click: (e: Event) => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault()\n\n this.onChange()\n },\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState)),\n this.$createElement(VIcon, this.setTextColor(this.validationState, {}), this.computedIcon),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-radio',\n class: this.classes,\n } as VNodeData\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VRadio.js"}
1
+ {"version":3,"sources":["../../../src/components/VRadioGroup/VRadio.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || !!(this.radioGroup || {}).disabled\n },\n isReadonly (): boolean {\n return this.readonly || !!(this.radioGroup || {}).readonly\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n click: (e: Event) => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault()\n\n this.onChange()\n },\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState)),\n this.$createElement(VIcon, this.setTextColor(this.validationState, {}), this.computedIcon),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-radio',\n class: this.classes,\n } as VNodeData\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VRadio.js"}
@@ -46,15 +46,15 @@ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _rip
46
46
  dense: Boolean,
47
47
  emptyIcon: {
48
48
  type: String,
49
- default: '$vuetify.icons.ratingEmpty'
49
+ default: '$ratingEmpty'
50
50
  },
51
51
  fullIcon: {
52
52
  type: String,
53
- default: '$vuetify.icons.ratingFull'
53
+ default: '$ratingFull'
54
54
  },
55
55
  halfIcon: {
56
56
  type: String,
57
- default: '$vuetify.icons.ratingHalf'
57
+ default: '$ratingHalf'
58
58
  },
59
59
  halfIncrements: Boolean,
60
60
  hover: Boolean,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$vuetify.icons.ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$vuetify.icons.ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$vuetify.icons.ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n medium,\n large,\n light,\n small,\n size,\n xLarge,\n } = this.$props\n\n return {\n dark,\n medium,\n large,\n light,\n size,\n small,\n xLarge,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n if (this.$vuetify.rtl) isHalf = !isHalf\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
1
+ {"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n medium,\n large,\n light,\n small,\n size,\n xLarge,\n } = this.$props\n\n return {\n dark,\n medium,\n large,\n light,\n size,\n small,\n xLarge,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n if (this.$vuetify.rtl) isHalf = !isHalf\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
@@ -56,7 +56,7 @@ var _default2 = baseMixins.extend().extend({
56
56
  props: {
57
57
  appendIcon: {
58
58
  type: String,
59
- default: '$vuetify.icons.dropdown'
59
+ default: '$dropdown'
60
60
  },
61
61
  attach: {
62
62
  default: false
@@ -65,7 +65,6 @@ var _default2 = baseMixins.extend().extend({
65
65
  chips: Boolean,
66
66
  clearable: Boolean,
67
67
  deletableChips: Boolean,
68
- dense: Boolean,
69
68
  eager: Boolean,
70
69
  hideSelected: Boolean,
71
70
  items: {