@vuetify/nightly 3.7.0-beta.1-dev.2024-07-29 → 3.7.0-beta.1-dev.2024-08-01

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 (135) hide show
  1. package/dist/json/attributes.json +17 -5
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +112 -112
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +44 -14
  6. package/dist/vuetify-labs.css +4400 -3677
  7. package/dist/vuetify-labs.d.ts +219 -117
  8. package/dist/vuetify-labs.esm.js +125 -77
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +125 -77
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3534 -2811
  13. package/dist/vuetify.d.ts +230 -146
  14. package/dist/vuetify.esm.js +62 -39
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +62 -39
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +52 -51
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +5 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
  23. package/lib/components/VAutocomplete/index.d.mts +42 -24
  24. package/lib/components/VAvatar/VAvatar.css +8 -4
  25. package/lib/components/VAvatar/VAvatar.mjs +1 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VBadge/VBadge.css +2 -0
  28. package/lib/components/VBanner/VBanner.css +12 -4
  29. package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
  30. package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
  31. package/lib/components/VBtn/VBtn.css +16 -9
  32. package/lib/components/VBtn/VBtn.mjs +1 -1
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/VBtn.sass +4 -4
  35. package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
  36. package/lib/components/VCard/VCard.css +9 -1
  37. package/lib/components/VCarousel/VCarousel.css +2 -0
  38. package/lib/components/VChip/VChip.css +15 -9
  39. package/lib/components/VChip/VChip.sass +1 -1
  40. package/lib/components/VColorPicker/VColorPicker.css +2 -0
  41. package/lib/components/VColorPicker/VColorPicker.sass +4 -4
  42. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
  43. package/lib/components/VCombobox/VCombobox.css +4 -0
  44. package/lib/components/VCombobox/index.d.mts +42 -24
  45. package/lib/components/VDialog/VDialog.css +5 -0
  46. package/lib/components/VDialog/index.d.mts +3 -3
  47. package/lib/components/VDivider/VDivider.css +2 -0
  48. package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
  49. package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
  50. package/lib/components/VField/VField.css +13 -1
  51. package/lib/components/VField/VField.sass +5 -8
  52. package/lib/components/VFooter/VFooter.css +12 -4
  53. package/lib/components/VFooter/VFooter.mjs +20 -14
  54. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  55. package/lib/components/VFooter/index.d.mts +3 -3
  56. package/lib/components/VGrid/VGrid.sass +1 -1
  57. package/lib/components/VGrid/_mixins.sass +4 -4
  58. package/lib/components/VImg/VImg.css +6 -0
  59. package/lib/components/VKbd/VKbd.css +2 -0
  60. package/lib/components/VList/VList.css +12 -4
  61. package/lib/components/VList/VListItem.css +21 -11
  62. package/lib/components/VList/VListItem.mjs +1 -1
  63. package/lib/components/VList/VListItem.mjs.map +1 -1
  64. package/lib/components/VList/VListItem.sass +1 -1
  65. package/lib/components/VMain/VMain.css +2 -0
  66. package/lib/components/VMenu/VMenu.css +6 -0
  67. package/lib/components/VMenu/VMenu.mjs +20 -4
  68. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  69. package/lib/components/VMenu/index.d.mts +27 -12
  70. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
  71. package/lib/components/VOtpInput/VOtpInput.css +3 -1
  72. package/lib/components/VOtpInput/VOtpInput.sass +1 -2
  73. package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
  74. package/lib/components/VOverlay/VOverlay.mjs +5 -4
  75. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  76. package/lib/components/VOverlay/useActivator.mjs +3 -2
  77. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  78. package/lib/components/VSelect/VSelect.css +4 -0
  79. package/lib/components/VSelect/index.d.mts +42 -24
  80. package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
  81. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  82. package/lib/components/VSheet/VSheet.css +12 -4
  83. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
  84. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
  85. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  86. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
  87. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  88. package/lib/components/VSnackbar/VSnackbar.css +2 -0
  89. package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
  90. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  91. package/lib/components/VSnackbar/index.d.mts +3 -3
  92. package/lib/components/VSpeedDial/index.d.mts +28 -13
  93. package/lib/components/VStepper/VStepper.css +8 -2
  94. package/lib/components/VStepper/VStepper.sass +2 -4
  95. package/lib/components/VStepper/VStepperItem.css +4 -1
  96. package/lib/components/VStepper/VStepperItem.sass +1 -1
  97. package/lib/components/VSwitch/VSwitch.css +2 -0
  98. package/lib/components/VSwitch/VSwitch.sass +10 -10
  99. package/lib/components/VSystemBar/VSystemBar.css +14 -8
  100. package/lib/components/VTable/VTable.css +8 -4
  101. package/lib/components/VTable/VTable.sass +2 -3
  102. package/lib/components/VTimeline/VTimeline.css +2 -0
  103. package/lib/components/VToolbar/VToolbar.css +21 -7
  104. package/lib/components/VToolbar/VToolbar.sass +1 -2
  105. package/lib/components/VTooltip/index.d.mts +3 -3
  106. package/lib/components/VTreeview/VTreeview.sass +9 -9
  107. package/lib/components/index.d.mts +193 -109
  108. package/lib/entry-bundler.mjs +1 -1
  109. package/lib/framework.mjs +1 -1
  110. package/lib/index.d.mts +37 -37
  111. package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
  112. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  113. package/lib/labs/VNumberInput/index.d.mts +17 -8
  114. package/lib/labs/VPicker/VPicker.css +6 -2
  115. package/lib/labs/VPicker/VPicker.sass +2 -3
  116. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
  117. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
  118. package/lib/labs/VPullToRefresh/index.d.mts +9 -0
  119. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  120. package/lib/labs/components.d.mts +29 -11
  121. package/lib/styles/generic/_colors.scss +9 -3
  122. package/lib/styles/main.css +520 -0
  123. package/lib/styles/tools/_absolute.sass +8 -7
  124. package/lib/styles/tools/_border.sass +4 -3
  125. package/lib/styles/tools/_display.sass +8 -7
  126. package/lib/styles/tools/_elevation.sass +4 -2
  127. package/lib/styles/tools/_index.sass +0 -1
  128. package/lib/styles/tools/_radius.sass +6 -5
  129. package/lib/styles/tools/_rounded.sass +2 -1
  130. package/lib/styles/tools/_theme.sass +3 -2
  131. package/lib/styles/tools/_typography.sass +6 -5
  132. package/lib/styles/tools/_utilities.sass +5 -5
  133. package/lib/styles/utilities/_index.sass +7 -7
  134. package/package.json +1 -1
  135. package/lib/styles/tools/_sheet.sass +0 -14
