@expressivecss/expressive 0.9.1 → 0.10.1
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/CHANGELOG.md +184 -1
- package/README.md +178 -25
- package/dist/css/expressive.css +428 -1222
- package/dist/css/expressive.css.map +1 -1
- package/dist/css/expressive.min.css +1 -1
- package/dist/css/expressive.min.css.map +1 -1
- package/dist/fonts/material-symbols-outlined.woff2 +0 -0
- package/dist/fonts/material-symbols-rounded.woff2 +0 -0
- package/dist/fonts/material-symbols-sharp.woff2 +0 -0
- package/dist/js/chunks/chunk-7MM4VJJO.mjs +509 -0
- package/dist/js/chunks/chunk-7MM4VJJO.mjs.map +7 -0
- package/dist/js/chunks/chunk-7UXHSYIA.mjs +183 -0
- package/dist/js/chunks/chunk-7UXHSYIA.mjs.map +7 -0
- package/dist/js/chunks/chunk-A3BJA7V4.mjs +28 -0
- package/dist/js/chunks/chunk-A3BJA7V4.mjs.map +7 -0
- package/dist/js/chunks/chunk-AOGFNMXS.mjs +691 -0
- package/dist/js/chunks/chunk-AOGFNMXS.mjs.map +7 -0
- package/dist/js/chunks/chunk-D4UZ4HFN.mjs +560 -0
- package/dist/js/chunks/chunk-D4UZ4HFN.mjs.map +7 -0
- package/dist/js/chunks/chunk-EP3CVKB5.mjs +88 -0
- package/dist/js/chunks/chunk-EP3CVKB5.mjs.map +7 -0
- package/dist/js/chunks/chunk-G576EP5O.mjs +459 -0
- package/dist/js/chunks/chunk-G576EP5O.mjs.map +7 -0
- package/dist/js/chunks/chunk-GY2Z5CJ2.mjs +320 -0
- package/dist/js/chunks/chunk-GY2Z5CJ2.mjs.map +7 -0
- package/dist/js/chunks/chunk-JKNPQQWY.mjs +191 -0
- package/dist/js/chunks/chunk-JKNPQQWY.mjs.map +7 -0
- package/dist/js/chunks/chunk-JNPIWFJT.mjs +365 -0
- package/dist/js/chunks/chunk-JNPIWFJT.mjs.map +7 -0
- package/dist/js/chunks/chunk-JODJAGFS.mjs +267 -0
- package/dist/js/chunks/chunk-JODJAGFS.mjs.map +7 -0
- package/dist/js/chunks/chunk-JR24UB4X.mjs +100 -0
- package/dist/js/chunks/chunk-JR24UB4X.mjs.map +7 -0
- package/dist/js/chunks/chunk-KR44BSYQ.mjs +55 -0
- package/dist/js/chunks/chunk-KR44BSYQ.mjs.map +7 -0
- package/dist/js/chunks/chunk-LZVBJ33S.mjs +102 -0
- package/dist/js/chunks/chunk-LZVBJ33S.mjs.map +7 -0
- package/dist/js/chunks/chunk-MISGHDUU.mjs +326 -0
- package/dist/js/chunks/chunk-MISGHDUU.mjs.map +7 -0
- package/dist/js/chunks/chunk-N3UHGN3N.mjs +175 -0
- package/dist/js/chunks/chunk-N3UHGN3N.mjs.map +7 -0
- package/dist/js/chunks/chunk-PIIAEYAJ.mjs +85 -0
- package/dist/js/chunks/chunk-PIIAEYAJ.mjs.map +7 -0
- package/dist/js/chunks/chunk-QSQ24FYT.mjs +59 -0
- package/dist/js/chunks/chunk-QSQ24FYT.mjs.map +7 -0
- package/dist/js/chunks/chunk-QYCYP443.mjs +1111 -0
- package/dist/js/chunks/chunk-QYCYP443.mjs.map +7 -0
- package/dist/js/chunks/chunk-SLFNPY5M.mjs +78 -0
- package/dist/js/chunks/chunk-SLFNPY5M.mjs.map +7 -0
- package/dist/js/chunks/chunk-TK6PX2GC.mjs +663 -0
- package/dist/js/chunks/chunk-TK6PX2GC.mjs.map +7 -0
- package/dist/js/chunks/chunk-TYM6U5DY.mjs +76 -0
- package/dist/js/chunks/chunk-TYM6U5DY.mjs.map +7 -0
- package/dist/js/chunks/chunk-TZZ24ZQS.mjs +154 -0
- package/dist/js/chunks/chunk-TZZ24ZQS.mjs.map +7 -0
- package/dist/js/chunks/chunk-VAS6JQ6P.mjs +94 -0
- package/dist/js/chunks/chunk-VAS6JQ6P.mjs.map +7 -0
- package/dist/js/chunks/chunk-WWPAPHMA.mjs +1 -0
- package/dist/js/chunks/chunk-WWPAPHMA.mjs.map +7 -0
- package/dist/js/chunks/chunk-XDB3G6RL.mjs +114 -0
- package/dist/js/chunks/chunk-XDB3G6RL.mjs.map +7 -0
- package/dist/js/chunks/chunk-XO5WX3TK.mjs +226 -0
- package/dist/js/chunks/chunk-XO5WX3TK.mjs.map +7 -0
- package/dist/js/chunks/chunk-YFXEJ7GR.mjs +286 -0
- package/dist/js/chunks/chunk-YFXEJ7GR.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZAOYQ6SY.mjs +7 -0
- package/dist/js/chunks/chunk-ZAOYQ6SY.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZIZVUWRL.mjs +120 -0
- package/dist/js/chunks/chunk-ZIZVUWRL.mjs.map +7 -0
- package/dist/js/chunks/chunk-ZZBZI2XN.mjs +338 -0
- package/dist/js/chunks/chunk-ZZBZI2XN.mjs.map +7 -0
- package/dist/js/expressive.cjs +747 -754
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +747 -754
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +11 -15
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +83 -7490
- package/dist/js/expressive.mjs.map +4 -4
- package/dist/js/internal/behaviors/bottomSheets.mjs +9 -0
- package/dist/js/internal/behaviors/bottomSheets.mjs.map +7 -0
- package/dist/js/internal/behaviors/dialogs.mjs +8 -0
- package/dist/js/internal/behaviors/dialogs.mjs.map +7 -0
- package/dist/js/internal/behaviors/forms.mjs +8 -0
- package/dist/js/internal/behaviors/forms.mjs.map +7 -0
- package/dist/js/internal/behaviors/sheetDrag.mjs +8 -0
- package/dist/js/internal/behaviors/sheetDrag.mjs.map +7 -0
- package/dist/js/internal/behaviors/sideSheets.mjs +9 -0
- package/dist/js/internal/behaviors/sideSheets.mjs.map +7 -0
- package/dist/js/internal/components/appBar.mjs +8 -0
- package/dist/js/internal/components/appBar.mjs.map +7 -0
- package/dist/js/internal/components/autocomplete.mjs +10 -0
- package/dist/js/internal/components/autocomplete.mjs.map +7 -0
- package/dist/js/internal/components/buttonGroup.mjs +8 -0
- package/dist/js/internal/components/buttonGroup.mjs.map +7 -0
- package/dist/js/internal/components/buttons.mjs +9 -0
- package/dist/js/internal/components/buttons.mjs.map +7 -0
- package/dist/js/internal/components/cards.mjs +13 -0
- package/dist/js/internal/components/cards.mjs.map +7 -0
- package/dist/js/internal/components/carousel.mjs +9 -0
- package/dist/js/internal/components/carousel.mjs.map +7 -0
- package/dist/js/internal/components/characterCounter.mjs +8 -0
- package/dist/js/internal/components/characterCounter.mjs.map +7 -0
- package/dist/js/internal/components/chips.mjs +11 -0
- package/dist/js/internal/components/chips.mjs.map +7 -0
- package/dist/js/internal/components/datepicker.mjs +12 -0
- package/dist/js/internal/components/datepicker.mjs.map +7 -0
- package/dist/js/internal/components/expandingCard.mjs +11 -0
- package/dist/js/internal/components/expandingCard.mjs.map +7 -0
- package/dist/js/internal/components/index.mjs +88 -0
- package/dist/js/internal/components/index.mjs.map +7 -0
- package/dist/js/internal/components/lightbox.mjs +9 -0
- package/dist/js/internal/components/lightbox.mjs.map +7 -0
- package/dist/js/internal/components/menu.mjs +9 -0
- package/dist/js/internal/components/menu.mjs.map +7 -0
- package/dist/js/internal/components/navigationRail.mjs +8 -0
- package/dist/js/internal/components/navigationRail.mjs.map +7 -0
- package/dist/js/internal/components/registry.mjs +33 -0
- package/dist/js/internal/components/registry.mjs.map +7 -0
- package/dist/js/internal/components/scrollspy.mjs +8 -0
- package/dist/js/internal/components/scrollspy.mjs.map +7 -0
- package/dist/js/internal/components/select.mjs +10 -0
- package/dist/js/internal/components/select.mjs.map +7 -0
- package/dist/js/internal/components/slider.mjs +9 -0
- package/dist/js/internal/components/slider.mjs.map +7 -0
- package/dist/js/internal/components/snackbar.mjs +8 -0
- package/dist/js/internal/components/snackbar.mjs.map +7 -0
- package/dist/js/internal/components/tabs.mjs +10 -0
- package/dist/js/internal/components/tabs.mjs.map +7 -0
- package/dist/js/internal/components/timepicker.mjs +10 -0
- package/dist/js/internal/components/timepicker.mjs.map +7 -0
- package/dist/js/internal/components/tooltip.mjs +9 -0
- package/dist/js/internal/components/tooltip.mjs.map +7 -0
- package/dist/js/internal/core/component.mjs +7 -0
- package/dist/js/internal/core/component.mjs.map +7 -0
- package/dist/js/internal/core/utils.mjs +7 -0
- package/dist/js/internal/core/utils.mjs.map +7 -0
- package/dist/js/internal/plugins/dockedDisplayPlugin.mjs +8 -0
- package/dist/js/internal/plugins/dockedDisplayPlugin.mjs.map +7 -0
- package/dist/js/modular.mjs +113 -0
- package/dist/js/modular.mjs.map +7 -0
- package/dist/types/behaviors/sheetDrag.d.ts +1 -1
- package/dist/types/components/appBar.d.ts +1 -1
- package/dist/types/components/autocomplete.d.ts +9 -0
- package/dist/types/components/buttons.d.ts +4 -39
- package/dist/types/components/carousel.d.ts +10 -1
- package/dist/types/components/chips.d.ts +1 -0
- package/dist/types/components/datepicker.d.ts +7 -0
- package/dist/types/components/index.d.ts +0 -2
- package/dist/types/components/lightbox.d.ts +12 -0
- package/dist/types/components/menu.d.ts +3 -0
- package/dist/types/components/registry.d.ts +0 -4
- package/dist/types/components/select.d.ts +4 -0
- package/dist/types/components/slider.d.ts +2 -1
- package/dist/types/components/snackbar.d.ts +4 -2
- package/dist/types/components/tabs.d.ts +2 -1
- package/dist/types/components/timepicker.d.ts +5 -3
- package/dist/types/components/tooltip.d.ts +5 -3
- package/dist/types/index.d.ts +1 -8
- package/dist/types/modular.d.ts +28 -0
- package/package.json +16 -4
- package/src/sass/README.md +8 -0
- package/src/sass/components/_badges.scss +1 -6
- package/src/sass/components/_button-groups.scss +5 -1
- package/src/sass/components/_buttons.scss +8 -287
- package/src/sass/components/_chips.scss +17 -2
- package/src/sass/components/_dialog.scss +9 -4
- package/src/sass/components/_fab-menu.scss +11 -9
- package/src/sass/components/_icon-buttons.scss +0 -5
- package/src/sass/components/_index.scss +0 -5
- package/src/sass/components/_menu.scss +2 -2
- package/src/sass/components/_navigation-rail.scss +1 -1
- package/src/sass/components/_panes.scss +50 -78
- package/src/sass/components/_progress.scss +73 -13
- package/src/sass/components/_scrim.scss +4 -4
- package/src/sass/components/_side-sheet.scss +22 -12
- package/src/sass/components/_toolbar.scss +1 -4
- package/src/sass/components/_tooltip.scss +20 -2
- package/src/sass/components/forms/_input-fields.scss +5 -1
- package/src/sass/components/forms/_select.scss +1 -0
- package/src/sass/components/forms/_slider.scss +81 -25
- package/src/sass/custom.scss +38 -0
- package/src/sass/utilities/_helpers.scss +18 -0
- package/src/sass/utilities/_spacing.scss +8 -1
- package/dist/types/components/navigationDrawer.d.ts +0 -110
- package/src/sass/components/_banners.scss +0 -298
- package/src/sass/components/_bottom-app-bar.scss +0 -180
- package/src/sass/components/_floating-sheet.scss +0 -86
- package/src/sass/components/_navigation-drawer.scss +0 -476
- package/src/sass/components/_segmented-buttons.scss +0 -188
|
@@ -40,41 +40,36 @@
|
|
|
40
40
|
--md-comp-pane-list-width: 360px;
|
|
41
41
|
--md-comp-pane-supporting-width: 360px;
|
|
42
42
|
--md-comp-pane-primary-min-width: 360px;
|
|
43
|
+
--md-comp-pane-margin: 16px;
|
|
44
|
+
--_pane-columns: 1fr;
|
|
45
|
+
--_pane-expanded-columns: var(--md-comp-pane-list-width) 1fr;
|
|
46
|
+
--_pane-wide-columns: var(--_pane-expanded-columns);
|
|
47
|
+
--_pane-display: none;
|
|
48
|
+
--_pane-divider: 0px;
|
|
43
49
|
|
|
44
50
|
box-sizing: border-box;
|
|
45
51
|
display: grid;
|
|
46
|
-
width: 100
|
|
52
|
+
width: calc(100% - (2 * var(--md-comp-pane-margin)));
|
|
47
53
|
height: 100%;
|
|
48
54
|
min-height: 0;
|
|
49
|
-
margin: 0;
|
|
55
|
+
margin: 0 var(--md-comp-pane-margin);
|
|
50
56
|
padding: 0;
|
|
51
57
|
container-type: inline-size;
|
|
52
58
|
background-color: var(--md-comp-pane-container-color);
|
|
53
59
|
color: var(--md-sys-color-on-surface);
|
|
54
60
|
|
|
55
|
-
|
|
56
|
-
grid-template-columns: 1fr;
|
|
61
|
+
grid-template-columns: var(--_pane-columns);
|
|
57
62
|
gap: 0;
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
// edges. Keep the full-height pane model and inset layouts below Large.
|
|
61
|
-
@include bp-down("medium") {
|
|
62
|
-
--md-comp-pane-margin: 16px;
|
|
63
|
-
width: calc(100% - (2 * var(--md-comp-pane-margin)));
|
|
64
|
-
margin-inline: var(--md-comp-pane-margin);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@include bp-between("medium", "expanded") {
|
|
64
|
+
@include bp-up("medium") {
|
|
68
65
|
--md-comp-pane-margin: 24px;
|
|
69
|
-
width: calc(100% - (2 * var(--md-comp-pane-margin)));
|
|
70
|
-
margin-inline: var(--md-comp-pane-margin);
|
|
71
66
|
gap: var(--md-comp-pane-gap);
|
|
72
67
|
}
|
|
73
68
|
|
|
74
69
|
// Panes in compact mode: list/primary visible by default, detail/supporting hidden
|
|
75
70
|
// unless marked .active
|
|
76
71
|
> :is(.pane, .list-pane, .primary-pane, .detail-pane, .supporting-pane) {
|
|
77
|
-
display:
|
|
72
|
+
display: var(--_pane-display);
|
|
78
73
|
min-width: 0;
|
|
79
74
|
min-height: 0;
|
|
80
75
|
overflow: hidden;
|
|
@@ -90,46 +85,40 @@
|
|
|
90
85
|
}
|
|
91
86
|
}
|
|
92
87
|
|
|
93
|
-
// Expanded Viewports: Dual-pane side-by-side (via container query or breakpoint)
|
|
94
88
|
@include bp-up("expanded") {
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
--_pane-columns: var(--_pane-expanded-columns);
|
|
90
|
+
--_pane-display: flex;
|
|
91
|
+
--_pane-divider: 1px;
|
|
92
|
+
}
|
|
97
93
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
94
|
+
@include bp-up("large") {
|
|
95
|
+
--_pane-columns: var(--_pane-wide-columns);
|
|
101
96
|
}
|
|
102
97
|
|
|
103
|
-
@container (
|
|
104
|
-
|
|
98
|
+
@container (width < 600px) {
|
|
99
|
+
--md-comp-pane-margin: 16px;
|
|
105
100
|
gap: 0;
|
|
106
|
-
|
|
107
|
-
> :is(.pane, .list-pane, .primary-pane, .detail-pane, .supporting-pane) {
|
|
108
|
-
display: flex !important;
|
|
109
|
-
}
|
|
110
101
|
}
|
|
111
102
|
|
|
112
|
-
|
|
113
|
-
// Expanded spacer when the viewport and container queries both match.
|
|
114
|
-
@include bp-between("expanded", "large") {
|
|
103
|
+
@container (width >= 600px) {
|
|
115
104
|
--md-comp-pane-margin: 24px;
|
|
116
|
-
width: calc(100% - (2 * var(--md-comp-pane-margin)));
|
|
117
|
-
margin-inline: var(--md-comp-pane-margin);
|
|
118
105
|
gap: var(--md-comp-pane-gap);
|
|
119
106
|
}
|
|
120
107
|
|
|
121
|
-
@
|
|
122
|
-
--
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
gap: var(--md-comp-pane-gap);
|
|
108
|
+
@container (width < 840px) {
|
|
109
|
+
--_pane-columns: 1fr;
|
|
110
|
+
--_pane-display: none;
|
|
111
|
+
--_pane-divider: 0px;
|
|
126
112
|
}
|
|
127
113
|
|
|
128
|
-
@
|
|
129
|
-
--
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
114
|
+
@container (min-width: 840px) {
|
|
115
|
+
--_pane-columns: var(--_pane-expanded-columns);
|
|
116
|
+
--_pane-display: flex;
|
|
117
|
+
--_pane-divider: 1px;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@container (min-width: 1200px) {
|
|
121
|
+
--_pane-columns: var(--_pane-wide-columns);
|
|
133
122
|
}
|
|
134
123
|
}
|
|
135
124
|
|
|
@@ -140,49 +129,25 @@
|
|
|
140
129
|
// 1. Supporting Pane Layout
|
|
141
130
|
.supporting-pane-layout,
|
|
142
131
|
.panes.supporting {
|
|
143
|
-
|
|
144
|
-
grid-template-columns: 1fr var(--md-comp-pane-supporting-width);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
@container (min-width: 840px) {
|
|
148
|
-
grid-template-columns: 1fr var(--md-comp-pane-supporting-width);
|
|
149
|
-
}
|
|
132
|
+
--_pane-expanded-columns: 1fr var(--md-comp-pane-supporting-width);
|
|
150
133
|
|
|
151
134
|
// Leading supporting pane (.start / .left)
|
|
152
135
|
&.start,
|
|
153
136
|
&.left {
|
|
154
|
-
|
|
155
|
-
grid-template-columns: var(--md-comp-pane-supporting-width) 1fr;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
@container (min-width: 840px) {
|
|
159
|
-
grid-template-columns: var(--md-comp-pane-supporting-width) 1fr;
|
|
160
|
-
}
|
|
137
|
+
--_pane-expanded-columns: var(--md-comp-pane-supporting-width) 1fr;
|
|
161
138
|
}
|
|
162
139
|
}
|
|
163
140
|
|
|
164
141
|
// 2. Equal / Proportional Pane Layout
|
|
165
142
|
.panes.equal,
|
|
166
143
|
.pane-layout.equal {
|
|
167
|
-
|
|
168
|
-
grid-template-columns: 1fr 1fr;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
@container (min-width: 840px) {
|
|
172
|
-
grid-template-columns: 1fr 1fr;
|
|
173
|
-
}
|
|
144
|
+
--_pane-expanded-columns: 1fr 1fr;
|
|
174
145
|
}
|
|
175
146
|
|
|
176
147
|
// 3. Three-Pane Layout (List + Primary Focus + Supporting)
|
|
177
148
|
.panes.three-pane,
|
|
178
149
|
.pane-layout.three-pane {
|
|
179
|
-
|
|
180
|
-
grid-template-columns: var(--md-comp-pane-list-width) 1fr var(--md-comp-pane-supporting-width);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
@container (min-width: 1200px) {
|
|
184
|
-
grid-template-columns: var(--md-comp-pane-list-width) 1fr var(--md-comp-pane-supporting-width);
|
|
185
|
-
}
|
|
150
|
+
--_pane-wide-columns: var(--md-comp-pane-list-width) 1fr var(--md-comp-pane-supporting-width);
|
|
186
151
|
}
|
|
187
152
|
|
|
188
153
|
// ---------------------------------------------------------------------------
|
|
@@ -220,13 +185,7 @@
|
|
|
220
185
|
// ---------------------------------------------------------------------------
|
|
221
186
|
:is(.panes, .pane-layout, .list-detail, .supporting-pane-layout):not(.separated, .floating) {
|
|
222
187
|
> :is(.pane, .list-pane, .primary-pane, .detail-pane, .supporting-pane):not(:last-child) {
|
|
223
|
-
|
|
224
|
-
border-inline-end: 1px solid var(--md-comp-pane-divider-color);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
@container (min-width: 840px) {
|
|
228
|
-
border-inline-end: 1px solid var(--md-comp-pane-divider-color);
|
|
229
|
-
}
|
|
188
|
+
border-inline-end: var(--_pane-divider) solid var(--md-comp-pane-divider-color);
|
|
230
189
|
}
|
|
231
190
|
}
|
|
232
191
|
|
|
@@ -322,14 +281,27 @@
|
|
|
322
281
|
}
|
|
323
282
|
|
|
324
283
|
// Footer / Action Bar
|
|
284
|
+
> footer:not(:has(> nav:only-child)),
|
|
325
285
|
> :is(footer, .pane-footer, nav:last-child) {
|
|
326
286
|
display: flex;
|
|
287
|
+
flex-wrap: wrap;
|
|
327
288
|
align-items: center;
|
|
328
289
|
gap: 8px;
|
|
329
290
|
flex: 0 0 auto;
|
|
330
291
|
box-sizing: border-box;
|
|
331
292
|
min-height: 56px;
|
|
293
|
+
margin: 0;
|
|
332
294
|
padding: 8px 16px;
|
|
333
295
|
border-block-start: 1px solid var(--md-comp-pane-divider-color);
|
|
296
|
+
|
|
297
|
+
> :is(button, a):not(.icon-button) {
|
|
298
|
+
min-width: 0;
|
|
299
|
+
max-width: 100%;
|
|
300
|
+
min-height: var(--md-comp-filled-button-container-height, 40px);
|
|
301
|
+
height: auto;
|
|
302
|
+
padding-block: 8px;
|
|
303
|
+
white-space: normal;
|
|
304
|
+
overflow-wrap: anywhere;
|
|
305
|
+
}
|
|
334
306
|
}
|
|
335
307
|
}
|
|
@@ -49,6 +49,10 @@
|
|
|
49
49
|
-webkit-appearance: none;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
.progress:not(.circular) {
|
|
53
|
+
writing-mode: horizontal-tb;
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
progress.progress {
|
|
53
57
|
vertical-align: baseline;
|
|
54
58
|
|
|
@@ -75,7 +79,8 @@ progress.progress {
|
|
|
75
79
|
|
|
76
80
|
.progress > .determinate {
|
|
77
81
|
position: absolute;
|
|
78
|
-
inset: 0
|
|
82
|
+
inset-block: 0;
|
|
83
|
+
inset-inline: 0 auto;
|
|
79
84
|
width: var(--md-comp-progress-value, 0%);
|
|
80
85
|
background-color: var(--md-comp-progress-indicator);
|
|
81
86
|
transition: width 0.3s linear;
|
|
@@ -89,7 +94,8 @@ progress.progress {
|
|
|
89
94
|
&::after {
|
|
90
95
|
content: "";
|
|
91
96
|
position: absolute;
|
|
92
|
-
inset: 0
|
|
97
|
+
inset-block: 0;
|
|
98
|
+
inset-inline: 0 auto;
|
|
93
99
|
width: var(--md-comp-progress-value, 0%);
|
|
94
100
|
background-color: var(--md-comp-progress-indicator);
|
|
95
101
|
transition: width 0.3s linear;
|
|
@@ -109,7 +115,8 @@ progress.progress:indeterminate {
|
|
|
109
115
|
&::after {
|
|
110
116
|
content: "";
|
|
111
117
|
position: absolute;
|
|
112
|
-
inset: 0
|
|
118
|
+
inset-block: 0;
|
|
119
|
+
inset-inline: 0 auto;
|
|
113
120
|
background-color: var(--md-comp-progress-indicator);
|
|
114
121
|
}
|
|
115
122
|
|
|
@@ -124,15 +131,15 @@ progress.progress:indeterminate {
|
|
|
124
131
|
}
|
|
125
132
|
|
|
126
133
|
@keyframes preloader-indeterminate {
|
|
127
|
-
0% {
|
|
128
|
-
60% {
|
|
129
|
-
100% {
|
|
134
|
+
0% { inset-inline-start: -35%; inset-inline-end: 100%; }
|
|
135
|
+
60% { inset-inline-start: 100%; inset-inline-end: -90%; }
|
|
136
|
+
100% { inset-inline-start: 100%; inset-inline-end: -90%; }
|
|
130
137
|
}
|
|
131
138
|
|
|
132
139
|
@keyframes preloader-indeterminate-short {
|
|
133
|
-
0% {
|
|
134
|
-
60% {
|
|
135
|
-
100% {
|
|
140
|
+
0% { inset-inline-start: -200%; inset-inline-end: 100%; }
|
|
141
|
+
60% { inset-inline-start: 107%; inset-inline-end: -8%; }
|
|
142
|
+
100% { inset-inline-start: 107%; inset-inline-end: -8%; }
|
|
136
143
|
}
|
|
137
144
|
|
|
138
145
|
// ---------------------------------------------------------------------------
|
|
@@ -183,14 +190,67 @@ progress.progress:indeterminate {
|
|
|
183
190
|
to { transform: rotate(1turn); }
|
|
184
191
|
}
|
|
185
192
|
|
|
186
|
-
@media (
|
|
187
|
-
.progress
|
|
188
|
-
progress.progress:indeterminate,
|
|
189
|
-
.progress:not(:is(progress)):not(:has(> .determinate, > .indeterminate)):not([style*="--md-comp-progress-value"]),
|
|
193
|
+
@media (forced-colors: active) {
|
|
194
|
+
.progress,
|
|
190
195
|
.preloader {
|
|
196
|
+
forced-color-adjust: none;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.progress:not(.circular) {
|
|
200
|
+
background-color: Canvas;
|
|
201
|
+
outline: 1px solid CanvasText;
|
|
202
|
+
outline-offset: 1px;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.progress > .determinate,
|
|
206
|
+
.progress > .indeterminate::before,
|
|
207
|
+
.progress > .indeterminate::after,
|
|
208
|
+
.progress:not(:is(progress)):not(.circular):not(:has(> .determinate, > .indeterminate))::after,
|
|
209
|
+
progress.progress:indeterminate::before,
|
|
210
|
+
progress.progress:indeterminate::after {
|
|
211
|
+
background-color: CanvasText;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
progress.progress::-webkit-progress-bar { background-color: Canvas; }
|
|
215
|
+
progress.progress::-webkit-progress-value { background-color: CanvasText; }
|
|
216
|
+
progress.progress::-moz-progress-bar { background-color: CanvasText; }
|
|
217
|
+
progress.progress:indeterminate::-webkit-progress-value { background-color: transparent; }
|
|
218
|
+
progress.progress:indeterminate::-moz-progress-bar {
|
|
219
|
+
background-color: CanvasText;
|
|
220
|
+
width: 40%;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
:is(.preloader, .progress.circular) {
|
|
224
|
+
background: conic-gradient(CanvasText 0 90deg, transparent 90deg 360deg);
|
|
225
|
+
|
|
226
|
+
&.determinate {
|
|
227
|
+
background: conic-gradient(
|
|
228
|
+
CanvasText 0 var(--md-comp-progress-value, 0%),
|
|
229
|
+
GrayText var(--md-comp-progress-value, 0%)
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
@media (prefers-reduced-motion: reduce) {
|
|
236
|
+
.progress > .indeterminate::before,
|
|
237
|
+
.progress > .indeterminate::after,
|
|
238
|
+
.progress::after,
|
|
239
|
+
progress.progress:indeterminate::before,
|
|
240
|
+
progress.progress:indeterminate::after,
|
|
241
|
+
.progress:not(:is(progress)):not(.circular):not(:has(> .determinate, > .indeterminate)):not([style*="--md-comp-progress-value"])::after,
|
|
242
|
+
:is(.preloader, .progress.circular) {
|
|
191
243
|
animation: none;
|
|
192
244
|
}
|
|
193
245
|
|
|
246
|
+
.progress > .indeterminate::before,
|
|
247
|
+
.progress > .indeterminate::after,
|
|
248
|
+
progress.progress:indeterminate::before,
|
|
249
|
+
progress.progress:indeterminate::after,
|
|
250
|
+
.progress:not(:is(progress)):not(.circular):not(:has(> .determinate, > .indeterminate)):not([style*="--md-comp-progress-value"])::after {
|
|
251
|
+
width: 40%;
|
|
252
|
+
}
|
|
253
|
+
|
|
194
254
|
.preloader {
|
|
195
255
|
transform: none;
|
|
196
256
|
}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
// Scrim (M3 Expressive). A foundation, not a component: there is no markup an
|
|
4
4
|
// author writes to get one. It is the wash a modal surface puts behind itself
|
|
5
5
|
// to dim what it covers, and this is the one place its value is decided -
|
|
6
|
-
// dialogs, both sheets,
|
|
6
|
+
// dialogs, both sheets, and the modal navigation rail
|
|
7
7
|
// all consume the same custom property - the sheets through the
|
|
8
8
|
// `dialog::backdrop` rule they already share, so they declare nothing.
|
|
9
9
|
//
|
|
10
10
|
// https://m3.material.io/styles/color/roles - the `scrim` role, at 32%.
|
|
11
11
|
//
|
|
12
12
|
// Blur is deliberately not part of it. Only the basic dialog frosts what is
|
|
13
|
-
// behind it (`--md-comp-basic-dialog-scrim-blur`); the
|
|
14
|
-
//
|
|
13
|
+
// behind it (`--md-comp-basic-dialog-scrim-blur`); the rail slides over the
|
|
14
|
+
// page and would smear it.
|
|
15
15
|
//
|
|
16
|
-
// Declared on :root rather than per surface because
|
|
16
|
+
// Declared on :root rather than per surface because the modal consumers
|
|
17
17
|
// paint into `::backdrop`, which has no box of its own to hang a token on -
|
|
18
18
|
// only the rail uses a `::before`. `::backdrop` inherits from the element it
|
|
19
19
|
// belongs to, so setting this on one `<dialog>` still dims only that one.
|
|
@@ -59,8 +59,9 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
&:modal {
|
|
62
|
-
border-radius:
|
|
63
|
-
|
|
62
|
+
border-radius: 0;
|
|
63
|
+
border-start-start-radius: var(--md-comp-side-sheet-container-shape);
|
|
64
|
+
border-end-start-radius: var(--md-comp-side-sheet-container-shape);
|
|
64
65
|
@include z-depth("1");
|
|
65
66
|
}
|
|
66
67
|
|
|
@@ -82,8 +83,10 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
&:modal {
|
|
85
|
-
border-radius: 0
|
|
86
|
-
|
|
86
|
+
border-start-start-radius: 0;
|
|
87
|
+
border-end-start-radius: 0;
|
|
88
|
+
border-start-end-radius: var(--md-comp-side-sheet-container-shape);
|
|
89
|
+
border-end-end-radius: var(--md-comp-side-sheet-container-shape);
|
|
87
90
|
}
|
|
88
91
|
}
|
|
89
92
|
|
|
@@ -95,7 +98,8 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
95
98
|
box-sizing: border-box;
|
|
96
99
|
min-height: 64px;
|
|
97
100
|
margin: 0;
|
|
98
|
-
padding: 8px
|
|
101
|
+
padding-block: 8px;
|
|
102
|
+
padding-inline: 24px 12px;
|
|
99
103
|
background: none;
|
|
100
104
|
box-shadow: none;
|
|
101
105
|
}
|
|
@@ -155,6 +159,7 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
155
159
|
}
|
|
156
160
|
|
|
157
161
|
> :is(form, nav):last-child {
|
|
162
|
+
flex-wrap: wrap;
|
|
158
163
|
justify-content: flex-start;
|
|
159
164
|
gap: 8px;
|
|
160
165
|
padding: 16px 24px;
|
|
@@ -174,15 +179,20 @@ $_sheet: "dialog.side-sheet, dialog.right, dialog.right-sheet, dialog.left, dial
|
|
|
174
179
|
}
|
|
175
180
|
|
|
176
181
|
@starting-style {
|
|
177
|
-
|
|
178
|
-
dialog.right[open],
|
|
179
|
-
dialog.right-sheet[open] {
|
|
182
|
+
:is(#{$_sheet})[open] {
|
|
180
183
|
translate: 100% 0;
|
|
181
|
-
}
|
|
182
184
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
&:dir(rtl) {
|
|
186
|
+
translate: -100% 0;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
&:is(.start, .left, .left-sheet) {
|
|
190
|
+
translate: -100% 0;
|
|
191
|
+
|
|
192
|
+
&:dir(rtl) {
|
|
193
|
+
translate: 100% 0;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
186
196
|
}
|
|
187
197
|
}
|
|
188
198
|
|
|
@@ -47,9 +47,6 @@
|
|
|
47
47
|
//
|
|
48
48
|
// Do not show a toolbar at the same time as nav.navigation-bar.
|
|
49
49
|
//
|
|
50
|
-
// #{$_toolbar} only - do not style every <nav>. div.fixed-action-btn.toolbar
|
|
51
|
-
// is the FAB-to-toolbar transition, not this component.
|
|
52
|
-
|
|
53
50
|
// The host. A toolbar holds commands, not destinations, so it is not a <nav>
|
|
54
51
|
// (rule 4) - and not role="toolbar" either, because that is a composite role
|
|
55
52
|
// promising arrow-key navigation nothing here implements (rule 2). The <nav>
|
|
@@ -58,7 +55,7 @@
|
|
|
58
55
|
// Wrapped in :is() so it stays one compound selector: interpolating a bare
|
|
59
56
|
// comma-separated list breaks out of its context. That mistake shipped once
|
|
60
57
|
// already, in $_bar.
|
|
61
|
-
$_toolbar: "
|
|
58
|
+
$_toolbar: ".toolbar";
|
|
62
59
|
|
|
63
60
|
// The two axes. `.max` is BeerCSS's name for docked; `.filled` is the older
|
|
64
61
|
// name for vibrant. Both stay in the :is() lists.
|
|
@@ -37,8 +37,9 @@
|
|
|
37
37
|
color: var(--md-comp-plain-tooltip-supporting-text-color);
|
|
38
38
|
@include typescale("body-small");
|
|
39
39
|
text-align: center;
|
|
40
|
-
white-space:
|
|
41
|
-
|
|
40
|
+
white-space: normal;
|
|
41
|
+
overflow-wrap: anywhere;
|
|
42
|
+
pointer-events: auto;
|
|
42
43
|
z-index: 2000;
|
|
43
44
|
}
|
|
44
45
|
|
|
@@ -159,3 +160,20 @@ body > .tooltip {
|
|
|
159
160
|
box-shadow: none;
|
|
160
161
|
}
|
|
161
162
|
}
|
|
163
|
+
|
|
164
|
+
.tooltip::before {
|
|
165
|
+
content: "";
|
|
166
|
+
position: absolute;
|
|
167
|
+
inset: calc(-1 * var(--md-comp-tooltip-anchor-gap));
|
|
168
|
+
z-index: -1;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@media (prefers-reduced-motion: reduce) {
|
|
172
|
+
:not(body) > .tooltip {
|
|
173
|
+
transition: none;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.tooltip-content {
|
|
178
|
+
min-width: 0;
|
|
179
|
+
}
|
|
@@ -45,7 +45,7 @@ $_text-inputs: "input:not([type]):not(.browser-default), input[type=text]:not(.b
|
|
|
45
45
|
// .suffix to four of five is exactly the bug this variable prevents: the
|
|
46
46
|
// leading icon inherited the label's position and sat at 16px with
|
|
47
47
|
// pointer-events: none.
|
|
48
|
-
$_not-label: ".supporting-text, .character-counter, .file-path, .caret, .prefix, .suffix";
|
|
48
|
+
$_not-label: ".supporting-text, .character-counter, .file-path, .caret, .prefix, .suffix, .chip";
|
|
49
49
|
|
|
50
50
|
.field {
|
|
51
51
|
--md-comp-filled-text-field-container-color: var(--md-sys-color-surface-container-highest);
|
|
@@ -295,6 +295,10 @@ textarea {
|
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
+
.autocomplete-status {
|
|
299
|
+
@include visually-hidden;
|
|
300
|
+
}
|
|
301
|
+
|
|
298
302
|
.autocomplete-content {
|
|
299
303
|
li {
|
|
300
304
|
.highlight { color: var(--md-sys-color-on-surface); }
|