vuetify 2.6.16 → 2.7.1

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 (328) hide show
  1. package/dist/json/attributes.json +33 -1
  2. package/dist/json/tags.json +8 -0
  3. package/dist/json/web-types.json +144 -25
  4. package/dist/vuetify.css +52 -9
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +688 -259
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VCalendar/mixins/calendar-base.js +1 -1
  11. package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
  12. package/es5/components/VDataTable/VDataTable.js +96 -61
  13. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  14. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +3 -1
  15. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  16. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +3 -1
  17. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  18. package/es5/components/VInput/VInput.js +12 -1
  19. package/es5/components/VInput/VInput.js.map +1 -1
  20. package/es5/components/VItemGroup/VItem.js +18 -2
  21. package/es5/components/VItemGroup/VItem.js.map +1 -1
  22. package/es5/components/VMenu/VMenu.js +11 -3
  23. package/es5/components/VMenu/VMenu.js.map +1 -1
  24. package/es5/components/VPagination/VPagination.js +8 -2
  25. package/es5/components/VPagination/VPagination.js.map +1 -1
  26. package/es5/components/VRadioGroup/VRadio.js +14 -4
  27. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  28. package/es5/components/VSelect/VSelect.js +3 -1
  29. package/es5/components/VSelect/VSelect.js.map +1 -1
  30. package/es5/components/VSkeletonLoader/VSkeletonLoader.js +10 -5
  31. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  32. package/es5/components/VSlideGroup/VSlideGroup.js +5 -1
  33. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  34. package/es5/components/VTabs/VTab.js +4 -0
  35. package/es5/components/VTabs/VTab.js.map +1 -1
  36. package/es5/components/VTimePicker/VTimePicker.js +17 -0
  37. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  38. package/es5/framework.js +1 -1
  39. package/es5/locale/af.js +7 -1
  40. package/es5/locale/af.js.map +1 -1
  41. package/es5/locale/ar.js +7 -1
  42. package/es5/locale/ar.js.map +1 -1
  43. package/es5/locale/az.js +7 -1
  44. package/es5/locale/az.js.map +1 -1
  45. package/es5/locale/bg.js +7 -1
  46. package/es5/locale/bg.js.map +1 -1
  47. package/es5/locale/ca.js +7 -1
  48. package/es5/locale/ca.js.map +1 -1
  49. package/es5/locale/ckb.js +7 -1
  50. package/es5/locale/ckb.js.map +1 -1
  51. package/es5/locale/cs.js +7 -1
  52. package/es5/locale/cs.js.map +1 -1
  53. package/es5/locale/da.js +7 -1
  54. package/es5/locale/da.js.map +1 -1
  55. package/es5/locale/de.js +7 -1
  56. package/es5/locale/de.js.map +1 -1
  57. package/es5/locale/el.js +7 -1
  58. package/es5/locale/el.js.map +1 -1
  59. package/es5/locale/en.js +7 -1
  60. package/es5/locale/en.js.map +1 -1
  61. package/es5/locale/es.js +7 -1
  62. package/es5/locale/es.js.map +1 -1
  63. package/es5/locale/et.js +7 -1
  64. package/es5/locale/et.js.map +1 -1
  65. package/es5/locale/fa.js +7 -1
  66. package/es5/locale/fa.js.map +1 -1
  67. package/es5/locale/fi.js +7 -1
  68. package/es5/locale/fi.js.map +1 -1
  69. package/es5/locale/fr.js +7 -1
  70. package/es5/locale/fr.js.map +1 -1
  71. package/es5/locale/he.js +7 -1
  72. package/es5/locale/he.js.map +1 -1
  73. package/es5/locale/hr.js +7 -1
  74. package/es5/locale/hr.js.map +1 -1
  75. package/es5/locale/hu.js +7 -1
  76. package/es5/locale/hu.js.map +1 -1
  77. package/es5/locale/id.js +7 -1
  78. package/es5/locale/id.js.map +1 -1
  79. package/es5/locale/it.js +7 -1
  80. package/es5/locale/it.js.map +1 -1
  81. package/es5/locale/ja.js +7 -1
  82. package/es5/locale/ja.js.map +1 -1
  83. package/es5/locale/ko.js +7 -1
  84. package/es5/locale/ko.js.map +1 -1
  85. package/es5/locale/lt.js +7 -1
  86. package/es5/locale/lt.js.map +1 -1
  87. package/es5/locale/lv.js +7 -1
  88. package/es5/locale/lv.js.map +1 -1
  89. package/es5/locale/nl.js +7 -1
  90. package/es5/locale/nl.js.map +1 -1
  91. package/es5/locale/no.js +7 -1
  92. package/es5/locale/no.js.map +1 -1
  93. package/es5/locale/pl.js +7 -1
  94. package/es5/locale/pl.js.map +1 -1
  95. package/es5/locale/pt.js +7 -1
  96. package/es5/locale/pt.js.map +1 -1
  97. package/es5/locale/ro.js +7 -1
  98. package/es5/locale/ro.js.map +1 -1
  99. package/es5/locale/ru.js +7 -1
  100. package/es5/locale/ru.js.map +1 -1
  101. package/es5/locale/sk.js +7 -1
  102. package/es5/locale/sk.js.map +1 -1
  103. package/es5/locale/sl.js +7 -1
  104. package/es5/locale/sl.js.map +1 -1
  105. package/es5/locale/sr-Cyrl.js +7 -1
  106. package/es5/locale/sr-Cyrl.js.map +1 -1
  107. package/es5/locale/sr-Latn.js +7 -1
  108. package/es5/locale/sr-Latn.js.map +1 -1
  109. package/es5/locale/sv.js +7 -1
  110. package/es5/locale/sv.js.map +1 -1
  111. package/es5/locale/th.js +7 -1
  112. package/es5/locale/th.js.map +1 -1
  113. package/es5/locale/tr.js +7 -1
  114. package/es5/locale/tr.js.map +1 -1
  115. package/es5/locale/uk.js +7 -1
  116. package/es5/locale/uk.js.map +1 -1
  117. package/es5/locale/vi.js +7 -1
  118. package/es5/locale/vi.js.map +1 -1
  119. package/es5/locale/zh-Hans.js +7 -1
  120. package/es5/locale/zh-Hans.js.map +1 -1
  121. package/es5/locale/zh-Hant.js +7 -1
  122. package/es5/locale/zh-Hant.js.map +1 -1
  123. package/es5/mixins/groupable/index.js +9 -1
  124. package/es5/mixins/groupable/index.js.map +1 -1
  125. package/es5/{components/VCalendar/mixins/mouse.js → mixins/mouse/index.js} +14 -6
  126. package/es5/mixins/mouse/index.js.map +1 -0
  127. package/es5/mixins/validatable/index.js +14 -4
  128. package/es5/mixins/validatable/index.js.map +1 -1
  129. package/lib/components/VCalendar/mixins/calendar-base.js +1 -1
  130. package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
  131. package/lib/components/VDataTable/VDataTable.js +56 -24
  132. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  133. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +3 -1
  134. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  135. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +3 -1
  136. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  137. package/lib/components/VInput/VInput.js +11 -1
  138. package/lib/components/VInput/VInput.js.map +1 -1
  139. package/lib/components/VItemGroup/VItem.js +14 -3
  140. package/lib/components/VItemGroup/VItem.js.map +1 -1
  141. package/lib/components/VMenu/VMenu.js +7 -0
  142. package/lib/components/VMenu/VMenu.js.map +1 -1
  143. package/lib/components/VPagination/VPagination.js +8 -2
  144. package/lib/components/VPagination/VPagination.js.map +1 -1
  145. package/lib/components/VRadioGroup/VRadio.js +14 -4
  146. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  147. package/lib/components/VSelect/VSelect.js +4 -1
  148. package/lib/components/VSelect/VSelect.js.map +1 -1
  149. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +10 -5
  150. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  151. package/lib/components/VSlideGroup/VSlideGroup.js +5 -1
  152. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  153. package/lib/components/VTabs/VTab.js +4 -0
  154. package/lib/components/VTabs/VTab.js.map +1 -1
  155. package/lib/components/VTimePicker/VTimePicker.js +19 -0
  156. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  157. package/lib/framework.js +1 -1
  158. package/lib/locale/af.js +7 -1
  159. package/lib/locale/af.js.map +1 -1
  160. package/lib/locale/ar.js +7 -1
  161. package/lib/locale/ar.js.map +1 -1
  162. package/lib/locale/az.js +7 -1
  163. package/lib/locale/az.js.map +1 -1
  164. package/lib/locale/bg.js +7 -1
  165. package/lib/locale/bg.js.map +1 -1
  166. package/lib/locale/ca.js +7 -1
  167. package/lib/locale/ca.js.map +1 -1
  168. package/lib/locale/ckb.js +7 -1
  169. package/lib/locale/ckb.js.map +1 -1
  170. package/lib/locale/cs.js +7 -1
  171. package/lib/locale/cs.js.map +1 -1
  172. package/lib/locale/da.js +7 -1
  173. package/lib/locale/da.js.map +1 -1
  174. package/lib/locale/de.js +7 -1
  175. package/lib/locale/de.js.map +1 -1
  176. package/lib/locale/el.js +7 -1
  177. package/lib/locale/el.js.map +1 -1
  178. package/lib/locale/en.js +7 -1
  179. package/lib/locale/en.js.map +1 -1
  180. package/lib/locale/es.js +7 -1
  181. package/lib/locale/es.js.map +1 -1
  182. package/lib/locale/et.js +7 -1
  183. package/lib/locale/et.js.map +1 -1
  184. package/lib/locale/fa.js +7 -1
  185. package/lib/locale/fa.js.map +1 -1
  186. package/lib/locale/fi.js +7 -1
  187. package/lib/locale/fi.js.map +1 -1
  188. package/lib/locale/fr.js +7 -1
  189. package/lib/locale/fr.js.map +1 -1
  190. package/lib/locale/he.js +7 -1
  191. package/lib/locale/he.js.map +1 -1
  192. package/lib/locale/hr.js +7 -1
  193. package/lib/locale/hr.js.map +1 -1
  194. package/lib/locale/hu.js +7 -1
  195. package/lib/locale/hu.js.map +1 -1
  196. package/lib/locale/id.js +7 -1
  197. package/lib/locale/id.js.map +1 -1
  198. package/lib/locale/it.js +7 -1
  199. package/lib/locale/it.js.map +1 -1
  200. package/lib/locale/ja.js +7 -1
  201. package/lib/locale/ja.js.map +1 -1
  202. package/lib/locale/ko.js +7 -1
  203. package/lib/locale/ko.js.map +1 -1
  204. package/lib/locale/lt.js +7 -1
  205. package/lib/locale/lt.js.map +1 -1
  206. package/lib/locale/lv.js +7 -1
  207. package/lib/locale/lv.js.map +1 -1
  208. package/lib/locale/nl.js +7 -1
  209. package/lib/locale/nl.js.map +1 -1
  210. package/lib/locale/no.js +7 -1
  211. package/lib/locale/no.js.map +1 -1
  212. package/lib/locale/pl.js +7 -1
  213. package/lib/locale/pl.js.map +1 -1
  214. package/lib/locale/pt.js +7 -1
  215. package/lib/locale/pt.js.map +1 -1
  216. package/lib/locale/ro.js +7 -1
  217. package/lib/locale/ro.js.map +1 -1
  218. package/lib/locale/ru.js +7 -1
  219. package/lib/locale/ru.js.map +1 -1
  220. package/lib/locale/sk.js +7 -1
  221. package/lib/locale/sk.js.map +1 -1
  222. package/lib/locale/sl.js +7 -1
  223. package/lib/locale/sl.js.map +1 -1
  224. package/lib/locale/sr-Cyrl.js +7 -1
  225. package/lib/locale/sr-Cyrl.js.map +1 -1
  226. package/lib/locale/sr-Latn.js +7 -1
  227. package/lib/locale/sr-Latn.js.map +1 -1
  228. package/lib/locale/sv.js +7 -1
  229. package/lib/locale/sv.js.map +1 -1
  230. package/lib/locale/th.js +7 -1
  231. package/lib/locale/th.js.map +1 -1
  232. package/lib/locale/tr.js +7 -1
  233. package/lib/locale/tr.js.map +1 -1
  234. package/lib/locale/uk.js +7 -1
  235. package/lib/locale/uk.js.map +1 -1
  236. package/lib/locale/vi.js +7 -1
  237. package/lib/locale/vi.js.map +1 -1
  238. package/lib/locale/zh-Hans.js +7 -1
  239. package/lib/locale/zh-Hans.js.map +1 -1
  240. package/lib/locale/zh-Hant.js +7 -1
  241. package/lib/locale/zh-Hant.js.map +1 -1
  242. package/lib/mixins/groupable/index.js +9 -1
  243. package/lib/mixins/groupable/index.js.map +1 -1
  244. package/lib/{components/VCalendar/mixins/mouse.js → mixins/mouse/index.js} +12 -6
  245. package/lib/mixins/mouse/index.js.map +1 -0
  246. package/lib/mixins/validatable/index.js +14 -4
  247. package/lib/mixins/validatable/index.js.map +1 -1
  248. package/package.json +2 -2
  249. package/src/components/VCalendar/mixins/calendar-base.ts +1 -1
  250. package/src/components/VDataTable/VDataTable.ts +69 -21
  251. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +28 -0
  252. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +15 -15
  253. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  254. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  255. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +18 -18
  256. package/src/components/VForm/__tests__/VForm.spec.ts +22 -1
  257. package/src/components/VInput/VInput.ts +12 -1
  258. package/src/components/VInput/__tests__/VInput.spec.ts +7 -0
  259. package/src/components/VItemGroup/VItem.sass +4 -0
  260. package/src/components/VItemGroup/VItem.ts +12 -1
  261. package/src/components/VMenu/VMenu.ts +8 -1
  262. package/src/components/VMenu/__tests__/VMenu.spec.ts +130 -0
  263. package/src/components/VPagination/VPagination.ts +17 -12
  264. package/src/components/VRadioGroup/VRadio.ts +10 -4
  265. package/src/components/VSelect/VSelect.ts +4 -1
  266. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +2 -2
  267. package/src/components/VSkeletonLoader/VSkeletonLoader.ts +10 -5
  268. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +7 -0
  269. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +31 -0
  270. package/src/components/VSlideGroup/VSlideGroup.ts +4 -0
  271. package/src/components/VTabs/VTab.ts +5 -0
  272. package/src/components/VTabs/VTabs.sass +1 -1
  273. package/src/components/VTabs/__tests__/VTabs.spec.ts +22 -0
  274. package/src/components/VTabs/_variables.scss +1 -0
  275. package/src/components/VTextField/__tests__/VTextField.spec.ts +15 -8
  276. package/src/components/VTimePicker/VTimePicker.ts +18 -0
  277. package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +65 -0
  278. package/src/locale/af.ts +6 -0
  279. package/src/locale/ar.ts +6 -0
  280. package/src/locale/az.ts +6 -0
  281. package/src/locale/bg.ts +6 -0
  282. package/src/locale/ca.ts +6 -0
  283. package/src/locale/ckb.ts +6 -0
  284. package/src/locale/cs.ts +6 -0
  285. package/src/locale/da.ts +6 -0
  286. package/src/locale/de.ts +6 -0
  287. package/src/locale/el.ts +6 -0
  288. package/src/locale/en.ts +6 -0
  289. package/src/locale/es.ts +6 -0
  290. package/src/locale/et.ts +6 -0
  291. package/src/locale/fa.ts +6 -0
  292. package/src/locale/fi.ts +6 -0
  293. package/src/locale/fr.ts +6 -0
  294. package/src/locale/he.ts +6 -0
  295. package/src/locale/hr.ts +6 -0
  296. package/src/locale/hu.ts +6 -0
  297. package/src/locale/id.ts +6 -0
  298. package/src/locale/it.ts +6 -0
  299. package/src/locale/ja.ts +6 -0
  300. package/src/locale/ko.ts +6 -0
  301. package/src/locale/lt.ts +6 -0
  302. package/src/locale/lv.ts +6 -0
  303. package/src/locale/nl.ts +6 -0
  304. package/src/locale/no.ts +6 -0
  305. package/src/locale/pl.ts +6 -0
  306. package/src/locale/pt.ts +6 -0
  307. package/src/locale/ro.ts +6 -0
  308. package/src/locale/ru.ts +6 -0
  309. package/src/locale/sk.ts +6 -0
  310. package/src/locale/sl.ts +6 -0
  311. package/src/locale/sr-Cyrl.ts +6 -0
  312. package/src/locale/sr-Latn.ts +6 -0
  313. package/src/locale/sv.ts +6 -0
  314. package/src/locale/th.ts +6 -0
  315. package/src/locale/tr.ts +6 -0
  316. package/src/locale/uk.ts +6 -0
  317. package/src/locale/vi.ts +6 -0
  318. package/src/locale/zh-Hans.ts +6 -0
  319. package/src/locale/zh-Hant.ts +6 -0
  320. package/src/mixins/groupable/index.ts +9 -2
  321. package/src/{components/VCalendar/mixins → mixins/mouse}/__tests__/mouse.spec.ts +2 -2
  322. package/src/{components/VCalendar/mixins/mouse.ts → mixins/mouse/index.ts} +10 -4
  323. package/src/mixins/validatable/index.ts +10 -4
  324. package/src/services/presets/__tests__/__snapshots__/presets.spec.ts.snap +2 -2
  325. package/src/styles/settings/_variables.scss +3 -2
  326. package/types/index.d.ts +6 -0
  327. package/es5/components/VCalendar/mixins/mouse.js.map +0 -1
  328. package/lib/components/VCalendar/mixins/mouse.js.map +0 -1