@@ -610,7 +610,7 @@ declare const VSelect: {
610
610
  }) => vue.VNodeChild) | undefined;
611
611
  }) | undefined;
612
612
  menuProps?: (Partial<{
613
- location: Anchor;
613
+ location: NonNullable<Anchor> | undefined;
614
614
  origin: "auto" | Anchor | "overlap";
615
615
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
616
616
  component?: Component | undefined;
@@ -638,8 +638,9 @@ declare const VSelect: {
638
638
  noClickAnimation: boolean;
639
639
  persistent: boolean;
640
640
  scrim: NonNullable<string | boolean>;
641
+ submenu: boolean;
641
642
  }> & Omit<{
642
- location: Anchor;
643
+ location: NonNullable<Anchor> | undefined;
643
644
  origin: "auto" | Anchor | "overlap";
644
645
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
645
646
  component?: Component | undefined;
@@ -665,6 +666,7 @@ declare const VSelect: {
665
666
  noClickAnimation: boolean;
666
667
  persistent: boolean;
667
668
  scrim: NonNullable<string | boolean>;
669
+ submenu: boolean;
668
670
  offset?: string | number | number[] | undefined;
669
671
  id?: string | undefined;
670
672
  height?: string | number | undefined;
@@ -715,7 +717,7 @@ declare const VSelect: {
715
717
  }) => vue.VNodeChild) | undefined;
716
718
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
717
719
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
718
- location: Anchor;
720
+ location: NonNullable<Anchor> | undefined;
719
721
  origin: "auto" | Anchor | "overlap";
720
722
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
721
723
  component?: Component | undefined;
@@ -741,6 +743,7 @@ declare const VSelect: {
741
743
  noClickAnimation: boolean;
742
744
  persistent: boolean;
743
745
  scrim: NonNullable<string | boolean>;
746
+ submenu: boolean;
744
747
  } & {
745
748
  offset?: string | number | number[] | undefined;
746
749
  id?: string | undefined;
@@ -794,7 +797,7 @@ declare const VSelect: {
794
797
  }) => vue.VNodeChild) | undefined;
795
798
  } & {
796
799
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
797
- }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">) | undefined;
800
+ }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "submenu">) | undefined;
798
801
  itemColor?: string | undefined;
