@dimailn/vuetify 2.7.2-alpha23 → 2.7.2-alpha25

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 (108) hide show
  1. package/dist/vuetify.js +280 -256
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VBadge/VBadge.js +17 -14
  6. package/es5/components/VBadge/VBadge.js.map +1 -1
  7. package/es5/components/VBtn/VBtn.js +16 -16
  8. package/es5/components/VBtn/VBtn.js.map +1 -1
  9. package/es5/components/VColorPicker/VColorPicker.js +18 -31
  10. package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
  11. package/es5/components/VColorPicker/VColorPickerCanvas.js +45 -46
  12. package/es5/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  13. package/es5/components/VColorPicker/VColorPickerEdit.js +27 -26
  14. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  15. package/es5/components/VColorPicker/VColorPickerPreview.js +41 -30
  16. package/es5/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  17. package/es5/components/VColorPicker/VColorPickerSwatches.js +13 -10
  18. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  19. package/es5/components/VDataTable/VDataTable.js +7 -11
  20. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  21. package/es5/components/VInput/VInput.js +24 -6
  22. package/es5/components/VInput/VInput.js.map +1 -1
  23. package/es5/components/VSelect/VSelectList.js +1 -1
  24. package/es5/components/VSelect/VSelectList.js.map +1 -1
  25. package/es5/components/VSlider/VSlider.js +23 -18
  26. package/es5/components/VSlider/VSlider.js.map +1 -1
  27. package/es5/components/VTooltip/VTooltip.js +3 -7
  28. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  29. package/es5/framework.js +1 -1
  30. package/es5/mixins/activatable/index.js +2 -1
  31. package/es5/mixins/activatable/index.js.map +1 -1
  32. package/es5/mixins/bootable/index.js +1 -2
  33. package/es5/mixins/bootable/index.js.map +1 -1
  34. package/es5/mixins/mouse/index.js +10 -5
  35. package/es5/mixins/mouse/index.js.map +1 -1
  36. package/es5/mixins/selectable/index.js +3 -0
  37. package/es5/mixins/selectable/index.js.map +1 -1
  38. package/lib/components/VBadge/VBadge.js +14 -13
  39. package/lib/components/VBadge/VBadge.js.map +1 -1
  40. package/lib/components/VBtn/VBtn.js +18 -19
  41. package/lib/components/VBtn/VBtn.js.map +1 -1
  42. package/lib/components/VColorPicker/VColorPicker.js +29 -37
  43. package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
  44. package/lib/components/VColorPicker/VColorPickerCanvas.js +41 -43
  45. package/lib/components/VColorPicker/VColorPickerCanvas.js.map +1 -1
  46. package/lib/components/VColorPicker/VColorPickerEdit.js +25 -31
  47. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  48. package/lib/components/VColorPicker/VColorPickerPreview.js +45 -32
  49. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  50. package/lib/components/VColorPicker/VColorPickerSwatches.js +15 -9
  51. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  52. package/lib/components/VDataTable/VDataTable.js +3 -4
  53. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  54. package/lib/components/VInput/VInput.js +16 -4
  55. package/lib/components/VInput/VInput.js.map +1 -1
  56. package/lib/components/VSelect/VSelectList.js +2 -1
  57. package/lib/components/VSelect/VSelectList.js.map +1 -1
  58. package/lib/components/VSlider/VSlider.js +26 -21
  59. package/lib/components/VSlider/VSlider.js.map +1 -1
  60. package/lib/components/VTooltip/VTooltip.js +6 -9
  61. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  62. package/lib/framework.js +1 -1
  63. package/lib/mixins/activatable/index.js +2 -1
  64. package/lib/mixins/activatable/index.js.map +1 -1
  65. package/lib/mixins/bootable/index.js +2 -4
  66. package/lib/mixins/bootable/index.js.map +1 -1
  67. package/lib/mixins/mouse/index.js +9 -5
  68. package/lib/mixins/mouse/index.js.map +1 -1
  69. package/lib/mixins/selectable/index.js +4 -0
  70. package/lib/mixins/selectable/index.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/components/VBadge/VBadge.ts +24 -25
  73. package/src/components/VBadge/__tests__/VBadge.spec.ts +47 -30
  74. package/src/components/VBadge/__tests__/__snapshots__/VBadge.spec.ts.snap +5 -5
  75. package/src/components/VBtn/VBtn.ts +18 -16
  76. package/src/components/VBtn/__tests__/VBtn.spec.ts +257 -242
  77. package/src/components/VBtn/__tests__/__snapshots__/VBtn.spec.ts.snap +13 -73
  78. package/src/components/VColorPicker/VColorPicker.ts +32 -35
  79. package/src/components/VColorPicker/VColorPickerCanvas.ts +44 -37
  80. package/src/components/VColorPicker/VColorPickerEdit.ts +37 -35
  81. package/src/components/VColorPicker/VColorPickerPreview.ts +48 -28
  82. package/src/components/VColorPicker/VColorPickerSwatches.ts +23 -12
  83. package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +47 -47
  84. package/src/components/VColorPicker/__tests__/VColorPickerCanvas.spec.ts +15 -13
  85. package/src/components/VColorPicker/__tests__/VColorPickerEdit.spec.ts +52 -50
  86. package/src/components/VColorPicker/__tests__/VColorPickerPreview.spec.ts +101 -30
  87. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +200 -157
  88. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +28 -11
  89. package/src/components/VDataTable/VDataTable.ts +3 -3
  90. package/src/components/VInput/VInput.ts +12 -2
  91. package/src/components/VInput/__tests__/VInput.spec.ts +170 -234
  92. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +50 -101
  93. package/src/components/VSelect/VSelectList.ts +1 -0
  94. package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +22 -15
  95. package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +60 -60
  96. package/src/components/VSlider/VSlider.ts +43 -27
  97. package/src/components/VSlider/__tests__/VSlider.spec.ts +188 -286
  98. package/src/components/VSlider/__tests__/__snapshots__/VSlider.spec.ts.snap +157 -246
  99. package/src/components/VTabs/__tests__/VTab.spec.ts +3 -3
  100. package/src/components/VTabs/__tests__/VTabsBar.spec.ts +2 -2
  101. package/src/components/VTooltip/VTooltip.ts +20 -20
  102. package/src/components/VTooltip/__tests__/VTooltip.spec.ts +60 -75
  103. package/src/mixins/activatable/index.ts +2 -1
  104. package/src/mixins/bootable/__tests__/bootable.spec.ts +17 -11
  105. package/src/mixins/bootable/index.ts +4 -3
  106. package/src/mixins/mouse/__tests__/mouse.spec.ts +54 -40
  107. package/src/mixins/mouse/index.ts +10 -6
  108. package/src/mixins/selectable/index.ts +4 -0
