vuetify 2.3.11 → 2.3.15

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 (244) hide show
  1. package/dist/json/attributes.json +29 -17
  2. package/dist/json/tags.json +8 -0
  3. package/dist/json/web-types.json +217 -78
  4. package/dist/vuetify.css +17 -11
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +215 -177
  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/VAutocomplete/VAutocomplete.js +4 -2
  11. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  12. package/es5/components/VCalendar/VCalendar.js +1 -1
  13. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  14. package/es5/components/VCalendar/util/events.js.map +1 -1
  15. package/es5/components/VCalendar/util/timestamp.js.map +1 -1
  16. package/es5/components/VColorPicker/VColorPickerEdit.js +36 -42
  17. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  18. package/es5/components/VCombobox/VCombobox.js +3 -1
  19. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  20. package/es5/components/VData/VData.js +1 -2
  21. package/es5/components/VData/VData.js.map +1 -1
  22. package/es5/components/VDataIterator/VDataIterator.js +1 -1
  23. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  24. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  25. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  26. package/es5/components/VDatePicker/VDatePicker.js +1 -3
  27. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  28. package/es5/components/VIcon/VIcon.js +11 -4
  29. package/es5/components/VIcon/VIcon.js.map +1 -1
  30. package/es5/components/VList/VListItem.js +1 -1
  31. package/es5/components/VList/VListItem.js.map +1 -1
  32. package/es5/components/VMenu/VMenu.js +4 -4
  33. package/es5/components/VMenu/VMenu.js.map +1 -1
  34. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +6 -7
  35. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  36. package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -1
  37. package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  38. package/es5/components/VSelect/VSelect.js +50 -45
  39. package/es5/components/VSelect/VSelect.js.map +1 -1
  40. package/es5/components/VSelect/VSelectList.js +2 -2
  41. package/es5/components/VSelect/VSelectList.js.map +1 -1
  42. package/es5/components/VSlider/VSlider.js +1 -2
  43. package/es5/components/VSlider/VSlider.js.map +1 -1
  44. package/es5/components/VTextField/VTextField.js +18 -6
  45. package/es5/components/VTextField/VTextField.js.map +1 -1
  46. package/es5/components/VWindow/VWindow.js +3 -3
  47. package/es5/components/VWindow/VWindow.js.map +1 -1
  48. package/es5/components/transitions/expand-transition.js.map +1 -1
  49. package/es5/directives/click-outside/index.js +1 -7
  50. package/es5/directives/click-outside/index.js.map +1 -1
  51. package/es5/directives/ripple/index.js +3 -3
  52. package/es5/directives/ripple/index.js.map +1 -1
  53. package/es5/framework.js +1 -1
  54. package/es5/install.js +1 -1
  55. package/es5/install.js.map +1 -1
  56. package/es5/locale/ca.js +1 -1
  57. package/es5/locale/ca.js.map +1 -1
  58. package/es5/locale/fr.js +2 -2
  59. package/es5/locale/fr.js.map +1 -1
  60. package/es5/locale/it.js +3 -3
  61. package/es5/locale/it.js.map +1 -1
  62. package/es5/locale/th.js +17 -17
  63. package/es5/locale/th.js.map +1 -1
  64. package/es5/mixins/groupable/index.js +1 -1
  65. package/es5/mixins/groupable/index.js.map +1 -1
  66. package/es5/mixins/proxyable/index.js +1 -1
  67. package/es5/mixins/proxyable/index.js.map +1 -1
  68. package/es5/mixins/themeable/index.js +9 -10
  69. package/es5/mixins/themeable/index.js.map +1 -1
  70. package/es5/mixins/toggleable/index.js +1 -1
  71. package/es5/mixins/toggleable/index.js.map +1 -1
  72. package/es5/services/goto/index.js +0 -1
  73. package/es5/services/goto/index.js.map +1 -1
  74. package/es5/services/icons/presets/mdi.js +1 -1
  75. package/es5/services/icons/presets/mdi.js.map +1 -1
  76. package/es5/services/theme/index.js +3 -2
  77. package/es5/services/theme/index.js.map +1 -1
  78. package/es5/util/helpers.js +3 -3
  79. package/es5/util/helpers.js.map +1 -1
  80. package/lib/components/VAutocomplete/VAutocomplete.js +4 -2
  81. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  82. package/lib/components/VCalendar/VCalendar.js +1 -1
  83. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  84. package/lib/components/VCalendar/util/events.js.map +1 -1
  85. package/lib/components/VCalendar/util/timestamp.js.map +1 -1
  86. package/lib/components/VColorPicker/VColorPickerEdit.js +31 -37
  87. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  88. package/lib/components/VCombobox/VCombobox.js +3 -1
  89. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  90. package/lib/components/VData/VData.js +1 -2
  91. package/lib/components/VData/VData.js.map +1 -1
  92. package/lib/components/VDataIterator/VDataIterator.js +1 -1
  93. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  94. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  95. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  96. package/lib/components/VDatePicker/VDatePicker.js +1 -3
  97. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  98. package/lib/components/VIcon/VIcon.js +11 -4
  99. package/lib/components/VIcon/VIcon.js.map +1 -1
  100. package/lib/components/VList/VListItem.js +1 -1
  101. package/lib/components/VList/VListItem.js.map +1 -1
  102. package/lib/components/VMenu/VMenu.js +4 -4
  103. package/lib/components/VMenu/VMenu.js.map +1 -1
  104. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -7
  105. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  106. package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -1
  107. package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
  108. package/lib/components/VSelect/VSelect.js +6 -6
  109. package/lib/components/VSelect/VSelect.js.map +1 -1
  110. package/lib/components/VSelect/VSelectList.js +2 -2
  111. package/lib/components/VSelect/VSelectList.js.map +1 -1
  112. package/lib/components/VSlider/VSlider.js +1 -2
  113. package/lib/components/VSlider/VSlider.js.map +1 -1
  114. package/lib/components/VTextField/VTextField.js +8 -6
  115. package/lib/components/VTextField/VTextField.js.map +1 -1
  116. package/lib/components/VWindow/VWindow.js +3 -3
  117. package/lib/components/VWindow/VWindow.js.map +1 -1
  118. package/lib/components/transitions/expand-transition.js.map +1 -1
  119. package/lib/directives/click-outside/index.js +1 -7
  120. package/lib/directives/click-outside/index.js.map +1 -1
  121. package/lib/directives/ripple/index.js +3 -3
  122. package/lib/directives/ripple/index.js.map +1 -1
  123. package/lib/framework.js +1 -1
  124. package/lib/install.js +4 -1
  125. package/lib/install.js.map +1 -1
  126. package/lib/locale/ca.js +1 -1
  127. package/lib/locale/ca.js.map +1 -1
  128. package/lib/locale/fr.js +2 -2
  129. package/lib/locale/fr.js.map +1 -1
  130. package/lib/locale/it.js +3 -3
  131. package/lib/locale/it.js.map +1 -1
  132. package/lib/locale/th.js +17 -17
  133. package/lib/locale/th.js.map +1 -1
  134. package/lib/mixins/groupable/index.js +1 -1
  135. package/lib/mixins/groupable/index.js.map +1 -1
  136. package/lib/mixins/proxyable/index.js +1 -1
  137. package/lib/mixins/proxyable/index.js.map +1 -1
  138. package/lib/mixins/themeable/index.js +9 -9
  139. package/lib/mixins/themeable/index.js.map +1 -1
  140. package/lib/mixins/toggleable/index.js +1 -1
  141. package/lib/mixins/toggleable/index.js.map +1 -1
  142. package/lib/services/goto/index.js +0 -1
  143. package/lib/services/goto/index.js.map +1 -1
  144. package/lib/services/icons/presets/mdi.js +1 -1
  145. package/lib/services/icons/presets/mdi.js.map +1 -1
  146. package/lib/services/theme/index.js +3 -2
  147. package/lib/services/theme/index.js.map +1 -1
  148. package/lib/util/helpers.js +3 -3
  149. package/lib/util/helpers.js.map +1 -1
  150. package/package.json +10 -11
  151. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +1 -1
  152. package/src/components/VAutocomplete/VAutocomplete.ts +2 -2
  153. package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +1 -1
  154. package/src/components/VBanner/__tests__/VBanner.spec.ts +4 -4
  155. package/src/components/VCalendar/VCalendar.ts +1 -1
  156. package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +4 -5
  157. package/src/components/VCalendar/util/__tests__/events.spec.ts +1 -1
  158. package/src/components/VCalendar/util/__tests__/timestamp.spec.ts +6 -6
  159. package/src/components/VCalendar/util/events.ts +1 -1
  160. package/src/components/VCalendar/util/timestamp.ts +2 -2
  161. package/src/components/VColorPicker/VColorPickerEdit.ts +35 -38
  162. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +2 -11
  163. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +0 -154
  164. package/src/components/VCombobox/VCombobox.ts +1 -1
  165. package/src/components/VData/VData.ts +1 -3
  166. package/src/components/VDataIterator/VDataIterator.ts +1 -1
  167. package/src/components/VDataTable/VDataTable.sass +18 -11
  168. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
  169. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +2 -0
  170. package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +1 -1
  171. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +1 -1
  172. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +238 -0
  173. package/src/components/VDatePicker/VDatePicker.ts +4 -3
  174. package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +7 -5
  175. package/src/components/VDialog/__tests__/VDialog.spec.ts +4 -0
  176. package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +4 -4
  177. package/src/components/VForm/__tests__/VForm.spec.ts +12 -62
  178. package/src/components/VGrid/__tests__/VCol.spec.ts +2 -2
  179. package/src/components/VHover/__tests__/VHover.spec.ts +7 -13
  180. package/src/components/VIcon/VIcon.sass +6 -1
  181. package/src/components/VIcon/VIcon.ts +10 -4
  182. package/src/components/VIcon/__tests__/__snapshots__/VIcon.spec.ts.snap +6 -9
  183. package/src/components/VList/VListItem.ts +2 -2
  184. package/src/components/VMenu/VMenu.ts +5 -5
  185. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +7 -9
  186. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +34 -22
  187. package/src/components/VOverflowBtn/VOverflowBtn.ts +1 -1
  188. package/src/components/VProgressCircular/_variables.scss +1 -1
  189. package/src/components/VProgressLinear/VProgressLinear.sass +0 -2
  190. package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +1 -0
  191. package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +1 -1
  192. package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +0 -15
  193. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
  194. package/src/components/VRating/__tests__/VRating.spec.ts +1 -1
  195. package/src/components/VSelect/VSelect.ts +5 -4
  196. package/src/components/VSelect/VSelectList.ts +1 -1
  197. package/src/components/VSelect/__tests__/VSelect.spec.ts +5 -0
  198. package/src/components/VSelect/__tests__/VSelect2.spec.ts +4 -0
  199. package/src/components/VSelect/__tests__/VSelect3.spec.ts +47 -24
  200. package/src/components/VSelect/__tests__/VSelect4.spec.ts +4 -0
  201. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +280 -0
  202. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +1 -1
  203. package/src/components/VSlider/VSlider.ts +1 -3
  204. package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +0 -15
  205. package/src/components/VTabs/VTabs.sass +1 -2
  206. package/src/components/VTextField/VTextField.ts +9 -6
  207. package/src/components/VTextField/__tests__/VTextField.spec.ts +1 -0
  208. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +1 -1
  209. package/src/components/VTreeview/__tests__/VTreeview.spec.ts +23 -19
  210. package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +1 -1
  211. package/src/components/VWindow/VWindow.ts +2 -2
  212. package/src/components/VWindow/__tests__/VWindow.spec.ts +1 -1
  213. package/src/components/transitions/expand-transition.ts +4 -4
  214. package/src/directives/click-outside/index.ts +0 -9
  215. package/src/directives/intersect/__tests__/intersect.spec.ts +2 -2
  216. package/src/directives/ripple/__tests__/ripple.spec.ts +4 -4
  217. package/src/directives/ripple/index.ts +3 -3
  218. package/src/directives/touch/__tests__/touch.spec.ts +1 -1
  219. package/src/install.ts +4 -1
  220. package/src/locale/ca.ts +1 -1
  221. package/src/locale/fr.ts +2 -2
  222. package/src/locale/it.ts +3 -3
  223. package/src/locale/th.ts +17 -17
  224. package/src/mixins/activatable/__tests__/activatable.spec.ts +1 -1
  225. package/src/mixins/detachable/__tests__/detachable.spec.ts +0 -26
  226. package/src/mixins/groupable/index.ts +1 -2
  227. package/src/mixins/proxyable/index.ts +1 -2
  228. package/src/mixins/scrollable/__tests__/scrollable.spec.ts +1 -1
  229. package/src/mixins/themeable/index.ts +11 -12
  230. package/src/mixins/toggleable/index.ts +1 -2
  231. package/src/mixins/validatable/__tests__/validatable.spec.ts +1 -1
  232. package/src/services/application/__tests__/application.spec.ts +1 -1
  233. package/src/services/goto/__tests__/goto.spec.ts +1 -1
  234. package/src/services/goto/index.ts +0 -1
  235. package/src/services/icons/__tests__/__snapshots__/icons.spec.ts.snap +1 -1
  236. package/src/services/icons/presets/mdi.ts +1 -1
  237. package/src/services/theme/__tests__/theme.spec.ts +2 -2
  238. package/src/services/theme/index.ts +2 -2
  239. package/src/styles/settings/_dark.scss +14 -11
  240. package/src/util/__tests__/helpers.spec.ts +1 -1
  241. package/src/util/helpers.ts +7 -3
  242. package/types/index.d.ts +1 -0
  243. package/types/services/icons.d.ts +3 -0
  244. package/src/mixins/groupable/__tests__/groupable.spec.ts +0 -5
