@flood-md/tokens 0.2.3 → 0.2.5

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @flood-md/tokens
2
2
 
3
- Typed reference values and semantic CSS roles for Flood **0.2.3**. Keep Flood
3
+ Typed reference values and semantic CSS roles for Flood **0.2.5**. Keep Flood
4
4
  package versions aligned. Existing 0.1.1 installs use their earlier token contract.
5
5
 
6
6
  React consumers import @flood-md/react/styles.css and use FloodRoot. Token-only
@@ -30,3 +30,29 @@ overrides do not automatically change separately scoped foundations roles.
30
30
 
31
31
  Version 0.2.3 adds scrollbar size/inset/min-thumb roles and semantic thumb/hover
32
32
  colors, expanding the profile to 168 roles. Install matching package versions.
33
+
34
+
35
+ Version 0.2.5 adds twenty-five semantic roles, bringing the dark profile
36
+ to 193 roles. Existing role values remain unchanged:
37
+
38
+ - sys.color.accent.content and sys.color.loading.placeholder separate accent text
39
+ and loading fills from focus and action states.
40
+ - sys.color.indicator.track/fill/accent and sys.size.indicator.sm/md/lg control
41
+ bounded indicators without borrowing control or focus roles.
42
+ - sys.color.action.danger.content styles destructive actions independently from
43
+ validation messages and keyboard focus.
44
+
45
+ - sys.size.keycap.sm/md/lg provide independent relative heights for keyboard hints.
46
+
47
+ - sys.size.container.sm/md/lg and sys.size.grid.min-item supply relative layout bounds.
48
+
49
+
50
+ The unpublished 0.2.5 candidate separates floating surfaces from modal surfaces.
51
+ The floating material uses nine of those new semantic roles; previous token
52
+ values remain intact. surface.floating is the opaque fallback;
53
+ surface.floating-translucent, border.floating, selection.floating, shadow.floating
54
+ and effect.floating blur/saturation/shadow-offset/shadow-blur define the floating
55
+ material. Select, Combobox, MultiSelect, Menu, Popover and Tooltip share it; Dialog
56
+ and Drawer retain surface.overlay. Backdrop filtering is progressive enhancement;
57
+ reduced transparency uses the opaque fill and forced colors use system colors.
58
+ Keep text opaque and evaluate it against the actual composited background.
@@ -5,6 +5,10 @@
5
5
  --flood-ref-color-feedback-info: rgb(140 187 255);
6
6
  --flood-ref-color-feedback-success: rgb(120 219 169);
7
7
  --flood-ref-color-feedback-warning: rgb(242 203 119);
8
+ --flood-ref-color-floating-active: rgb(255 255 255 / 0.06);
9
+ --flood-ref-color-floating-edge: rgb(255 255 255 / 0.07);
10
+ --flood-ref-color-floating-shadow: rgb(0 0 0 / 0.1);
11
+ --flood-ref-color-floating-translucent: rgb(56 56 56 / 0.88);
8
12
  --flood-ref-color-neutral-0: rgb(255 255 255);
9
13
  --flood-ref-color-neutral-100: rgb(237 237 237);
10
14
  --flood-ref-color-neutral-200: rgb(212 212 212);
@@ -60,13 +64,27 @@
60
64
  --flood-ref-control-xs-line-height: 1.3333333333333333;
61
65
  --flood-ref-control-xs-padding-inline: 0.75rem;
62
66
  --flood-ref-control-xs-text-size: 0.75rem;
67
+ --flood-ref-effect-floating-blur: 1rem;
68
+ --flood-ref-effect-floating-saturation: 1.05;
69
+ --flood-ref-effect-floating-shadow-blur: 0.5rem;
70
+ --flood-ref-effect-floating-shadow-offset: 0.125rem;
63
71
  --flood-ref-font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", monospace;
64
72
  --flood-ref-font-sans: "Inter", "Arial", sans-serif;