@@ -21,11 +21,11 @@ exports[`VSkeletonLoader.ts should dynamically render content 2`] = `
21
21
  `;
22
22
 
23
23
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 1`] = `
24
- <div aria-busy="true"
24
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
25
+ aria-busy="true"
25
26
  aria-live="polite"
26
27
  aria-label="$vuetify.loading"
27
28
  role="alert"
28
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
29
29
  >
30
30
  <div class="v-skeleton-loader__button v-skeleton-loader__bone">
31
31
  </div>
@@ -35,11 +35,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 1`] = `
35
35
  `;
36
36
 
37
37
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 2`] = `
38
- <div aria-busy="true"
38
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
39
+ aria-busy="true"
39
40
  aria-live="polite"
40
41
  aria-label="$vuetify.loading"
41
42
  role="alert"
42
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
43
43
  >
44
44
  <div class="v-skeleton-loader__heading v-skeleton-loader__bone">
45
45
  </div>
@@ -55,11 +55,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 2`] = `
55
55
  `;
56
56
 
57
57
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 3`] = `
58
- <div aria-busy="true"
58
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
59
+ aria-busy="true"
59
60
  aria-live="polite"
60
61
  aria-label="$vuetify.loading"
61
62
  role="alert"
62
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
63
63
  >
64
64
  <div class="v-skeleton-loader__avatar v-skeleton-loader__bone">
