@vuetify/nightly 3.7.0-beta.1-dev.2024-07-30 → 3.7.0-beta.1-dev.2024-08-08
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 +13 -5
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +160 -160
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +45 -13
- package/dist/vuetify-labs.css +3716 -2993
- package/dist/vuetify-labs.d.ts +50 -11
- package/dist/vuetify-labs.esm.js +113 -69
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +113 -69
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1406 -683
- package/dist/vuetify.d.ts +60 -60
- package/dist/vuetify.esm.js +35 -29
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +35 -29
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +13 -12
- 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/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/VDialog/VDialog.css +5 -0
- 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.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 +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- 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/VSelect/VSelect.css +4 -0
- 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/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/VTreeview/VTreeview.sass +9 -9
- package/lib/components/index.d.mts +3 -3
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +57 -57
- 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/VTreeview/VTreeview.mjs +15 -2
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +21 -0
- package/lib/labs/components.d.mts +47 -8
- 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
@@ -22,6 +22,11 @@
|
|
22
22
|
--v-scrollbar-offset: 0px;
|
23
23
|
border-radius: 4px;
|
24
24
|
overflow-y: auto;
|
25
|
+
}
|
26
|
+
.v-dialog > .v-overlay__content > .v-card,
|
27
|
+
.v-dialog > .v-overlay__content > .v-sheet,
|
28
|
+
.v-dialog > .v-overlay__content > form > .v-card,
|
29
|
+
.v-dialog > .v-overlay__content > form > .v-sheet {
|
25
30
|
box-shadow: 0px 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
26
31
|
}
|
27
32
|
.v-dialog > .v-overlay__content > .v-card,
|
@@ -94,15 +94,19 @@
|
|
94
94
|
min-height: 64px;
|
95
95
|
}
|
96
96
|
|
97
|
+
.v-expansion-panel__shadow {
|
98
|
+
border-radius: inherit;
|
99
|
+
z-index: -1;
|
100
|
+
}
|
97
101
|
.v-expansion-panel__shadow {
|
98
102
|
position: absolute;
|
99
103
|
top: 0;
|
100
104
|
left: 0;
|
101
105
|
width: 100%;
|
102
106
|
height: 100%;
|
107
|
+
}
|
108
|
+
.v-expansion-panel__shadow {
|
103
109
|
box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
104
|
-
border-radius: inherit;
|
105
|
-
z-index: -1;
|
106
110
|
}
|
107
111
|
|
108
112
|
.v-expansion-panel-title {
|
@@ -146,15 +150,17 @@
|
|
146
150
|
}
|
147
151
|
}
|
148
152
|
|
153
|
+
.v-expansion-panel-title__overlay {
|
154
|
+
background-color: currentColor;
|
155
|
+
border-radius: inherit;
|
156
|
+
opacity: 0;
|
157
|
+
}
|
149
158
|
.v-expansion-panel-title__overlay {
|
150
159
|
position: absolute;
|
151
160
|
top: 0;
|
152
161
|
left: 0;
|
153
162
|
width: 100%;
|
154
163
|
height: 100%;
|
155
|
-
background-color: currentColor;
|
156
|
-
border-radius: inherit;
|
157
|
-
opacity: 0;
|
158
164
|
}
|
159
165
|
|
160
166
|
.v-expansion-panel-title__icon {
|
@@ -108,10 +108,10 @@
|
|
108
108
|
min-height: $expansion-panel-active-title-min-height
|
109
109
|
|
110
110
|
.v-expansion-panel__shadow
|
111
|
-
@include tools.absolute()
|
112
|
-
@include tools.elevation(2)
|
113
111
|
border-radius: inherit
|
114
112
|
z-index: -1
|
113
|
+
@include tools.absolute()
|
114
|
+
@include tools.elevation(2)
|
115
115
|
|
116
116
|
.v-expansion-panel-title
|
117
117
|
align-items: center
|
@@ -134,10 +134,10 @@
|
|
134
134
|
@include tools.active-states('.v-expansion-panel-title__overlay')
|
135
135
|
|
136
136
|
.v-expansion-panel-title__overlay
|
137
|
-
@include tools.absolute()
|
138
137
|
background-color: currentColor
|
139
138
|
border-radius: inherit
|
140
139
|
opacity: 0
|
140
|
+
@include tools.absolute()
|
141
141
|
|
142
142
|
.v-expansion-panel-title__icon
|
143
143
|
display: inline-flex
|
@@ -1,6 +1,5 @@
|
|
1
1
|
/* region INPUT */
|
2
2
|
.v-field {
|
3
|
-
--v-theme-overlay-multiplier: 1;
|
4
3
|
display: grid;
|
5
4
|
grid-template-areas: "prepend-inner field clear append-inner";
|
6
5
|
grid-template-columns: min-content minmax(0, 1fr) min-content min-content;
|
@@ -12,6 +11,7 @@
|
|
12
11
|
flex: 1 0;
|
13
12
|
grid-area: control;
|
14
13
|
position: relative;
|
14
|
+
--v-theme-overlay-multiplier: 1;
|
15
15
|
--v-field-padding-start: 16px;
|
16
16
|
--v-field-padding-end: 16px;
|
17
17
|
--v-field-padding-top: 8px;
|
@@ -39,12 +39,16 @@
|
|
39
39
|
background: rgb(var(--v-theme-surface));
|
40
40
|
border-color: transparent;
|
41
41
|
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
42
|
+
}
|
43
|
+
.v-field--variant-solo, .v-field--variant-solo-filled {
|
42
44
|
box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
43
45
|
}
|
44
46
|
.v-field--variant-solo-inverted {
|
45
47
|
background: rgb(var(--v-theme-surface));
|
46
48
|
border-color: transparent;
|
47
49
|
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
50
|
+
}
|
51
|
+
.v-field--variant-solo-inverted {
|
48
52
|
box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
49
53
|
}
|
50
54
|
.v-field--variant-solo-inverted.v-field--focused {
|
@@ -367,6 +371,8 @@ textarea.v-field__input::placeholder {
|
|
367
371
|
border-width: 0 0 var(--v-field-border-width);
|
368
372
|
opacity: var(--v-field-border-opacity);
|
369
373
|
transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
|
374
|
+
}
|
375
|
+
.v-field--variant-filled .v-field__outline::before, .v-field--variant-underlined .v-field__outline::before {
|
370
376
|
content: "";
|
371
377
|
position: absolute;
|
372
378
|
top: 0;
|
@@ -380,6 +386,8 @@ textarea.v-field__input::placeholder {
|
|
380
386
|
border-width: 0 0 2px;
|
381
387
|
transform: scaleX(0);
|
382
388
|
transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
389
|
+
}
|
390
|
+
.v-field--variant-filled .v-field__outline::after, .v-field--variant-underlined .v-field__outline::after {
|
383
391
|
content: "";
|
384
392
|
position: absolute;
|
385
393
|
top: 0;
|
@@ -432,6 +440,8 @@ textarea.v-field__input::placeholder {
|
|
432
440
|
.v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after {
|
433
441
|
opacity: var(--v-field-border-opacity);
|
434
442
|
transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
|
443
|
+
}
|
444
|
+
.v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after {
|
435
445
|
content: "";
|
436
446
|
position: absolute;
|
437
447
|
top: 0;
|
@@ -494,6 +504,8 @@ textarea.v-field__input::placeholder {
|
|
494
504
|
.v-field__overlay {
|
495
505
|
border-radius: inherit;
|
496
506
|
pointer-events: none;
|
507
|
+
}
|
508
|
+
.v-field__overlay {
|
497
509
|
position: absolute;
|
498
510
|
top: 0;
|
499
511
|
left: 0;
|
@@ -8,8 +8,6 @@
|
|
8
8
|
@include tools.layer('components')
|
9
9
|
/* region INPUT */
|
10
10
|
.v-field
|
11
|
-
--v-theme-overlay-multiplier: 1
|
12
|
-
|
13
11
|
display: grid
|
14
12
|
grid-template-areas: "prepend-inner field clear append-inner"
|
15
13
|
grid-template-columns: min-content minmax(0, 1fr) min-content min-content
|
@@ -22,10 +20,7 @@
|
|
22
20
|
grid-area: control
|
23
21
|
position: relative
|
24
22
|
|
25
|
-
|
26
|
-
opacity: var(--v-disabled-opacity)
|
27
|
-
pointer-events: none
|
28
|
-
|
23
|
+
--v-theme-overlay-multiplier: 1
|
29
24
|
--v-field-padding-start: #{$field-control-padding-start}
|
30
25
|
--v-field-padding-end: #{$field-control-padding-end}
|
31
26
|
--v-field-padding-top: #{$field-control-padding-top}
|
@@ -33,6 +28,10 @@
|
|
33
28
|
--v-field-input-padding-top: #{$field-input-padding-top}
|
34
29
|
--v-field-input-padding-bottom: #{$field-input-padding-bottom}
|
35
30
|
|
31
|
+
&--disabled
|
32
|
+
opacity: var(--v-disabled-opacity)
|
33
|
+
pointer-events: none
|
34
|
+
|
36
35
|
.v-chip
|
37
36
|
--v-chip-height: #{$field-chip-height}
|
38
37
|
|
@@ -50,14 +49,12 @@
|
|
50
49
|
background: $field-control-solo-background
|
51
50
|
border-color: transparent
|
52
51
|
color: $field-control-solo-color
|
53
|
-
|
54
52
|
@include tools.elevation($field-control-solo-elevation)
|
55
53
|
|
56
54
|
&--variant-solo-inverted
|
57
55
|
background: $field-control-solo-background
|
58
56
|
border-color: transparent
|
59
57
|
color: $field-control-solo-inverted-color
|
60
|
-
|
61
58
|
@include tools.elevation($field-control-solo-elevation)
|
62
59
|
|
63
60
|
&.v-field--focused
|
@@ -6,24 +6,32 @@
|
|
6
6
|
position: relative;
|
7
7
|
transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
8
8
|
transition-property: height, width, transform, max-width, left, right, top, bottom;
|
9
|
+
}
|
10
|
+
.v-footer {
|
9
11
|
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
|
10
12
|
border-style: solid;
|
11
13
|
border-width: 0;
|
12
|
-
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));
|
13
|
-
border-radius: 0;
|
14
|
-
background: rgb(var(--v-theme-surface));
|
15
|
-
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
16
14
|
}
|
17
15
|
.v-footer--border {
|
18
16
|
border-width: thin;
|
19
17
|
box-shadow: none;
|
20
18
|
}
|
19
|
+
.v-footer {
|
20
|
+
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));
|
21
|
+
}
|
21
22
|
.v-footer--absolute {
|
22
23
|
position: absolute;
|
23
24
|
}
|
24
25
|
.v-footer--fixed {
|
25
26
|
position: fixed;
|
26
27
|
}
|
28
|
+
.v-footer {
|
29
|
+
border-radius: 0;
|
30
|
+
}
|
31
|
+
.v-footer {
|
32
|
+
background: rgb(var(--v-theme-surface));
|
33
|
+
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
34
|
+
}
|
27
35
|
.v-footer--rounded {
|
28
36
|
border-radius: 4px;
|
29
37
|
}
|
@@ -11,8 +11,9 @@ import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs
|
|
11
11
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
12
12
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
13
13
|
import { makeTagProps } from "../../composables/tag.mjs";
|
14
|
-
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
15
|
-
import {
|
14
|
+
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
15
|
+
import { useToggleScope } from "../../composables/toggleScope.mjs"; // Utilities
|
16
|
+
import { computed, ref, shallowRef, toRef, watchEffect } from 'vue';
|
16
17
|
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
17
18
|
export const makeVFooterProps = propsFactory({
|
18
19
|
app: Boolean,
|
@@ -38,6 +39,8 @@ export const VFooter = genericComponent()({
|
|
38
39
|
let {
|
39
40
|
slots
|
40
41
|
} = _ref;
|
42
|
+
const layoutItemStyles = ref();
|
43
|
+
const layoutIsReady = shallowRef();
|
41
44
|
const {
|
42
45
|
themeClasses
|
43
46
|
} = provideTheme(props);
|
@@ -62,17 +65,20 @@ export const VFooter = genericComponent()({
|
|
62
65
|
autoHeight.value = entries[0].target.clientHeight;
|
63
66
|
});
|
64
67
|
const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
68
|
+
useToggleScope(() => props.app, () => {
|
69
|
+
const layout = useLayoutItem({
|
70
|
+
id: props.name,
|
71
|
+
order: computed(() => parseInt(props.order, 10)),
|
72
|
+
position: computed(() => 'bottom'),
|
73
|
+
layoutSize: height,
|
74
|
+
elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
|
75
|
+
active: computed(() => props.app),
|
76
|
+
absolute: toRef(props, 'absolute')
|
77
|
+
});
|
78
|
+
watchEffect(() => {
|
79
|
+
layoutItemStyles.value = layout.layoutItemStyles.value;
|
80
|
+
layoutIsReady.value = layout.layoutIsReady;
|
81
|
+
});
|
76
82
|
});
|
77
83
|
useRender(() => _createVNode(props.tag, {
|
78
84
|
"ref": resizeRef,
|
@@ -81,7 +87,7 @@ export const VFooter = genericComponent()({
|
|
81
87
|
height: convertToUnit(props.height)
|
82
88
|
}, props.style]
|
83
89
|
}, slots));
|
84
|
-
return props.app ? layoutIsReady : {};
|
90
|
+
return props.app ? layoutIsReady.value : {};
|
85
91
|
}
|
86
92
|
});
|
87
93
|
//# sourceMappingURL=VFooter.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","
|
1
|
+
{"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","layoutItemStyles","layoutIsReady","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layout","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const layoutItemStyles = ref()\n const layoutIsReady = shallowRef()\n\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n layoutIsReady.value = layout.layoutIsReady\n })\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return props.app ? layoutIsReady.value : {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
|
@@ -31,7 +31,7 @@ declare const VFooter: {
|
|
31
31
|
} | undefined;
|
32
32
|
} & {
|
33
33
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
34
|
-
},
|
34
|
+
}, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
35
35
|
absolute: boolean;
|
36
36
|
height: string | number;
|
37
37
|
order: string | number;
|
@@ -101,7 +101,7 @@ declare const VFooter: {
|
|
101
101
|
} | undefined;
|
102
102
|
} & {
|
103
103
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
104
|
-
},
|
104
|
+
}, any, {}, {}, {}, {
|
105
105
|
absolute: boolean;
|
106
106
|
height: string | number;
|
107
107
|
order: string | number;
|
@@ -139,7 +139,7 @@ declare const VFooter: {
|
|
139
139
|
} | undefined;
|
140
140
|
} & {
|
141
141
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
142
|
-
},
|
142
|
+
}, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
143
143
|
absolute: boolean;
|
144
144
|
height: string | number;
|
145
145
|
order: string | number;
|
@@ -12,7 +12,7 @@
|
|
12
12
|
// For each breakpoint, define the maximum width of the container in a media query
|
13
13
|
@mixin make-container-max-widths($max-widths: settings.$container-max-widths, $breakpoints: settings.$grid-breakpoints)
|
14
14
|
@each $breakpoint, $container-max-width in $max-widths
|
15
|
-
|
15
|
+
@include tools.media-breakpoint-up($breakpoint, $breakpoints)
|
16
16
|
max-width: $container-max-width
|
17
17
|
|
18
18
|
@mixin make-row($gutter: settings.$grid-gutter)
|
@@ -53,7 +53,7 @@
|
|
53
53
|
.v-col#{$infix},
|
54
54
|
.v-col#{$infix}-auto
|
55
55
|
@extend %grid-column
|
56
|
-
|
56
|
+
@include tools.media-breakpoint-up($breakpoint, $breakpoints)
|
57
57
|
// Provide basic `.col-{bp}` classes for equal-width flexbox columns
|
58
58
|
.v-col#{$infix}
|
59
59
|
flex-basis: 0
|
@@ -65,10 +65,10 @@
|
|
65
65
|
max-width: 100% // Reset earlier grid tiers
|
66
66
|
@for $i from 1 through $columns
|
67
67
|
.v-col#{$infix}-#{$i}
|
68
|
-
|
68
|
+
@include make-col($i, $columns)
|
69
69
|
// `$columns - 1` because offsetting by the width of an entire row isn't possible
|
70
70
|
@for $i from 0 through $columns - 1
|
71
71
|
@if not ($infix == "" and $i == 0)
|
72
72
|
// Avoid emitting useless .offset-0
|
73
73
|
.offset#{$infix}-#{$i}
|
74
|
-
|
74
|
+
@include make-col-offset($i, $columns)
|
@@ -6,5 +6,7 @@
|
|
6
6
|
font-size: 85%;
|
7
7
|
font-weight: normal;
|
8
8
|
padding: 0.2em 0.4rem;
|
9
|
+
}
|
10
|
+
.v-kbd {
|
9
11
|
box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
10
12
|
}
|
@@ -3,18 +3,26 @@
|
|
3
3
|
padding: 8px 0;
|
4
4
|
position: relative;
|
5
5
|
outline: none;
|
6
|
+
}
|
7
|
+
.v-list {
|
6
8
|
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
|
7
9
|
border-style: solid;
|
8
10
|
border-width: 0;
|
9
|
-
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));
|
10
|
-
border-radius: 0;
|
11
|
-
background: rgba(var(--v-theme-surface));
|
12
|
-
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
13
11
|
}
|
14
12
|
.v-list--border {
|
15
13
|
border-width: thin;
|
16
14
|
box-shadow: none;
|
17
15
|
}
|
16
|
+
.v-list {
|
17
|
+
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));
|
18
|
+
}
|
19
|
+
.v-list {
|
20
|
+
border-radius: 0;
|
21
|
+
}
|
22
|
+
.v-list {
|
23
|
+
background: rgba(var(--v-theme-surface));
|
24
|
+
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
|
25
|
+
}
|
18
26
|
.v-list--disabled {
|
19
27
|
pointer-events: none;
|
20
28
|
user-select: none;
|
@@ -9,10 +9,11 @@
|
|
9
9
|
padding: 4px 16px;
|
10
10
|
position: relative;
|
11
11
|
text-decoration: none;
|
12
|
+
}
|
13
|
+
.v-list-item {
|
12
14
|
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
|
13
15
|
border-style: solid;
|
14
16
|
border-width: 0;
|
15
|
-
border-radius: 0;
|
16
17
|
}
|
17
18
|
.v-list-item--border {
|
18
19
|
border-width: thin;
|
@@ -43,6 +44,9 @@
|
|
43
44
|
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
44
45
|
}
|
45
46
|
}
|
47
|
+
.v-list-item {
|
48
|
+
border-radius: 0;
|
49
|
+
}
|
46
50
|
.v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-tonal {
|
47
51
|
background: transparent;
|
48
52
|
color: inherit;
|
@@ -86,6 +90,13 @@
|
|
86
90
|
position: absolute;
|
87
91
|
}
|
88
92
|
@supports selector(:focus-visible) {
|
93
|
+
.v-list-item::after {
|
94
|
+
pointer-events: none;
|
95
|
+
border: 2px solid currentColor;
|
96
|
+
border-radius: 4px;
|
97
|
+
opacity: 0;
|
98
|
+
transition: opacity 0.2s ease-in-out;
|
99
|
+
}
|
89
100
|
.v-list-item::after {
|
90
101
|
content: "";
|
91
102
|
position: absolute;
|
@@ -93,11 +104,6 @@
|
|
93
104
|
left: 0;
|
94
105
|
width: 100%;
|
95
106
|
height: 100%;
|
96
|
-
pointer-events: none;
|
97
|
-
border: 2px solid currentColor;
|
98
|
-
border-radius: 4px;
|
99
|
-
opacity: 0;
|
100
|
-
transition: opacity 0.2s ease-in-out;
|
101
107
|
}
|
102
108
|
.v-list-item:focus-visible::after {
|
103
109
|
opacity: calc(0.15 * var(--v-theme-overlay-multiplier));
|
@@ -251,11 +257,6 @@
|
|
251
257
|
text-overflow: ellipsis;
|
252
258
|
overflow-wrap: break-word;
|
253
259
|
word-break: initial;
|
254
|
-
font-size: 0.875rem;
|
255
|
-
font-weight: 400;
|
256
|
-
letter-spacing: 0.0178571429em;
|
257
|
-
line-height: 1rem;
|
258
|
-
text-transform: none;
|
259
260
|
}
|
260
261
|
.v-list-item--one-line .v-list-item-subtitle {
|
261
262
|
-webkit-line-clamp: 1;
|
@@ -266,6 +267,13 @@
|
|
266
267
|
.v-list-item--three-line .v-list-item-subtitle {
|
267
268
|
-webkit-line-clamp: 3;
|
268
269
|
}
|
270
|
+
.v-list-item-subtitle {
|
271
|
+
font-size: 0.875rem;
|
272
|
+
font-weight: 400;
|
273
|
+
letter-spacing: 0.0178571429em;
|
274
|
+
line-height: 1rem;
|
275
|
+
text-transform: none;
|
276
|
+
}
|
269
277
|
.v-list-item--nav .v-list-item-subtitle {
|
270
278
|
font-size: 0.75rem;
|
271
279
|
font-weight: 400;
|
@@ -282,6 +290,8 @@
|
|
282
290
|
text-overflow: ellipsis;
|
283
291
|
word-break: normal;
|
284
292
|
word-wrap: break-word;
|
293
|
+
}
|
294
|
+
.v-list-item-title {
|
285
295
|
font-size: 1rem;
|
286
296
|
font-weight: 400;
|
287
297
|
letter-spacing: 0.009375em;
|
@@ -25,12 +25,12 @@
|
|
25
25
|
|
26
26
|
@supports selector(:focus-visible)
|
27
27
|
&::after
|
28
|
-
@include tools.absolute(true)
|
29
28
|
pointer-events: none
|
30
29
|
border: 2px solid currentColor
|
31
30
|
border-radius: 4px
|
32
31
|
opacity: 0
|
33
32
|
transition: opacity .2s ease-in-out
|
33
|
+
@include tools.absolute(true)
|
34
34
|
|
35
35
|
&:focus-visible::after
|
36
36
|
opacity: calc(.15 * var(--v-theme-overlay-multiplier))
|
@@ -1,6 +1,8 @@
|
|
1
1
|
.v-menu > .v-overlay__content {
|
2
2
|
display: flex;
|
3
3
|
flex-direction: column;
|
4
|
+
}
|
5
|
+
.v-menu > .v-overlay__content {
|
4
6
|
border-radius: 4px;
|
5
7
|
}
|
6
8
|
.v-menu > .v-overlay__content > .v-card,
|
@@ -10,5 +12,9 @@
|
|
10
12
|
border-radius: inherit;
|
11
13
|
overflow: auto;
|
12
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 {
|
13
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));
|
14
20
|
}
|
@@ -63,7 +63,7 @@ export const VMenu = genericComponent()({
|
|
63
63
|
},
|
64
64
|
closeParents(e) {
|
65
65
|
setTimeout(() => {
|
66
|
-
if (!openChildren.value.size && !props.persistent && (e == null ||
|
66
|
+
if (!openChildren.value.size && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
|
67
67
|
isActive.value = false;
|
68
68
|
parent?.closeParents();
|
69
69
|
}
|