799
802
  } & {
800
803
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -1142,7 +1145,7 @@ declare const VSelect: {
1142
1145
  }) => vue.VNodeChild) | undefined;
1143
1146
  }) | undefined;
1144
1147
  menuProps?: (Partial<{
1145
- location: Anchor;
1148
+ location: NonNullable<Anchor> | undefined;
1146
1149
  origin: "auto" | Anchor | "overlap";
1147
1150
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1148
1151
  component?: Component | undefined;
@@ -1170,8 +1173,9 @@ declare const VSelect: {
1170
1173
  noClickAnimation: boolean;
1171
1174
  persistent: boolean;
1172
1175
  scrim: NonNullable<string | boolean>;
1176
+ submenu: boolean;
1173
1177
  }> & Omit<{
1174
- location: Anchor;
1178
+ location: NonNullable<Anchor> | undefined;
1175
1179
  origin: "auto" | Anchor | "overlap";
1176
1180
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1177
1181
  component?: Component | undefined;
@@ -1197,6 +1201,7 @@ declare const VSelect: {
1197
1201
  noClickAnimation: boolean;
1198
1202
  persistent: boolean;
1199
1203
  scrim: NonNullable<string | boolean>;
1204
+ submenu: boolean;
1200
1205
  offset?: string | number | number[] | undefined;
1201
1206
  id?: string | undefined;
1202
1207
  height?: string | number | undefined;
@@ -1247,7 +1252,7 @@ declare const VSelect: {
1247
1252
  }) => vue.VNodeChild) | undefined;
1248
1253
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1249
1254
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
1250
- location: Anchor;
1255
+ location: NonNullable<Anchor> | undefined;
1251
1256
  origin: "auto" | Anchor | "overlap";
1252
1257
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1253
1258
  component?: Component | undefined;
@@ -1273,6 +1278,7 @@ declare const VSelect: {
1273
1278
  noClickAnimation: boolean;
1274
1279
  persistent: boolean;
1275
1280
  scrim: NonNullable<string | boolean>;
1281
+ submenu: boolean;
1276
1282
  } & {
1277
1283
  offset?: string | number | number[] | undefined;
1278
1284
  id?: string | undefined;
@@ -1326,7 +1332,7 @@ declare const VSelect: {
1326
1332
  }) => vue.VNodeChild) | undefined;
1327
1333
  } & {
1328
1334
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1329
- }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">) | undefined;
1335
+ }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "submenu">) | undefined;
1330
1336
  itemColor?: string | undefined;
1331
1337
  } & {
1332
1338
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -1787,7 +1793,7 @@ declare const VSelect: {
1787
1793
  }) => vue.VNodeChild) | undefined;
1788
1794
  }) | undefined;
1789
1795
  menuProps?: (Partial<{
1790
- location: Anchor;
1796
+ location: NonNullable<Anchor> | undefined;
1791
1797
  origin: "auto" | Anchor | "overlap";
1792
1798
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1793
1799
  component?: Component | undefined;
@@ -1815,8 +1821,9 @@ declare const VSelect: {
1815
1821
  noClickAnimation: boolean;
1816
1822
  persistent: boolean;
1817
1823
  scrim: NonNullable<string | boolean>;
1824
+ submenu: boolean;
1818
1825
  }> & Omit<{
1819
- location: Anchor;
1826
+ location: NonNullable<Anchor> | undefined;
1820
1827
  origin: "auto" | Anchor | "overlap";
1821
1828
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1822
1829
  component?: Component | undefined;
@@ -1842,6 +1849,7 @@ declare const VSelect: {
1842
1849
  noClickAnimation: boolean;
1843
1850
  persistent: boolean;
1844
1851
  scrim: NonNullable<string | boolean>;
1852
+ submenu: boolean;
1845
1853
  offset?: string | number | number[] | undefined;
1846
1854
  id?: string | undefined;
1847
1855
  height?: string | number | undefined;
@@ -1892,7 +1900,7 @@ declare const VSelect: {
1892
1900
  }) => vue.VNodeChild) | undefined;
1893
1901
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1894
1902
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
1895
- location: Anchor;
1903
+ location: NonNullable<Anchor> | undefined;
1896
1904
  origin: "auto" | Anchor | "overlap";
1897
1905
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1898
1906
  component?: Component | undefined;
@@ -1918,6 +1926,7 @@ declare const VSelect: {
1918
1926
  noClickAnimation: boolean;
1919
1927
  persistent: boolean;
1920
1928
  scrim: NonNullable<string | boolean>;
1929
+ submenu: boolean;
1921
1930
  } & {
1922
1931
  offset?: string | number | number[] | undefined;
1923
1932
  id?: string | undefined;
@@ -1971,7 +1980,7 @@ declare const VSelect: {
1971
1980
  }) => vue.VNodeChild) | undefined;
1972
1981
  } & {
1973
1982
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1974
- }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">) | undefined;
1983
+ }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "submenu">) | undefined;
1975
1984
  itemColor?: string | undefined;
