vuetify 3.5.9 → 3.5.10
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/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +106 -6
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +122 -122
- package/dist/json/tags.json +30 -0
- package/dist/json/web-types.json +582 -15
- package/dist/vuetify-labs.css +2456 -2414
- package/dist/vuetify-labs.d.ts +2711 -1996
- package/dist/vuetify-labs.esm.js +518 -40
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +518 -39
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +681 -676
- package/dist/vuetify.d.ts +2356 -2303
- package/dist/vuetify.esm.js +605 -330
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +604 -328
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1106 -1098
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +15 -15
- package/lib/components/VApp/index.d.mts +8 -8
- package/lib/components/VAppBar/index.d.mts +7 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +94 -94
- package/lib/components/VAvatar/index.d.mts +8 -8
- package/lib/components/VBadge/index.d.mts +7 -7
- package/lib/components/VBanner/index.d.mts +20 -20
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +27 -26
- package/lib/components/VBtnGroup/index.d.mts +8 -8
- package/lib/components/VCard/index.d.mts +32 -32
- package/lib/components/VCarousel/index.d.mts +6 -6
- package/lib/components/VCheckbox/index.d.mts +44 -44
- package/lib/components/VChip/index.d.mts +7 -7
- package/lib/components/VCode/index.d.mts +8 -8
- package/lib/components/VCombobox/VCombobox.mjs +5 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +94 -94
- package/lib/components/VDataTable/index.d.mts +6 -6
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +10 -4
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +10 -10
- package/lib/components/VDefaultsProvider/index.d.mts +8 -8
- package/lib/components/VDialog/index.d.mts +12 -6
- package/lib/components/VDivider/index.d.mts +8 -8
- package/lib/components/VExpansionPanel/index.d.mts +19 -19
- package/lib/components/VField/VField.css +2 -0
- package/lib/components/VField/VField.mjs +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -0
- package/lib/components/VField/index.d.mts +28 -28
- package/lib/components/VFileInput/index.d.mts +133 -133
- package/lib/components/VFooter/index.d.mts +8 -8
- package/lib/components/VGrid/index.d.mts +32 -32
- package/lib/components/VIcon/VIcon.css +4 -0
- package/lib/components/VIcon/VIcon.mjs +7 -3
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +4 -0
- package/lib/components/VIcon/_variables.scss +1 -0
- package/lib/components/VIcon/index.d.mts +25 -16
- package/lib/components/VImg/index.d.mts +4 -4
- package/lib/components/VInput/index.d.mts +21 -21
- package/lib/components/VKbd/index.d.mts +8 -8
- package/lib/components/VLabel/index.d.mts +8 -8
- package/lib/components/VLayout/index.d.mts +16 -16
- package/lib/components/VLazy/index.d.mts +8 -8
- package/lib/components/VList/VListItem.mjs +2 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +48 -48
- package/lib/components/VLocaleProvider/index.d.mts +12 -12
- package/lib/components/VMain/index.d.mts +8 -8
- package/lib/components/VMenu/VMenu.mjs +3 -0
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +14 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +22 -8
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -1
- package/lib/components/VNavigationDrawer/index.d.mts +11 -11
- package/lib/components/VOtpInput/VOtpInput.mjs +7 -2
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.d.mts +31 -31
- package/lib/components/VOverlay/VOverlay.mjs +8 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +3 -0
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +7 -7
- package/lib/components/VProgressLinear/VProgressLinear.css +0 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
- package/lib/components/VProgressLinear/index.d.mts +7 -7
- package/lib/components/VRadioGroup/index.d.mts +44 -44
- package/lib/components/VRangeSlider/index.d.mts +47 -47
- package/lib/components/VRating/index.d.mts +7 -7
- package/lib/components/VResponsive/index.d.mts +8 -8
- package/lib/components/VSelect/index.d.mts +94 -94
- package/lib/components/VSheet/index.d.mts +8 -8
- package/lib/components/VSkeletonLoader/index.d.mts +8 -8
- package/lib/components/VSlider/index.d.mts +47 -47
- package/lib/components/VSnackbar/index.d.mts +25 -19
- package/lib/components/VStepper/index.d.mts +41 -41
- package/lib/components/VSwitch/index.d.mts +39 -39
- package/lib/components/VSystemBar/index.d.mts +8 -8
- package/lib/components/VTabs/index.d.mts +15 -15
- package/lib/components/VTextField/index.d.mts +173 -173
- package/lib/components/VTextarea/index.d.mts +119 -119
- package/lib/components/VThemeProvider/index.d.mts +8 -8
- package/lib/components/VTimeline/index.d.mts +8 -8
- package/lib/components/VToolbar/index.d.mts +8 -8
- package/lib/components/VTooltip/index.d.mts +14 -8
- package/lib/components/VWindow/index.d.mts +10 -10
- package/lib/components/index.d.mts +1869 -1832
- package/lib/components/transitions/index.d.mts +128 -128
- package/lib/composables/date/adapters/vuetify.mjs +1 -1
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +3 -2
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +37 -36
- package/lib/labs/VCalendar/index.d.mts +32 -32
- package/lib/labs/VFab/index.d.mts +15 -15
- package/lib/labs/VNumberInput/VNumberInput.css +38 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +209 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -0
- package/lib/labs/VNumberInput/VNumberInput.sass +47 -0
- package/lib/labs/VNumberInput/_variables.scss +1 -0
- package/lib/labs/VNumberInput/index.d.mts +607 -0
- package/lib/labs/VNumberInput/index.mjs +2 -0
- package/lib/labs/VNumberInput/index.mjs.map +1 -0
- package/lib/labs/VPicker/index.d.mts +8 -8
- package/lib/labs/VSparkline/index.d.mts +7 -7
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +9 -5
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VSpeedDial/index.d.mts +120 -24
- package/lib/labs/VTreeview/index.d.mts +8 -8
- package/lib/labs/components.d.mts +788 -95
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -1
- package/lib/locale/no.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1655,9 +1655,9 @@ declare const VListImg: {
|
|
|
1655
1655
|
} & {
|
|
1656
1656
|
class?: any;
|
|
1657
1657
|
} & {
|
|
1658
|
-
$children?: vue.VNodeChild |
|
|
1658
|
+
$children?: vue.VNodeChild | {
|
|
1659
1659
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1660
|
-
};
|
|
1660
|
+
} | (() => vue.VNodeChild);
|
|
1661
1661
|
'v-slots'?: {
|
|
1662
1662
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1663
1663
|
} | undefined;
|
|
@@ -1671,9 +1671,9 @@ declare const VListImg: {
|
|
|
1671
1671
|
} & {
|
|
1672
1672
|
class?: any;
|
|
1673
1673
|
} & {
|
|
1674
|
-
$children?: vue.VNodeChild |
|
|
1674
|
+
$children?: vue.VNodeChild | {
|
|
1675
1675
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1676
|
-
};
|
|
1676
|
+
} | (() => vue.VNodeChild);
|
|
1677
1677
|
'v-slots'?: {
|
|
1678
1678
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1679
1679
|
} | undefined;
|
|
@@ -1699,9 +1699,9 @@ declare const VListImg: {
|
|
|
1699
1699
|
} & {
|
|
1700
1700
|
class?: any;
|
|
1701
1701
|
} & {
|
|
1702
|
-
$children?: vue.VNodeChild |
|
|
1702
|
+
$children?: vue.VNodeChild | {
|
|
1703
1703
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1704
|
-
};
|
|
1704
|
+
} | (() => vue.VNodeChild);
|
|
1705
1705
|
'v-slots'?: {
|
|
1706
1706
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1707
1707
|
} | undefined;
|
|
@@ -1722,9 +1722,9 @@ declare const VListImg: {
|
|
|
1722
1722
|
} & {
|
|
1723
1723
|
class?: any;
|
|
1724
1724
|
} & {
|
|
1725
|
-
$children?: vue.VNodeChild |
|
|
1725
|
+
$children?: vue.VNodeChild | {
|
|
1726
1726
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1727
|
-
};
|
|
1727
|
+
} | (() => vue.VNodeChild);
|
|
1728
1728
|
'v-slots'?: {
|
|
1729
1729
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1730
1730
|
} | undefined;
|
|
@@ -1771,9 +1771,9 @@ declare const VListItemAction: {
|
|
|
1771
1771
|
} & {
|
|
1772
1772
|
class?: any;
|
|
1773
1773
|
} & {
|
|
1774
|
-
$children?: vue.VNodeChild |
|
|
1774
|
+
$children?: vue.VNodeChild | {
|
|
1775
1775
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1776
|
-
};
|
|
1776
|
+
} | (() => vue.VNodeChild);
|
|
1777
1777
|
'v-slots'?: {
|
|
1778
1778
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1779
1779
|
} | undefined;
|
|
@@ -1787,9 +1787,9 @@ declare const VListItemAction: {
|
|
|
1787
1787
|
} & {
|
|
1788
1788
|
class?: any;
|
|
1789
1789
|
} & {
|
|
1790
|
-
$children?: vue.VNodeChild |
|
|
1790
|
+
$children?: vue.VNodeChild | {
|
|
1791
1791
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1792
|
-
};
|
|
1792
|
+
} | (() => vue.VNodeChild);
|
|
1793
1793
|
'v-slots'?: {
|
|
1794
1794
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1795
1795
|
} | undefined;
|
|
@@ -1819,9 +1819,9 @@ declare const VListItemAction: {
|
|
|
1819
1819
|
} & {
|
|
1820
1820
|
class?: any;
|
|
1821
1821
|
} & {
|
|
1822
|
-
$children?: vue.VNodeChild |
|
|
1822
|
+
$children?: vue.VNodeChild | {
|
|
1823
1823
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1824
|
-
};
|
|
1824
|
+
} | (() => vue.VNodeChild);
|
|
1825
1825
|
'v-slots'?: {
|
|
1826
1826
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1827
1827
|
} | undefined;
|
|
@@ -1844,9 +1844,9 @@ declare const VListItemAction: {
|
|
|
1844
1844
|
} & {
|
|
1845
1845
|
class?: any;
|
|
1846
1846
|
} & {
|
|
1847
|
-
$children?: vue.VNodeChild |
|
|
1847
|
+
$children?: vue.VNodeChild | {
|
|
1848
1848
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1849
|
-
};
|
|
1849
|
+
} | (() => vue.VNodeChild);
|
|
1850
1850
|
'v-slots'?: {
|
|
1851
1851
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1852
1852
|
} | undefined;
|
|
@@ -1897,9 +1897,9 @@ declare const VListItemMedia: {
|
|
|
1897
1897
|
} & {
|
|
1898
1898
|
class?: any;
|
|
1899
1899
|
} & {
|
|
1900
|
-
$children?: vue.VNodeChild |
|
|
1900
|
+
$children?: vue.VNodeChild | {
|
|
1901
1901
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1902
|
-
};
|
|
1902
|
+
} | (() => vue.VNodeChild);
|
|
1903
1903
|
'v-slots'?: {
|
|
1904
1904
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1905
1905
|
} | undefined;
|
|
@@ -1913,9 +1913,9 @@ declare const VListItemMedia: {
|
|
|
1913
1913
|
} & {
|
|
1914
1914
|
class?: any;
|
|
1915
1915
|
} & {
|
|
1916
|
-
$children?: vue.VNodeChild |
|
|
1916
|
+
$children?: vue.VNodeChild | {
|
|
1917
1917
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1918
|
-
};
|
|
1918
|
+
} | (() => vue.VNodeChild);
|
|
1919
1919
|
'v-slots'?: {
|
|
1920
1920
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1921
1921
|
} | undefined;
|
|
@@ -1945,9 +1945,9 @@ declare const VListItemMedia: {
|
|
|
1945
1945
|
} & {
|
|
1946
1946
|
class?: any;
|
|
1947
1947
|
} & {
|
|
1948
|
-
$children?: vue.VNodeChild |
|
|
1948
|
+
$children?: vue.VNodeChild | {
|
|
1949
1949
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1950
|
-
};
|
|
1950
|
+
} | (() => vue.VNodeChild);
|
|
1951
1951
|
'v-slots'?: {
|
|
1952
1952
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1953
1953
|
} | undefined;
|
|
@@ -1970,9 +1970,9 @@ declare const VListItemMedia: {
|
|
|
1970
1970
|
} & {
|
|
1971
1971
|
class?: any;
|
|
1972
1972
|
} & {
|
|
1973
|
-
$children?: vue.VNodeChild |
|
|
1973
|
+
$children?: vue.VNodeChild | {
|
|
1974
1974
|
default?: (() => vue.VNodeChild) | undefined;
|
|
1975
|
-
};
|
|
1975
|
+
} | (() => vue.VNodeChild);
|
|
1976
1976
|
'v-slots'?: {
|
|
1977
1977
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
1978
1978
|
} | undefined;
|
|
@@ -2021,9 +2021,9 @@ declare const VListItemSubtitle: {
|
|
|
2021
2021
|
} & {
|
|
2022
2022
|
class?: any;
|
|
2023
2023
|
} & {
|
|
2024
|
-
$children?: vue.VNodeChild |
|
|
2024
|
+
$children?: vue.VNodeChild | {
|
|
2025
2025
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2026
|
-
};
|
|
2026
|
+
} | (() => vue.VNodeChild);
|
|
2027
2027
|
'v-slots'?: {
|
|
2028
2028
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2029
2029
|
} | undefined;
|
|
@@ -2037,9 +2037,9 @@ declare const VListItemSubtitle: {
|
|
|
2037
2037
|
} & {
|
|
2038
2038
|
class?: any;
|
|
2039
2039
|
} & {
|
|
2040
|
-
$children?: vue.VNodeChild |
|
|
2040
|
+
$children?: vue.VNodeChild | {
|
|
2041
2041
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2042
|
-
};
|
|
2042
|
+
} | (() => vue.VNodeChild);
|
|
2043
2043
|
'v-slots'?: {
|
|
2044
2044
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2045
2045
|
} | undefined;
|
|
@@ -2065,9 +2065,9 @@ declare const VListItemSubtitle: {
|
|
|
2065
2065
|
} & {
|
|
2066
2066
|
class?: any;
|
|
2067
2067
|
} & {
|
|
2068
|
-
$children?: vue.VNodeChild |
|
|
2068
|
+
$children?: vue.VNodeChild | {
|
|
2069
2069
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2070
|
-
};
|
|
2070
|
+
} | (() => vue.VNodeChild);
|
|
2071
2071
|
'v-slots'?: {
|
|
2072
2072
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2073
2073
|
} | undefined;
|
|
@@ -2088,9 +2088,9 @@ declare const VListItemSubtitle: {
|
|
|
2088
2088
|
} & {
|
|
2089
2089
|
class?: any;
|
|
2090
2090
|
} & {
|
|
2091
|
-
$children?: vue.VNodeChild |
|
|
2091
|
+
$children?: vue.VNodeChild | {
|
|
2092
2092
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2093
|
-
};
|
|
2093
|
+
} | (() => vue.VNodeChild);
|
|
2094
2094
|
'v-slots'?: {
|
|
2095
2095
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2096
2096
|
} | undefined;
|
|
@@ -2135,9 +2135,9 @@ declare const VListItemTitle: {
|
|
|
2135
2135
|
} & {
|
|
2136
2136
|
class?: any;
|
|
2137
2137
|
} & {
|
|
2138
|
-
$children?: vue.VNodeChild |
|
|
2138
|
+
$children?: vue.VNodeChild | {
|
|
2139
2139
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2140
|
-
};
|
|
2140
|
+
} | (() => vue.VNodeChild);
|
|
2141
2141
|
'v-slots'?: {
|
|
2142
2142
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2143
2143
|
} | undefined;
|
|
@@ -2151,9 +2151,9 @@ declare const VListItemTitle: {
|
|
|
2151
2151
|
} & {
|
|
2152
2152
|
class?: any;
|
|
2153
2153
|
} & {
|
|
2154
|
-
$children?: vue.VNodeChild |
|
|
2154
|
+
$children?: vue.VNodeChild | {
|
|
2155
2155
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2156
|
-
};
|
|
2156
|
+
} | (() => vue.VNodeChild);
|
|
2157
2157
|
'v-slots'?: {
|
|
2158
2158
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2159
2159
|
} | undefined;
|
|
@@ -2179,9 +2179,9 @@ declare const VListItemTitle: {
|
|
|
2179
2179
|
} & {
|
|
2180
2180
|
class?: any;
|
|
2181
2181
|
} & {
|
|
2182
|
-
$children?: vue.VNodeChild |
|
|
2182
|
+
$children?: vue.VNodeChild | {
|
|
2183
2183
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2184
|
-
};
|
|
2184
|
+
} | (() => vue.VNodeChild);
|
|
2185
2185
|
'v-slots'?: {
|
|
2186
2186
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2187
2187
|
} | undefined;
|
|
@@ -2202,9 +2202,9 @@ declare const VListItemTitle: {
|
|
|
2202
2202
|
} & {
|
|
2203
2203
|
class?: any;
|
|
2204
2204
|
} & {
|
|
2205
|
-
$children?: vue.VNodeChild |
|
|
2205
|
+
$children?: vue.VNodeChild | {
|
|
2206
2206
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2207
|
-
};
|
|
2207
|
+
} | (() => vue.VNodeChild);
|
|
2208
2208
|
'v-slots'?: {
|
|
2209
2209
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2210
2210
|
} | undefined;
|
|
@@ -2253,9 +2253,9 @@ declare const VListSubheader: {
|
|
|
2253
2253
|
title?: string | undefined;
|
|
2254
2254
|
class?: any;
|
|
2255
2255
|
} & {
|
|
2256
|
-
$children?: vue.VNodeChild |
|
|
2256
|
+
$children?: vue.VNodeChild | {
|
|
2257
2257
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2258
|
-
};
|
|
2258
|
+
} | (() => vue.VNodeChild);
|
|
2259
2259
|
'v-slots'?: {
|
|
2260
2260
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2261
2261
|
} | undefined;
|
|
@@ -2271,9 +2271,9 @@ declare const VListSubheader: {
|
|
|
2271
2271
|
title?: string | undefined;
|
|
2272
2272
|
class?: any;
|
|
2273
2273
|
} & {
|
|
2274
|
-
$children?: vue.VNodeChild |
|
|
2274
|
+
$children?: vue.VNodeChild | {
|
|
2275
2275
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2276
|
-
};
|
|
2276
|
+
} | (() => vue.VNodeChild);
|
|
2277
2277
|
'v-slots'?: {
|
|
2278
2278
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2279
2279
|
} | undefined;
|
|
@@ -2305,9 +2305,9 @@ declare const VListSubheader: {
|
|
|
2305
2305
|
title?: string | undefined;
|
|
2306
2306
|
class?: any;
|
|
2307
2307
|
} & {
|
|
2308
|
-
$children?: vue.VNodeChild |
|
|
2308
|
+
$children?: vue.VNodeChild | {
|
|
2309
2309
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2310
|
-
};
|
|
2310
|
+
} | (() => vue.VNodeChild);
|
|
2311
2311
|
'v-slots'?: {
|
|
2312
2312
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2313
2313
|
} | undefined;
|
|
@@ -2332,9 +2332,9 @@ declare const VListSubheader: {
|
|
|
2332
2332
|
title?: string | undefined;
|
|
2333
2333
|
class?: any;
|
|
2334
2334
|
} & {
|
|
2335
|
-
$children?: vue.VNodeChild |
|
|
2335
|
+
$children?: vue.VNodeChild | {
|
|
2336
2336
|
default?: (() => vue.VNodeChild) | undefined;
|
|
2337
|
-
};
|
|
2337
|
+
} | (() => vue.VNodeChild);
|
|
2338
2338
|
'v-slots'?: {
|
|
2339
2339
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
2340
2340
|
} | undefined;
|
|
@@ -12,12 +12,12 @@ declare const VLocaleProvider: {
|
|
|
12
12
|
rtl?: boolean | undefined;
|
|
13
13
|
class?: any;
|
|
14
14
|
locale?: string | undefined;
|
|
15
|
-
messages?: Record<string, any> | undefined;
|
|
16
15
|
fallbackLocale?: string | undefined;
|
|
16
|
+
messages?: Record<string, any> | undefined;
|
|
17
17
|
} & {
|
|
18
|
-
$children?: vue.VNodeChild |
|
|
18
|
+
$children?: vue.VNodeChild | {
|
|
19
19
|
default?: (() => vue.VNodeChild) | undefined;
|
|
20
|
-
};
|
|
20
|
+
} | (() => vue.VNodeChild);
|
|
21
21
|
'v-slots'?: {
|
|
22
22
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
23
23
|
} | undefined;
|
|
@@ -29,12 +29,12 @@ declare const VLocaleProvider: {
|
|
|
29
29
|
rtl?: boolean | undefined;
|
|
30
30
|
class?: any;
|
|
31
31
|
locale?: string | undefined;
|
|
32
|
-
messages?: Record<string, any> | undefined;
|
|
33
32
|
fallbackLocale?: string | undefined;
|
|
33
|
+
messages?: Record<string, any> | undefined;
|
|
34
34
|
} & {
|
|
35
|
-
$children?: vue.VNodeChild |
|
|
35
|
+
$children?: vue.VNodeChild | {
|
|
36
36
|
default?: (() => vue.VNodeChild) | undefined;
|
|
37
|
-
};
|
|
37
|
+
} | (() => vue.VNodeChild);
|
|
38
38
|
'v-slots'?: {
|
|
39
39
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
40
40
|
} | undefined;
|
|
@@ -60,12 +60,12 @@ declare const VLocaleProvider: {
|
|
|
60
60
|
rtl?: boolean | undefined;
|
|
61
61
|
class?: any;
|
|
62
62
|
locale?: string | undefined;
|
|
63
|
-
messages?: Record<string, any> | undefined;
|
|
64
63
|
fallbackLocale?: string | undefined;
|
|
64
|
+
messages?: Record<string, any> | undefined;
|
|
65
65
|
} & {
|
|
66
|
-
$children?: vue.VNodeChild |
|
|
66
|
+
$children?: vue.VNodeChild | {
|
|
67
67
|
default?: (() => vue.VNodeChild) | undefined;
|
|
68
|
-
};
|
|
68
|
+
} | (() => vue.VNodeChild);
|
|
69
69
|
'v-slots'?: {
|
|
70
70
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
71
71
|
} | undefined;
|
|
@@ -84,12 +84,12 @@ declare const VLocaleProvider: {
|
|
|
84
84
|
rtl?: boolean | undefined;
|
|
85
85
|
class?: any;
|
|
86
86
|
locale?: string | undefined;
|
|
87
|
-
messages?: Record<string, any> | undefined;
|
|
88
87
|
fallbackLocale?: string | undefined;
|
|
88
|
+
messages?: Record<string, any> | undefined;
|
|
89
89
|
} & {
|
|
90
|
-
$children?: vue.VNodeChild |
|
|
90
|
+
$children?: vue.VNodeChild | {
|
|
91
91
|
default?: (() => vue.VNodeChild) | undefined;
|
|
92
|
-
};
|
|
92
|
+
} | (() => vue.VNodeChild);
|
|
93
93
|
'v-slots'?: {
|
|
94
94
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
95
95
|
} | undefined;
|
|
@@ -13,9 +13,9 @@ declare const VMain: {
|
|
|
13
13
|
} & {
|
|
14
14
|
class?: any;
|
|
15
15
|
} & {
|
|
16
|
-
$children?: vue.VNodeChild |
|
|
16
|
+
$children?: vue.VNodeChild | {
|
|
17
17
|
default?: (() => vue.VNodeChild) | undefined;
|
|
18
|
-
};
|
|
18
|
+
} | (() => vue.VNodeChild);
|
|
19
19
|
'v-slots'?: {
|
|
20
20
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
21
21
|
} | undefined;
|
|
@@ -28,9 +28,9 @@ declare const VMain: {
|
|
|
28
28
|
} & {
|
|
29
29
|
class?: any;
|
|
30
30
|
} & {
|
|
31
|
-
$children?: vue.VNodeChild |
|
|
31
|
+
$children?: vue.VNodeChild | {
|
|
32
32
|
default?: (() => vue.VNodeChild) | undefined;
|
|
33
|
-
};
|
|
33
|
+
} | (() => vue.VNodeChild);
|
|
34
34
|
'v-slots'?: {
|
|
35
35
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
36
36
|
} | undefined;
|
|
@@ -58,9 +58,9 @@ declare const VMain: {
|
|
|
58
58
|
} & {
|
|
59
59
|
class?: any;
|
|
60
60
|
} & {
|
|
61
|
-
$children?: vue.VNodeChild |
|
|
61
|
+
$children?: vue.VNodeChild | {
|
|
62
62
|
default?: (() => vue.VNodeChild) | undefined;
|
|
63
|
-
};
|
|
63
|
+
} | (() => vue.VNodeChild);
|
|
64
64
|
'v-slots'?: {
|
|
65
65
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
66
66
|
} | undefined;
|
|
@@ -81,9 +81,9 @@ declare const VMain: {
|
|
|
81
81
|
} & {
|
|
82
82
|
class?: any;
|
|
83
83
|
} & {
|
|
84
|
-
$children?: vue.VNodeChild |
|
|
84
|
+
$children?: vue.VNodeChild | {
|
|
85
85
|
default?: (() => vue.VNodeChild) | undefined;
|
|
86
|
-
};
|
|
86
|
+
} | (() => vue.VNodeChild);
|
|
87
87
|
'v-slots'?: {
|
|
88
88
|
default?: false | (() => vue.VNodeChild) | undefined;
|
|
89
89
|
} | undefined;
|
|
@@ -101,6 +101,9 @@ export const VMenu = genericComponent()({
|
|
|
101
101
|
isActive.value = false;
|
|
102
102
|
overlay.value?.activatorEl?.focus();
|
|
103
103
|
}
|
|
104
|
+
} else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
|
|
105
|
+
isActive.value = false;
|
|
106
|
+
parent?.closeParents();
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
109
|
function onActivatorKeydown(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","e","setTimeout","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","preventDefault","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n isClickInsideElement,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value &&\n (e == null || (e && !isClickInsideElement(e, overlay.value!.contentEl!)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside (e: MouseEvent) {\n parent?.closeParents(e)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab') {\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n id={ id.value }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","e","setTimeout","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","preventDefault","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n isClickInsideElement,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value &&\n (e == null || (e && !isClickInsideElement(e, overlay.value!.contentEl!)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside (e: MouseEvent) {\n parent?.closeParents(e)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab') {\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {\n isActive.value = false\n parent?.closeParents()\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n id={ id.value }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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"}
|
|
@@ -451,6 +451,7 @@ declare const VMenu: {
|
|
|
451
451
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
452
452
|
}, {
|
|
453
453
|
activatorEl: vue.Ref<HTMLElement | undefined>;
|
|
454
|
+
scrimEl: vue.Ref<HTMLElement | undefined>;
|
|
454
455
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
455
456
|
animateClick: () => void;
|
|
456
457
|
contentEl: vue.Ref<HTMLElement | undefined>;
|
|
@@ -598,15 +599,16 @@ declare const VMenu: {
|
|
|
598
599
|
onAfterLeave?: (() => any) | undefined;
|
|
599
600
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
600
601
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
601
|
-
}, "target" | "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
|
602
|
+
}, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
|
602
603
|
activatorEl: vue.Ref<HTMLElement | undefined>;
|
|
604
|
+
scrimEl: vue.Ref<HTMLElement | undefined>;
|
|
603
605
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
604
606
|
animateClick: () => void;
|
|
605
607
|
contentEl: vue.Ref<HTMLElement | undefined>;
|
|
606
608
|
globalTop: Readonly<vue.Ref<boolean>>;
|
|
607
609
|
localTop: vue.ComputedRef<boolean>;
|
|
608
610
|
updateLocation: vue.Ref<((e: Event) => void) | undefined>;
|
|
609
|
-
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "
|
|
611
|
+
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
610
612
|
'update:modelValue': (value: boolean) => boolean;
|
|
611
613
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
612
614
|
location: Anchor;
|
|
@@ -1099,6 +1101,7 @@ declare const VMenu: {
|
|
|
1099
1101
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
1100
1102
|
}, {
|
|
1101
1103
|
activatorEl: vue.Ref<HTMLElement | undefined>;
|
|
1104
|
+
scrimEl: vue.Ref<HTMLElement | undefined>;
|
|
1102
1105
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
1103
1106
|
animateClick: () => void;
|
|
1104
1107
|
contentEl: vue.Ref<HTMLElement | undefined>;
|
|
@@ -1246,15 +1249,16 @@ declare const VMenu: {
|
|
|
1246
1249
|
onAfterLeave?: (() => any) | undefined;
|
|
1247
1250
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1248
1251
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
1249
|
-
}, "target" | "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
|
1252
|
+
}, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
|
1250
1253
|
activatorEl: vue.Ref<HTMLElement | undefined>;
|
|
1254
|
+
scrimEl: vue.Ref<HTMLElement | undefined>;
|
|
1251
1255
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
1252
1256
|
animateClick: () => void;
|
|
1253
1257
|
contentEl: vue.Ref<HTMLElement | undefined>;
|
|
1254
1258
|
globalTop: Readonly<vue.Ref<boolean>>;
|
|
1255
1259
|
localTop: vue.ComputedRef<boolean>;
|
|
1256
1260
|
updateLocation: vue.Ref<((e: Event) => void) | undefined>;
|
|
1257
|
-
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "
|
|
1261
|
+
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, {}, {}, {}, {
|
|
1258
1262
|
location: Anchor;
|
|
1259
1263
|
origin: "auto" | Anchor | "overlap";
|
|
1260
1264
|
transition: NonNullable<string | boolean | (vue.TransitionProps & {
|
|
@@ -1653,6 +1657,7 @@ declare const VMenu: {
|
|
|
1653
1657
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
1654
1658
|
}, {
|
|
1655
1659
|
activatorEl: vue.Ref<HTMLElement | undefined>;
|
|
1660
|
+
scrimEl: vue.Ref<HTMLElement | undefined>;
|
|
1656
1661
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
1657
1662
|
animateClick: () => void;
|
|
1658
1663
|
contentEl: vue.Ref<HTMLElement | undefined>;
|
|
@@ -1800,15 +1805,16 @@ declare const VMenu: {
|
|
|
1800
1805
|
onAfterLeave?: (() => any) | undefined;
|
|
1801
1806
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1802
1807
|
"onClick:outside"?: ((e: MouseEvent) => any) | undefined;
|
|
1803
|
-
}, "target" | "activatorEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
|
1808
|
+
}, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
|
|
1804
1809
|
activatorEl: vue.Ref<HTMLElement | undefined>;
|
|
1810
|
+
scrimEl: vue.Ref<HTMLElement | undefined>;
|
|
1805
1811
|
target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
|
|
1806
1812
|
animateClick: () => void;
|
|
1807
1813
|
contentEl: vue.Ref<HTMLElement | undefined>;
|
|
1808
1814
|
globalTop: Readonly<vue.Ref<boolean>>;
|
|
1809
1815
|
localTop: vue.ComputedRef<boolean>;
|
|
1810
1816
|
updateLocation: vue.Ref<((e: Event) => void) | undefined>;
|
|
1811
|
-
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "
|
|
1817
|
+
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1812
1818
|
'update:modelValue': (value: boolean) => boolean;
|
|
1813
1819
|
}, string, {
|
|
1814
1820
|
location: Anchor;
|
|
@@ -1899,8 +1905,8 @@ declare const VMenu: {
|
|
|
1899
1905
|
disabled: BooleanConstructor;
|
|
1900
1906
|
class: vue.PropType<any>;
|
|
1901
1907
|
theme: StringConstructor;
|
|
1902
|
-
contentClass: null;
|
|
1903
1908
|
modelValue: BooleanConstructor;
|
|
1909
|
+
contentClass: null;
|
|
1904
1910
|
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
1905
1911
|
locationStrategy: Omit<{
|
|
1906
1912
|
type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
|
|
@@ -2014,8 +2020,8 @@ declare const VMenu: {
|
|
|
2014
2020
|
disabled: BooleanConstructor;
|
|
2015
2021
|
class: vue.PropType<any>;
|
|
2016
2022
|
theme: StringConstructor;
|
|
2017
|
-
contentClass: null;
|
|
2018
2023
|
modelValue: BooleanConstructor;
|
|
2024
|
+
contentClass: null;
|
|
2019
2025
|
activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
|
|
2020
2026
|
locationStrategy: Omit<{
|
|
2021
2027
|
type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
1
|
+
import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VNavigationDrawer.css";
|
|
4
4
|
|
|
5
|
-
//
|
|
5
|
+
// Components
|
|
6
|
+
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
|
|
7
|
+
import { VImg } from "../VImg/index.mjs"; // Composables
|
|
6
8
|
import { useSticky } from "./sticky.mjs";
|
|
7
9
|
import { useTouch } from "./touch.mjs";
|
|
8
10
|
import { useRtl } from "../../composables/index.mjs";
|
|
@@ -220,12 +222,24 @@ export const VNavigationDrawer = genericComponent()({
|
|
|
220
222
|
default: () => [hasImage && _createVNode("div", {
|
|
221
223
|
"key": "image",
|
|
222
224
|
"class": "v-navigation-drawer__img"
|
|
223
|
-
}, [slots.image ?
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
"
|
|
227
|
-
"
|
|
228
|
-
|
|
225
|
+
}, [!slots.image ? _createVNode(VImg, {
|
|
226
|
+
"key": "image-img",
|
|
227
|
+
"alt": "",
|
|
228
|
+
"cover": true,
|
|
229
|
+
"height": "inherit",
|
|
230
|
+
"src": props.image
|
|
231
|
+
}, null) : _createVNode(VDefaultsProvider, {
|
|
232
|
+
"key": "image-defaults",
|
|
233
|
+
"disabled": !props.image,
|
|
234
|
+
"defaults": {
|
|
235
|
+
VImg: {
|
|
236
|
+
alt: '',
|
|
237
|
+
cover: true,
|
|
238
|
+
height: 'inherit',
|
|
239
|
+
src: props.image
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}, slots.image)]), slots.prepend && _createVNode("div", {
|
|
229
243
|
"class": "v-navigation-drawer__prepend"
|
|
230
244
|
}, [slots.prepend?.()]), _createVNode("div", {
|
|
231
245
|
"class": "v-navigation-drawer__content"
|