@@ -397,160 +397,6 @@ exports[`VColorPicker.ts should hide inputs 1`] = `
397
397
  </div>
398
398
  `;
399
399
 
400
- exports[`VColorPicker.ts should not hide alpha if given initial value of null 1`] = `
401
- <div class="v-color-picker v-sheet theme--light theme--light"
402
- style="max-width: 300px;"
403
- >
404
- <div class="v-color-picker__canvas"
405
- style="width: 300px; height: 150px;"
406
- >
407
- <canvas width="300"
408
- height="150"
409
- >
410
- </canvas>
411
- <div class="v-color-picker__canvas-dot"
412
- style="width: 10px; height: 10px; transform: translate(295px, -5px);"
413
- >
414
- </div>
415
- </div>
416
- <div class="v-color-picker__controls">
417
- <div class="v-color-picker__preview">
418
- <div class="v-color-picker__dot">
419
- <div style="background: rgb(255, 0, 0);">
420
- </div>
421
- </div>
422
- <div class="v-color-picker__sliders">
423
- <div class="v-input v-color-picker__hue v-input--hide-details theme--light v-input__slider v-color-picker__track">
424
- <div class="v-input__control">
425
- <div class="v-input__slot">
426
- <div class="v-slider v-slider--horizontal theme--light">
427
- <input value="0"
428
- id="input-109"
429
- readonly="readonly"
430
- tabindex="-1"
431
- >
432
- <div class="v-slider__track-container">
433
- <div class="v-slider__track-background primary lighten-3"
434
- style="right: 0px;"
435
- >
436
- </div>
437
- <div class="v-slider__track-fill primary"
438
- style="left: 0px; width: 0%;"
439
- >
440
- </div>
441
- </div>
442
- <div role="slider"
443
- tabindex="0"
444
- aria-valuemin="0"
445
- aria-valuemax="360"
446
- aria-valuenow="0"
447
- aria-readonly="false"
448
- aria-orientation="horizontal"
449
- class="v-slider__thumb-container grey--text text--lighten-2"
450
- style="left: 0%;"
451
- >
452
- <div class="v-slider__thumb grey lighten-2">
453
- </div>
454
- </div>
455
- </div>
456
- </div>
457
- </div>
458
- </div>
459
- <div class="v-input v-color-picker__alpha v-input--hide-details v-input--is-label-active v-input--is-dirty theme--light v-input__slider v-color-picker__track">
460
- <div class="v-input__control">
461
- <div class="v-input__slot">
462
- <div class="v-slider v-slider--horizontal theme--light">
463
- <input value="1"
464
- id="input-110"
465
- readonly="readonly"
466
- tabindex="-1"
467
- >
468
- <div class="v-slider__track-container">
469
- <div class="v-slider__track-background primary lighten-3"
470
- style="right: 0px;"
471
- >
472
- </div>
473
- <div class="v-slider__track-fill primary"
474
- style="left: 0px; width: 100%;"
475
- >
476
- </div>
477
- </div>
478
- <div role="slider"
479
- tabindex="0"
480
- aria-valuemin="0"
481
- aria-valuemax="1"
482
- aria-valuenow="1"
483
- aria-readonly="false"
484
- aria-orientation="horizontal"
485
- class="v-slider__thumb-container grey--text text--lighten-2"
486
- style="left: 100%;"
487
- >
488
- <div class="v-slider__thumb grey lighten-2">
489
- </div>
490
- </div>
491
- </div>
492
- </div>
493
- </div>
494
- </div>
495
- </div>
496
- </div>
497
- <div class="v-color-picker__edit">
498
- <div class="v-color-picker__input">
499
- <input type="number"
500
- min="0"
501
- max="255"
502
- step="1"
503
- >
504
- <span>
505
- R
506
- </span>
507
- </div>
508
- <div class="v-color-picker__input">
509
- <input type="number"
510
- min="0"
511
- max="255"
512
- step="1"
513
- >
514
- <span>
515
- G
516
- </span>
517
- </div>
518
- <div class="v-color-picker__input">
519
- <input type="number"
520
- min="0"
521
- max="255"
522
- step="1"
523
- >
524
- <span>
525
- B
526
- </span>
527
- </div>
528
- <div class="v-color-picker__input">
529
- <input type="number"
530
- min="0"
531
- max="1"
532
- step="0.01"
533
- >
534
- <span>
535
- A
536
- </span>
537
- </div>
538
- <button type="button"
539
- class="v-btn v-btn--flat v-btn--icon v-btn--round theme--light v-size--small"
540
- >
541
- <span class="v-btn__content">
542
- <i aria-hidden="true"
543
- class="v-icon notranslate material-icons theme--light"
544
- >
545
- $unfold
546
- </i>
547
- </span>
548
- </button>
549
- </div>
550
- </div>
551
- </div>
552
- `;
553
-
554
400
  exports[`VColorPicker.ts should not show alpha controls if given hex value without alpha 1`] = `
555
401
  <div class="v-color-picker v-sheet theme--light theme--light"
556
402
  style="max-width: 300px;"
@@ -230,7 +230,7 @@ export default VAutocomplete.extend({
230
230
  onPaste (event: ClipboardEvent) {
231
231
  if (!this.multiple || this.searchIsDirty) return
232
232
 
233
- const pastedItemText = event.clipboardData!.getData('text/vnd.vuetify.autocomplete.item+plain')
233
+ const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')
234
234
  if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {
235
235
  event.preventDefault()
236
236
  VSelect.options.methods.selectItem.call(this, pastedItemText as any)
@@ -172,7 +172,7 @@ export default Vue.extend({
172
172
  return this.isGrouped ? this.groupItems(this.computedItems) : null
173
173
  },
174
174
  scopedProps (): DataScopeProps {
175
- const props = {
175
+ return {
176
176
  sort: this.sort,
177
177
  sortArray: this.sortArray,
178
178
  group: this.group,
@@ -183,8 +183,6 @@ export default Vue.extend({
183
183
  groupedItems: this.groupedItems,
184
184
  originalItemsLength: this.items.length,
185
185
  }
186
-
187
- return props
188
186
  },
189
187
  computedOptions (): DataOptions {
190
188
  return { ...this.options } as DataOptions
@@ -216,7 +216,7 @@ export default mixins(
216
216
  },
217
217
  genEmpty (originalItemsLength: number, filteredItemsLength: number) {
218
218
  if (originalItemsLength === 0 && this.loading) {
219
- const loading = this.$slots['loading'] || this.$vuetify.lang.t(this.loadingText)
219
+ const loading = this.$slots.loading || this.$vuetify.lang.t(this.loadingText)
220
220
  return this.genEmptyWrapper(loading)
221
221
  } else if (originalItemsLength === 0) {
222
222
  const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText)
@@ -21,20 +21,21 @@
21
21
  .v-data-table
22
22
  border-radius: $data-table-border-radius
23
23
 
24
- tbody
25
- tr
26
- &.v-data-table__expanded
27
- border-bottom: 0
24
+ > .v-data-table__wrapper
25
+ tbody
26
+ tr
27
+ &.v-data-table__expanded
28
+ border-bottom: 0
28
29
 
29
- &.v-data-table__expanded__content
30
- box-shadow: $data-table-expanded-content-box-shadow
30
+ &.v-data-table__expanded__content
31
+ box-shadow: $data-table-expanded-content-box-shadow
31
32
 
32
- .v-data-table__mobile-table-row
33
- display: initial
33
+ .v-data-table__mobile-table-row
34
+ display: initial
34
35
 
35
- .v-data-table__mobile-row
36
- height: initial
37
- min-height: $data-table-mobile-row-min-height
36
+ .v-data-table__mobile-row
37
+ height: initial
38
+ min-height: $data-table-mobile-row-min-height
38
39
 
39
40
  .v-data-table__empty-wrapper
40
41
  text-align: center
@@ -46,6 +47,12 @@
46
47
 
47
48
  &__header
48
49
  font-weight: $data-table-mobile-row-header-font-weight
50
+
51
+ +ltr()
52
+ padding-right: 16px
53
+
54
+ +rtl()
55
+ padding-left: 16px
49
56
 
50
57
  &__cell
51
58
  +ltr()
@@ -79,7 +79,7 @@ export default mixins(header).extend({
79
79
  )
80
80
 
81
81
  if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {
82
- data.on['click'] = () => this.$emit('sort', header.value)
82
+ data.on.click = () => this.$emit('sort', header.value)
83
83
 
84
84
  const sortIndex = this.options.sortBy.findIndex(k => k === header.value)
85
85
  const beingSorted = sortIndex >= 0
@@ -965,6 +965,8 @@ describe('VDataTable.ts', () => {
965
965
 
966
966
  wrapper.find('th').trigger('click')
967
967
  await wrapper.vm.$nextTick()
968
+
969
+ expect(wrapper.html()).toMatchSnapshot()
968
970
  })
969
971
 
970
972
  it('should hide group button when column is not groupable', async () => {
@@ -39,7 +39,7 @@ describe('VDataTableHeader.ts', () => {
39
39
  let mountFunction: (options?: MountOptions<Instance>, isMobile?: boolean) => Wrapper<Instance>
40
40
 
41
41
  ;[false, true].forEach(isMobile => {
42
- describe(isMobile ? 'mobile' : 'desktop', () => { // eslint-disable-line jest/valid-describe
42
+ describe(isMobile ? 'mobile' : 'desktop', () => { // eslint-disable-line jest/valid-title
43
43
  beforeEach(() => {
44
44
  document.body.setAttribute('data-app', 'true')
45
45
 
@@ -40,7 +40,7 @@ describe('VEditDialog.ts', () => {
40
40
  it('should render custom button texts', () => {
41
41
  const wrapper = mountFunction({
42
42
  propsData: {
43
- cancelText: 'I don\'t want to modify that!',
43
+ cancelText: `I don't want to modify that!`,
44
44
  saveText: 'Save it!',