65
65
  </div>
@@ -67,11 +67,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 3`] = `
67
67
  `;
68
68
 
69
69
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 4`] = `
70
- <div aria-busy="true"
70
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
71
+ aria-busy="true"
71
72
  aria-live="polite"
72
73
  aria-label="$vuetify.loading"
73
74
  role="alert"
74
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
75
75
  >
76
76
  <div class="v-skeleton-loader__button v-skeleton-loader__bone">
77
77
  </div>
@@ -79,11 +79,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 4`] = `
79
79
  `;
80
80
 
81
81
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 5`] = `
82
- <div aria-busy="true"
82
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
83
+ aria-busy="true"
83
84
  aria-live="polite"
84
85
  aria-label="$vuetify.loading"
85
86
  role="alert"
86
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
87
87
  >
88
88
  <div class="v-skeleton-loader__image v-skeleton-loader__bone">
89
89
  </div>
@@ -95,11 +95,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 5`] = `
95
95
  `;
96
96
 
97
97
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 6`] = `
98
- <div aria-busy="true"
98
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
99
+ aria-busy="true"
99
100
  aria-live="polite"
100
101
  aria-label="$vuetify.loading"
101
102
  role="alert"
102
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
103
103
  >
104
104
  <div class="v-skeleton-loader__image v-skeleton-loader__bone">
105
105
  </div>
@@ -113,11 +113,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 6`] = `
113
113
  `;
114
114
 
115
115
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 7`] = `
116
- <div aria-busy="true"
116
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
117
+ aria-busy="true"
117
118
  aria-live="polite"
118
119
  aria-label="$vuetify.loading"
119
120
  role="alert"
120
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
121
121
  >
122
122
  <div class="v-skeleton-loader__heading v-skeleton-loader__bone">
123
123
  </div>
@@ -125,11 +125,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 7`] = `
125
125
  `;
126
126
 
127
127
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 8`] = `
128
- <div aria-busy="true"
128
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
129
+ aria-busy="true"
129
130
  aria-live="polite"
130
131
  aria-label="$vuetify.loading"
131
132
  role="alert"
132
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
133
133
  >
134
134
  <div class="v-skeleton-loader__chip v-skeleton-loader__bone">
135
135
  </div>
@@ -137,11 +137,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 8`] = `
137
137
  `;
138
138
 
139
139
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 9`] = `
140
- <div aria-busy="true"
140
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
141
+ aria-busy="true"
141
142
  aria-live="polite"
142
143
  aria-label="$vuetify.loading"
143
144
  role="alert"
144
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
145
145
  >
146
146
  <div class="v-skeleton-loader__list-item v-skeleton-loader__bone">
147
147
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
@@ -229,11 +229,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 9`] = `
229
229
  `;
230
230
 
231
231
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 10`] = `
232
- <div aria-busy="true"
232
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
233
+ aria-busy="true"
233
234
  aria-live="polite"
234
235
  aria-label="$vuetify.loading"
235
236
  role="alert"
236
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
237
237
  >
238
238
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
239
239
  </div>
@@ -245,11 +245,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 10`] = `
245
245
  `;
246
246
 
247
247
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 11`] = `
248
- <div aria-busy="true"
248
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
249
+ aria-busy="true"
249
250
  aria-live="polite"
250
251
  aria-label="$vuetify.loading"
251
252
  role="alert"
252
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
253
253
  >
254
254
  <div class="v-skeleton-loader__avatar v-skeleton-loader__bone">
255
255
  </div>
@@ -311,11 +311,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 11`] = `
311
311
  `;
312
312
 
313
313
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 12`] = `
314
- <div aria-busy="true"
314
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
315
+ aria-busy="true"
315
316
  aria-live="polite"
316
317
  aria-label="$vuetify.loading"
317
318
  role="alert"
318
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
319
319
  >
320
320
  <div class="v-skeleton-loader__heading v-skeleton-loader__bone">
321
321
  </div>
@@ -323,11 +323,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 12`] = `
323
323
  `;