73
+ --flood-ref-indicator-lg: 0.5rem;
74
+ --flood-ref-indicator-md: 0.375rem;
75
+ --flood-ref-indicator-sm: 0.25rem;
76
+ --flood-ref-keycap-lg: 1.75rem;
77
+ --flood-ref-keycap-md: 1.5rem;
78
+ --flood-ref-keycap-sm: 1.25rem;
65
79
  --flood-ref-layer-base: 0;
66
80
  --flood-ref-layer-modal: 30;
67
81
  --flood-ref-layer-popover: 20;
68
82
  --flood-ref-layer-sticky: 10;
69
83
  --flood-ref-layer-toast: 40;
84
+ --flood-ref-layout-container-lg: 80rem;
85
+ --flood-ref-layout-container-md: 64rem;
86
+ --flood-ref-layout-container-sm: 40rem;
87
+ --flood-ref-layout-grid-min-item: 16rem;
70
88
  --flood-ref-motion-duration-fast: 100ms;
71
89
  --flood-ref-motion-duration-normal: 160ms;
72
90
  --flood-ref-motion-duration-reduced: 0ms;
@@ -134,6 +152,8 @@
134
152
  --flood-ref-type-section-size: 1.25rem;
135
153
  --flood-ref-type-section-tracking: -0.015em;
136
154
  --flood-ref-type-section-weight: 500;
155
+ --flood-sys-color-accent-content: var(--flood-ref-color-accent-default);
156
+ --flood-sys-color-action-danger-content: var(--flood-ref-color-feedback-error);
137
157
  --flood-sys-color-action-ghost-content: var(--flood-ref-color-neutral-0);
138
158
  --flood-sys-color-action-ghost-disabled: var(--flood-ref-color-transparent);
139
159
  --flood-sys-color-action-ghost-disabled-content: var(--flood-ref-color-neutral-550);
@@ -160,6 +180,7 @@
160
180
  --flood-sys-color-action-subtle-rest: var(--flood-ref-color-neutral-900);
161
181
  --flood-sys-color-border-decorative: var(--flood-ref-color-neutral-750);
162
182
  --flood-sys-color-border-default: var(--flood-ref-color-neutral-650);
183
+ --flood-sys-color-border-floating: var(--flood-ref-color-floating-edge);
163
184
  --flood-sys-color-border-strong: var(--flood-ref-color-neutral-500);
164
185
  --flood-sys-color-content-default: var(--flood-ref-color-neutral-0);
165
186
  --flood-sys-color-content-helper: var(--flood-ref-color-neutral-100);
@@ -177,12 +198,20 @@
177
198
  --flood-sys-color-field-disabled-content: var(--flood-ref-color-neutral-550);
178
199
  --flood-sys-color-field-placeholder: var(--flood-ref-color-neutral-320);
179
200
  --flood-sys-color-focus-ring: var(--flood-ref-color-accent-default);
201
+ --flood-sys-color-indicator-accent: var(--flood-ref-color-accent-default);
202
+ --flood-sys-color-indicator-fill: var(--flood-ref-color-neutral-100);
203
+ --flood-sys-color-indicator-track: var(--flood-ref-color-neutral-750);
204
+ --flood-sys-color-loading-placeholder: var(--flood-ref-color-neutral-800);
180
205
  --flood-sys-color-scrollbar-thumb: var(--flood-ref-color-neutral-550);
181
206
  --flood-sys-color-scrollbar-thumb-hover: var(--flood-ref-color-neutral-320);
182
207
  --flood-sys-color-selection-background: var(--flood-ref-color-neutral-750);
183
208
  --flood-sys-color-selection-content: var(--flood-ref-color-neutral-0);
209
+ --flood-sys-color-selection-floating: var(--flood-ref-color-floating-active);
210
+ --flood-sys-color-shadow-floating: var(--flood-ref-color-floating-shadow);
184
211
  --flood-sys-color-surface-canvas: var(--flood-ref-color-neutral-950);
185
212
  --flood-sys-color-surface-default: var(--flood-ref-color-neutral-900);
