@flood-md/react 0.2.1 → 0.2.3
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/README.md +463 -4
- package/dist/choice-group.d.ts +16 -0
- package/dist/choice-group.js +52 -0
- package/dist/disclosure.d.ts +12 -0
- package/dist/disclosure.js +20 -0
- package/dist/field-state.d.ts +6 -0
- package/dist/field-state.js +8 -0
- package/dist/foundations.css +309 -6
- package/dist/index.d.ts +239 -5
- package/dist/index.js +178 -15
- package/dist/navigation.d.ts +4 -0
- package/dist/navigation.js +68 -0
- package/dist/overlay-runtime.d.ts +38 -0
- package/dist/overlay-runtime.js +104 -0
- package/dist/overlays.d.ts +7 -0
- package/dist/overlays.js +170 -0
- package/dist/page-window.d.ts +1 -0
- package/dist/page-window.js +15 -0
- package/dist/scroll-area.d.ts +3 -0
- package/dist/scroll-area.js +220 -0
- package/dist/select.d.ts +3 -0
- package/dist/select.js +284 -0
- package/dist/styles.css +2 -0
- package/package.json +2 -2
package/dist/foundations.css
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
@import "@flood-md/tokens/foundations.css";
|
|
2
2
|
|
|
3
|
+
/* Keep real labels in the accessibility tree while removing their layout box. */
|
|
4
|
+
.flood-visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
|
|
5
|
+
.flood-field[data-hide-label="true"], .flood-fieldset[data-hide-label="true"] { position: relative; }
|
|
6
|
+
|
|
7
|
+
.flood-root .flood-tabs { display: grid; grid-template-rows: auto 1fr; min-inline-size: 0; box-sizing: border-box; overflow: clip; border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-default); }
|
|
8
|
+
.flood-root .flood-tabs[data-orientation="vertical"] { grid-template-columns: minmax(0, min(10rem, 40%)) minmax(0, 1fr); grid-template-rows: 1fr; }
|
|
9
|
+
.flood-root .flood-tabs__scroll { background: var(--flood-sys-color-surface-canvas); }
|
|
10
|
+
.flood-root .flood-tabs__list { display: flex; inline-size: max-content; min-inline-size: 100%; box-sizing: border-box; }
|
|
11
|
+
.flood-root .flood-tabs[data-orientation="vertical"] .flood-tabs__list { flex-direction: column; inline-size: 100%; min-inline-size: 0; }
|
|
12
|
+
.flood-root .flood-tabs .flood-tab { flex: none; white-space: nowrap; color: var(--flood-sys-color-content-subtle); border: 0; border-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)) calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)) 0 0; }
|
|
13
|
+
.flood-root .flood-tabs .flood-tab[aria-selected="true"] { color: var(--flood-sys-color-content-default); background: var(--flood-sys-color-surface-default); box-shadow: none; }
|
|
14
|
+
.flood-root .flood-tabs .flood-tab:focus-visible { outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
|
|
15
|
+
.flood-root .flood-tabs .flood-tab:disabled { color: var(--flood-sys-color-field-disabled-content); }
|
|
16
|
+
.flood-root .flood-tabs[data-orientation="vertical"] .flood-tab { inline-size: 100%; white-space: normal; justify-content: flex-start; text-align: start; border-radius: 0; border-start-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-end-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
|
|
17
|
+
.flood-root .flood-tabs__panel { min-inline-size: 0; padding: var(--flood-sys-space-4); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: anywhere; }
|
|
18
|
+
.flood-root .flood-tabs__panel[hidden] { display: none; }
|
|
19
|
+
.flood-root .flood-tabs__panel:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
|
|
20
|
+
.flood-root :is(.flood-breadcrumb, .flood-pagination) { min-inline-size: 0; max-inline-size: 100%; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
|
|
21
|
+
.flood-root :is(.flood-breadcrumb ol, .flood-pagination ul) { display: flex; flex-wrap: wrap; align-items: center; padding: 0; margin: 0; list-style: none; gap: var(--flood-sys-space-2); }
|
|
22
|
+
.flood-root .flood-breadcrumb li { display: inline-flex; align-items: center; gap: var(--flood-sys-space-2); min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; }
|
|
23
|
+
.flood-root .flood-breadcrumb a { display: inline-flex; align-items: center; min-block-size: var(--flood-sys-control-sm-height); color: var(--flood-sys-color-content-subtle); text-decoration: none; }
|
|
24
|
+
.flood-root .flood-breadcrumb a:hover { text-decoration: underline; }
|
|
25
|
+
.flood-root .flood-breadcrumb [aria-current="page"] { color: var(--flood-sys-color-content-default); }
|
|
26
|
+
.flood-root .flood-breadcrumb__separator { flex: none; color: var(--flood-sys-color-content-subtle); }
|
|
27
|
+
.flood-root .flood-pagination ul { gap: var(--flood-sys-space-1); }
|
|
28
|
+
.flood-root .flood-pagination .flood-page { min-inline-size: var(--flood-control-height); padding-inline: var(--flood-sys-space-1); text-decoration: none; }
|
|
29
|
+
.flood-root .flood-pagination:dir(rtl) .flood-page > svg { transform: scaleX(-1); }
|
|
30
|
+
.flood-root .flood-page > svg { flex: none; inline-size: var(--flood-control-icon); block-size: var(--flood-control-icon); }
|
|
31
|
+
.flood-root .flood-pagination .flood-page[aria-current="page"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
|
|
32
|
+
.flood-root .flood-pagination .flood-page:is(:disabled, [aria-disabled="true"]) { color: var(--flood-sys-color-field-disabled-content); cursor: default; }
|
|
33
|
+
.flood-root .flood-page-gap { padding-inline: var(--flood-sys-space-1); color: var(--flood-sys-color-content-subtle); }
|
|
34
|
+
@media (pointer: coarse) { .flood-root .flood-pagination .flood-page { min-inline-size: var(--flood-sys-size-touch); } .flood-root .flood-breadcrumb a { min-block-size: var(--flood-sys-size-touch); min-inline-size: var(--flood-sys-size-touch); } }
|
|
35
|
+
@media (forced-colors: active) {
|
|
36
|
+
.flood-root .flood-tabs .flood-tab[aria-selected="true"]:not(:disabled), .flood-root .flood-pagination .flood-page[aria-current="page"]:not(:disabled):not([aria-disabled="true"]) { forced-color-adjust: none; background: Highlight; color: HighlightText; box-shadow: none; }
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.flood-root :is(.flood-overlay-panel, .flood-dialog) { box-sizing: border-box; color: var(--flood-sys-color-content-default); background: var(--flood-sys-color-surface-overlay); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); font: inherit; text-align: start; }
|
|
40
|
+
.flood-root .flood-overlay-panel { position: fixed; inset: auto; margin: 0; max-inline-size: var(--flood-overlay-available-width, calc(100vw - 1rem)); max-block-size: var(--flood-overlay-available-height, calc(100dvh - 1rem)); padding: var(--flood-sys-space-4); gap: var(--flood-sys-space-2); overflow: auto; }
|
|
41
|
+
.flood-root .flood-overlay-panel[popover]:not(:popover-open) { display: none; }
|
|
42
|
+
.flood-root .flood-tooltip { inline-size: max-content; max-inline-size: min(20rem, var(--flood-overlay-available-width, calc(100vw - 1rem))); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); border-radius: var(--flood-sys-radius-field); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); overflow-wrap: anywhere; }
|
|
43
|
+
.flood-root .flood-popover { inline-size: 20rem; }
|
|
44
|
+
.flood-root .flood-overlay-header { display: flex; align-items: center; justify-content: space-between; gap: var(--flood-sys-space-4); }
|
|
45
|
+
.flood-root .flood-overlay-close { flex: none; align-self: flex-start; }
|
|
46
|
+
.flood-root .flood-overlay-title { margin: 0; min-inline-size: 0; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); font-weight: var(--flood-sys-type-label-weight); overflow-wrap: anywhere; }
|
|
47
|
+
.flood-root .flood-overlay-body { margin-block-start: var(--flood-sys-space-3); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
|
|
48
|
+
.flood-root .flood-overlay-description { margin: var(--flood-sys-space-2) 0 0; color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
|
|
49
|
+
.flood-root .flood-dialog { padding: var(--flood-sys-space-6); inline-size: min(32rem, calc(100% - var(--flood-sys-space-8))); max-inline-size: calc(100% - var(--flood-sys-space-8)); max-block-size: calc(100dvh - var(--flood-sys-space-8)); overflow: auto; }
|
|
50
|
+
.flood-root .flood-dialog:not([open]) { display: none; }
|
|
51
|
+
.flood-root .flood-dialog::backdrop { background: color-mix(in srgb, var(--flood-sys-color-surface-canvas) 72%, transparent); }
|
|
52
|
+
.flood-root .flood-popover:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: 0; }
|
|
53
|
+
|
|
54
|
+
.flood-root :is(.flood-disclosure, .flood-accordion) { box-sizing: border-box; min-inline-size: 0; border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-default); }
|
|
55
|
+
.flood-root .flood-disclosure__heading { margin: 0; padding: 0; font: inherit; }
|
|
56
|
+
.flood-root .flood-disclosure .flood-disclosure__trigger { inline-size: 100%; max-inline-size: none; justify-content: space-between; text-align: start; border-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
|
|
57
|
+
.flood-root .flood-disclosure__title { min-inline-size: 0; }
|
|
58
|
+
.flood-root .flood-disclosure__indicator { flex: none; inline-size: calc(var(--flood-control-icon) * .4); block-size: calc(var(--flood-control-icon) * .4); border-right: var(--flood-sys-stroke-width) solid currentColor; border-block-end: var(--flood-sys-stroke-width) solid currentColor; transform: rotate(45deg); transition: transform var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); margin-inline: var(--flood-sys-space-1); }
|
|
59
|
+
.flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading .flood-disclosure__indicator { transform: rotate(225deg); }
|
|
60
|
+
.flood-root .flood-disclosure__panel { padding: 0 var(--flood-control-padding) var(--flood-control-padding); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: anywhere; }
|
|
61
|
+
.flood-root .flood-disclosure__panel[hidden] { display: none; }
|
|
62
|
+
.flood-root .flood-accordion > .flood-disclosure { border: 0; border-radius: 0; background: transparent; }
|
|
63
|
+
.flood-root .flood-accordion > .flood-disclosure + .flood-disclosure { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
|
|
64
|
+
.flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: 0; border-end-end-radius: 0; }
|
|
65
|
+
.flood-root .flood-accordion > .flood-disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { border-radius: 0; }
|
|
66
|
+
.flood-root .flood-accordion > .flood-disclosure:first-child > .flood-disclosure__heading > .flood-disclosure__trigger { border-start-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-start-end-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
|
|
67
|
+
.flood-root .flood-accordion > .flood-disclosure:last-child[data-open="false"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-end-end-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
|
|
68
|
+
@media (prefers-reduced-motion: reduce) { .flood-root .flood-disclosure__indicator { transition: none; } }
|
|
69
|
+
|
|
3
70
|
@font-face {
|
|
4
71
|
font-family: "Inter";
|
|
5
72
|
font-style: normal;
|
|
@@ -41,6 +108,45 @@
|
|
|
41
108
|
.flood-root .flood-tone--info { color: var(--flood-sys-color-feedback-info); }
|
|
42
109
|
.flood-root .flood-stack { display: flex; flex-direction: column; gap: var(--flood-layout-gap); min-inline-size: 0; }
|
|
43
110
|
.flood-root .flood-inline { display: flex; flex-wrap: wrap; gap: var(--flood-layout-gap); min-inline-size: 0; }
|
|
111
|
+
.flood-root :where(.flood-stack, .flood-inline, .flood-surface) { min-block-size: 0; }
|
|
112
|
+
.flood-scroll-area { position: relative; isolation: isolate; min-inline-size: 0; min-block-size: 0; max-inline-size: 100%; }
|
|
113
|
+
.flood-scroll-area__viewport { position: relative; z-index: 0; box-sizing: border-box; min-inline-size: 0; min-block-size: 0; overflow: auto; scroll-behavior: auto; }
|
|
114
|
+
.flood-scroll-area__viewport[hidden] { display: none; }
|
|
115
|
+
.flood-scroll-area__viewport[data-orientation="vertical"] { overflow-x: hidden; }
|
|
116
|
+
.flood-scroll-area__viewport[data-orientation="horizontal"] { overflow-y: hidden; }
|
|
117
|
+
.flood-scroll-area__viewport[data-scrollbars="overlay"] { scrollbar-width: none; }
|
|
118
|
+
.flood-scroll-area__viewport[data-scrollbars="overlay"]::-webkit-scrollbar { display: none; width: 0; height: 0; }
|
|
119
|
+
.flood-scroll-area__content { --flood-scroll-content-inline: 0px; --flood-scroll-content-block: 0px; display: flow-root; box-sizing: border-box; min-inline-size: 100%; padding-inline-end: var(--flood-scroll-content-inline); padding-block-end: var(--flood-scroll-content-block); }
|
|
120
|
+
.flood-scroll-area__track { position: absolute; z-index: var(--flood-sys-layer-sticky); touch-action: none; user-select: none; }
|
|
121
|
+
.flood-scroll-area__thumb { border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-scrollbar-thumb); touch-action: none; user-select: none; cursor: default; }
|
|
122
|
+
.flood-scroll-area__thumb:hover, .flood-scroll-area__track[data-dragging="true"] .flood-scroll-area__thumb { background: var(--flood-sys-color-scrollbar-thumb-hover); }
|
|
123
|
+
.flood-root .flood-scroll-area__viewport:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
|
|
124
|
+
.flood-root .flood-code-snippet {
|
|
125
|
+
box-sizing: border-box;
|
|
126
|
+
display: flex;
|
|
127
|
+
flex-wrap: wrap;
|
|
128
|
+
align-items: center;
|
|
129
|
+
gap: var(--flood-sys-space-2);
|
|
130
|
+
min-inline-size: 0;
|
|
131
|
+
padding: var(--flood-sys-space-3) var(--flood-sys-space-4);
|
|
132
|
+
border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
|
|
133
|
+
border-radius: var(--flood-sys-radius-field);
|
|
134
|
+
background: var(--flood-sys-color-surface-default);
|
|
135
|
+
color: var(--flood-sys-color-content-default);
|
|
136
|
+
}
|
|
137
|
+
.flood-root .flood-code-snippet__code {
|
|
138
|
+
flex: 1;
|
|
139
|
+
min-inline-size: 0;
|
|
140
|
+
font-family: var(--flood-sys-font-mono);
|
|
141
|
+
font-size: var(--flood-sys-type-compact-size);
|
|
142
|
+
font-weight: var(--flood-sys-type-compact-weight);
|
|
143
|
+
line-height: var(--flood-sys-type-compact-line-height);
|
|
144
|
+
letter-spacing: normal;
|
|
145
|
+
white-space: pre-wrap;
|
|
146
|
+
overflow-wrap: anywhere;
|
|
147
|
+
user-select: text;
|
|
148
|
+
}
|
|
149
|
+
.flood-root .flood-code-snippet__action { flex: none; max-inline-size: 100%; }
|
|
44
150
|
.flood-root .flood-surface {
|
|
45
151
|
box-sizing: border-box;
|
|
46
152
|
border-radius: var(--flood-sys-radius-block);
|
|
@@ -51,6 +157,8 @@
|
|
|
51
157
|
.flood-root .flood-divider { border: 0; border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); margin: 0; inline-size: 100%; }
|
|
52
158
|
.flood-root .flood-button {
|
|
53
159
|
display: inline-flex;
|
|
160
|
+
inline-size: fit-content;
|
|
161
|
+
max-inline-size: 100%;
|
|
54
162
|
align-items: center;
|
|
55
163
|
justify-content: center;
|
|
56
164
|
min-block-size: var(--flood-control-height);
|
|
@@ -83,7 +191,7 @@
|
|
|
83
191
|
--flood-surface-action-rest: var(--flood-sys-color-action-on-surface-hover);
|
|
84
192
|
--flood-surface-action-hover: var(--flood-sys-color-action-on-surface-pressed);
|
|
85
193
|
}
|
|
86
|
-
.flood-root .flood-button--outline { border-color: var(--flood-sys-color-field-
|
|
194
|
+
.flood-root .flood-button--outline { border-color: var(--flood-sys-color-field-border); }
|
|
87
195
|
.flood-root .flood-icon-button { min-inline-size: var(--flood-control-height); padding: var(--flood-sys-space-1); }
|
|
88
196
|
.flood-root .flood-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; flex: none; inline-size: var(--flood-icon-size); block-size: var(--flood-icon-size); color: inherit; }
|
|
89
197
|
.flood-root .flood-icon > svg { display: block; inline-size: 100%; block-size: 100%; }
|
|
@@ -94,7 +202,7 @@
|
|
|
94
202
|
padding-block: calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-sys-stroke-width));
|
|
95
203
|
padding-inline: calc(var(--flood-control-padding) - var(--flood-sys-stroke-width));
|
|
96
204
|
border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border);
|
|
97
|
-
|
|
205
|
+
box-shadow: none;
|
|
98
206
|
border-radius: var(--flood-sys-radius-field);
|
|
99
207
|
background: var(--flood-sys-color-field-background);
|
|
100
208
|
color: var(--flood-sys-color-field-content);
|
|
@@ -106,6 +214,15 @@
|
|
|
106
214
|
.flood-root .flood-input::placeholder { color: var(--flood-sys-color-field-placeholder); opacity: 1; }
|
|
107
215
|
.flood-root .flood-input[aria-invalid="true"] { border-color: var(--flood-sys-color-feedback-error); }
|
|
108
216
|
.flood-root .flood-input[readonly] { cursor: text; }
|
|
217
|
+
.flood-root .flood-input[readonly]:not(:disabled) { background: var(--flood-sys-color-surface-canvas); }
|
|
218
|
+
.flood-root .flood-input[readonly]:not(:disabled):not(:focus-visible) { border-style: dashed; }
|
|
219
|
+
.flood-root [data-status="error"] { --flood-field-feedback: var(--flood-sys-color-feedback-error); }
|
|
220
|
+
.flood-root [data-status="warning"] { --flood-field-feedback: var(--flood-sys-color-feedback-warning); }
|
|
221
|
+
.flood-root [data-status="success"] { --flood-field-feedback: var(--flood-sys-color-feedback-success); }
|
|
222
|
+
.flood-root [data-status="info"] { --flood-field-feedback: var(--flood-sys-color-feedback-info); }
|
|
223
|
+
.flood-root .flood-input[data-status] { border-color: var(--flood-field-feedback); }
|
|
224
|
+
.flood-root .flood-message { font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); color: var(--flood-field-feedback, var(--flood-sys-color-content-helper)); }
|
|
225
|
+
.flood-root .flood-field[data-status] > .flood-error { color: var(--flood-field-feedback); }
|
|
109
226
|
.flood-root .flood-input:disabled { background: var(--flood-sys-color-field-disabled); color: var(--flood-sys-color-field-disabled-content); border-color: var(--flood-sys-color-field-border); opacity: 1; }
|
|
110
227
|
.flood-root .flood-input:focus-visible {
|
|
111
228
|
outline: none;
|
|
@@ -114,16 +231,108 @@
|
|
|
114
231
|
padding-block: calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-sys-focus-width));
|
|
115
232
|
padding-inline: calc(var(--flood-control-padding) - var(--flood-sys-focus-width));
|
|
116
233
|
}
|
|
117
|
-
.flood-root .flood-
|
|
234
|
+
.flood-root .flood-select { position: relative; display: block; inline-size: 100%; min-inline-size: 0; color: var(--flood-sys-color-field-content); }
|
|
235
|
+
.flood-root .flood-select__control { appearance: none; padding-inline-end: calc(var(--flood-control-padding) + var(--flood-control-icon) + var(--flood-control-gap) - var(--flood-sys-stroke-width)); cursor: pointer; }
|
|
236
|
+
.flood-root .flood-select__control:focus-visible { padding-inline-end: calc(var(--flood-control-padding) + var(--flood-control-icon) + var(--flood-control-gap) - var(--flood-sys-focus-width)); }
|
|
237
|
+
.flood-root .flood-select:not(.flood-select--listbox)::after {
|
|
238
|
+
content: "";
|
|
239
|
+
box-sizing: border-box;
|
|
240
|
+
pointer-events: none;
|
|
241
|
+
position: absolute;
|
|
242
|
+
inset-inline-end: var(--flood-control-padding);
|
|
243
|
+
inset-block-start: 50%;
|
|
244
|
+
inline-size: var(--flood-sys-space-2);
|
|
245
|
+
block-size: var(--flood-sys-space-2);
|
|
246
|
+
border-right: var(--flood-sys-focus-width) solid currentColor;
|
|
247
|
+
border-bottom: var(--flood-sys-focus-width) solid currentColor;
|
|
248
|
+
transform: translateY(-75%) rotate(45deg);
|
|
249
|
+
}
|
|
250
|
+
.flood-root .flood-select:has(select:disabled) { color: var(--flood-sys-color-field-disabled-content); }
|
|
251
|
+
.flood-root .flood-select--listbox .flood-select__control { appearance: auto; padding-inline-end: calc(var(--flood-control-padding) - var(--flood-sys-stroke-width)); }
|
|
252
|
+
.flood-root .flood-select--listbox .flood-select__control:focus-visible { padding-inline-end: calc(var(--flood-control-padding) - var(--flood-sys-focus-width)); }
|
|
253
|
+
.flood-root .flood-select--custom::after { display: none; }
|
|
254
|
+
.flood-root .flood-select[hidden] { display: none; }
|
|
255
|
+
.flood-root .flood-select--custom .flood-select__control { position: relative; text-align: start; font-family: inherit; }
|
|
256
|
+
.flood-root .flood-select--custom .flood-select__control::after { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; inset-inline-end: var(--flood-control-padding); inset-block-start: 50%; inline-size: var(--flood-sys-space-2); block-size: var(--flood-sys-space-2); border-right: var(--flood-sys-focus-width) solid currentColor; border-bottom: var(--flood-sys-focus-width) solid currentColor; transform: translateY(-75%) rotate(45deg); }
|
|
257
|
+
.flood-root .flood-select__value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
258
|
+
.flood-root .flood-select__native[hidden] { display: none; }
|
|
259
|
+
.flood-root .flood-select__menu {
|
|
260
|
+
--flood-menu-radius: var(--flood-sys-radius-field);
|
|
261
|
+
--flood-menu-padding: var(--flood-sys-space-1);
|
|
262
|
+
--flood-menu-stroke: var(--flood-sys-stroke-width);
|
|
263
|
+
box-sizing: border-box;
|
|
264
|
+
position: fixed;
|
|
265
|
+
inset: auto;
|
|
266
|
+
margin: 0;
|
|
267
|
+
padding: var(--flood-menu-padding);
|
|
268
|
+
max-block-size: calc(var(--flood-sys-control-md-height) * 8);
|
|
269
|
+
overflow: hidden;
|
|
270
|
+
overscroll-behavior: contain;
|
|
271
|
+
border: var(--flood-menu-stroke) solid var(--flood-sys-color-border-decorative);
|
|
272
|
+
border-radius: var(--flood-menu-radius);
|
|
273
|
+
background: var(--flood-sys-color-surface-overlay);
|
|
274
|
+
color: var(--flood-sys-color-content-default);
|
|
275
|
+
font-family: var(--flood-sys-font-sans);
|
|
276
|
+
font-size: var(--flood-control-text);
|
|
277
|
+
line-height: var(--flood-control-line);
|
|
278
|
+
letter-spacing: var(--flood-sys-type-compact-tracking);
|
|
279
|
+
z-index: var(--flood-sys-layer-popover);
|
|
280
|
+
}
|
|
281
|
+
.flood-root .flood-select__menu::backdrop { background: transparent; pointer-events: none; }
|
|
282
|
+
.flood-root .flood-select__viewport { max-block-size: calc(var(--flood-sys-control-md-height) * 8 - var(--flood-sys-space-1) * 2 - var(--flood-sys-stroke-width) * 2); }
|
|
283
|
+
.flood-root .flood-select__option { display: flex; align-items: center; justify-content: space-between; gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-control-md-height); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); border-radius: max(0px, calc(var(--flood-menu-radius) - var(--flood-menu-padding) - var(--flood-menu-stroke))); cursor: pointer; box-sizing: border-box; overflow-wrap: anywhere; }
|
|
284
|
+
.flood-root .flood-select__option[data-active="true"] { background: var(--flood-sys-color-selection-background); }
|
|
285
|
+
.flood-root .flood-select__option[aria-disabled="true"] { color: var(--flood-sys-color-field-disabled-content); cursor: not-allowed; }
|
|
286
|
+
.flood-root .flood-select__selected { flex: none; inline-size: var(--flood-sys-control-sm-icon-size); text-align: center; }
|
|
287
|
+
.flood-root .flood-select__group, .flood-root .flood-select__empty { padding: var(--flood-sys-space-2) var(--flood-sys-space-3); font-size: var(--flood-sys-type-label-size); color: var(--flood-sys-color-content-helper); }
|
|
288
|
+
.flood-root .flood-select__validation { display: block; margin-block-start: var(--flood-sys-space-2); color: var(--flood-sys-color-content-helper); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); }
|
|
289
|
+
.flood-root .flood-textarea { min-block-size: calc(var(--flood-control-height) * 3); resize: none; overflow: auto; }
|
|
118
290
|
.flood-root .flood-field { display: grid; gap: var(--flood-sys-space-2); }
|
|
291
|
+
.flood-root .flood-fieldset { margin: 0; padding: 0; border: 0; min-inline-size: 0; inline-size: 100%; }
|
|
292
|
+
.flood-root .flood-legend { padding: 0; margin-block-end: var(--flood-sys-space-3); font-size: var(--flood-sys-type-label-size); line-height: var(--flood-sys-type-label-line-height); font-weight: var(--flood-sys-type-label-weight); letter-spacing: var(--flood-sys-type-label-tracking); }
|
|
293
|
+
.flood-root .flood-fieldset__body { display: grid; gap: var(--flood-sys-space-3); min-inline-size: 0; }
|
|
294
|
+
.flood-root .flood-choice-group { display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-inline-size: 0; }
|
|
295
|
+
.flood-root .flood-choice-group > .flood-choice { min-block-size: var(--flood-sys-control-sm-height); }
|
|
296
|
+
.flood-root .flood-choice-group[data-orientation="horizontal"] { flex-direction: row; flex-wrap: wrap; column-gap: var(--flood-sys-space-4); }
|
|
297
|
+
.flood-root .flood-fieldset__body:has(> .flood-choice-group) { gap: var(--flood-sys-space-1); }
|
|
298
|
+
.flood-root .flood-fieldset:has(> .flood-fieldset__body > .flood-choice-group) > .flood-legend { margin-block-end: var(--flood-sys-space-1); }
|
|
299
|
+
.flood-root .flood-fieldset:has(> .flood-fieldset__body > .flood-hint) > .flood-legend { margin-block-end: var(--flood-sys-space-1); }
|
|
300
|
+
.flood-root .flood-fieldset:disabled :is(.flood-legend, .flood-label) { color: var(--flood-sys-color-field-disabled-content); }
|
|
119
301
|
.flood-root .flood-label { color: var(--flood-sys-color-content-helper); font-size: var(--flood-sys-type-label-size); line-height: var(--flood-sys-type-label-line-height); font-weight: var(--flood-sys-type-label-weight); letter-spacing: var(--flood-sys-type-label-tracking); }
|
|
120
302
|
.flood-root :where(.flood-hint, .flood-error) { font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); font-weight: var(--flood-sys-type-helper-weight); letter-spacing: var(--flood-sys-type-helper-tracking); }
|
|
121
303
|
.flood-root .flood-hint { color: var(--flood-sys-color-content-helper); }
|
|
122
304
|
.flood-root .flood-error { color: var(--flood-sys-color-content-helper); }
|
|
123
|
-
.flood-root .flood-choice { gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-control-md-height); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); letter-spacing: var(--flood-sys-type-compact-tracking); }
|
|
305
|
+
.flood-root .flood-choice { display: inline-flex; align-items: center; inline-size: fit-content; max-inline-size: 100%; gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-control-md-height); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); letter-spacing: var(--flood-sys-type-compact-tracking); }
|
|
306
|
+
.flood-root .flood-choice > span { min-inline-size: 0; }
|
|
307
|
+
.flood-root .flood-switch { justify-content: flex-start; gap: var(--flood-sys-space-2); }
|
|
124
308
|
.flood-root .flood-choice:has(input:disabled) { color: var(--flood-sys-color-field-disabled-content); }
|
|
125
|
-
.flood-root .flood-check {
|
|
126
|
-
|
|
309
|
+
.flood-root .flood-check {
|
|
310
|
+
appearance: none;
|
|
311
|
+
display: inline-grid;
|
|
312
|
+
place-content: center;
|
|
313
|
+
box-sizing: border-box;
|
|
314
|
+
flex: 0 0 var(--flood-sys-size-choice);
|
|
315
|
+
inline-size: var(--flood-sys-size-choice);
|
|
316
|
+
min-inline-size: var(--flood-sys-size-choice);
|
|
317
|
+
max-inline-size: var(--flood-sys-size-choice);
|
|
318
|
+
block-size: var(--flood-sys-size-choice);
|
|
319
|
+
margin: 0;
|
|
320
|
+
padding: 0;
|
|
321
|
+
border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border);
|
|
322
|
+
border-radius: var(--flood-sys-radius-indicator);
|
|
323
|
+
background: var(--flood-sys-color-field-background);
|
|
324
|
+
color: var(--flood-sys-color-action-primary-content);
|
|
325
|
+
accent-color: var(--flood-sys-color-action-primary-rest);
|
|
326
|
+
}
|
|
327
|
+
.flood-root .flood-check:checked, .flood-root .flood-check:indeterminate { background: var(--flood-sys-color-action-primary-rest); border-color: var(--flood-sys-color-action-primary-rest); }
|
|
328
|
+
.flood-root .flood-check::before { content: ""; box-sizing: border-box; opacity: 0; }
|
|
329
|
+
.flood-root .flood-check[type="checkbox"]::before { inline-size: calc(var(--flood-sys-size-choice) * .3); block-size: calc(var(--flood-sys-size-choice) * .55); border-right: var(--flood-sys-focus-width) solid currentColor; border-bottom: var(--flood-sys-focus-width) solid currentColor; transform: translateY(-10%) rotate(45deg); }
|
|
330
|
+
.flood-root .flood-check:checked::before, .flood-root .flood-check:indeterminate::before { opacity: 1; }
|
|
331
|
+
.flood-root .flood-check[type="checkbox"]:indeterminate::before { inline-size: calc(var(--flood-sys-size-choice) * .55); block-size: 0; border: 0; border-block-end: var(--flood-sys-focus-width) solid currentColor; transform: none; }
|
|
332
|
+
.flood-root .flood-check[type="radio"] { border-radius: var(--flood-sys-radius-action); }
|
|
333
|
+
.flood-root .flood-check[type="radio"]::before { inline-size: calc(var(--flood-sys-size-choice) * .45); block-size: calc(var(--flood-sys-size-choice) * .45); border-radius: var(--flood-sys-radius-action); background: currentColor; }
|
|
334
|
+
.flood-root .flood-check:disabled { background: var(--flood-sys-color-field-disabled); border-color: var(--flood-sys-color-field-border); color: var(--flood-sys-color-field-disabled-content); opacity: 1; }
|
|
335
|
+
.flood-root .flood-switch-input { inline-size: var(--flood-sys-size-switch-width); block-size: var(--flood-sys-size-switch-height); padding: calc((var(--flood-sys-size-switch-height) - var(--flood-sys-size-switch-thumb)) / 2 - var(--flood-sys-stroke-width)); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-action-subtle-hover); }
|
|
127
336
|
.flood-root .flood-switch-input::before { inline-size: var(--flood-sys-size-switch-thumb); block-size: var(--flood-sys-size-switch-thumb); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-content-default); transition: transform var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); }
|
|
128
337
|
.flood-root .flood-switch-input:checked { background: var(--flood-sys-color-action-primary-rest); border-color: var(--flood-sys-color-action-primary-rest); }
|
|
129
338
|
.flood-root .flood-switch-input:checked::before { transform: translateX(calc(var(--flood-sys-size-switch-width) - var(--flood-sys-size-switch-height))); background: var(--flood-sys-color-action-primary-content); }
|
|
@@ -131,10 +340,14 @@
|
|
|
131
340
|
.flood-root .flood-switch-input:disabled { opacity: 1; border-color: var(--flood-sys-color-field-border); background: var(--flood-sys-color-field-disabled); }
|
|
132
341
|
.flood-root .flood-switch-input:disabled::before { background: var(--flood-sys-color-field-disabled-content); }
|
|
133
342
|
.flood-root .flood-link { font-size: inherit; color: var(--flood-sys-color-content-default); text-underline-offset: var(--flood-sys-space-1); }
|
|
343
|
+
.flood-root .flood-link--button { font-size: var(--flood-control-text); color: var(--flood-action-content); text-decoration: none; }
|
|
344
|
+
.flood-root .flood-link--button[aria-current="page"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
|
|
134
345
|
.flood-root :where(.flood-button, .flood-check, .flood-switch-input, .flood-link):focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
|
|
135
346
|
.flood-root .flood-spinner { inline-size: var(--flood-control-icon); block-size: var(--flood-control-icon); border-width: var(--flood-sys-focus-width); }
|
|
136
347
|
@media (pointer: coarse) {
|
|
348
|
+
.flood-root .flood-select__option { min-block-size: max(var(--flood-sys-control-md-height), var(--flood-sys-size-touch)); }
|
|
137
349
|
.flood-root .flood-button, .flood-root .flood-choice, .flood-root .flood-input { min-block-size: max(var(--flood-control-height, var(--flood-sys-control-md-height)), var(--flood-sys-size-touch)); }
|
|
350
|
+
.flood-root .flood-choice-group > .flood-choice { min-block-size: max(var(--flood-sys-control-sm-height), var(--flood-sys-size-touch)); }
|
|
138
351
|
.flood-root .flood-icon-button { min-inline-size: var(--flood-sys-size-touch); }
|
|
139
352
|
.flood-root .flood-input { font-size: max(var(--flood-control-text), var(--flood-sys-type-body-size)); }
|
|
140
353
|
}
|
|
@@ -142,15 +355,39 @@
|
|
|
142
355
|
.flood-root .flood-button, .flood-root .flood-switch-input::before, .flood-root .flood-spinner { transition-duration: var(--flood-sys-motion-duration-reduced); animation: none; }
|
|
143
356
|
}
|
|
144
357
|
@media (forced-colors: active) {
|
|
358
|
+
.flood-scroll-area__viewport[data-scrollbars="overlay"] { scrollbar-width: auto; }
|
|
359
|
+
.flood-scroll-area__viewport[data-scrollbars="overlay"]::-webkit-scrollbar { display: initial; width: auto; height: auto; }
|
|
360
|
+
.flood-scroll-area__track { display: none; }
|
|
361
|
+
.flood-scroll-area__content { padding-inline-end: 0; padding-block-end: 0; }
|
|
362
|
+
.flood-root .flood-scroll-area__viewport:focus-visible { outline-color: Highlight; }
|
|
145
363
|
.flood-root .flood-button { border-color: ButtonText; }
|
|
146
364
|
.flood-root .flood-input { border-color: CanvasText; }
|
|
147
365
|
.flood-root .flood-input:focus-visible { border-color: Highlight; }
|
|
148
366
|
.flood-root :where(.flood-button, .flood-check, .flood-switch-input, .flood-link):focus-visible { outline-color: Highlight; }
|
|
149
367
|
.flood-root .flood-switch-input { appearance: auto; }
|
|
150
368
|
.flood-root .flood-switch-input::before { display: none; }
|
|
369
|
+
.flood-root .flood-check { appearance: auto; background: Canvas; border-color: CanvasText; color: CanvasText; }
|
|
370
|
+
.flood-root .flood-check::before { display: none; }
|
|
371
|
+
.flood-root .flood-select__control { appearance: auto; }
|
|
372
|
+
.flood-root .flood-select::after { display: none; }
|
|
373
|
+
.flood-root .flood-select__menu { background: Canvas; color: CanvasText; border-color: CanvasText; }
|
|
374
|
+
.flood-root .flood-select__option[data-active="true"] { background: Highlight; color: HighlightText; }
|
|
375
|
+
.flood-root .flood-select--custom .flood-select__control::after { border-color: ButtonText; }
|
|
151
376
|
}
|
|
152
377
|
|
|
153
378
|
/* Role recipes keep every value in the authored token source. */
|
|
379
|
+
.flood-root .flood-type--lead {
|
|
380
|
+
--flood-type-size: var(--flood-sys-type-lead-size);
|
|
381
|
+
--flood-type-line: var(--flood-sys-type-lead-line-height);
|
|
382
|
+
--flood-type-tracking: var(--flood-sys-type-lead-tracking);
|
|
383
|
+
--flood-type-weight: var(--flood-sys-type-lead-weight);
|
|
384
|
+
}
|
|
385
|
+
.flood-root .flood-type--display {
|
|
386
|
+
--flood-type-size: var(--flood-sys-type-display-size);
|
|
387
|
+
--flood-type-line: var(--flood-sys-type-display-line-height);
|
|
388
|
+
--flood-type-tracking: var(--flood-sys-type-display-tracking);
|
|
389
|
+
--flood-type-weight: var(--flood-sys-type-display-weight);
|
|
390
|
+
}
|
|
154
391
|
.flood-root .flood-type--large {
|
|
155
392
|
--flood-type-size: var(--flood-sys-type-large-size);
|
|
156
393
|
--flood-type-line: var(--flood-sys-type-large-line-height);
|
|
@@ -294,3 +531,69 @@
|
|
|
294
531
|
--flood-action-disabled: var(--flood-sys-color-action-ghost-disabled);
|
|
295
532
|
--flood-action-disabled-content: var(--flood-sys-color-action-ghost-disabled-content);
|
|
296
533
|
}
|
|
534
|
+
|
|
535
|
+
/* Connected constructs retain native focus and forms; hosts own their actions. */
|
|
536
|
+
.flood-root .flood-button-group { display: inline-flex; align-items: stretch; max-inline-size: 100%; min-inline-size: 0; isolation: isolate; }
|
|
537
|
+
.flood-root .flood-button-group > .flood-button { position: relative; border-radius: 0; min-inline-size: 0; flex-shrink: 1; }
|
|
538
|
+
.flood-root .flood-button-group > .flood-icon-button { min-inline-size: var(--flood-control-height); }
|
|
539
|
+
@media (pointer: coarse) { .flood-root .flood-button-group > .flood-icon-button { min-inline-size: max(var(--flood-control-height), var(--flood-sys-size-touch)); } }
|
|
540
|
+
.flood-root .flood-button-group > .flood-button:focus-visible { z-index: 1; }
|
|
541
|
+
.flood-root .flood-toggle[aria-pressed="true"]:not(:disabled) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
|
|
542
|
+
.flood-root .flood-toggle-group { inline-size: max-content; max-inline-size: none; }
|
|
543
|
+
.flood-root .flood-toggle-group > .flood-toggle { flex-shrink: 0; white-space: nowrap; }
|
|
544
|
+
@media (forced-colors: active) { .flood-root .flood-toggle[aria-pressed="true"]:not(:disabled) { background: Highlight; color: HighlightText; } }
|
|
545
|
+
.flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:not([hidden]):not(:nth-last-child(1 of .flood-button:not([hidden]))) { border-inline-end-width: 0; }
|
|
546
|
+
.flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:not([hidden]) ~ .flood-button:not([hidden]) { border-inline-start-color: var(--flood-sys-color-field-border); }
|
|
547
|
+
.flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:nth-child(1 of .flood-button:not([hidden])) { border-start-start-radius: var(--flood-sys-radius-field); border-end-start-radius: var(--flood-sys-radius-field); }
|
|
548
|
+
.flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:nth-last-child(1 of .flood-button:not([hidden])) { border-start-end-radius: var(--flood-sys-radius-field); border-end-end-radius: var(--flood-sys-radius-field); }
|
|
549
|
+
.flood-root .flood-button-group[data-orientation="vertical"] { flex-direction: column; }
|
|
550
|
+
.flood-root .flood-button-group[data-orientation="vertical"] > .flood-button { inline-size: 100%; }
|
|
551
|
+
.flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:not([hidden]):not(:nth-last-child(1 of .flood-button:not([hidden]))) { border-block-end-width: 0; }
|
|
552
|
+
.flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:not([hidden]) ~ .flood-button:not([hidden]) { border-block-start-color: var(--flood-sys-color-field-border); }
|
|
553
|
+
.flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:nth-child(1 of .flood-button:not([hidden])) { border-start-start-radius: var(--flood-sys-radius-field); border-start-end-radius: var(--flood-sys-radius-field); }
|
|
554
|
+
.flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:nth-last-child(1 of .flood-button:not([hidden])) { border-end-start-radius: var(--flood-sys-radius-field); border-end-end-radius: var(--flood-sys-radius-field); }
|
|
555
|
+
.flood-root .flood-input-group { --flood-group-stroke: var(--flood-sys-stroke-width); --flood-group-height: var(--flood-control-height); --flood-group-inset: max(var(--flood-sys-space-1), var(--flood-sys-focus-width)); box-sizing: border-box; display: flex; align-items: center; gap: var(--flood-control-gap); min-inline-size: 0; inline-size: 100%; min-block-size: var(--flood-group-height); padding-inline: calc(var(--flood-control-padding) - var(--flood-group-stroke)); padding-block: calc(var(--flood-group-inset) - var(--flood-group-stroke)); border: var(--flood-group-stroke) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-field-background); color: var(--flood-sys-color-field-content); }
|
|
556
|
+
.flood-root .flood-input-group[data-status] { border-color: var(--flood-field-feedback); }
|
|
557
|
+
.flood-root .flood-input-group[data-readonly="true"] { background: var(--flood-sys-color-surface-canvas); border-style: dashed; }
|
|
558
|
+
.flood-root .flood-input-group[data-disabled="true"] { background: var(--flood-sys-color-field-disabled); border-color: var(--flood-sys-color-field-border); color: var(--flood-sys-color-field-disabled-content); }
|
|
559
|
+
.flood-root .flood-input-group:has(> .flood-input:focus-visible) { --flood-group-stroke: var(--flood-sys-focus-width); border-color: var(--flood-sys-color-focus-ring); border-style: solid; }
|
|
560
|
+
.flood-root .flood-input-group > .flood-input { flex: 1 1 0; align-self: stretch; inline-size: 0; min-inline-size: 0; min-block-size: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border: 0; border-radius: 0; background: transparent; padding-inline: 0; padding-block: max(0px, calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-group-inset))); }
|
|
561
|
+
.flood-root .flood-input-group > .flood-input:focus-visible { outline: none; border: 0; padding-inline: 0; }
|
|
562
|
+
.flood-root .flood-input-group__addon { color: var(--flood-sys-color-content-subtle); display: flex; align-items: center; flex: 0 1 auto; min-inline-size: 0; max-inline-size: 40%; overflow-wrap: anywhere; font-size: var(--flood-control-text); line-height: var(--flood-control-line); }
|
|
563
|
+
/* Text edges retain reading padding; nested actions use the same optical inset on every edge. */
|
|
564
|
+
.flood-root .flood-input-group:has(> .flood-input-group__addon--start > .flood-button) { padding-inline-start: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
|
|
565
|
+
.flood-root .flood-input-group:has(> .flood-input-group__addon--end > .flood-button) { padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
|
|
566
|
+
.flood-root .flood-input-group__addon > .flood-button { --flood-control-height: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-group-inset))); }
|
|
567
|
+
@media (pointer: coarse) { .flood-root .flood-input-group { --flood-group-height: max(var(--flood-control-height), calc(var(--flood-sys-size-touch) + 2 * var(--flood-group-inset))); } }
|
|
568
|
+
@media (forced-colors: active) {
|
|
569
|
+
.flood-root .flood-input-group { border-color: CanvasText; background: Canvas; color: CanvasText; }
|
|
570
|
+
.flood-root .flood-input-group:has(> .flood-input:focus-visible) { border-color: Highlight; }
|
|
571
|
+
.flood-root .flood-input-group > .flood-input { border: 0; }
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.flood-root :is(.flood-button, .flood-input, .flood-button-group, .flood-input-group)[hidden] { display: none; }
|
|
575
|
+
|
|
576
|
+
.flood-root .flood-input-group[data-disabled="true"] > .flood-input-group__addon { color: var(--flood-sys-color-field-disabled-content); }
|
|
577
|
+
|
|
578
|
+
/* The shell and selected segment share concentric geometry; native radios own state. */
|
|
579
|
+
.flood-root .flood-segmented { inline-size: fit-content; max-inline-size: 100%; }
|
|
580
|
+
.flood-root .flood-segmented .flood-choice-group { box-sizing: border-box; inline-size: max-content; flex-wrap: nowrap; align-items: stretch; gap: var(--flood-sys-space-1); padding: calc(var(--flood-sys-space-1) - var(--flood-sys-stroke-width)); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-default); }
|
|
581
|
+
.flood-root .flood-segmented--full { inline-size: 100%; }
|
|
582
|
+
.flood-root .flood-segmented--full .flood-choice-group { inline-size: 100%; }
|
|
583
|
+
.flood-root .flood-segmented .flood-choice { position: relative; box-sizing: border-box; flex: 1 0 auto; justify-content: center; max-inline-size: none; min-block-size: calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)); padding-block: max(0px, calc((var(--flood-control-height) - 2 * var(--flood-sys-space-1) - var(--flood-control-text) * var(--flood-control-line)) / 2)); padding-inline: var(--flood-sys-space-3); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-space-1))); color: var(--flood-sys-color-content-subtle); font-size: var(--flood-control-text); line-height: var(--flood-control-line); font-weight: var(--flood-sys-type-control-weight); letter-spacing: var(--flood-sys-type-control-tracking); cursor: pointer; }
|
|
584
|
+
.flood-root .flood-segmented--full .flood-choice { flex: 1 1 0; min-inline-size: 0; }
|
|
585
|
+
.flood-root .flood-segmented .flood-choice-group[data-orientation="vertical"] > .flood-choice { inline-size: 100%; }
|
|
586
|
+
.flood-root .flood-segmented--icons .flood-choice { padding-inline: var(--flood-sys-space-1); min-inline-size: calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)); }
|
|
587
|
+
.flood-root .flood-segmented .flood-choice > span { display: inline-flex; align-items: center; justify-content: center; gap: var(--flood-control-gap); }
|
|
588
|
+
.flood-root .flood-segmented .flood-choice > .flood-check { position: absolute; inset: 0; inline-size: 100%; min-inline-size: 0; max-inline-size: none; block-size: 100%; margin: 0; border: 0; opacity: 0; cursor: inherit; }
|
|
589
|
+
.flood-root .flood-segmented .flood-choice > .flood-check::before { display: none; }
|
|
590
|
+
.flood-root .flood-segmented .flood-choice:has(input:checked) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
|
|
591
|
+
.flood-root .flood-segmented .flood-choice:has(input:focus-visible) { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: 0; }
|
|
592
|
+
.flood-root .flood-segmented .flood-choice:has(input:disabled) { color: var(--flood-sys-color-field-disabled-content); cursor: default; }
|
|
593
|
+
.flood-root .flood-segmented__name { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
|
|
594
|
+
@media (pointer: coarse) { .flood-root .flood-segmented .flood-choice { min-block-size: max(calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)), var(--flood-sys-size-touch)); min-inline-size: var(--flood-sys-size-touch); } }
|
|
595
|
+
@media (forced-colors: active) {
|
|
596
|
+
.flood-root .flood-segmented .flood-choice-group { border-color: CanvasText; }
|
|
597
|
+
.flood-root .flood-segmented .flood-choice:has(input:checked) { forced-color-adjust: none; background: Highlight; color: HighlightText; }
|
|
598
|
+
.flood-root .flood-segmented .flood-choice:has(input:focus-visible) { outline-color: Highlight; }
|
|
599
|
+
}
|