324
324
 
325
325
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 13`] = `
326
- <div aria-busy="true"
326
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
327
+ aria-busy="true"
327
328
  aria-live="polite"
328
329
  aria-label="$vuetify.loading"
329
330
  role="alert"
330
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
331
331
  >
332
332
  <div class="v-skeleton-loader__image v-skeleton-loader__bone">
333
333
  </div>
@@ -335,11 +335,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 13`] = `
335
335
  `;
336
336
 
337
337
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 14`] = `
338
- <div aria-busy="true"
338
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
339
+ aria-busy="true"
339
340
  aria-live="polite"
340
341
  aria-label="$vuetify.loading"
341
342
  role="alert"
342
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
343
343
  >
344
344
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
345
345
  </div>
@@ -347,11 +347,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 14`] = `
347
347
  `;
348
348
 
349
349
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 15`] = `
350
- <div aria-busy="true"
350
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
351
+ aria-busy="true"
351
352
  aria-live="polite"
352
353
  aria-label="$vuetify.loading"
353
354
  role="alert"
354
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
355
355
  >
356
356
  <div class="v-skeleton-loader__avatar v-skeleton-loader__bone">
357
357
  </div>
@@ -361,11 +361,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 15`] = `
361
361
  `;
362
362
 
363
363
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 16`] = `
364
- <div aria-busy="true"
364
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
365
+ aria-busy="true"
365
366
  aria-live="polite"
366
367
  aria-label="$vuetify.loading"
367
368
  role="alert"
368
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
369
369
  >
370
370
  <div class="v-skeleton-loader__sentences v-skeleton-loader__bone">
371
371
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
@@ -377,11 +377,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 16`] = `
377
377
  `;
378
378
 
379
379
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 17`] = `
380
- <div aria-busy="true"
380
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
381
+ aria-busy="true"
381
382
  aria-live="polite"
382
383
  aria-label="$vuetify.loading"
383
384
  role="alert"
384
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
385
385
  >
386
386
  <div class="v-skeleton-loader__avatar v-skeleton-loader__bone">
387
387
  </div>
@@ -395,11 +395,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 17`] = `
395
395
  `;
396
396
 
397
397
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 18`] = `
398
- <div aria-busy="true"
398
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
399
+ aria-busy="true"
399
400
  aria-live="polite"
400
401
  aria-label="$vuetify.loading"
401
402
  role="alert"
402
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
403
403
  >
404
404
  <div class="v-skeleton-loader__paragraph v-skeleton-loader__bone">
405
405
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
@@ -413,11 +413,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 18`] = `
413
413
  `;
414
414
 
415
415
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 19`] = `
416
- <div aria-busy="true"
416
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
417
+ aria-busy="true"
417
418
  aria-live="polite"
418
419
  aria-label="$vuetify.loading"
419
420
  role="alert"
420
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
421
421
  >
422
422
  <div class="v-skeleton-loader__avatar v-skeleton-loader__bone">
423
423
  </div>
@@ -433,11 +433,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 19`] = `
433
433
  `;
434
434
 
435
435
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 20`] = `
436
- <div aria-busy="true"
436
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
437
+ aria-busy="true"
437
438
  aria-live="polite"
438
439
  aria-label="$vuetify.loading"
439
440
  role="alert"
440
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
441
441
  >
442
442
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
443
443
  </div>
@@ -449,11 +449,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 20`] = `
449
449
  `;
450
450
 
451
451
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 21`] = `
452
- <div aria-busy="true"
452
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
453
+ aria-busy="true"
453
454
  aria-live="polite"
454
455
  aria-label="$vuetify.loading"
455
456
  role="alert"
456
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
457
457
  >
458
458
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
459
459
  </div>