1976
1985
  } & {
1977
1986
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -2367,7 +2376,7 @@ declare const VSelect: {
2367
2376
  }) => vue.VNodeChild) | undefined;
2368
2377
  }) | undefined;
2369
2378
  menuProps?: (Partial<{
2370
- location: Anchor;
2379
+ location: NonNullable<Anchor> | undefined;
2371
2380
  origin: "auto" | Anchor | "overlap";
2372
2381
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
2373
2382
  component?: Component | undefined;
@@ -2395,8 +2404,9 @@ declare const VSelect: {
2395
2404
  noClickAnimation: boolean;
2396
2405
  persistent: boolean;
2397
2406
  scrim: NonNullable<string | boolean>;
2407
+ submenu: boolean;
2398
2408
  }> & Omit<{
2399
- location: Anchor;
2409
+ location: NonNullable<Anchor> | undefined;
2400
2410
  origin: "auto" | Anchor | "overlap";
2401
2411
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
2402
2412
  component?: Component | undefined;
@@ -2422,6 +2432,7 @@ declare const VSelect: {
2422
2432
  noClickAnimation: boolean;
2423
2433
  persistent: boolean;
2424
2434
  scrim: NonNullable<string | boolean>;
2435
+ submenu: boolean;
2425
2436
  offset?: string | number | number[] | undefined;
2426
2437
  id?: string | undefined;
2427
2438
  height?: string | number | undefined;
@@ -2472,7 +2483,7 @@ declare const VSelect: {
2472
2483
  }) => vue.VNodeChild) | undefined;
2473
2484
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2474
2485
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
2475
- location: Anchor;
2486
+ location: NonNullable<Anchor> | undefined;
2476
2487
  origin: "auto" | Anchor | "overlap";
2477
2488
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
2478
2489
  component?: Component | undefined;
@@ -2498,6 +2509,7 @@ declare const VSelect: {
2498
2509
  noClickAnimation: boolean;
2499
2510
  persistent: boolean;
2500
2511
  scrim: NonNullable<string | boolean>;
2512
+ submenu: boolean;
2501
2513
  } & {
2502
2514
  offset?: string | number | number[] | undefined;
2503
2515
  id?: string | undefined;
@@ -2551,7 +2563,7 @@ declare const VSelect: {
2551
2563
  }) => vue.VNodeChild) | undefined;
2552
2564
  } & {
2553
2565
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
2554
- }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">) | undefined;
2566
+ }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "submenu">) | undefined;
2555
2567
  itemColor?: string | undefined;