45
45
  },
46
46
  })
@@ -10842,6 +10842,244 @@ exports[`VDataTable.ts should render with showSelect 1`] = `
10842
10842
  </div>
10843
10843
  `;
10844
10844
 
10845
+ exports[`VDataTable.ts should respect mustSort property on options 1`] = `
10846
+ <div class="v-data-table theme--light">
10847
+ <div class="v-data-table__wrapper">
10848
+ <table>
10849
+ <colgroup>
10850
+ <col class>
10851
+ </colgroup>
10852
+ <thead class="v-data-table-header v-data-table-header-mobile">
10853
+ <tr>
10854
+ <th>
10855
+ <div class="v-data-table-header-mobile__wrapper">
10856
+ <div class="v-input v-input--hide-details theme--light v-text-field v-select">
10857
+ <div class="v-input__control">
10858
+ <div role="button"
10859
+ aria-haspopup="listbox"
10860
+ aria-expanded="false"
10861
+ aria-owns="list-700"
10862
+ class="v-input__slot"
10863
+ >
10864
+ <div class="v-select__slot">
10865
+ <label for="input-700"
10866
+ class="v-label theme--light"
10867
+ style="left: 0px; position: absolute;"
10868
+ >
10869
+ Sort by
10870
+ </label>
10871
+ <div class="v-select__selections">
10872
+ <input id="input-700"
10873
+ readonly="readonly"
10874
+ type="text"
10875
+ aria-readonly="false"
10876
+ autocomplete="off"
10877
+ >
10878
+ </div>
10879
+ <div class="v-input__append-inner">
10880
+ <div class="v-input__icon v-input__icon--append">
10881
+ <i aria-hidden="true"
10882
+ class="v-icon notranslate material-icons theme--light"
10883
+ >
10884
+ $dropdown
10885
+ </i>
10886
+ </div>
10887
+ </div>
10888
+ <input type="hidden">
10889
+ </div>
10890
+ <div class="v-menu">
10891
+ </div>
10892
+ </div>
10893
+ </div>
10894
+ </div>
10895
+ </div>
10896
+ </th>
10897
+ </tr>
10898
+ </thead>
10899
+ <tbody>
10900
+ <tr class="v-data-table__mobile-table-row">
10901
+ <td class="v-data-table__mobile-row">
10902
+ <div class="v-data-table__mobile-row__header">
10903
+ Dessert (100g serving)
10904
+ </div>
10905
+ <div class="v-data-table__mobile-row__cell">
10906
+ Frozen Yogurt
10907
+ </div>
10908
+ </td>
10909
+ </tr>
10910
+ <tr class="v-data-table__mobile-table-row">
10911
+ <td class="v-data-table__mobile-row">
10912
+ <div class="v-data-table__mobile-row__header">
10913
+ Dessert (100g serving)
10914
+ </div>
10915
+ <div class="v-data-table__mobile-row__cell">
10916
+ Ice cream sandwich
10917
+ </div>
10918
+ </td>
10919
+ </tr>
10920
+ <tr class="v-data-table__mobile-table-row">
10921
+ <td class="v-data-table__mobile-row">
10922
+ <div class="v-data-table__mobile-row__header">
10923
+ Dessert (100g serving)
10924
+ </div>
10925
+ <div class="v-data-table__mobile-row__cell">
10926
+ Eclair
10927
+ </div>
10928
+ </td>
10929
+ </tr>
10930
+ <tr class="v-data-table__mobile-table-row">
10931
+ <td class="v-data-table__mobile-row">
10932
+ <div class="v-data-table__mobile-row__header">
10933
+ Dessert (100g serving)
10934
+ </div>
10935
+ <div class="v-data-table__mobile-row__cell">
10936
+ Cupcake
10937
+ </div>
10938
+ </td>
10939
+ </tr>
10940
+ <tr class="v-data-table__mobile-table-row">
10941
+ <td class="v-data-table__mobile-row">
10942
+ <div class="v-data-table__mobile-row__header">
10943
+ Dessert (100g serving)
10944
+ </div>
10945
+ <div class="v-data-table__mobile-row__cell">
10946
+ Gingerbread
10947
+ </div>
10948
+ </td>
10949
+ </tr>
10950
+ <tr class="v-data-table__mobile-table-row">
10951
+ <td class="v-data-table__mobile-row">
10952
+ <div class="v-data-table__mobile-row__header">
10953
+ Dessert (100g serving)
10954
+ </div>
10955
+ <div class="v-data-table__mobile-row__cell">
10956
+ Jelly bean
10957
+ </div>
10958
+ </td>
10959
+ </tr>
10960
+ <tr class="v-data-table__mobile-table-row">
10961
+ <td class="v-data-table__mobile-row">
10962
+ <div class="v-data-table__mobile-row__header">
10963
+ Dessert (100g serving)
10964
+ </div>
10965
+ <div class="v-data-table__mobile-row__cell">
10966
+ Lollipop
10967
+ </div>
10968
+ </td>
10969
+ </tr>
10970
+ <tr class="v-data-table__mobile-table-row">
10971
+ <td class="v-data-table__mobile-row">
10972
+ <div class="v-data-table__mobile-row__header">
10973
+ Dessert (100g serving)
10974
+ </div>
10975
+ <div class="v-data-table__mobile-row__cell">
10976
+ Honeycomb
10977
+ </div>
10978
+ </td>
10979
+ </tr>
10980
+ <tr class="v-data-table__mobile-table-row">
10981
+ <td class="v-data-table__mobile-row">
10982
+ <div class="v-data-table__mobile-row__header">
10983
+ Dessert (100g serving)
10984
+ </div>
10985
+ <div class="v-data-table__mobile-row__cell">
10986
+ Donut
10987
+ </div>
10988
+ </td>
10989
+ </tr>
10990
+ <tr class="v-data-table__mobile-table-row">
10991
+ <td class="v-data-table__mobile-row">
10992
+ <div class="v-data-table__mobile-row__header">
10993
+ Dessert (100g serving)
10994
+ </div>
10995
+ <div class="v-data-table__mobile-row__cell">
10996
+ KitKat
10997
+ </div>
10998
+ </td>
10999
+ </tr>
11000
+ </tbody>
11001
+ </table>
11002
+ </div>
11003
+ <div class="v-data-footer">
11004
+ <div class="v-data-footer__select">
11005
+ Rows per page:
11006
+ <div class="v-input v-input--hide-details v-input--is-label-active v-input--is-dirty theme--light v-text-field v-select">
11007
+ <div class="v-input__control">
11008
+ <div role="button"
11009
+ aria-haspopup="listbox"
11010
+ aria-expanded="false"
11011
+ aria-owns="list-704"
11012
+ class="v-input__slot"
11013
+ >
11014
+ <div class="v-select__slot">
11015
+ <div class="v-select__selections">
11016
+ <div class="v-select__selection v-select__selection--comma">
11017
+ 10
11018
+ </div>
11019
+ <input aria-label="$vuetify.dataTable.itemsPerPageText"
11020
+ id="input-704"
11021
+ readonly="readonly"
11022
+ type="text"
11023
+ aria-readonly="false"
11024
+ autocomplete="off"
11025
+ >
11026
+ </div>
11027
+ <div class="v-input__append-inner">
11028
+ <div class="v-input__icon v-input__icon--append">
11029
+ <i aria-hidden="true"
11030
+ class="v-icon notranslate material-icons theme--light"
11031
+ >
11032
+ $dropdown
11033
+ </i>
11034
+ </div>
11035
+ </div>
11036
+ <input type="hidden"
11037
+ value="10"
11038
+ >
11039
+ </div>
11040
+ <div class="v-menu">
11041
+ </div>
11042
+ </div>
11043
+ </div>
11044
+ </div>
11045
+ </div>
11046
+ <div class="v-data-footer__pagination">
11047
+ 1-10 of 10
11048
+ </div>
11049
+ <div class="v-data-footer__icons-before">
11050
+ <button type="button"
11051
+ disabled="disabled"
11052
+ class="v-btn v-btn--disabled v-btn--flat v-btn--icon v-btn--round v-btn--text theme--light v-size--default"
11053
+ aria-label="Previous page"
11054
+ >
11055
+ <span class="v-btn__content">
11056
+ <i aria-hidden="true"
11057
+ class="v-icon notranslate material-icons theme--light"
11058
+ >
11059
+ $prev
11060
+ </i>
11061
+ </span>
11062
+ </button>
11063
+ </div>
11064
+ <div class="v-data-footer__icons-after">
11065
+ <button type="button"
11066
+ disabled="disabled"
11067
+ class="v-btn v-btn--disabled v-btn--flat v-btn--icon v-btn--round v-btn--text theme--light v-size--default"
11068
+ aria-label="Next page"
11069
+ >
11070
+ <span class="v-btn__content">
11071
+ <i aria-hidden="true"
11072
+ class="v-icon notranslate material-icons theme--light"
11073
+ >
11074
+ $next
11075
+ </i>
11076
+ </span>
11077
+ </button>
11078
+ </div>
11079
+ </div>
11080
+ </div>
11081
+ `;
11082
+
10845
11083
  exports[`VDataTable.ts should search group-by column 1`] = `
10846
11084
  <div class="v-data-table theme--light">
10847
11085
  <div class="v-data-table__wrapper">
@@ -269,9 +269,10 @@ export default mixins(
269
269
  this.checkMultipleProp()
270
270
  this.setInputDate()
271
271
 
272
- if (!this.isMultiple && this.value && !this.pickerDate) {
273
- this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')
274
- } else if (this.isMultiple && this.multipleValue.length && (!oldValue || !(oldValue as string[]).length) && !this.pickerDate) {
272
+ if (
273
+ (!this.isMultiple && this.value && !this.pickerDate) ||
274
+ (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)
275
+ ) {
275
276
  this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')
276
277
  }
277
278
  },
@@ -51,11 +51,13 @@ describe('VDatePicker.ts', () => { // eslint-disable-line max-statements
51
51
  })
52
52
 
53
53
  it('should work with year < 1000', () => {
54
- const wrapper = mountFunction({
55
- propsData: {
56
- value: '0005-11-01',
57
- },
58
- })
54
+ expect(() => {
55
+ mountFunction({
56
+ propsData: {
57
+ value: '0005-11-01',
58
+ },
59
+ })
60
+ }).not.toThrow()
59
61
  })
60
62
 
61
63
  it('should display the correct year when model is null', () => {
@@ -159,6 +159,7 @@ describe('VDialog.ts', () => {
159
159
  disabled: true,
160
160
  },
161
161
  scopedSlots: {
162
+ // eslint-disable-next-line sonarjs/no-identical-functions
162
163
  activator ({ on }) {
163
164
  return this.$createElement('div', {
164
165
  staticClass: 'activator',
@@ -237,6 +238,7 @@ describe('VDialog.ts', () => {
237
238
  disabled: true,
238
239
  },
239
240
  scopedSlots: {
241
+ // eslint-disable-next-line sonarjs/no-identical-functions
240
242
  activator ({ on }) {
241
243
  return this.$createElement('div', {
242
244
  staticClass: 'activator',
@@ -258,6 +260,7 @@ describe('VDialog.ts', () => {
258
260
  const clickOutside = jest.fn()
259
261
  const wrapper = mountFunction({
260
262
  scopedSlots: {
263
+ // eslint-disable-next-line sonarjs/no-identical-functions
261
264
  activator ({ on }) {
262
265
  return this.$createElement('div', {
263
266
  staticClass: 'activator',
@@ -326,6 +329,7 @@ describe('VDialog.ts', () => {
326
329
  hideOverlay: true,
327
330
  },
328
331
  scopedSlots: {
332
+ // eslint-disable-next-line sonarjs/no-identical-functions
329
333
  activator ({ on }) {
330
334
  return this.$createElement('div', {
331
335
  staticClass: 'activator',
@@ -74,12 +74,12 @@ describe('VExpansionPanel', () => {
74
74
 
75
75
  // Ensures smooth transition when using the lazy prop
76
76
  // TODO: move to PanelContent tests
77
- /* it('should boot expansion panel item', async () => {
77
+ it.skip('should boot expansion panel item', async () => {
78
78
  const change = jest.fn()
79
79
  const wrapper = mountFunction({
80
80
  propsData: {
81
- lazy: true
82
- }
81
+ lazy: true,
82
+ },
83
83
  })
84
84
 
85
85
  wrapper.vm.$on('change', change)
@@ -93,7 +93,7 @@ describe('VExpansionPanel', () => {
93
93
  await wrapper.vm.$nextTick()
94
94
 
95
95
  expect(change).toHaveBeenCalled()
96
- }) */
96
+ })
97
97
 
98
98
  it('should hide actions and match snapshot', async () => {
99
99
  const wrapper = mountFunction({