@@ -463,11 +463,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 21`] = `
463
463
  `;
464
464
 
465
465
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 22`] = `
466
- <div aria-busy="true"
466
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
467
+ aria-busy="true"
467
468
  aria-live="polite"
468
469
  aria-label="$vuetify.loading"
469
470
  role="alert"
470
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
471
471
  >
472
472
  <div class="v-skeleton-loader__table-heading v-skeleton-loader__bone">
473
473
  <div class="v-skeleton-loader__heading v-skeleton-loader__bone">
@@ -685,11 +685,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 22`] = `
685
685
  `;
686
686
 
687
687
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 23`] = `
688
- <div aria-busy="true"
688
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
689
+ aria-busy="true"
689
690
  aria-live="polite"
690
691
  aria-label="$vuetify.loading"
691
692
  role="alert"
692
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
693
693
  >
694
694
  <div class="v-skeleton-loader__heading v-skeleton-loader__bone">
695
695
  </div>
@@ -699,11 +699,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 23`] = `
699
699
  `;
700
700
 
701
701
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 24`] = `
702
- <div aria-busy="true"
702
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
703
+ aria-busy="true"
703
704
  aria-live="polite"
704
705
  aria-label="$vuetify.loading"
705
706
  role="alert"
706
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
707
707
  >
708
708
  <div class="v-skeleton-loader__heading v-skeleton-loader__bone">
709
709
  </div>
@@ -721,11 +721,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 24`] = `
721
721
  `;
722
722
 
723
723
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 25`] = `
724
- <div aria-busy="true"
724
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
725
+ aria-busy="true"
725
726
  aria-live="polite"
726
727
  aria-label="$vuetify.loading"
727
728
  role="alert"
728
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
729
729
  >
730
730
  <div class="v-skeleton-loader__table-row-divider v-skeleton-loader__bone">
731
731
  <div class="v-skeleton-loader__table-row v-skeleton-loader__bone">
@@ -911,11 +911,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 25`] = `
911
911
  `;
912
912
 
913
913
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 26`] = `
914
- <div aria-busy="true"
914
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
915
+ aria-busy="true"
915
916
  aria-live="polite"
916
917
  aria-label="$vuetify.loading"
917
918
  role="alert"
918
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
919
919
  >
920
920
  <div class="v-skeleton-loader__table-row v-skeleton-loader__bone">
921
921
  <div class="v-skeleton-loader__table-cell v-skeleton-loader__bone">
@@ -949,11 +949,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 26`] = `
949
949
  `;
950
950
 
951
951
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 27`] = `
952
- <div aria-busy="true"
952
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
953
+ aria-busy="true"
953
954
  aria-live="polite"
954
955
  aria-label="$vuetify.loading"
955
956
  role="alert"
956
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
957
957
  >
958
958
  <div class="v-skeleton-loader__table-cell v-skeleton-loader__bone">
959
959
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
@@ -983,11 +983,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 27`] = `
983
983
  `;
984
984
 
985
985
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 28`] = `
986
- <div aria-busy="true"
986
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
987
+ aria-busy="true"
987
988
  aria-live="polite"
988
989
  aria-label="$vuetify.loading"
989
990
  role="alert"
990
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
991
991
  >
992
992
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
993
993
  </div>
@@ -995,11 +995,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 28`] = `
995
995
  `;
996
996
 
997
997
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 29`] = `
998
- <div aria-busy="true"
998
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
999
+ aria-busy="true"
999
1000
  aria-live="polite"
1000
1001
  aria-label="$vuetify.loading"
1001
1002
  role="alert"
1002
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
1003
1003
  >
1004
1004
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
1005
1005
  </div>
@@ -1013,11 +1013,11 @@ exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 29`] = `
1013
1013
  `;
1014
1014
 
1015
1015
  exports[`VSkeletonLoader.ts should generate a skeleton recursive tree 30`] = `
1016
- <div aria-busy="true"
1016
+ <div class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
1017
+ aria-busy="true"
1017
1018
  aria-live="polite"
1018
1019
  aria-label="$vuetify.loading"
1019
1020
  role="alert"
1020
- class="v-skeleton-loader v-skeleton-loader--is-loading theme--light"
1021
1021
  >
1022
1022
  <div class="v-skeleton-loader__text v-skeleton-loader__bone">