2556
2568
  } & {
2557
2569
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -3163,7 +3175,7 @@ declare const VSelect: {
3163
3175
  };
3164
3176
  menuProps: {
3165
3177
  type: PropType<Partial<{
3166
- location: Anchor;
3178
+ location: NonNullable<Anchor> | undefined;
3167
3179
  origin: "auto" | Anchor | "overlap";
3168
3180
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
3169
3181
  component?: Component | undefined;
@@ -3191,8 +3203,9 @@ declare const VSelect: {
3191
3203
  noClickAnimation: boolean;
3192
3204
  persistent: boolean;
3193
3205
  scrim: NonNullable<string | boolean>;
3206
+ submenu: boolean;
3194
3207
  }> & Omit<{
3195
- location: Anchor;
3208
+ location: NonNullable<Anchor> | undefined;
3196
3209
  origin: "auto" | Anchor | "overlap";
3197
3210
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
3198
3211
  component?: Component | undefined;
@@ -3218,6 +3231,7 @@ declare const VSelect: {
3218
3231
  noClickAnimation: boolean;
3219
3232
  persistent: boolean;
3220
3233
  scrim: NonNullable<string | boolean>;
3234
+ submenu: boolean;
3221
3235
  offset?: string | number | number[] | undefined;
3222
3236
  id?: string | undefined;
3223
3237
  height?: string | number | undefined;
@@ -3268,7 +3282,7 @@ declare const VSelect: {
3268
3282
  }) => vue.VNodeChild) | undefined;
3269
3283
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
3270
3284
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
3271
- location: Anchor;
3285
+ location: NonNullable<Anchor> | undefined;
3272
3286
  origin: "auto" | Anchor | "overlap";
3273
3287
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
3274
3288
  component?: Component | undefined;
@@ -3294,6 +3308,7 @@ declare const VSelect: {
3294
3308
  noClickAnimation: boolean;
3295
3309
  persistent: boolean;
3296
3310
  scrim: NonNullable<string | boolean>;
3311
+ submenu: boolean;
3297
3312
  } & {
3298
3313
  offset?: string | number | number[] | undefined;
3299
3314
  id?: string | undefined;
@@ -3347,7 +3362,7 @@ declare const VSelect: {
3347
3362
  }) => vue.VNodeChild) | undefined;
3348
3363
  } & {
3349
3364
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
3350
- }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">>;
3365
+ }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "submenu">>;
3351
3366
  };
3352
3367
  multiple: BooleanConstructor;
3353
3368
  noDataText: {
@@ -3795,7 +3810,7 @@ declare const VSelect: {
3795
3810
  };
3796
3811
  menuProps: {
3797
3812
  type: PropType<Partial<{
3798
- location: Anchor;
3813
+ location: NonNullable<Anchor> | undefined;
3799
3814
  origin: "auto" | Anchor | "overlap";
3800
3815
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
3801
3816
  component?: Component | undefined;
@@ -3823,8 +3838,9 @@ declare const VSelect: {
3823
3838
  noClickAnimation: boolean;
3824
3839
  persistent: boolean;
3825
3840
  scrim: NonNullable<string | boolean>;
3841
+ submenu: boolean;
3826
3842
  }> & Omit<{
3827
- location: Anchor;
3843
+ location: NonNullable<Anchor> | undefined;
3828
3844
  origin: "auto" | Anchor | "overlap";
3829
3845
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
3830
3846
  component?: Component | undefined;
@@ -3850,6 +3866,7 @@ declare const VSelect: {
3850
3866
  noClickAnimation: boolean;
3851
3867
  persistent: boolean;
3852
3868
  scrim: NonNullable<string | boolean>;
3869
+ submenu: boolean;
3853
3870
  offset?: string | number | number[] | undefined;
3854
3871
  id?: string | undefined;
3855
3872
  height?: string | number | undefined;
@@ -3900,7 +3917,7 @@ declare const VSelect: {
3900
3917
  }) => vue.VNodeChild) | undefined;
3901
3918
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
3902
3919
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
3903
- location: Anchor;
3920
+ location: NonNullable<Anchor> | undefined;
3904
3921
  origin: "auto" | Anchor | "overlap";
3905
3922
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
3906
3923
  component?: Component | undefined;
@@ -3926,6 +3943,7 @@ declare const VSelect: {
3926
3943
  noClickAnimation: boolean;
3927
3944
  persistent: boolean;
3928
3945
  scrim: NonNullable<string | boolean>;
3946
+ submenu: boolean;
3929
3947
  } & {
3930
3948
  offset?: string | number | number[] | undefined;
3931
3949
  id?: string | undefined;
@@ -3979,7 +3997,7 @@ declare const VSelect: {
3979
3997
  }) => vue.VNodeChild) | undefined;
3980
3998
  } & {
3981
3999
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
3982
- }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">>;
4000
+ }, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "submenu">>;
3983
4001
  };
3984
4002
  multiple: BooleanConstructor;
3985
4003
  noDataText: {
@@ -72,6 +72,12 @@
72
72
  height: 100%;
73
73
  opacity: 0;
74
74
  }
75
+ .v-selection-control__input::before {
76
+ border-radius: 100%;
77
+ background-color: currentColor;
78
+ opacity: 0;
79
+ pointer-events: none;
80
+ }
75
81
  .v-selection-control__input::before {
76
82
  content: "";
77
83
  position: absolute;
@@ -79,10 +85,6 @@
79
85
  left: 0;
80
86
  width: 100%;
81
87
  height: 100%;
82
- border-radius: 100%;
83
- background-color: currentColor;
84
- opacity: 0;
85
- pointer-events: none;
86
88
  }