@@ -23,7 +23,7 @@ export default Vue.extend({
23
23
  name: 'mouse',
24
24
 
25
25
  methods: {
26
- getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {
26
+ getDefaultMouseEventHandlers (suffix: string, getData: MouseHandler, eventFirst = false): MouseEventsMap {
27
27
  const listeners = Object.keys(this.$listeners)
28
28
  .filter(key => key.endsWith(suffix))
29
29
  .reduce((acc, key) => {
@@ -34,9 +34,9 @@ export default Vue.extend({
34
34
  return this.getMouseEventHandlers({
35
35
  ...listeners,
36
36
  ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },
37
- }, getEvent)
37
+ }, getData, eventFirst)
38
38
  },
39
- getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {
39
+ getMouseEventHandlers (events: MouseEvents, getData: MouseHandler, eventFirst = false): MouseEventsMap {
40
40
  const on: MouseEventsMap = {}
41
41
 
42
42
  for (const event in events) {
@@ -85,7 +85,13 @@ export default Vue.extend({
85
85
  }
86
86
  }
87
87
 
88
- this.$emit(event, getEvent(e), e)
88
+ // TODO: VCalendar emits the calendar event as the first argument,
89
+ // but it really should be the native event instead so modifiers can be used
90
+ if (eventFirst) {
91
+ this.$emit(event, e, getData(e))
92
+ } else {
93
+ this.$emit(event, getData(e), e)
94
+ }
89
95
  }
90
96
 
91
97
  return eventOptions.result
@@ -23,7 +23,10 @@ export default baseMixins.extend({
23
23
  name: 'validatable',
24
24
 
25
25
  props: {
26
- disabled: Boolean,
26
+ disabled: {
27
+ type: Boolean,
28
+ default: null,
29
+ },
27
30
  error: Boolean,
28
31
  errorCount: {
29
32
  type: [Number, String],
@@ -37,7 +40,10 @@ export default baseMixins.extend({
37
40
  type: [String, Array],
38
41
  default: () => [],
39
42
  } as PropValidator<InputMessage | null>,
40
- readonly: Boolean,
43
+ readonly: {
44
+ type: Boolean,
45
+ default: null,
46
+ },
41
47
  rules: {
42
48
  type: Array,
43
49
  default: () => [],
@@ -125,7 +131,7 @@ export default baseMixins.extend({
125
131
  },
126
132
  },
127
133
  isDisabled (): boolean {
128
- return this.disabled || (
134
+ return this.disabled ?? (
129
135
  !!this.form &&
130
136
  this.form.disabled
131
137
  )
@@ -134,7 +140,7 @@ export default baseMixins.extend({
134
140
  return !this.isDisabled && !this.isReadonly
135
141
  },
136
142
  isReadonly (): boolean {
137
- return this.readonly || (
143
+ return this.readonly ?? (
138
144
  !!this.form &&
139
145
  this.form.readonly
140
146
  )
@@ -1,10 +1,10 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`$vuetify.presets should merge user and default preset 1`] = `"{\\"breakpoint\\":{\\"mobileBreakpoint\\":1264,\\"scrollBarWidth\\":16,\\"thresholds\\":{\\"xs\\":200,\\"sm\\":960,\\"md\\":1280,\\"lg\\":1920}},\\"icons\\":{\\"iconfont\\":\\"md\\",\\"values\\":{\\"complete\\":\\"bar\\"}},\\"lang\\":{\\"current\\":\\"en\\",\\"locales\\":{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}}}}},\\"rtl\\":true,\\"theme\\":{\\"dark\\":true,\\"default\\":\\"light\\",\\"disable\\":false,\\"options\\":{\\"variations\\":true},\\"themes\\":{\\"light\\":{\\"primary\\":\\"blue\\",\\"secondary\\":{\\"darken4\\":\\"red\\"},\\"accent\\":\\"#82B1FF\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"},\\"dark\\":{\\"primary\\":\\"#2196F3\\",\\"secondary\\":\\"#424242\\",\\"accent\\":\\"#FF4081\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"}}}}"`;
3
+ exports[`$vuetify.presets should merge user and default preset 1`] = `"{\\"breakpoint\\":{\\"mobileBreakpoint\\":1264,\\"scrollBarWidth\\":16,\\"thresholds\\":{\\"xs\\":200,\\"sm\\":960,\\"md\\":1280,\\"lg\\":1920}},\\"icons\\":{\\"iconfont\\":\\"md\\",\\"values\\":{\\"complete\\":\\"bar\\"}},\\"lang\\":{\\"current\\":\\"en\\",\\"locales\\":{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"input\\":{\\"clear\\":\\"Clear {0}\\",\\"prependAction\\":\\"{0} prepended action\\",\\"appendAction\\":\\"{0} appended action\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}},\\"loading\\":\\"Loading...\\"}}},\\"rtl\\":true,\\"theme\\":{\\"dark\\":true,\\"default\\":\\"light\\",\\"disable\\":false,\\"options\\":{\\"variations\\":true},\\"themes\\":{\\"light\\":{\\"primary\\":\\"blue\\",\\"secondary\\":{\\"darken4\\":\\"red\\"},\\"accent\\":\\"#82B1FF\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"},\\"dark\\":{\\"primary\\":\\"#2196F3\\",\\"secondary\\":\\"#424242\\",\\"accent\\":\\"#FF4081\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"}}}}"`;
4
4
 
5
5
  exports[`$vuetify.presets should merge user and default preset 2`] = `undefined`;
6
6
 
7
- exports[`$vuetify.presets should merge user and default preset 3`] = `"{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}}}}"`;
7
+ exports[`$vuetify.presets should merge user and default preset 3`] = `"{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"input\\":{\\"clear\\":\\"Clear {0}\\",\\"prependAction\\":\\"{0} prepended action\\",\\"appendAction\\":\\"{0} appended action\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}},\\"loading\\":\\"Loading...\\"}}"`;
8
8
 
9
9
  exports[`$vuetify.presets should merge user and default preset 4`] = `"{\\"dark\\":{\\"primary\\":\\"#2196F3\\",\\"secondary\\":\\"#424242\\",\\"accent\\":\\"#FF4081\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"},\\"light\\":{\\"primary\\":\\"blue\\",\\"secondary\\":{\\"darken4\\":\\"red\\"},\\"accent\\":\\"#82B1FF\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"}}"`;
10
10
 
@@ -14,7 +14,8 @@ $rounded: map-deep-merge(
14
14
  'sm': $border-radius-root / 2,
15
15
  null: $border-radius-root,
16
16
  'lg': $border-radius-root * 2,
17
- 'xl': $border-radius-root * 6,
17
+ 'xl': $border-radius-root * 4,
18
+ 'xxl': $border-radius-root * 6,
18
19
  'pill': 9999px,
19
20
  'circle': 50%
20
21
  ),
@@ -22,7 +23,7 @@ $rounded: map-deep-merge(
22
23
  );
23
24
 
24
25
  $spacer: 4px !default;
25
- $spacers-steps: 16 !default;
26
+ $spacers-steps: 16 !default;
26
27
 
27
28
  $spacers: () !default;
28
29
  @if (type-of($spacers) == list) {
package/types/index.d.ts CHANGED
@@ -117,6 +117,8 @@ export interface DataItemProps {
117
117
 
118
118
  export interface DataTableItemProps extends DataItemProps {
119
119
  headers: DataTableHeader[]
120
+ on: { [key: string]: Function | Function[] }
121
+ attrs: object;
120
122
  }
121
123
 
122
124
  export interface DataScopeProps {
@@ -294,9 +296,13 @@ export interface DataTableHeader<T extends any = any> {
294
296
  sort?: DataTableCompareFunction<T>
295
297
  }
296
298
 
299
+ export type DataTableFilterMode = 'union' | 'intersection'
300
+
297
301
  export type DataItemsPerPageOption = (number | {
298
302
  text: string
299
303
  value: number
300
304
  });
301
305
 
302
306
  export type RowClassFunction = (item: any) => null | undefined | string | string[] | Record<string, boolean>
307
+
308
+ export type RowStyleFunction = (item: any) => null | undefined | string | string[] | Record<string, boolean>
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"sourceRoot":"","file":"mouse.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"sourceRoot":"","file":"mouse.js"}