@vuetify/nightly 3.7.3-next.2024-11-01 → 3.7.4-dev.2024-11-06
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 +5634 -5586
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +152 -152
- package/dist/json/tags.json +14 -1
- package/dist/json/web-types.json +10062 -9974
- package/dist/vuetify-labs.css +25162 -23449
- package/dist/vuetify-labs.d.ts +2 -1
- package/dist/vuetify-labs.esm.js +31 -15
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +31 -15
- package/dist/vuetify-labs.min.css +4 -3
- package/dist/vuetify.css +24102 -22386
- package/dist/vuetify.d.ts +54 -53
- package/dist/vuetify.esm.js +31 -15
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +31 -15
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +4 -3
- package/dist/vuetify.min.js +22 -22
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +215 -207
- package/lib/components/VApp/VApp.css +15 -16
- package/lib/components/VAppBar/VAppBar.css +12 -14
- package/lib/components/VAutocomplete/VAutocomplete.css +85 -86
- package/lib/components/VAvatar/VAvatar.css +106 -108
- package/lib/components/VBadge/VBadge.css +73 -73
- package/lib/components/VBanner/VBanner.css +166 -161
- package/lib/components/VBottomNavigation/VBottomNavigation.css +63 -64
- package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
- package/lib/components/VBtn/VBtn.css +408 -385
- package/lib/components/VBtn/VBtn.sass +11 -12
- package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
- package/lib/components/VBtnToggle/VBtnToggle.css +14 -13
- package/lib/components/VBtnToggle/VBtnToggle.sass +3 -0
- package/lib/components/VCard/VCard.css +302 -294
- package/lib/components/VCarousel/VCarousel.css +65 -63
- package/lib/components/VCarousel/VCarousel.sass +1 -1
- package/lib/components/VCheckbox/VCheckbox.css +5 -7
- package/lib/components/VChip/VChip.css +411 -378
- package/lib/components/VChipGroup/VChipGroup.css +18 -19
- package/lib/components/VCode/VCode.css +8 -10
- package/lib/components/VCode/index.mjs +1 -1
- package/lib/components/VCode/index.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.css +22 -22
- package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
- package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
- package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
- package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
- package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
- package/lib/components/VCombobox/VCombobox.css +85 -86
- package/lib/components/VCounter/VCounter.css +5 -7
- package/lib/components/VDataTable/VDataTable.css +186 -189
- package/lib/components/VDataTable/VDataTable.sass +10 -20
- package/lib/components/VDataTable/VDataTableFooter.css +31 -33
- package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +1 -0
- package/lib/components/VDatePicker/VDatePicker.css +6 -8
- package/lib/components/VDatePicker/VDatePickerControls.css +56 -54
- package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
- package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
- package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
- package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
- package/lib/components/VDialog/VDialog.css +95 -99
- package/lib/components/VDialog/VDialog.mjs +8 -1
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +6 -7
- package/lib/components/VDivider/VDivider.css +52 -52
- package/lib/components/VEmptyState/VEmptyState.css +67 -62
- package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
- package/lib/components/VFab/VFab.css +69 -74
- package/lib/components/VFab/VFab.sass +4 -5
- package/lib/components/VField/VField.css +579 -539
- package/lib/components/VFileInput/VFileInput.css +29 -31
- package/lib/components/VFooter/VFooter.css +36 -38
- package/lib/components/VGrid/VGrid.css +592 -565
- package/lib/components/VIcon/VIcon.css +52 -51
- package/lib/components/VImg/VImg.css +51 -50
- package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
- package/lib/components/VInput/VInput.css +142 -131
- package/lib/components/VItemGroup/VItemGroup.css +5 -7
- package/lib/components/VKbd/VKbd.css +11 -13
- package/lib/components/VKbd/index.mjs +1 -1
- package/lib/components/VKbd/index.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.css +15 -16
- package/lib/components/VLayout/VLayout.css +8 -10
- package/lib/components/VLayout/VLayoutItem.css +7 -8
- package/lib/components/VList/VList.css +108 -104
- package/lib/components/VList/VList.sass +1 -1
- package/lib/components/VList/VListItem.css +452 -439
- package/lib/components/VList/VListItem.sass +17 -12
- package/lib/components/VList/_variables.scss +0 -11
- package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
- package/lib/components/VMain/VMain.css +30 -32
- package/lib/components/VMenu/VMenu.css +19 -21
- package/lib/components/VMenu/VMenu.mjs +15 -6
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.css +15 -17
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +108 -106
- package/lib/components/VOtpInput/VOtpInput.css +58 -56
- package/lib/components/VOverlay/VOverlay.css +63 -60
- package/lib/components/VOverlay/VOverlay.sass +13 -14
- package/lib/components/VPagination/VPagination.css +8 -10
- package/lib/components/VParallax/VParallax.css +6 -8
- package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
- package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
- package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
- package/lib/components/VRating/VRating.css +53 -52
- package/lib/components/VResponsive/VResponsive.css +26 -25
- package/lib/components/VSelect/VSelect.css +52 -54
- package/lib/components/VSelectionControl/VSelectionControl.css +102 -100
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
- package/lib/components/VSheet/VSheet.css +36 -38
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
- package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
- package/lib/components/VSlider/VSlider.css +57 -53
- package/lib/components/VSlider/VSliderThumb.css +153 -142
- package/lib/components/VSlider/VSliderTrack.css +174 -155
- package/lib/components/VSnackbar/VSnackbar.css +140 -140
- package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
- package/lib/components/VStepper/VStepper.css +56 -55
- package/lib/components/VStepper/VStepperItem.css +115 -112
- package/lib/components/VSwitch/VSwitch.css +139 -129
- package/lib/components/VSystemBar/VSystemBar.css +43 -45
- package/lib/components/VTable/VTable.css +141 -140
- package/lib/components/VTable/VTable.sass +2 -4
- package/lib/components/VTabs/VTab.css +29 -30
- package/lib/components/VTabs/VTabs.css +65 -59
- package/lib/components/VTextField/VTextField.css +68 -65
- package/lib/components/VTextarea/VTextarea.css +39 -47
- package/lib/components/VTextarea/VTextarea.sass +2 -4
- package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
- package/lib/components/VTimeline/VTimeline.css +418 -379
- package/lib/components/VToolbar/VToolbar.css +143 -136
- package/lib/components/VTooltip/VTooltip.css +21 -25
- package/lib/components/VTooltip/VTooltip.sass +6 -8
- package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
- package/lib/components/VWindow/VWindow.css +70 -73
- package/lib/components/index.d.mts +1 -0
- package/lib/composables/theme.mjs +4 -4
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/virtual.mjs +1 -1
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +36 -38
- package/lib/entry-bundler.mjs +1 -1
- 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 +52 -52
- package/lib/labs/VCalendar/VCalendar.css +225 -219
- package/lib/labs/VCalendar/VCalendarDay.css +32 -33
- package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
- package/lib/labs/VCalendar/VCalendarInterval.css +42 -43
- package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
- package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
- package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
- package/lib/labs/VNumberInput/VNumberInput.css +38 -40
- package/lib/labs/VPicker/VPicker.css +57 -53
- package/lib/labs/VTimePicker/VTimePicker.css +7 -9
- package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
- package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
- package/lib/labs/VTreeview/VTreeviewItem.css +15 -17
- package/lib/labs/VTreeview/VTreeviewItem.sass +1 -2
- package/lib/styles/elements/_global.sass +1 -1
- package/lib/styles/generic/_colors.scss +3 -3
- package/lib/styles/generic/_layers.scss +1 -13
- package/lib/styles/generic/_transitions.scss +32 -32
- package/lib/styles/main.css +16139 -14666
- package/lib/styles/settings/_utilities.scss +5 -0
- package/lib/styles/settings/_variables.scss +2 -1
- package/lib/styles/tools/_bootable.sass +3 -0
- package/lib/styles/tools/_border.sass +4 -4
- package/lib/styles/tools/_display.sass +10 -0
- package/lib/styles/tools/_elevation.sass +2 -2
- package/lib/styles/tools/_index.sass +2 -0
- package/lib/styles/tools/_layer.scss +2 -4
- package/lib/styles/tools/_position.sass +2 -2
- package/lib/styles/tools/_radius.sass +10 -0
- package/lib/styles/tools/_rounded.sass +2 -2
- package/lib/styles/tools/_utilities.sass +5 -1
- package/lib/styles/utilities/_elevation.scss +1 -1
- package/package.json +1 -1
@@ -80,11 +80,11 @@
|
|
80
80
|
~ .v-list-item__spacer
|
81
81
|
width: $list-item-icon-margin-start
|
82
82
|
|
83
|
-
> .v-avatar
|
84
|
-
|
83
|
+
> .v-avatar,
|
84
|
+
> .v-badge:is(:has(.v-avatar))
|
85
|
+
~ .v-list-item__spacer
|
86
|
+
width: $list-item-avatar-margin-start
|
85
87
|
|
86
|
-
> .v-list-item-action ~ .v-list-item__spacer
|
87
|
-
width: $list-item-action-spacer-width
|
88
88
|
|
89
89
|
.v-list-item--slim &
|
90
90
|
> .v-badge,
|
@@ -93,8 +93,10 @@
|
|
93
93
|
~ .v-list-item__spacer
|
94
94
|
width: $list-item-slim-spacer-width
|
95
95
|
|
96
|
-
> .v-avatar
|
97
|
-
|
96
|
+
> .v-avatar,
|
97
|
+
> .v-badge:is(:has(.v-avatar))
|
98
|
+
~ .v-list-item__spacer
|
99
|
+
width: $list-item-slim-avatar-spacer-width
|
98
100
|
|
99
101
|
> .v-list-item-action ~ .v-list-item__spacer
|
100
102
|
width: $list-item-slim-action-spacer-width
|
@@ -118,8 +120,10 @@
|
|
118
120
|
~ .v-list-item__spacer
|
119
121
|
width: $list-item-icon-margin-end
|
120
122
|
|
121
|
-
> .v-avatar
|
122
|
-
|
123
|
+
> .v-avatar,
|
124
|
+
> .v-badge:is(:has(.v-avatar))
|
125
|
+
~ .v-list-item__spacer
|
126
|
+
width: $list-item-avatar-margin-end
|
123
127
|
|
124
128
|
> .v-list-item-action ~ .v-list-item__spacer
|
125
129
|
width: $list-item-action-spacer-width
|
@@ -131,8 +135,10 @@
|
|
131
135
|
~ .v-list-item__spacer
|
132
136
|
width: $list-item-slim-spacer-width
|
133
137
|
|
134
|
-
> .v-avatar
|
135
|
-
|
138
|
+
> .v-avatar,
|
139
|
+
> .v-badge:is(:has(.v-avatar))
|
140
|
+
~ .v-list-item__spacer
|
141
|
+
width: $list-item-slim-avatar-spacer-width
|
136
142
|
|
137
143
|
> .v-list-item-action ~ .v-list-item__spacer
|
138
144
|
width: $list-item-slim-action-spacer-width
|
@@ -317,8 +323,7 @@
|
|
317
323
|
--indent-padding: calc(var(--parent-padding) + var(--list-indent-size))
|
318
324
|
|
319
325
|
.v-list-group__items .v-list-item
|
320
|
-
|
321
|
-
padding-inline-start: calc(#{$base-padding} + var(--indent-padding))
|
326
|
+
padding-inline-start: calc(#{$base-padding} + var(--indent-padding)) !important
|
322
327
|
|
323
328
|
.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active
|
324
329
|
&:not(:focus-visible)
|
@@ -23,15 +23,12 @@ $list-nav-subheader-font-size: .75rem !default;
|
|
23
23
|
$list-subheader-color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)) !default;
|
24
24
|
$list-subheader-font-size: .875rem !default;
|
25
25
|
$list-subheader-font-weight: 400 !default;
|
26
|
-
$list-subheader-inset-margin: 56px !default;
|
27
26
|
$list-subheader-inset-padding-start: 56px !default;
|
28
27
|
$list-subheader-line-height: 1.375rem !default;
|
29
28
|
$list-subheader-min-height: 40px !default;
|
30
29
|
$list-subheader-padding-end: 16px !default;
|
31
|
-
$list-subheader-padding-start: 16px !default;
|
32
30
|
$list-subheader-padding-top: 0 !default;
|
33
31
|
$list-subheader-min-height-multiplier: 1 !default;
|
34
|
-
$list-subheader-text-opacity: var(--v-medium-emphasis-opacity) !default;
|
35
32
|
$list-subheader-transition: 0.2s min-height settings.$standard-easing !default;
|
36
33
|
|
37
34
|
// VListItem
|
@@ -50,7 +47,6 @@ $list-item-slim-prepend-size: 28px !default;
|
|
50
47
|
$list-item-plain-opacity: .62 !default;
|
51
48
|
$list-item-rounded-border-radius: map.get(settings.$rounded, null) !default;
|
52
49
|
$list-item-one-line-min-height: 48px !default;
|
53
|
-
$list-item-one-line-padding: 8px 16px !default;
|
54
50
|
$list-item-two-line-min-height: 64px !default;
|
55
51
|
$list-item-two-line-padding: 12px 16px !default;
|
56
52
|
$list-item-three-line-min-height: 88px !default;
|
@@ -58,11 +54,8 @@ $list-item-three-line-padding: 16px 16px !default;
|
|
58
54
|
|
59
55
|
$list-item-action-spacer-width: 16px !default;
|
60
56
|
$list-item-slim-action-spacer-width: 4px !default;
|
61
|
-
$list-item-avatar-align-self: flex-start !default;
|
62
57
|
$list-item-avatar-margin-end: 16px !default;
|
63
58
|
$list-item-avatar-margin-start: 16px !default;
|
64
|
-
$list-item-avatar-size: 40px !default;
|
65
|
-
$list-item-avatar-margin-y: 4px !default;
|
66
59
|
$list-item-slim-spacer-width: 20px !default;
|
67
60
|
$list-item-slim-avatar-spacer-width: 4px !default;
|
68
61
|
|
@@ -71,8 +64,6 @@ $list-item-action-margin-start: 8px !default;
|
|
71
64
|
|
72
65
|
$list-item-icon-margin-end: 32px !default;
|
73
66
|
$list-item-icon-margin-start: 32px !default;
|
74
|
-
$list-item-slim-icon-margin: 8px !default;
|
75
|
-
$list-item-icon-size: 16px !default;
|
76
67
|
|
77
68
|
$list-item-media-margin-bottom: 0 !default;
|
78
69
|
$list-item-media-margin-end: 16px !default;
|
@@ -105,13 +96,11 @@ $list-item-subtitle-word-break: initial !default;
|
|
105
96
|
|
106
97
|
$list-item-title-font-size: tools.map-deep-get(settings.$typography, 'body-1', 'size') !default;
|
107
98
|
$list-item-title-font-weight: tools.map-deep-get(settings.$typography, 'body-1', 'weight') !default;
|
108
|
-
$list-item-title-header-padding: 0 !default;
|
109
99
|
$list-item-title-hyphens: auto !default;
|
110
100
|
$list-item-title-letter-spacing: tools.map-deep-get(settings.$typography, 'subtitle-1', 'letter-spacing') !default;
|
111
101
|
$list-item-title-line-height: tools.map-deep-get(settings.$typography, 'body-1', 'line-height') !default;
|
112
102
|
$list-item-title-overflow-wrap: normal !default;
|
113
103
|
$list-item-title-padding: 0 !default;
|
114
|
-
$list-item-title-text-overflow: ellipsis !default;
|
115
104
|
$list-item-title-text-transform: none !default;
|
116
105
|
$list-item-title-word-break: normal !default;
|
117
106
|
$list-item-title-word-wrap: break-word !default;
|
@@ -1,33 +1,31 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
--v-layout-bottom: 0px;
|
32
|
-
}
|
1
|
+
.v-main {
|
2
|
+
flex: 1 0 auto;
|
3
|
+
max-width: 100%;
|
4
|
+
transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
5
|
+
padding-left: var(--v-layout-left);
|
6
|
+
padding-right: var(--v-layout-right);
|
7
|
+
padding-top: var(--v-layout-top);
|
8
|
+
padding-bottom: var(--v-layout-bottom);
|
9
|
+
}
|
10
|
+
.v-main__scroller {
|
11
|
+
max-width: 100%;
|
12
|
+
position: relative;
|
13
|
+
}
|
14
|
+
.v-main--scrollable {
|
15
|
+
display: flex;
|
16
|
+
}
|
17
|
+
.v-main--scrollable {
|
18
|
+
position: absolute;
|
19
|
+
top: 0;
|
20
|
+
left: 0;
|
21
|
+
width: 100%;
|
22
|
+
height: 100%;
|
23
|
+
}
|
24
|
+
.v-main--scrollable > .v-main__scroller {
|
25
|
+
flex: 1 1 auto;
|
26
|
+
overflow-y: auto;
|
27
|
+
--v-layout-left: 0px;
|
28
|
+
--v-layout-right: 0px;
|
29
|
+
--v-layout-top: 0px;
|
30
|
+
--v-layout-bottom: 0px;
|
33
31
|
}
|
@@ -1,22 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
box-shadow: 0px 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
21
|
-
}
|
1
|
+
.v-menu > .v-overlay__content {
|
2
|
+
display: flex;
|
3
|
+
flex-direction: column;
|
4
|
+
}
|
5
|
+
.v-menu > .v-overlay__content {
|
6
|
+
border-radius: 4px;
|
7
|
+
}
|
8
|
+
.v-menu > .v-overlay__content > .v-card,
|
9
|
+
.v-menu > .v-overlay__content > .v-sheet,
|
10
|
+
.v-menu > .v-overlay__content > .v-list {
|
11
|
+
background: rgb(var(--v-theme-surface));
|
12
|
+
border-radius: inherit;
|
13
|
+
overflow: auto;
|
14
|
+
height: 100%;
|
15
|
+
}
|
16
|
+
.v-menu > .v-overlay__content > .v-card,
|
17
|
+
.v-menu > .v-overlay__content > .v-sheet,
|
18
|
+
.v-menu > .v-overlay__content > .v-list {
|
19
|
+
box-shadow: 0px 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
22
20
|
}
|
@@ -13,7 +13,7 @@ import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
13
13
|
import { useScopeId } from "../../composables/scopeId.mjs"; // Utilities
|
14
14
|
import { computed, inject, mergeProps, nextTick, onBeforeUnmount, onDeactivated, provide, ref, shallowRef, watch } from 'vue';
|
15
15
|
import { VMenuSymbol } from "./shared.mjs";
|
16
|
-
import { focusableChildren, focusChild, genericComponent, getNextElement, getUid, isClickInsideElement, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
16
|
+
import { focusableChildren, focusChild, genericComponent, getNextElement, getUid, IN_BROWSER, isClickInsideElement, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
17
17
|
export const makeVMenuProps = propsFactory({
|
18
18
|
// TODO
|
19
19
|
// disableKeys: Boolean,
|
@@ -70,7 +70,10 @@ export const VMenu = genericComponent()({
|
|
70
70
|
}, 40);
|
71
71
|
}
|
72
72
|
});
|
73
|
-
onBeforeUnmount(() =>
|
73
|
+
onBeforeUnmount(() => {
|
74
|
+
parent?.unregister();
|
75
|
+
document.removeEventListener('focusin', onFocusIn);
|
76
|
+
});
|
74
77
|
onDeactivated(() => isActive.value = false);
|
75
78
|
async function onFocusIn(e) {
|
76
79
|
const before = e.relatedTarget;
|
@@ -90,13 +93,19 @@ export const VMenu = genericComponent()({
|
|
90
93
|
watch(isActive, val => {
|
91
94
|
if (val) {
|
92
95
|
parent?.register();
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
+
if (IN_BROWSER) {
|
97
|
+
document.addEventListener('focusin', onFocusIn, {
|
98
|
+
once: true
|
99
|
+
});
|
100
|
+
}
|
96
101
|
} else {
|
97
102
|
parent?.unregister();
|
98
|
-
|
103
|
+
if (IN_BROWSER) {
|
104
|
+
document.removeEventListener('focusin', onFocusIn);
|
105
|
+
}
|
99
106
|
}
|
107
|
+
}, {
|
108
|
+
immediate: true
|
100
109
|
});
|
101
110
|
function onClickOutside(e) {
|
102
111
|
parent?.closeParents(e);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useRtl","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","onBeforeUnmount","onDeactivated","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","submenu","Boolean","closeDelay","closeOnContentClick","locationStrategy","location","undefined","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","isRtl","uid","overlay","parent","openChildren","Set","register","add","unregister","delete","closeParents","e","setTimeout","size","persistent","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","HTMLTextAreaElement","HTMLInputElement","closest","preventDefault","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","stopImmediatePropagation","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 { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport {\n computed,\n inject,\n mergeProps,\n nextTick,\n onBeforeUnmount,\n onDeactivated,\n provide,\n ref,\n shallowRef,\n watch,\n} 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 submenu: Boolean,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n location: undefined,\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 const { isRtl } = useRtl()\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(new Set<number>())\n provide(VMenuSymbol, {\n register () {\n openChildren.value.add(uid)\n },\n unregister () {\n openChildren.value.delete(uid)\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value.size &&\n !props.persistent &&\n (e == null || (overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n onBeforeUnmount(() => parent?.unregister())\n onDeactivated(() => isActive.value = false)\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' || (e.key === 'Enter' && !props.closeOnContentClick)) {\n if (\n e.key === 'Enter' &&\n ((e.target instanceof HTMLTextAreaElement) ||\n (e.target instanceof HTMLInputElement && !!e.target.closest('form')))\n ) return\n if (e.key === 'Enter') e.preventDefault()\n\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 (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\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 e.stopImmediatePropagation()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n e.stopImmediatePropagation()\n focusChild(el, 'prev')\n } else if (props.submenu) {\n if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {\n isActive.value = false\n } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {\n e.preventDefault()\n focusChild(el, 'first')\n }\n }\n } else if (\n props.submenu\n ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')\n : ['ArrowDown', 'ArrowUp'].includes(e.key)\n ) {\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 location={ props.location ?? (props.submenu ? 'end' : 'bottom') }\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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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useRtl","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","onBeforeUnmount","onDeactivated","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","IN_BROWSER","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","submenu","Boolean","closeDelay","closeOnContentClick","locationStrategy","location","undefined","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","isRtl","uid","overlay","parent","openChildren","Set","register","add","unregister","delete","closeParents","e","setTimeout","size","persistent","contentEl","document","removeEventListener","onFocusIn","before","relatedTarget","after","target","globalTop","includes","contains","focusable","focus","val","addEventListener","once","immediate","onClickOutside","onKeydown","disabled","key","HTMLTextAreaElement","HTMLInputElement","closest","preventDefault","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","stopImmediatePropagation","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 { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport {\n computed,\n inject,\n mergeProps,\n nextTick,\n onBeforeUnmount,\n onDeactivated,\n provide,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n IN_BROWSER,\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 submenu: Boolean,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n location: undefined,\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 const { isRtl } = useRtl()\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(new Set<number>())\n provide(VMenuSymbol, {\n register () {\n openChildren.value.add(uid)\n },\n unregister () {\n openChildren.value.delete(uid)\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value.size &&\n !props.persistent &&\n (e == null || (overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n onBeforeUnmount(() => {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n })\n onDeactivated(() => isActive.value = false)\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 if (IN_BROWSER) {\n document.addEventListener('focusin', onFocusIn, { once: true })\n }\n } else {\n parent?.unregister()\n if (IN_BROWSER) {\n document.removeEventListener('focusin', onFocusIn)\n }\n }\n }, { immediate: true })\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' || (e.key === 'Enter' && !props.closeOnContentClick)) {\n if (\n e.key === 'Enter' &&\n ((e.target instanceof HTMLTextAreaElement) ||\n (e.target instanceof HTMLInputElement && !!e.target.closest('form')))\n ) return\n if (e.key === 'Enter') e.preventDefault()\n\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 (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\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 e.stopImmediatePropagation()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n e.stopImmediatePropagation()\n focusChild(el, 'prev')\n } else if (props.submenu) {\n if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {\n isActive.value = false\n } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {\n e.preventDefault()\n focusChild(el, 'first')\n }\n }\n } else if (\n props.submenu\n ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')\n : ['ArrowDown', 'ArrowUp'].includes(e.key)\n ) {\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 location={ props.location ?? (props.submenu ? 'end' : 'bottom') }\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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","ignoreList":[]}
|
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
transition-duration: 150ms;
|
17
|
-
}
|
1
|
+
.v-messages {
|
2
|
+
flex: 1 1 auto;
|
3
|
+
font-size: 12px;
|
4
|
+
min-height: 14px;
|
5
|
+
min-width: 1px;
|
6
|
+
opacity: var(--v-medium-emphasis-opacity);
|
7
|
+
position: relative;
|
8
|
+
}
|
9
|
+
.v-messages__message {
|
10
|
+
line-height: 12px;
|
11
|
+
word-break: break-word;
|
12
|
+
overflow-wrap: break-word;
|
13
|
+
word-wrap: break-word;
|
14
|
+
hyphens: auto;
|
15
|
+
transition-duration: 150ms;
|
18
16
|
}
|
@@ -1,107 +1,109 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
.v-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
.v-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
1
|
+
.v-navigation-drawer {
|
2
|
+
-webkit-overflow-scrolling: touch;
|
3
|
+
background: rgb(var(--v-theme-surface));
|
4
|
+
display: flex;
|
5
|
+
flex-direction: column;
|
6
|
+
height: 100%;
|
7
|
+
max-width: 100%;
|
8
|
+
pointer-events: auto;
|
9
|
+
transition-duration: 0.2s;
|
10
|
+
transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom;
|
11
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
12
|
+
position: absolute;
|
13
|
+
}
|
14
|
+
.v-navigation-drawer {
|
15
|
+
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
|
16
|
+
border-style: solid;
|
17
|
+
border-width: 0;
|
18
|
+
}
|
19
|
+
.v-navigation-drawer--border {
|
20
|
+
border-width: thin;
|
21
|
+
box-shadow: none;
|
22
|
+
}
|
23
|
+
.v-navigation-drawer {
|
24
|
+
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));
|
25
|
+
}
|
26
|
+
.v-navigation-drawer {
|
27
|
+
background: rgb(var(--v-theme-surface));
|
28
|
+
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
29
|
+
}
|
30
|
+
.v-navigation-drawer--rounded {
|
31
|
+
border-radius: 4px;
|
32
|
+
}
|
33
|
+
.v-navigation-drawer--top, .v-navigation-drawer--bottom {
|
34
|
+
max-height: -webkit-fill-available;
|
35
|
+
overflow-y: auto;
|
36
|
+
}
|
37
|
+
.v-navigation-drawer--top {
|
38
|
+
top: 0;
|
39
|
+
border-bottom-width: thin;
|
40
|
+
}
|
41
|
+
.v-navigation-drawer--bottom {
|
42
|
+
left: 0;
|
43
|
+
border-top-width: thin;
|
44
|
+
}
|
45
|
+
.v-navigation-drawer--left {
|
46
|
+
top: 0;
|
47
|
+
left: 0;
|
48
|
+
right: auto;
|
49
|
+
border-right-width: thin;
|
50
|
+
}
|
51
|
+
.v-navigation-drawer--right {
|
52
|
+
top: 0;
|
53
|
+
left: auto;
|
54
|
+
right: 0;
|
55
|
+
border-left-width: thin;
|
56
|
+
}
|
57
|
+
.v-navigation-drawer--floating {
|
58
|
+
border: none;
|
59
|
+
}
|
60
|
+
.v-navigation-drawer--temporary.v-navigation-drawer--active {
|
61
|
+
box-shadow: 0px 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
62
|
+
}
|
63
|
+
.v-navigation-drawer--sticky {
|
64
|
+
height: auto;
|
65
|
+
transition: box-shadow, transform, visibility, width, height, left, right;
|
66
|
+
}
|
67
|
+
.v-navigation-drawer .v-list {
|
68
|
+
overflow: hidden;
|
69
|
+
}
|
70
|
+
|
71
|
+
.v-navigation-drawer__content {
|
72
|
+
flex: 0 1 auto;
|
73
|
+
height: 100%;
|
74
|
+
max-width: 100%;
|
75
|
+
overflow-x: hidden;
|
76
|
+
overflow-y: auto;
|
77
|
+
}
|
78
|
+
|
79
|
+
.v-navigation-drawer__img {
|
80
|
+
height: 100%;
|
81
|
+
left: 0;
|
82
|
+
position: absolute;
|
83
|
+
top: 0;
|
84
|
+
width: 100%;
|
85
|
+
z-index: -1;
|
86
|
+
}
|
87
|
+
.v-navigation-drawer__img img:not(.v-img__img) {
|
88
|
+
height: inherit;
|
89
|
+
object-fit: cover;
|
90
|
+
width: inherit;
|
91
|
+
}
|
92
|
+
|
93
|
+
.v-navigation-drawer__scrim {
|
94
|
+
position: absolute;
|
95
|
+
top: 0;
|
96
|
+
left: 0;
|
97
|
+
width: 100%;
|
98
|
+
height: 100%;
|
99
|
+
background: black;
|
100
|
+
opacity: 0.2;
|
101
|
+
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
102
|
+
z-index: 1;
|
103
|
+
}
|
104
|
+
|
105
|
+
.v-navigation-drawer__prepend,
|
106
|
+
.v-navigation-drawer__append {
|
107
|
+
flex: none;
|
108
|
+
overflow: hidden;
|
107
109
|
}
|