1023
1023
  </div>
@@ -16,11 +16,10 @@ import { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit,
16
16
  import { consoleWarn } from '../../util/console'
17
17
 
18
18
  // Types
19
- import Vue, { VNode, VNodeChildrenArrayContents, PropType, h } from 'vue'
20
- import { ScopedSlotChildren } from 'vue/types/vnode'
19
+ import { defineComponent, VNode, PropType, h, getCurrentInstance, withDirectives, vShow } from 'vue'
21
20
  import { PropValidator } from 'vue/types/options'
22
21
 
23
- interface options extends Vue {
22
+ interface options {
24
23
  $refs: {
25
24
  track: HTMLElement
26
25
  }
@@ -63,7 +62,7 @@ export default mixins<options &
63
62
  thumbLabel: {
64
63
  type: [Boolean, String] as PropType<boolean | 'always' | undefined>,
65
64
  default: undefined,
66
- validator: v => typeof v === 'boolean' || v === 'always',
65
+ validator: (v: any) => typeof v === 'boolean' || v === 'always' || v === undefined,
67
66
  },
68
67
  thumbSize: {
69
68
  type: [Number, String],
@@ -76,7 +75,7 @@ export default mixins<options &
76
75
  ticks: {
77
76
  type: [Boolean, String] as PropType<boolean | 'always'>,
78
77
  default: false,
79
- validator: v => typeof v === 'boolean' || v === 'always',
78
+ validator: (v: any) => typeof v === 'boolean' || v === 'always',
80
79
  },
81
80
  tickSize: {
82
81
  type: [Number, String],
@@ -88,6 +87,16 @@ export default mixins<options &
88
87
  vertical: Boolean,
89
88
  },
90
89
 
90
+ emits: [
91
+ 'update:modelValue',
92
+ 'start',
93
+ 'end',
94
+ 'mouseup',
95
+ 'change',
96
+ 'focus',
97
+ 'blur',
98
+ ],
99
+
91
100
  data: () => ({
92
101
  app: null as any,
93
102
  oldValue: null as any,
@@ -113,11 +122,14 @@ export default mixins<options &
113
122
  return this.lazyValue
114
123
  },
115
124
  set (val: number) {
125
+ const originalVal = val
116
126
  val = isNaN(val) ? this.minValue : val
117
127
  // Round value to ensure the
118
128
  // entire slider range can
119
129
  // be selected with step
120
- const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))
130
+ let value = this.roundValue(val)
131
+ // Then clamp to min/max
132
+ value = Math.min(Math.max(value, this.minValue), this.maxValue)
121
133
 
122
134
  if (value === this.lazyValue) return
123
135
 
@@ -140,7 +152,8 @@ export default mixins<options &
140
152
  return parseFloat(this.max)
141
153
  },
142
154
  stepNumeric (): number {
143
- return this.step > 0 ? parseFloat(this.step) : 0
155
+ const step = parseFloat(this.step)
156
+ return step > 0 ? step : 0
144
157
  },
145
158
  inputWidth (): number {
146
159
  const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100
@@ -209,20 +222,26 @@ export default mixins<options &
209
222
  watch: {
210
223
  min (val) {
211
224
  const parsed = parseFloat(val)
212
- parsed > this.internalValue && this.$emit('update:modelValue', parsed)
225
+ if (parsed > this.internalValue) {
226
+ this.$emit('update:modelValue', parsed)
227
+ }
213
228
  },
214
229
  max (val) {
215
230
  const parsed = parseFloat(val)
216
- parsed < this.internalValue && this.$emit('update:modelValue', parsed)
231
+ if (parsed < this.internalValue) {
232
+ this.$emit('update:modelValue', parsed)
233
+ }
217
234
  },
218
235
  modelValue: {
219
236
  handler (v: number) {
237
+ // Use the setter to ensure proper rounding and validation
220
238
  this.internalValue = v
221
239
  },
222
240
  immediate: true,
223
241
  },
224
242
  },
225
243
 
244
+
226
245
  mounted () {
227
246
  // Without a v-app, iOS does not work with body selectors
228
247
  this.app = document.querySelector('[data-app]') ||
@@ -230,8 +249,8 @@ export default mixins<options &
230
249
  },
231
250
 
232
251
  methods: {
233
- genDefaultSlot (): VNodeChildrenArrayContents {
234
- const children: VNodeChildrenArrayContents = [this.genLabel()]
252
+ genDefaultSlot (): VNode[] {
253
+ const children: VNode[] = [this.genLabel()]
235
254
  const slider = this.genSlider()
236
255
  this.inverseLabel
237
256
  ? children.unshift(slider)
@@ -242,7 +261,7 @@ export default mixins<options &
242
261
  return children
243
262
  },
244
263
  genSlider (): VNode {
245
- return h('div', {
264
+ return withDirectives(h('div', {
246
265
  class: {
247
266
  'v-slider': true,
248
267
  'v-slider--horizontal': !this.vertical,
@@ -253,16 +272,14 @@ export default mixins<options &
253
272
  'v-slider--readonly': this.isReadonly,
254
273
  ...this.themeClasses,
255
274
  },
256
- directives: [{
257
- name: 'click-outside',
258
- value: this.onBlur,
259
- }],
260
275
  onClick: this.onSliderClick,
261
276
  onMousedown: this.onSliderMouseDown,
262
277
  onTouchstart: this.onSliderMouseDown,
263
- }, this.genChildren())
278
+ }, this.genChildren()), [
279
+ [ClickOutside, this.onBlur],
280
+ ])
264
281
  },
265
- genChildren (): VNodeChildrenArrayContents {
282
+ genChildren (): VNode[] {
266
283
  return [
267
284
  this.genInput(),
268
285
  this.genTrackContainer(),
@@ -378,17 +395,17 @@ export default mixins<options &
378
395
  'aria-valuenow': this.internalValue,
379
396
  'aria-readonly': String(this.isReadonly),
380
397
  'aria-orientation': this.vertical ? 'vertical' : 'horizontal',
381
- onFocus: onFocus,
382
- onBlur: onBlur,
398
+ onFocus,
399
+ onBlur,
383
400
  onKeydown: this.onKeyDown,
384
401
  }), children)
385
402
  },
386
- genThumbLabelContent (value: number | string): ScopedSlotChildren {
403
+ genThumbLabelContent (value: number | string): any {
387
404
  return this.$slots['thumb-label']
388
405
  ? this.$slots['thumb-label']!({ value })
389
406
  : [h('span', [String(value)])]
390
407
  },
391
- genThumbLabel (content: ScopedSlotChildren): VNode {
408
+ genThumbLabel (content: any): VNode {
392
409
  const size = convertToUnit(this.thumbSize)
393
410
 
394
411
  const transform = this.vertical
@@ -398,12 +415,8 @@ export default mixins<options &
398
415
  return h(VScaleTransition, {
399
416
  origin: 'bottom center',
400
417
  }, [
401
- h('div', {
418
+ withDirectives(h('div', {
402
419
  class: 'v-slider__thumb-label-container',
403
- directives: [{
404
- name: 'show',
405
- value: this.isFocused || this.isActive || this.thumbLabel === 'always',
406
- }],
407
420
  }, [
408
421
  h('div', this.setBackgroundColor(this.computedThumbColor, {
409
422
  class: 'v-slider__thumb-label',
@@ -413,6 +426,8 @@ export default mixins<options &
413
426
  transform,
414
427
  },
415
428
  }), [h('div', content)]),
429
+ ]), [
430
+ [vShow, this.isFocused || this.isActive || this.thumbLabel === 'always'],
416
431
  ]),
417
432
  ])
418
433
  },
@@ -510,6 +525,7 @@ export default mixins<options &
510
525
 
511
526
  this.onMouseMove(e)
512
527
  this.$emit('update:modelValue', this.internalValue)
528
+ this.$emit('change', this.internalValue)
513
529
  },
514
530
  onBlur (e: Event) {
515
531
  this.isFocused = false