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
@@ -1 +1 @@
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: '$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"}
@@ -49,6 +49,9 @@ export default baseMixins.extend().extend({
49
49
  dense: Boolean,
50
50
  inactive: Boolean,
51
51
  link: Boolean,
52
+ selectable: {
53
+ type: Boolean
54
+ },
52
55
  tag: {
53
56
  type: String,
54
57
  default: 'div'
@@ -68,6 +71,7 @@ export default baseMixins.extend().extend({
68
71
  'v-list-item--dense': this.dense,
69
72
  'v-list-item--disabled': this.disabled,
70
73
  'v-list-item--link': this.isClickable && !this.inactive,
74
+ 'v-list-item--selectable': this.selectable,
71
75
  'v-list-item--three-line': this.threeLine,
72
76
  'v-list-item--two-line': this.twoLine,
73
77
  ...this.themeClasses
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,8CAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,SAAS,OAAO,IAAI,iBAApB,QAA6C,yBAA7C,C,CAEA;;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,SAAS,QAAT,QAAyB,sBAAzB;AAEA,SAAS,OAAT,QAAwB,oBAAxB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAIA,MAAM,UAAU,GAAG,MAAM,CACvB,SADuB,EAEvB,QAFuB,EAGvB,SAHuB,EAIvB,gBAAgB,CAAC,eAAD,CAJO,EAKvB,iBAAiB,CAAC,YAAD,CALM,CAAzB;AAgBA;;AACA,eAAe,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,aAD2C;AAGjD,EAAA,UAAU,EAAE;AACV,IAAA;AADU,GAHqC;AAOjD,EAAA,YAAY,EAAE,KAPmC;AASjD,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE;AADA,KADL;AAIN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KAJJ;AAON,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD,KAPJ;AAUN,IAAA,OAAO,EAAE;AACP,MAAA,OAAO,EAAE;AADF;AAVH,GATyC;AAwBjD,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;;AAEX,MAAA,OAAO,GAAA;AACL,YAAI,CAAC,KAAK,aAAV,EAAyB,OAAO,EAAP;AAEzB,eAAO,KAAK,aAAL,CAAmB,WAA1B;AACD;;AANU,KADR;AASL,IAAA,KAAK,EAAE,OATF;AAUL,IAAA,QAAQ,EAAE,OAVL;AAWL,IAAA,IAAI,EAAE,OAXD;AAYL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAZA;AAgBL,IAAA,SAAS,EAAE,OAhBN;AAiBL,IAAA,OAAO,EAAE,OAjBJ;AAkBL,IAAA,KAAK,EAAE;AAlBF,GAxB0C;AA6CjD,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,UAAU,EAAE;AADD,GAAP,CA7C2C;AAiDjD,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,uBAAe,IADV;AAEL,WAAG,QAAQ,CAAC,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFE;AAGL,8BAAsB,KAAK,KAHtB;AAIL,iCAAyB,KAAK,QAJzB;AAKL,6BAAqB,KAAK,WAAL,IAAoB,CAAC,KAAK,QAL1C;AAML,mCAA2B,KAAK,SAN3B;AAOL,iCAAyB,KAAK,OAPzB;AAQL,WAAG,KAAK;AARH,OAAP;AAUD,KAZO;;AAaR,IAAA,WAAW,GAAA;AACT,aAAO,OAAO,CACZ,QAAQ,CAAC,OAAT,CAAiB,QAAjB,CAA0B,WAA1B,CAAsC,IAAtC,CAA2C,IAA3C,KACA,KAAK,aAFO,CAAd;AAID;;AAlBO,GAjDuC;;AAsEjD,EAAA,OAAO,GAAA;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C;AACxC,MAAA,OAAO,CAAC,QAAD,EAAW,IAAX,CAAP;AACD;AACF,GA3EgD;;AA6EjD,EAAA,OAAO,EAAE;AACP,IAAA,KAAK,CAAE,CAAF,EAA+B;AAClC,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,GAAL,CAAS,IAAT;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD,KAPM;;AAQP,IAAA,QAAQ,GAAA;AACN,YAAM,KAAK,GAAwB;AACjC,yBAAiB,KAAK,QAAL,GAAgB,IAAhB,GAAuB,SADP;AAEjC,QAAA,QAAQ,EAAE,KAAK,WAAL,IAAoB,CAAC,KAAK,QAA1B,GAAqC,CAArC,GAAyC,CAAC,CAFnB;AAGjC,WAAG,KAAK;AAHyB,OAAnC;;AAMA,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,MAA3B,CAAJ,EAAwC,CACtC;AACD,OAFD,MAEO,IAAI,KAAK,OAAT,EAAkB,CACvB;AACD,OAFM,MAEA,IAAI,KAAK,SAAT,EAAoB;AACzB,QAAA,KAAK,CAAC,IAAN,GAAa,UAAb;AACA,QAAA,KAAK,CAAC,eAAD,CAAL,GAAyB,MAAM,CAAC,KAAK,QAAN,CAA/B;AACD,OAHM,MAGA,IAAI,KAAK,QAAT,EAAmB;AACxB,QAAA,KAAK,CAAC,IAAN,GAAa,KAAK,WAAL,GAAmB,UAAnB,GAAgC,SAA7C;AACD,OAFM,MAEA,IAAI,KAAK,QAAT,EAAmB;AACxB,QAAA,KAAK,CAAC,IAAN,GAAa,UAAb;AACD;;AAED,aAAO,KAAP;AACD;;AA7BM,GA7EwC;;AA6GjD,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,QAAI;AAAE,MAAA,GAAF;AAAO,MAAA;AAAP,QAAgB,KAAK,iBAAL,EAApB;AAEA,IAAA,IAAI,CAAC,KAAL,GAAa,EACX,GAAG,IAAI,CAAC,KADG;AAEX,SAAG,KAAK,QAAL;AAFQ,KAAb;AAIA,IAAA,IAAI,CAAC,EAAL,GAAU,EACR,GAAG,IAAI,CAAC,EADA;AAER,MAAA,KAAK,EAAE,KAAK,KAFJ;AAGR,MAAA,OAAO,EAAG,CAAD,IAAqB;AAC5B;AACA,YAAI,CAAC,CAAC,OAAF,KAAc,QAAQ,CAAC,KAA3B,EAAkC,KAAK,KAAL,CAAW,CAAX;AAElC,aAAK,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AARO,KAAV;AAWA,UAAM,QAAQ,GAAG,KAAK,YAAL,CAAkB,OAAlB,GACb,KAAK,YAAL,CAAkB,OAAlB,CAA0B;AAC1B,MAAA,MAAM,EAAE,KAAK,QADa;AAE1B,MAAA,MAAM,EAAE,KAAK;AAFa,KAA1B,CADa,GAKb,KAAK,MAAL,CAAY,OALhB;AAOA,IAAA,GAAG,GAAG,KAAK,QAAL,GAAgB,KAAhB,GAAwB,GAA9B;AAEA,WAAO,CAAC,CAAC,GAAD,EAAM,KAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B,IAA9B,CAAN,EAA2C,QAA3C,CAAR;AACD;;AAzIgD,CAApC,CAAf","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"}
@@ -405,6 +405,9 @@ export default baseMixins.extend({
405
405
  render(h) {
406
406
  const data = {
407
407
  staticClass: 'v-menu',
408
+ class: {
409
+ 'v-menu--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
410
+ },
408
411
  directives: [{
409
412
  arg: '500',
410
413
  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"}
@@ -23,11 +23,11 @@ export default mixins(Colorable, Themeable).extend({
23
23
  },
24
24
  nextIcon: {
25
25
  type: String,
26
- default: '$vuetify.icons.next'
26
+ default: '$next'
27
27
  },
28
28
  prevIcon: {
29
29
  type: String,
30
- default: '$vuetify.icons.prev'
30
+ default: '$prev'
31
31
  },
32
32
  totalVisible: [Number, String],
33
33
  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":"AAAA,OAAO,sDAAP;AAEA,OAAO,KAAP,MAAkB,UAAlB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AAKA;;AACA,eAAe,MAAM,CAAC,SAAD,EAAY,SAAZ,CAAN,CAA6B,MAA7B,CAAoC;AACjD,EAAA,IAAI,EAAE,cAD2C;AAGjD,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAHqC;AAKjD,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE,OADH;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,OAAO,EAAE,CAFH;AAGN,MAAA,SAAS,EAAG,GAAD,IAAiB,GAAG,GAAG,CAAN,KAAY;AAHlC,KAHH;AAQL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KARL;AAYL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAZL;AAgBL,IAAA,YAAY,EAAE,CAAC,MAAD,EAAS,MAAT,CAhBT;AAiBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AAjBF,GAL0C;;AA4BjD,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,UAAU,EAAE,CADP;AAEL,MAAA,QAAQ,EAAE;AAFL,KAAP;AAID,GAjCgD;;AAmCjD,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,wBAAgB,IADX;AAEL,gCAAwB,KAAK,MAFxB;AAGL,kCAA0B,KAAK,QAH1B;AAIL,WAAG,KAAK;AAJH,OAAP;AAMD,KARO;;AAUR,IAAA,KAAK,GAAA;AACH,YAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,YAAN,EAAoB,EAApB,CAA7B;AACA,YAAM,SAAS,GAAG,YAAY,GAAG,KAAK,UAApB,GACd,KAAK,UADS,GAEd,YAAY,IAAI,KAAK,UAFzB;;AAIA,UAAI,KAAK,MAAL,IAAe,SAAf,IAA4B,SAAS,GAAG,CAA5C,EAA+C;AAC7C,eAAO,KAAK,KAAL,CAAW,CAAX,EAAc,KAAK,MAAnB,CAAP;AACD;;AAED,YAAM,IAAI,GAAG,SAAS,GAAG,CAAZ,KAAkB,CAAlB,GAAsB,CAAtB,GAA0B,CAAvC;AACA,YAAM,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,CAAvB,CAAb;AACA,YAAM,KAAK,GAAG,KAAK,MAAL,GAAc,IAAd,GAAqB,CAArB,GAAyB,IAAvC;;AAEA,UAAI,KAAK,KAAL,GAAa,IAAb,IAAqB,KAAK,KAAL,GAAa,KAAtC,EAA6C;AAC3C,cAAM,KAAK,GAAG,KAAK,KAAL,GAAa,IAAb,GAAoB,CAAlC;AACA,cAAM,GAAG,GAAG,KAAK,KAAL,GAAa,IAAb,GAAoB,CAApB,GAAwB,IAApC;AAEA,eAAO,CAAC,CAAD,EAAI,KAAJ,EAAW,GAAG,KAAK,KAAL,CAAW,KAAX,EAAkB,GAAlB,CAAd,EAAsC,KAAtC,EAA6C,KAAK,MAAlD,CAAP;AACD,OALD,MAKO,IAAI,KAAK,KAAL,KAAe,IAAnB,EAAyB;AAC9B,cAAM,GAAG,GAAG,KAAK,KAAL,GAAa,IAAb,GAAoB,CAApB,GAAwB,IAApC;AACA,eAAO,CAAC,GAAG,KAAK,KAAL,CAAW,CAAX,EAAc,GAAd,CAAJ,EAAwB,KAAxB,EAA+B,KAAK,MAApC,CAAP;AACD,OAHM,MAGA,IAAI,KAAK,KAAL,KAAe,KAAnB,EAA0B;AAC/B,cAAM,KAAK,GAAG,KAAK,KAAL,GAAa,IAAb,GAAoB,CAAlC;AACA,eAAO,CAAC,CAAD,EAAI,KAAJ,EAAW,GAAG,KAAK,KAAL,CAAW,KAAX,EAAkB,KAAK,MAAvB,CAAd,CAAP;AACD,OAHM,MAGA;AACL,eAAO,CACL,GAAG,KAAK,KAAL,CAAW,CAAX,EAAc,IAAd,CADE,EAEL,KAFK,EAGL,GAAG,KAAK,KAAL,CAAW,KAAX,EAAkB,KAAK,MAAvB,CAHE,CAAP;AAKD;AACF;;AA1CO,GAnCuC;AAgFjD,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,GAAA;AACH,WAAK,IAAL;AACD;;AAHI,GAhF0C;;AAsFjD,EAAA,OAAO,GAAA;AACL,SAAK,IAAL;AACD,GAxFgD;;AA0FjD,EAAA,OAAO,EAAE;AACP,IAAA,IAAI,GAAA;AACF,WAAK,QAAL,GAAgB,IAAhB;AAEA,WAAK,SAAL,CAAe,KAAK,QAApB,EAHE,CAIF;;AACA,MAAA,UAAU,CAAC,MAAO,KAAK,QAAL,GAAgB,KAAK,KAA7B,EAAqC,GAArC,CAAV;AACD,KAPM;;AAQP,IAAA,QAAQ,GAAA;AACN,YAAM,KAAK,GAAG,KAAK,GAAL,IAAY,KAAK,GAAL,CAAS,aAArB,GACV,KAAK,GAAL,CAAS,aAAT,CAAuB,WADb,GAEV,MAAM,CAAC,UAFX;AAIA,WAAK,UAAL,GAAkB,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,EAAT,IAAe,EAA1B,CAAlB;AACD,KAdM;;AAeP,IAAA,IAAI,CAAE,CAAF,EAAU;AACZ,MAAA,CAAC,CAAC,cAAF;AACA,WAAK,KAAL,CAAW,OAAX,EAAoB,KAAK,KAAL,GAAa,CAAjC;AACA,WAAK,KAAL,CAAW,MAAX;AACD,KAnBM;;AAoBP,IAAA,QAAQ,CAAE,CAAF,EAAU;AAChB,MAAA,CAAC,CAAC,cAAF;AACA,WAAK,KAAL,CAAW,OAAX,EAAoB,KAAK,KAAL,GAAa,CAAjC;AACA,WAAK,KAAL,CAAW,UAAX;AACD,KAxBM;;AAyBP,IAAA,KAAK,CAAE,IAAF,EAAgB,EAAhB,EAA0B;AAC7B,YAAM,KAAK,GAAG,EAAd;AAEA,MAAA,IAAI,GAAG,IAAI,GAAG,CAAP,GAAW,IAAX,GAAkB,CAAzB;;AAEA,WAAK,IAAI,CAAC,GAAG,IAAb,EAAmB,CAAC,IAAI,EAAxB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,QAAA,KAAK,CAAC,IAAN,CAAW,CAAX;AACD;;AAED,aAAO,KAAP;AACD,KAnCM;;AAoCP,IAAA,OAAO,CAAE,CAAF,EAAoB,IAApB,EAAkC,QAAlC,EAAqD,EAArD,EAAsE;AAC3E,aAAO,CAAC,CAAC,IAAD,EAAO,CACb,CAAC,CAAC,QAAD,EAAW;AACV,QAAA,WAAW,EAAE,0BADH;AAEV,QAAA,KAAK,EAAE;AACL,gDAAsC;AADjC,SAFG;AAKV,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD,SALG;AAQV,QAAA,EAAE,EAAE,QAAQ,GAAG,EAAH,GAAQ;AAAE,UAAA,KAAK,EAAE;AAAT;AARV,OAAX,EASE,CAAC,CAAC,CAAC,KAAD,EAAQ,CAAC,IAAD,CAAR,CAAF,CATF,CADY,CAAP,CAAR;AAYD,KAjDM;;AAkDP,IAAA,OAAO,CAAE,CAAF,EAAoB,CAApB,EAAsC;AAC3C,YAAM,KAAK,GAAoB,CAAC,KAAK,KAAK,KAAZ,KAAuB,KAAK,KAAL,IAAc,SAArC,CAA9B;AACA,aAAO,CAAC,CAAC,QAAD,EAAW,KAAK,kBAAL,CAAwB,KAAxB,EAA+B;AAChD,QAAA,WAAW,EAAE,oBADmC;AAEhD,QAAA,KAAK,EAAE;AACL,wCAA8B,CAAC,KAAK,KAAK;AADpC,SAFyC;AAKhD,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD,SALyC;AAQhD,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,MAAM,KAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AADX;AAR4C,OAA/B,CAAX,EAWJ,CAAC,CAAC,CAAC,QAAF,EAAD,CAXI,CAAR;AAYD,KAhEM;;AAiEP,IAAA,QAAQ,CAAE,CAAF,EAAkB;AACxB,aAAO,KAAK,KAAL,CAAW,GAAX,CAAe,CAAC,CAAD,EAAI,KAAJ,KAAa;AACjC,eAAO,CAAC,CAAC,IAAD,EAAO;AAAE,UAAA,GAAG,EAAE;AAAP,SAAP,EAAuB,CAC7B,KAAK,CAAC,MAAM,CAAC,CAAD,CAAP,CAAL,GAAmB,CAAC,CAAC,MAAD,EAAS;AAAE,UAAA,KAAK,EAAE;AAAT,SAAT,EAA0C,CAAC,CAAC,CAAC,QAAF,EAAD,CAA1C,CAApB,GAAgF,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,CADnD,CAAvB,CAAR;AAGD,OAJM,CAAP;AAKD;;AAvEM,GA1FwC;;AAoKjD,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,UAAM,QAAQ,GAAG,CACf,KAAK,OAAL,CAAa,CAAb,EAAgB,KAAK,QAAL,CAAc,GAAd,GAAoB,KAAK,QAAzB,GAAoC,KAAK,QAAzD,EAAmE,KAAK,KAAL,IAAc,CAAjF,EAAoF,KAAK,QAAzF,CADe,EAEf,KAAK,QAAL,CAAc,CAAd,CAFe,EAGf,KAAK,OAAL,CAAa,CAAb,EAAgB,KAAK,QAAL,CAAc,GAAd,GAAoB,KAAK,QAAzB,GAAoC,KAAK,QAAzD,EAAmE,KAAK,KAAL,IAAc,KAAK,MAAtF,EAA8F,KAAK,IAAnG,CAHe,CAAjB;AAMA,WAAO,CAAC,CAAC,IAAD,EAAO;AACb,MAAA,UAAU,EAAE,CAAC;AACX,QAAA,SAAS,EAAE;AAAE,UAAA,KAAK,EAAE;AAAT,SADA;AAEX,QAAA,IAAI,EAAE,QAFK;AAGX,QAAA,KAAK,EAAE,KAAK;AAHD,OAAD,CADC;AAMb,MAAA,KAAK,EAAE,KAAK;AANC,KAAP,EAOL,QAPK,CAAR;AAQD;;AAnLgD,CAApC,CAAf","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"}
@@ -26,11 +26,11 @@ export default baseMixins.extend().extend({
26
26
  name: String,
27
27
  offIcon: {
28
28
  type: String,
29
- default: '$vuetify.icons.radioOff'
29
+ default: '$radioOff'
30
30
  },
31
31
  onIcon: {
32
32
  type: String,
33
- default: '$vuetify.icons.radioOn'
33
+ default: '$radioOn'
34
34
  },
35
35
  readonly: Boolean,
36
36
  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"}
@@ -28,15 +28,15 @@ export default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).ext
28
28
  dense: Boolean,
29
29
  emptyIcon: {
30
30
  type: String,
31
- default: '$vuetify.icons.ratingEmpty'
31
+ default: '$ratingEmpty'
32
32
  },
33
33
  fullIcon: {
34
34
  type: String,
35
- default: '$vuetify.icons.ratingFull'
35
+ default: '$ratingFull'
36
36
  },
37
37
  halfIcon: {
38
38
  type: String,
39
- default: '$vuetify.icons.ratingHalf'
39
+ default: '$ratingHalf'
40
40
  },
41
41
  halfIncrements: Boolean,
42
42
  hover: Boolean,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,8CAAP,C,CAEA;;AACA,OAAO,KAAP,MAAkB,UAAlB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,QAAP,MAAqB,uBAArB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,SAAS,WAAT,QAA4B,oBAA5B;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAeA;;AACA,eAAe,MAAM,CACnB,SADmB,EAEnB,SAFmB,EAGnB,UAHmB,EAInB,QAJmB,EAKnB,SALmB,CAAN,CAMb,MANa,CAMN;AACP,EAAA,IAAI,EAAE,UADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,MADS;AAEf,MAAA,OAAO,EAAE;AAFM,KADZ;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KALF;AASL,IAAA,SAAS,EAAE,OATN;AAUL,IAAA,KAAK,EAAE,OAVF;AAWL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,MADG;AAET,MAAA,OAAO,EAAE;AAFA,KAXN;AAeL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAfL;AAmBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAnBL;AAuBL,IAAA,cAAc,EAAE,OAvBX;AAwBL,IAAA,KAAK,EAAE,OAxBF;AAyBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAzBH;AA6BL,IAAA,QAAQ,EAAE,OA7BL;AA8BL,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CA9BD;AA+BL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AA/BF,GAHA;;AAwCP,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,UAAU,EAAE,CAAC,CADR;AAEL,MAAA,aAAa,EAAE,KAAK;AAFf,KAAP;AAID,GA7CM;;AA+CP,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,GAAA;AACR,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,MAA3B,EAAmC,OAAO,EAAP;AAEnC,aAAO,CAAC;AACN,QAAA,IAAI,EAAE,QADA;AAEN,QAAA,KAAK,EAAE;AAAE,UAAA,MAAM,EAAE;AAAV;AAFD,OAAD,CAAP;AAID,KARO;;AASR,IAAA,SAAS,GAAA;AACP,YAAM;AACJ,QAAA,IADI;AAEJ,QAAA,MAFI;AAGJ,QAAA,KAHI;AAIJ,QAAA,KAJI;AAKJ,QAAA,KALI;AAMJ,QAAA,IANI;AAOJ,QAAA;AAPI,UAQF,KAAK,MART;AAUA,aAAO;AACL,QAAA,IADK;AAEL,QAAA,MAFK;AAGL,QAAA,KAHK;AAIL,QAAA,KAJK;AAKL,QAAA,IALK;AAML,QAAA,KANK;AAOL,QAAA;AAPK,OAAP;AASD,KA7BO;;AA8BR,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,KAAL,IAAc,KAAK,UAAL,IAAmB,CAAxC;AACD;;AAhCO,GA/CH;AAkFP,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,CAAE,GAAF,EAAK;AAChB,MAAA,GAAG,KAAK,KAAK,KAAb,IAAsB,KAAK,KAAL,CAAW,OAAX,EAAoB,GAApB,CAAtB;AACD,KAHI;;AAIL,IAAA,KAAK,CAAE,GAAF,EAAK;AACR,WAAK,aAAL,GAAqB,GAArB;AACD;;AANI,GAlFA;AA2FP,EAAA,OAAO,EAAE;AACP,IAAA,aAAa,CAAE,CAAF,EAAW;AACtB,aAAQ,CAAD,IAAkB;AACvB,YAAI,KAAK,QAAT,EAAmB;AAEnB,cAAM,QAAQ,GAAG,KAAK,aAAL,CAAmB,CAAnB,EAAsB,CAAtB,CAAjB;;AACA,YAAI,KAAK,SAAL,IAAkB,KAAK,aAAL,KAAuB,QAA7C,EAAuD;AACrD,eAAK,aAAL,GAAqB,CAArB;AACD,SAFD,MAEO;AACL,eAAK,aAAL,GAAqB,QAArB;AACD;AACF,OATD;AAUD,KAZM;;AAaP,IAAA,WAAW,CAAE,CAAF,EAAW;AACpB,YAAM,KAAK,GAAkB;AAC3B,QAAA,KAAK,EAAE,CADoB;AAE3B,QAAA,KAAK,EAAE,KAAK,aAFe;AAG3B,QAAA,KAAK,EAAE,KAAK,aAAL,CAAmB,CAAnB,CAHoB;AAI3B,QAAA,QAAQ,EAAE,IAAI,CAAC,KAAL,CAAW,KAAK,aAAhB,IAAiC,CAJhB;AAK3B,QAAA,SAAS,EAAE,IAAI,CAAC,KAAL,CAAW,KAAK,UAAhB,IAA8B;AALd,OAA7B;;AAQA,UAAI,KAAK,cAAT,EAAyB;AACvB,QAAA,KAAK,CAAC,aAAN,GAAsB,CAAC,KAAK,CAAC,SAAP,IAAoB,CAAC,KAAK,UAAL,GAAkB,CAAnB,IAAwB,CAAxB,GAA4B,CAAtE;AACA,QAAA,KAAK,CAAC,YAAN,GAAqB,CAAC,KAAK,CAAC,QAAP,IAAmB,CAAC,KAAK,aAAL,GAAqB,CAAtB,IAA2B,CAA3B,GAA+B,CAAvE;AACD;;AAED,aAAO,KAAP;AACD,KA5BM;;AA6BP,IAAA,aAAa,CAAE,CAAF,EAAiB,CAAjB,EAA0B;AACrC,UAAI,MAAM,GAAG,KAAK,WAAL,CAAiB,CAAjB,CAAb;AACA,UAAI,KAAK,QAAL,CAAc,GAAlB,EAAuB,MAAM,GAAG,CAAC,MAAV;AACvB,aAAO,CAAC,IAAI,MAAM,GAAG,GAAH,GAAS,CAAnB,CAAR;AACD,KAjCM;;AAkCP,IAAA,WAAW,CAAE,KAAF,EAAsB;AAC/B,YAAM,MAAM,GAAG,KAAK,UAAL,GAAkB,KAAK,CAAC,SAAxB,GAAoC,KAAK,CAAC,QAAzD;AACA,YAAM,MAAM,GAAG,KAAK,UAAL,GAAkB,KAAK,CAAC,aAAxB,GAAwC,KAAK,CAAC,YAA7D;AAEA,aAAO,MAAM,GAAG,KAAK,QAAR,GAAmB,MAAM,GAAG,KAAK,QAAR,GAAmB,KAAK,SAA9D;AACD,KAvCM;;AAwCP,IAAA,QAAQ,CAAE,KAAF,EAAsB;AAC5B,UAAI,KAAK,UAAT,EAAqB;AACnB,YAAI,KAAK,CAAC,SAAN,IAAmB,KAAK,CAAC,aAA7B,EAA4C,OAAO,KAAK,KAAZ;AAC7C,OAFD,MAEO;AACL,YAAI,KAAK,CAAC,QAAN,IAAkB,KAAK,CAAC,YAA5B,EAA0C,OAAO,KAAK,KAAZ;AAC3C;;AAED,aAAO,KAAK,eAAZ;AACD,KAhDM;;AAiDP,IAAA,WAAW,CAAE,CAAF,EAAe;AACxB,UAAI,KAAK,cAAT,EAAyB;AACvB,cAAM,IAAI,GAAG,CAAC,CAAC,MAAF,IAAa,CAAC,CAAC,MAAF,CAAyB,qBAAzB,EAA1B;AACA,YAAI,IAAI,IAAK,CAAC,CAAC,KAAF,GAAU,IAAI,CAAC,IAAhB,GAAwB,IAAI,CAAC,KAAL,GAAa,CAAjD,EAAoD,OAAO,IAAP;AACrD;;AAED,aAAO,KAAP;AACD,KAxDM;;AAyDP,IAAA,YAAY,CAAE,CAAF,EAAiB,CAAjB,EAA0B;AACpC,WAAK,QAAL,CAAc,MAAd,EAAsB,MAAK;AACzB,aAAK,UAAL,GAAkB,KAAK,aAAL,CAAmB,CAAnB,EAAsB,CAAtB,CAAlB;AACD,OAFD;AAGD,KA7DM;;AA8DP,IAAA,YAAY,GAAA;AACV,WAAK,QAAL,CAAc,OAAd,EAAuB,MAAO,KAAK,UAAL,GAAkB,CAAC,CAAjD;AACD,KAhEM;;AAiEP,IAAA,OAAO,CAAE,CAAF,EAAW;AAChB,YAAM,KAAK,GAAG,KAAK,WAAL,CAAiB,CAAjB,CAAd;AAEA,UAAI,KAAK,YAAL,CAAkB,IAAtB,EAA4B,OAAO,KAAK,YAAL,CAAkB,IAAlB,CAAuB,KAAvB,CAAP;AAE5B,YAAM,SAAS,GAA6B;AAC1C,QAAA,KAAK,EAAE,KAAK,CAAC;AAD6B,OAA5C;;AAIA,UAAI,KAAK,KAAT,EAAgB;AACd,QAAA,SAAS,CAAC,UAAV,GAAwB,CAAD,IAAmB,KAAK,YAAL,CAAkB,CAAlB,EAAqB,CAArB,CAA1C;;AACA,QAAA,SAAS,CAAC,UAAV,GAAuB,KAAK,YAA5B;;AAEA,YAAI,KAAK,cAAT,EAAyB;AACvB,UAAA,SAAS,CAAC,SAAV,GAAuB,CAAD,IAAmB,KAAK,YAAL,CAAkB,CAAlB,EAAqB,CAArB,CAAzC;AACD;AACF;;AAED,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,YAAL,CAAkB,KAAK,QAAL,CAAc,KAAd,CAAlB,EAAwC;AACxE,QAAA,UAAU,EAAE,KAAK,UADuD;AAExE,QAAA,KAAK,EAAE,KAAK,SAF4D;AAGxE,QAAA,EAAE,EAAE;AAHoE,OAAxC,CAA3B,EAIH,CAAC,KAAK,WAAL,CAAiB,KAAjB,CAAD,CAJG,CAAP;AAKD;;AAxFM,GA3FF;;AAsLP,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,UAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,MAAN,CAAP,CAAX,CAAiC,GAAjC,CAAqC,CAAC,IAAI,KAAK,OAAL,CAAa,CAAb,CAA1C,CAAjB;AAEA,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,UADC;AAEd,MAAA,KAAK,EAAE;AACL,8BAAsB,KAAK,QADtB;AAEL,2BAAmB,KAAK;AAFnB;AAFO,KAAR,EAML,QANK,CAAR;AAOD;;AAhMM,CANM,CAAf","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"}
@@ -35,7 +35,7 @@ export default baseMixins.extend().extend({
35
35
  props: {
36
36
  appendIcon: {
37
37
  type: String,
38
- default: '$vuetify.icons.dropdown'
38
+ default: '$dropdown'
39
39
  },
40
40
  attach: {
41
41
  default: false
@@ -44,7 +44,6 @@ export default baseMixins.extend().extend({
44
44
  chips: Boolean,
45
45
  clearable: Boolean,
46
46
  deletableChips: Boolean,
47
- dense: Boolean,
48
47
  eager: Boolean,
49
48
  hideSelected: Boolean,
50
49
  items: {