213
+ --flood-sys-color-surface-floating: var(--flood-ref-color-neutral-750);
214
+ --flood-sys-color-surface-floating-translucent: var(--flood-ref-color-floating-translucent);
186
215
  --flood-sys-color-surface-overlay: var(--flood-ref-color-neutral-800);
187
216
  --flood-sys-color-surface-raised: var(--flood-ref-color-neutral-850);
188
217
  --flood-sys-control-2xl-gap: var(--flood-ref-control-2xl-gap);
@@ -227,6 +256,10 @@
227
256
  --flood-sys-control-xs-line-height: var(--flood-ref-control-xs-line-height);
228
257
  --flood-sys-control-xs-padding-inline: var(--flood-ref-control-xs-padding-inline);
229
258
  --flood-sys-control-xs-text-size: var(--flood-ref-control-xs-text-size);
259
+ --flood-sys-effect-floating-blur: var(--flood-ref-effect-floating-blur);
260
+ --flood-sys-effect-floating-saturation: var(--flood-ref-effect-floating-saturation);
261
+ --flood-sys-effect-floating-shadow-blur: var(--flood-ref-effect-floating-shadow-blur);
262
+ --flood-sys-effect-floating-shadow-offset: var(--flood-ref-effect-floating-shadow-offset);
230
263
  --flood-sys-focus-offset: var(--flood-ref-space-0);
231
264
  --flood-sys-focus-width: var(--flood-ref-stroke-width-2);
232
265
  --flood-sys-font-mono: var(--flood-ref-font-mono);
@@ -249,6 +282,16 @@
249
282
  --flood-sys-scrollbar-min-thumb: var(--flood-ref-scrollbar-min-thumb);
250
283
  --flood-sys-scrollbar-size: var(--flood-ref-scrollbar-size);
251
284
  --flood-sys-size-choice: var(--flood-ref-size-choice);
285
+ --flood-sys-size-container-lg: var(--flood-ref-layout-container-lg);
286
+ --flood-sys-size-container-md: var(--flood-ref-layout-container-md);
287
+ --flood-sys-size-container-sm: var(--flood-ref-layout-container-sm);
288
+ --flood-sys-size-grid-min-item: var(--flood-ref-layout-grid-min-item);
289
+ --flood-sys-size-indicator-lg: var(--flood-ref-indicator-lg);
290
+ --flood-sys-size-indicator-md: var(--flood-ref-indicator-md);
291
+ --flood-sys-size-indicator-sm: var(--flood-ref-indicator-sm);
292
+ --flood-sys-size-keycap-lg: var(--flood-ref-keycap-lg);
293
+ --flood-sys-size-keycap-md: var(--flood-ref-keycap-md);
294
+ --flood-sys-size-keycap-sm: var(--flood-ref-keycap-sm);
252
295
  --flood-sys-size-switch-height: var(--flood-ref-size-switch-height);
253
296
  --flood-sys-size-switch-thumb: var(--flood-ref-size-switch-thumb);
254
297
  --flood-sys-size-switch-width: var(--flood-ref-size-switch-width);
@@ -1,5 +1,15 @@
1
1
  /** Experimental token IDs and CSS variable names. */
