@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.
- package/dist/json/attributes.json +17 -5
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +112 -112
- package/dist/json/tags.json +3 -0
- package/dist/json/web-types.json +44 -14
- package/dist/vuetify-labs.css +4400 -3677
- package/dist/vuetify-labs.d.ts +219 -117
- package/dist/vuetify-labs.esm.js +125 -77
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +125 -77
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3534 -2811
- package/dist/vuetify.d.ts +230 -146
- package/dist/vuetify.esm.js +62 -39
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +62 -39
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +52 -51
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +5 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
- package/lib/components/VAutocomplete/index.d.mts +42 -24
- package/lib/components/VAvatar/VAvatar.css +8 -4
- package/lib/components/VAvatar/VAvatar.mjs +1 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.css +2 -0
- package/lib/components/VBanner/VBanner.css +12 -4
- package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
- package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
- package/lib/components/VBtn/VBtn.css +16 -9
- package/lib/components/VBtn/VBtn.mjs +1 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
- package/lib/components/VCard/VCard.css +9 -1
- package/lib/components/VCarousel/VCarousel.css +2 -0
- package/lib/components/VChip/VChip.css +15 -9
- package/lib/components/VChip/VChip.sass +1 -1
- package/lib/components/VColorPicker/VColorPicker.css +2 -0
- package/lib/components/VColorPicker/VColorPicker.sass +4 -4
- package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
- package/lib/components/VCombobox/VCombobox.css +4 -0
- package/lib/components/VCombobox/index.d.mts +42 -24
- package/lib/components/VDialog/VDialog.css +5 -0
- package/lib/components/VDialog/index.d.mts +3 -3
- package/lib/components/VDivider/VDivider.css +2 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
- package/lib/components/VField/VField.css +13 -1
- package/lib/components/VField/VField.sass +5 -8
- package/lib/components/VFooter/VFooter.css +12 -4
- package/lib/components/VFooter/VFooter.mjs +20 -14
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.mts +3 -3
- package/lib/components/VGrid/VGrid.sass +1 -1
- package/lib/components/VGrid/_mixins.sass +4 -4
- package/lib/components/VImg/VImg.css +6 -0
- package/lib/components/VKbd/VKbd.css +2 -0
- package/lib/components/VList/VList.css +12 -4
- package/lib/components/VList/VListItem.css +21 -11
- package/lib/components/VList/VListItem.mjs +1 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VMain/VMain.css +2 -0
- package/lib/components/VMenu/VMenu.css +6 -0
- package/lib/components/VMenu/VMenu.mjs +20 -4
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +27 -12
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
- package/lib/components/VOtpInput/VOtpInput.css +3 -1
- package/lib/components/VOtpInput/VOtpInput.sass +1 -2
- package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +5 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +3 -2
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +4 -0
- package/lib/components/VSelect/index.d.mts +42 -24
- package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
- package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
- package/lib/components/VSheet/VSheet.css +12 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
- package/lib/components/VSlider/VSliderThumb.sass +2 -2
- package/lib/components/VSnackbar/VSnackbar.css +2 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +3 -3
- package/lib/components/VSpeedDial/index.d.mts +28 -13
- package/lib/components/VStepper/VStepper.css +8 -2
- package/lib/components/VStepper/VStepper.sass +2 -4
- package/lib/components/VStepper/VStepperItem.css +4 -1
- package/lib/components/VStepper/VStepperItem.sass +1 -1
- package/lib/components/VSwitch/VSwitch.css +2 -0
- package/lib/components/VSwitch/VSwitch.sass +10 -10
- package/lib/components/VSystemBar/VSystemBar.css +14 -8
- package/lib/components/VTable/VTable.css +8 -4
- package/lib/components/VTable/VTable.sass +2 -3
- package/lib/components/VTimeline/VTimeline.css +2 -0
- package/lib/components/VToolbar/VToolbar.css +21 -7
- package/lib/components/VToolbar/VToolbar.sass +1 -2
- package/lib/components/VTooltip/index.d.mts +3 -3
- package/lib/components/VTreeview/VTreeview.sass +9 -9
- package/lib/components/index.d.mts +193 -109
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +37 -37
- package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +17 -8
- package/lib/labs/VPicker/VPicker.css +6 -2
- package/lib/labs/VPicker/VPicker.sass +2 -3
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
- package/lib/labs/VPullToRefresh/index.d.mts +9 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
- package/lib/labs/components.d.mts +29 -11
- package/lib/styles/generic/_colors.scss +9 -3
- package/lib/styles/main.css +520 -0
- package/lib/styles/tools/_absolute.sass +8 -7
- package/lib/styles/tools/_border.sass +4 -3
- package/lib/styles/tools/_display.sass +8 -7
- package/lib/styles/tools/_elevation.sass +4 -2
- package/lib/styles/tools/_index.sass +0 -1
- package/lib/styles/tools/_radius.sass +6 -5
- package/lib/styles/tools/_rounded.sass +2 -1
- package/lib/styles/tools/_theme.sass +3 -2
- package/lib/styles/tools/_typography.sass +6 -5
- package/lib/styles/tools/_utilities.sass +5 -5
- package/lib/styles/utilities/_index.sass +7 -7
- package/package.json +1 -1
- 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
|
-
|
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
|
-
|
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%
|
@@ -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);
|