87
89
  .v-selection-control__input:hover::before {
88
90
  opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
@@ -74,11 +74,11 @@
74
74
  opacity: 0
75
75
 
76
76
  &::before
77
- @include tools.absolute(true)
78
77
  border-radius: 100%
79
78
  background-color: currentColor
80
79
  opacity: 0
81
80
  pointer-events: none
81
+ @include tools.absolute(true)
82
82
 
83
83
  &:hover::before
84
84
  opacity: calc(#{map.get(settings.$states, 'hover')} * var(--v-theme-overlay-multiplier))
@@ -1,17 +1,18 @@
1
1
  .v-sheet {
2
2
  display: block;
3
+ }
4
+ .v-sheet {
3
5
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
4
6
  border-style: solid;
5
7
  border-width: 0;
6
- box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
7
- border-radius: 0;
8
- background: rgb(var(--v-theme-surface));
9
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
10
8
  }
11
9
  .v-sheet--border {
12
10
  border-width: thin;
13
11
  box-shadow: none;
14
12
  }
13
+ .v-sheet {
14
+ box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
15
+ }
15
16
  .v-sheet--absolute {
16
17
  position: absolute;
17
18
  }
@@ -24,6 +25,13 @@
24
25
  .v-sheet--sticky {
25
26
  position: sticky;
26
27
  }
28
+ .v-sheet {
29
+ border-radius: 0;
30
+ }
31
+ .v-sheet {
32
+ background: rgb(var(--v-theme-surface));
33
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
34
+ }
27
35
  .v-sheet--rounded {
28
36
  border-radius: 4px;
29
37
  }
@@ -41,6 +41,12 @@
41
41
  overflow: hidden;
42
42
  position: relative;
43
43
  }
44
+ .v-skeleton-loader__bone::after {
45
+ animation: loading 1.5s infinite;
46
+ background: linear-gradient(90deg, rgba(var(--v-theme-surface), 0), rgba(var(--v-theme-surface), 0.3), rgba(var(--v-theme-surface), 0));
47
+ transform: translateX(-100%);
48
+ z-index: 1;
49
+ }
44
50
  .v-skeleton-loader__bone::after {
45
51
  content: "";
46
52
  position: absolute;
@@ -48,10 +54,6 @@
48
54
  left: 0;
49
55
  width: 100%;
50
56
  height: 100%;
51
- animation: loading 1.5s infinite;
52
- background: linear-gradient(90deg, rgba(var(--v-theme-surface), 0), rgba(var(--v-theme-surface), 0.3), rgba(var(--v-theme-surface), 0));
53
- transform: translateX(-100%);
54
- z-index: 1;
55
57
  }
56
58
  .v-skeleton-loader__avatar {
57
59
  border-radius: 50%;
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VSkeletonLoader.css";
4
4
 
@@ -127,16 +127,17 @@ export const VSkeletonLoader = genericComponent()({
127
127
  const items = computed(() => genStructure(wrapInArray(props.type).join(',')));
128
128
  useRender(() => {
129
129
  const isLoading = !slots.default || props.loading;
130
- return _createVNode("div", {
130
+ const loadingProps = props.boilerplate || !isLoading ? {} : {
131
+ ariaLive: 'polite',
132
+ ariaLabel: t(props.loadingText),
133
+ role: 'alert'
134
+ };
135
+ return _createVNode("div", _mergeProps({
131
136
  "class": ['v-skeleton-loader', {
132
137
  'v-skeleton-loader--boilerplate': props.boilerplate
133
138
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
134
- "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
135
- "aria-busy": !props.boilerplate ? isLoading : undefined,
136
- "aria-live": !props.boilerplate ? 'polite' : undefined,
137
- "aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
138
- "role": !props.boilerplate ? 'alert' : undefined
139
- }, [isLoading ? items.value : slots.default?.()]);
139
+ "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
140
+ }, loadingProps), [isLoading ? items.value : slots.default?.()]);
140
141
  });
141
142
  return {};
142
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VSkeletonLoader.mjs","names":["useBackgroundColor","makeDimensionProps","useDimension","makeElevationProps","useElevation","useLocale","makeThemeProps","provideTheme","computed","toRef","genericComponent","propsFactory","useRender","wrapInArray","rootTypes","actions","article","avatar","button","card","chip","divider","heading","image","ossein","paragraph","sentences","subtitle","table","text","genBone","type","children","arguments","length","undefined","_createVNode","genBones","bone","split","Array","from","map","genStructure","includes","mapBones","push","bones","replace","makeVSkeletonLoaderProps","boilerplate","Boolean","color","String","loading","loadingText","default","VSkeletonLoader","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","dimensionStyles","elevationClasses","themeClasses","t","items","join","isLoading","value"],"sources":["../../../src/components/VSkeletonLoader/VSkeletonLoader.tsx"],"sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useLocale } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\ntype VSkeletonBone<T> = T | VSkeletonBone<T>[]\n\nexport type VSkeletonBones = VSkeletonBone<VNode>\nexport type VSkeletonLoaderType = keyof typeof rootTypes\n\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n} as const\n\nfunction genBone (type: string, children: VSkeletonBones = []) {\n return (\n <div\n class={[\n 'v-skeleton-loader__bone',\n `v-skeleton-loader__${type}`,\n ]}\n >\n { children }\n </div>\n )\n}\n\nfunction genBones (bone: string) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [VSkeletonLoaderType, number]\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(() => genStructure(type))\n}\n\nfunction genStructure (type?: string): VSkeletonBones {\n let children: VSkeletonBones = []\n\n if (!type) return children\n\n // TODO: figure out a better way to type this\n const bone = (rootTypes as Record<string, string>)[type]\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone))\n\n return [genBone(type, children)]\n}\n\nfunction mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure)\n}\n\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading',\n },\n type: {\n type: [String, Array] as PropType<\n | VSkeletonLoaderType | (string & {})\n | ReadonlyArray<VSkeletonLoaderType | (string & {})>\n >,\n default: 'ossein',\n },\n\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps(),\n}, 'VSkeletonLoader')\n\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n\n props: makeVSkeletonLoaderProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { themeClasses } = provideTheme(props)\n const { t } = useLocale()\n\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')))\n\n useRender(() => {\n const isLoading = !slots.default || props.loading\n\n return (\n <div\n class={[\n 'v-skeleton-loader',\n {\n 'v-skeleton-loader--boilerplate': props.boilerplate,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n isLoading ? dimensionStyles.value : {},\n ]}\n aria-busy={ !props.boilerplate ? isLoading : undefined }\n aria-live={ !props.boilerplate ? 'polite' : undefined }\n aria-label={ !props.boilerplate ? t(props.loadingText) : undefined }\n role={ !props.boilerplate ? 'alert' : undefined }\n >\n { isLoading ? items.value : slots.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSkeletonLoader = InstanceType<typeof VSkeletonLoader>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VSkeletonLoader.mjs","names":["useBackgroundColor","makeDimensionProps","useDimension","makeElevationProps","useElevation","useLocale","makeThemeProps","provideTheme","computed","toRef","genericComponent","propsFactory","useRender","wrapInArray","rootTypes","actions","article","avatar","button","card","chip","divider","heading","image","ossein","paragraph","sentences","subtitle","table","text","genBone","type","children","arguments","length","undefined","_createVNode","genBones","bone","split","Array","from","map","genStructure","includes","mapBones","push","bones","replace","makeVSkeletonLoaderProps","boilerplate","Boolean","color","String","loading","loadingText","default","VSkeletonLoader","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","dimensionStyles","elevationClasses","themeClasses","t","items","join","isLoading","loadingProps","ariaLive","ariaLabel","role","_mergeProps","value"],"sources":["../../../src/components/VSkeletonLoader/VSkeletonLoader.tsx"],"sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useLocale } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\n\ntype VSkeletonBone<T> = T | VSkeletonBone<T>[]\n\nexport type VSkeletonBones = VSkeletonBone<VNode>\nexport type VSkeletonLoaderType = keyof typeof rootTypes\n\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n} as const\n\nfunction genBone (type: string, children: VSkeletonBones = []) {\n return (\n <div\n class={[\n 'v-skeleton-loader__bone',\n `v-skeleton-loader__${type}`,\n ]}\n >\n { children }\n </div>\n )\n}\n\nfunction genBones (bone: string) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [VSkeletonLoaderType, number]\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(() => genStructure(type))\n}\n\nfunction genStructure (type?: string): VSkeletonBones {\n let children: VSkeletonBones = []\n\n if (!type) return children\n\n // TODO: figure out a better way to type this\n const bone = (rootTypes as Record<string, string>)[type]\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone))\n\n return [genBone(type, children)]\n}\n\nfunction mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure)\n}\n\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading',\n },\n type: {\n type: [String, Array] as PropType<\n | VSkeletonLoaderType | (string & {})\n | ReadonlyArray<VSkeletonLoaderType | (string & {})>\n >,\n default: 'ossein',\n },\n\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps(),\n}, 'VSkeletonLoader')\n\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n\n props: makeVSkeletonLoaderProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { themeClasses } = provideTheme(props)\n const { t } = useLocale()\n\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')))\n\n useRender(() => {\n const isLoading = !slots.default || props.loading\n const loadingProps = (props.boilerplate || !isLoading) ? {} : {\n ariaLive: 'polite',\n ariaLabel: t(props.loadingText),\n role: 'alert',\n }\n\n return (\n <div\n class={[\n 'v-skeleton-loader',\n {\n 'v-skeleton-loader--boilerplate': props.boilerplate,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n isLoading ? dimensionStyles.value : {},\n ]}\n { ...loadingProps }\n >\n { isLoading ? items.value : slots.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSkeletonLoader = InstanceType<typeof VSkeletonLoader>\n"],"mappings":"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","ignoreList":[]}
@@ -48,12 +48,11 @@
48
48
  position: relative
49
49
 
50
50
  &::after
51
- @include tools.absolute(true)
52
-
53
51
  animation: $skeleton-loader-loading-animation
54
52
  background: $skeleton-loader-bone-background
55
53
  transform: $skeleton-loader-loading-transform
56
54
  z-index: 1
55
+ @include tools.absolute(true)
57
56
 
58
57
  &__avatar
59
58
  border-radius: 50%
@@ -106,9 +106,9 @@
106
106
  .v-slider-thumb__label
107
107
  bottom: $slider-thumb-label-offset
108
108
 
109
- +tools.ltr()
109
+ @include tools.ltr()
110
110
  transform: translateX(-50%)
111
- +tools.rtl()
111
+ @include tools.rtl()
112
112
  transform: translateX(50%)
113
113
 
114
114
  &::before
@@ -16,6 +16,8 @@
16
16
  min-width: 344px;
17
17
  overflow: hidden;
18
18
  padding: 0;
19
+ }
20
+ .v-snackbar__wrapper {
19
21
  border-radius: 4px;
20
22
  }
21
23
  .v-snackbar--variant-plain, .v-snackbar--variant-outlined, .v-snackbar--variant-text, .v-snackbar--variant-tonal {
@@ -21,14 +21,14 @@ import { genOverlays, makeVariantProps, useVariant } from "../../composables/var
21
21
  import { computed, inject, mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue';
22
22
  import { genericComponent, omit, propsFactory, refElement, useRender } from "../../util/index.mjs"; // Types
23
23
  function useCountdown(milliseconds) {
24
- const time = shallowRef(milliseconds);
24
+ const time = shallowRef(milliseconds());
25
25
  let timer = -1;
26
26
  function clear() {
27
27
  clearInterval(timer);
28
28
  }
29
29
  function reset() {
30
30
  clear();
31
- nextTick(() => time.value = milliseconds);
31
+ nextTick(() => time.value = milliseconds());
32
32
  }
33
33
  function start(el) {
34
34
  const style = el ? getComputedStyle(el) : {
@@ -40,7 +40,7 @@ function useCountdown(milliseconds) {
40
40
  const startTime = performance.now();
41
41
  timer = window.setInterval(() => {
42
42
  const elapsed = performance.now() - startTime + interval;
43
- time.value = Math.max(milliseconds - elapsed, 0);
43
+ time.value = Math.max(milliseconds() - elapsed, 0);
44
44
  if (time.value <= 0) clear();
45
45
  }, interval);
46
46
  }
@@ -100,7 +100,7 @@ export const VSnackbar = genericComponent()({
100
100
  const {
101
101
  roundedClasses
102
102
  } = useRounded(props);
103
- const countdown = useCountdown(Number(props.timeout));
103
+ const countdown = useCountdown(() => Number(props.timeout));
104
104
  const overlay = ref();
105
105
  const timerRef = ref();
106
106
  const isHovering = shallowRef(false);