2
2
  export declare const tokenNames: Readonly<{
3
+ readonly "ref.color.floating.active": "--flood-ref-color-floating-active";
4
+ readonly "ref.color.floating.edge": "--flood-ref-color-floating-edge";
5
+ readonly "ref.color.floating.shadow": "--flood-ref-color-floating-shadow";
6
+ readonly "ref.color.floating.translucent": "--flood-ref-color-floating-translucent";
7
+ readonly "ref.effect.floating.blur": "--flood-ref-effect-floating-blur";
8
+ readonly "ref.effect.floating.saturation": "--flood-ref-effect-floating-saturation";
9
+ readonly "ref.effect.floating.shadow-blur": "--flood-ref-effect-floating-shadow-blur";
10
+ readonly "ref.effect.floating.shadow-offset": "--flood-ref-effect-floating-shadow-offset";
11
+ readonly "sys.color.accent.content": "--flood-sys-color-accent-content";
12
+ readonly "sys.color.action.danger.content": "--flood-sys-color-action-danger-content";
3
13
  readonly "sys.color.action.ghost.content": "--flood-sys-color-action-ghost-content";
4
14
  readonly "sys.color.action.ghost.disabled": "--flood-sys-color-action-ghost-disabled";
5
15
  readonly "sys.color.action.ghost.disabled-content": "--flood-sys-color-action-ghost-disabled-content";
@@ -26,6 +36,7 @@ export declare const tokenNames: Readonly<{
26
36
  readonly "sys.color.action.subtle.rest": "--flood-sys-color-action-subtle-rest";
27
37
  readonly "sys.color.border.decorative": "--flood-sys-color-border-decorative";
28
38
  readonly "sys.color.border.default": "--flood-sys-color-border-default";
39
+ readonly "sys.color.border.floating": "--flood-sys-color-border-floating";
29
40
  readonly "sys.color.border.strong": "--flood-sys-color-border-strong";
30
41
  readonly "sys.color.content.default": "--flood-sys-color-content-default";
31
42
  readonly "sys.color.content.helper": "--flood-sys-color-content-helper";
@@ -43,12 +54,20 @@ export declare const tokenNames: Readonly<{
43
54
  readonly "sys.color.field.disabled-content": "--flood-sys-color-field-disabled-content";
44
55
  readonly "sys.color.field.placeholder": "--flood-sys-color-field-placeholder";
45
56
  readonly "sys.color.focus.ring": "--flood-sys-color-focus-ring";
57
+ readonly "sys.color.indicator.accent": "--flood-sys-color-indicator-accent";
58
+ readonly "sys.color.indicator.fill": "--flood-sys-color-indicator-fill";
59
+ readonly "sys.color.indicator.track": "--flood-sys-color-indicator-track";
60
+ readonly "sys.color.loading.placeholder": "--flood-sys-color-loading-placeholder";
46
61
  readonly "sys.color.scrollbar.thumb": "--flood-sys-color-scrollbar-thumb";
47
62
  readonly "sys.color.scrollbar.thumb-hover": "--flood-sys-color-scrollbar-thumb-hover";
48
63
  readonly "sys.color.selection.background": "--flood-sys-color-selection-background";
49
64
  readonly "sys.color.selection.content": "--flood-sys-color-selection-content";
65
+ readonly "sys.color.selection.floating": "--flood-sys-color-selection-floating";
66
+ readonly "sys.color.shadow.floating": "--flood-sys-color-shadow-floating";
50
67
  readonly "sys.color.surface.canvas": "--flood-sys-color-surface-canvas";
51
68
  readonly "sys.color.surface.default": "--flood-sys-color-surface-default";
69
+ readonly "sys.color.surface.floating": "--flood-sys-color-surface-floating";
70
+ readonly "sys.color.surface.floating-translucent": "--flood-sys-color-surface-floating-translucent";
52
71
  readonly "sys.color.surface.overlay": "--flood-sys-color-surface-overlay";
53
72
  readonly "sys.color.surface.raised": "--flood-sys-color-surface-raised";
54
73
  readonly "sys.control.2xl.gap": "--flood-sys-control-2xl-gap";
@@ -93,6 +112,10 @@ export declare const tokenNames: Readonly<{
93
112
  readonly "sys.control.xs.line-height": "--flood-sys-control-xs-line-height";
94
113
  readonly "sys.control.xs.padding-inline": "--flood-sys-control-xs-padding-inline";
95
114
  readonly "sys.control.xs.text-size": "--flood-sys-control-xs-text-size";
115
+ readonly "sys.effect.floating.blur": "--flood-sys-effect-floating-blur";
116
+ readonly "sys.effect.floating.saturation": "--flood-sys-effect-floating-saturation";
117
+ readonly "sys.effect.floating.shadow-blur": "--flood-sys-effect-floating-shadow-blur";
118
+ readonly "sys.effect.floating.shadow-offset": "--flood-sys-effect-floating-shadow-offset";
96
119
  readonly "sys.focus.offset": "--flood-sys-focus-offset";
97
120
  readonly "sys.focus.width": "--flood-sys-focus-width";
98
121
  readonly "sys.font.mono": "--flood-sys-font-mono";
@@ -115,6 +138,16 @@ export declare const tokenNames: Readonly<{
115
138
  readonly "sys.scrollbar.min-thumb": "--flood-sys-scrollbar-min-thumb";
116
139
  readonly "sys.scrollbar.size": "--flood-sys-scrollbar-size";
117
140
  readonly "sys.size.choice": "--flood-sys-size-choice";
141
+ readonly "sys.size.container.lg": "--flood-sys-size-container-lg";
142
+ readonly "sys.size.container.md": "--flood-sys-size-container-md";
143
+ readonly "sys.size.container.sm": "--flood-sys-size-container-sm";
144
+ readonly "sys.size.grid.min-item": "--flood-sys-size-grid-min-item";
145
+ readonly "sys.size.indicator.lg": "--flood-sys-size-indicator-lg";
146
+ readonly "sys.size.indicator.md": "--flood-sys-size-indicator-md";
147
+ readonly "sys.size.indicator.sm": "--flood-sys-size-indicator-sm";
148
+ readonly "sys.size.keycap.lg": "--flood-sys-size-keycap-lg";
149
+ readonly "sys.size.keycap.md": "--flood-sys-size-keycap-md";
150
+ readonly "sys.size.keycap.sm": "--flood-sys-size-keycap-sm";
118
151
  readonly "sys.size.switch-height": "--flood-sys-size-switch-height";
119
152
  readonly "sys.size.switch-thumb": "--flood-sys-size-switch-thumb";
120
153
  readonly "sys.size.switch-width": "--flood-sys-size-switch-width";
@@ -1,5 +1,15 @@
1
1
  // Generated. Flood token API; role stability is recorded in the manifest.
2
2
  export const tokenNames = Object.freeze({
3
+ "ref.color.floating.active": "--flood-ref-color-floating-active",
4
+ "ref.color.floating.edge": "--flood-ref-color-floating-edge",
5
+ "ref.color.floating.shadow": "--flood-ref-color-floating-shadow",
6
+ "ref.color.floating.translucent": "--flood-ref-color-floating-translucent",
7
+ "ref.effect.floating.blur": "--flood-ref-effect-floating-blur",
8
+ "ref.effect.floating.saturation": "--flood-ref-effect-floating-saturation",
9
+ "ref.effect.floating.shadow-blur": "--flood-ref-effect-floating-shadow-blur",
10
+ "ref.effect.floating.shadow-offset": "--flood-ref-effect-floating-shadow-offset",
11
+ "sys.color.accent.content": "--flood-sys-color-accent-content",
12
+ "sys.color.action.danger.content": "--flood-sys-color-action-danger-content",
3
13
  "sys.color.action.ghost.content": "--flood-sys-color-action-ghost-content",
4
14
  "sys.color.action.ghost.disabled": "--flood-sys-color-action-ghost-disabled",
5
15
  "sys.color.action.ghost.disabled-content": "--flood-sys-color-action-ghost-disabled-content",
@@ -26,6 +36,7 @@ export const tokenNames = Object.freeze({
26
36
  "sys.color.action.subtle.rest": "--flood-sys-color-action-subtle-rest",
27
37
  "sys.color.border.decorative": "--flood-sys-color-border-decorative",
28
38
  "sys.color.border.default": "--flood-sys-color-border-default",
39
+ "sys.color.border.floating": "--flood-sys-color-border-floating",
29
40
  "sys.color.border.strong": "--flood-sys-color-border-strong",
30
41
  "sys.color.content.default": "--flood-sys-color-content-default",
31
42
  "sys.color.content.helper": "--flood-sys-color-content-helper",
@@ -43,12 +54,20 @@ export const tokenNames = Object.freeze({
43
54
  "sys.color.field.disabled-content": "--flood-sys-color-field-disabled-content",
44
55
  "sys.color.field.placeholder": "--flood-sys-color-field-placeholder",
45
56
  "sys.color.focus.ring": "--flood-sys-color-focus-ring",
57
+ "sys.color.indicator.accent": "--flood-sys-color-indicator-accent",
58
+ "sys.color.indicator.fill": "--flood-sys-color-indicator-fill",
59
+ "sys.color.indicator.track": "--flood-sys-color-indicator-track",
60
+ "sys.color.loading.placeholder": "--flood-sys-color-loading-placeholder",
46
61
  "sys.color.scrollbar.thumb": "--flood-sys-color-scrollbar-thumb",
47
62
  "sys.color.scrollbar.thumb-hover": "--flood-sys-color-scrollbar-thumb-hover",
48
63
  "sys.color.selection.background": "--flood-sys-color-selection-background",
49
64
  "sys.color.selection.content": "--flood-sys-color-selection-content",
65
+ "sys.color.selection.floating": "--flood-sys-color-selection-floating",
66
+ "sys.color.shadow.floating": "--flood-sys-color-shadow-floating",
50
67
  "sys.color.surface.canvas": "--flood-sys-color-surface-canvas",
51
68
  "sys.color.surface.default": "--flood-sys-color-surface-default",
69
+ "sys.color.surface.floating": "--flood-sys-color-surface-floating",
70
+ "sys.color.surface.floating-translucent": "--flood-sys-color-surface-floating-translucent",
52
71
  "sys.color.surface.overlay": "--flood-sys-color-surface-overlay",
53
72
  "sys.color.surface.raised": "--flood-sys-color-surface-raised",
54
73
  "sys.control.2xl.gap": "--flood-sys-control-2xl-gap",
@@ -93,6 +112,10 @@ export const tokenNames = Object.freeze({
93
112
  "sys.control.xs.line-height": "--flood-sys-control-xs-line-height",
94
113
  "sys.control.xs.padding-inline": "--flood-sys-control-xs-padding-inline",
95
114
  "sys.control.xs.text-size": "--flood-sys-control-xs-text-size",
115
+ "sys.effect.floating.blur": "--flood-sys-effect-floating-blur",
116
+ "sys.effect.floating.saturation": "--flood-sys-effect-floating-saturation",
117
+ "sys.effect.floating.shadow-blur": "--flood-sys-effect-floating-shadow-blur",
118
+ "sys.effect.floating.shadow-offset": "--flood-sys-effect-floating-shadow-offset",
96
119
  "sys.focus.offset": "--flood-sys-focus-offset",
97
120
  "sys.focus.width": "--flood-sys-focus-width",
98
121
  "sys.font.mono": "--flood-sys-font-mono",
@@ -115,6 +138,16 @@ export const tokenNames = Object.freeze({
115
138
  "sys.scrollbar.min-thumb": "--flood-sys-scrollbar-min-thumb",
116
139
  "sys.scrollbar.size": "--flood-sys-scrollbar-size",
117
140
  "sys.size.choice": "--flood-sys-size-choice",
141
+ "sys.size.container.lg": "--flood-sys-size-container-lg",
142
+ "sys.size.container.md": "--flood-sys-size-container-md",
143
+ "sys.size.container.sm": "--flood-sys-size-container-sm",
144
+ "sys.size.grid.min-item": "--flood-sys-size-grid-min-item",
145
+ "sys.size.indicator.lg": "--flood-sys-size-indicator-lg",
146
+ "sys.size.indicator.md": "--flood-sys-size-indicator-md",
147
+ "sys.size.indicator.sm": "--flood-sys-size-indicator-sm",
148
+ "sys.size.keycap.lg": "--flood-sys-size-keycap-lg",
149
+ "sys.size.keycap.md": "--flood-sys-size-keycap-md",
150
+ "sys.size.keycap.sm": "--flood-sys-size-keycap-sm",
118
151
  "sys.size.switch-height": "--flood-sys-size-switch-height",
119
152
  "sys.size.switch-thumb": "--flood-sys-size-switch-thumb",
120
153
  "sys.size.switch-width": "--flood-sys-size-switch-width",