ui-foundations 0.4.1 → 0.7.0
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/LICENSE +73 -0
- package/README.md +49 -13
- package/dist/core/index.css +1 -0
- package/dist/macros/ui.njk +94 -0
- package/dist/main.css +723 -138
- package/dist/react/accordion.js +36 -0
- package/dist/react/avatar.js +34 -0
- package/dist/react/button.js +1 -12
- package/dist/react/checkbox.js +3 -20
- package/dist/react/divider.js +31 -0
- package/dist/react/form.js +111 -0
- package/dist/react/icon.js +1 -12
- package/dist/react/index.js +7 -0
- package/dist/react/input.js +7 -0
- package/dist/react/radio.js +3 -20
- package/dist/react/switch.js +3 -20
- package/dist/react/tabs.js +72 -0
- package/dist/react/textarea.js +45 -0
- package/dist/react/tooltip.js +25 -0
- package/dist/react/warn-dev.js +15 -0
- package/dist/tokens/css/appearance-modes.tokens.mode-dark.css +12 -6
- package/dist/tokens/css/appearance-modes.tokens.mode-light.css +7 -1
- package/dist/tokens/css/components-ui.tokens.css +93 -73
- package/dist/tokens/css/core-primitives.tokens.css +72 -1
- package/dist/tokens/css/semantics-roles.tokens.css +1 -1
- package/dist/tokens/css/themes-brands.tokens.brand-a.css +11 -11
- package/dist/tokens/css/themes-brands.tokens.brand-b.css +1 -1
- package/dist/tokens/css/themes-brands.tokens.brand-c.css +22 -0
- package/dist/tokens/json/appearance-modes.tokens.mode-dark.json +24 -0
- package/dist/tokens/json/appearance-modes.tokens.mode-light.json +24 -0
- package/dist/tokens/json/components-ui.tokens.json +403 -269
- package/dist/tokens/json/core-primitives.tokens.json +302 -0
- package/dist/tokens/json/themes-brands.tokens.brand-a.json +10 -10
- package/dist/tokens/json/themes-brands.tokens.brand-b.json +10 -10
- package/dist/tokens/json/themes-brands.tokens.brand-c.json +81 -0
- package/dist/tokens/tokens.yaml +2138 -578
- package/dist/tokens/ts/appearance-modes.tokens.mode-dark.ts +12 -6
- package/dist/tokens/ts/appearance-modes.tokens.mode-light.ts +7 -1
- package/dist/tokens/ts/components-ui.tokens.ts +94 -74
- package/dist/tokens/ts/core-primitives.tokens.ts +73 -2
- package/dist/tokens/ts/semantics-roles.tokens.ts +1 -1
- package/dist/tokens/ts/themes-brands.tokens.brand-a.ts +11 -11
- package/dist/tokens/ts/themes-brands.tokens.brand-b.ts +1 -1
- package/dist/tokens/ts/themes-brands.tokens.brand-c.ts +32 -0
- package/dist/ui/index.css +7 -0
- package/dist/ui/patterns/accordion.css +81 -0
- package/dist/ui/patterns/avatar.css +57 -0
- package/dist/ui/patterns/button.css +3 -3
- package/dist/ui/patterns/checkbox.css +28 -28
- package/dist/ui/patterns/divider.css +25 -0
- package/dist/ui/patterns/form.css +112 -0
- package/dist/ui/patterns/input.css +12 -12
- package/dist/ui/patterns/label.css +1 -1
- package/dist/ui/patterns/tabs.css +71 -0
- package/dist/ui/patterns/textarea.css +50 -0
- package/dist/ui/patterns/tooltip.css +64 -0
- package/docs/agentic/README.md +1 -0
- package/docs/agentic/skills/component-accessibility-audit.md +132 -0
- package/docs/foundations/foundation-007-typography-selectors-and-specificity.md +1 -1
- package/package.json +15 -3
- package/dist/tokens/missing-tokens.json +0 -43
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Auto-generated design tokens from Figma
|
|
2
|
-
// Generated on 2026-
|
|
2
|
+
// Generated on 2026-06-06T14:29:01.170Z
|
|
3
3
|
|
|
4
4
|
export const tokens = {
|
|
5
5
|
"colors": {
|
|
@@ -11,9 +11,15 @@ export const tokens = {
|
|
|
11
11
|
"--color-text-strong": "var(--color-neutral-1000)",
|
|
12
12
|
"--color-text-danger": "var(--brand-color-functional-danger)",
|
|
13
13
|
"--color-text-success": "var(--brand-color-functional-success)",
|
|
14
|
+
"--color-text-on-brand": "var(--color-neutral-000)",
|
|
15
|
+
"--color-text-on-danger": "var(--color-neutral-000)",
|
|
16
|
+
"--color-text-on-success": "var(--color-neutral-000)",
|
|
17
|
+
"--color-text-on-subtle": "var(--brand-color-primary-dark)",
|
|
18
|
+
"--color-text-on-active": "var(--color-neutral-000)",
|
|
19
|
+
"--color-text-on-disabled": "var(--color-neutral-800)",
|
|
14
20
|
"--color-fill-surface": "var(--color-neutral-1000)",
|
|
15
21
|
"--color-fill-disabled": "var(--color-neutral-300)",
|
|
16
|
-
"--color-fill-hover": "var(--color-neutral-alpha-
|
|
22
|
+
"--color-fill-hover": "var(--color-neutral-alpha-inverse-100)",
|
|
17
23
|
"--color-fill-brand": "var(--brand-color-primary)",
|
|
18
24
|
"--color-fill-subtle": "var(--brand-color-subtle)",
|
|
19
25
|
"--color-fill-active": "var(--brand-color-accent)",
|
|
@@ -25,10 +31,10 @@ export const tokens = {
|
|
|
25
31
|
"--color-border-brand": "var(--brand-color-primary)",
|
|
26
32
|
"--color-border-disabled": "var(--color-neutral-500)",
|
|
27
33
|
"--color-border-danger": "var(--brand-color-functional-danger)",
|
|
28
|
-
"--color-overlay-backdrop": "var(--color-neutral-alpha-400)",
|
|
29
|
-
"--color-overlay-hover": "var(--color-neutral-alpha-
|
|
30
|
-
"--color-overlay-active": "var(--color-neutral-alpha-
|
|
31
|
-
"--color-overlay-selected": "var(--color-neutral-alpha-
|
|
34
|
+
"--color-overlay-backdrop": "var(--color-neutral-alpha-inverse-400)",
|
|
35
|
+
"--color-overlay-hover": "var(--color-neutral-alpha-inverse-100)",
|
|
36
|
+
"--color-overlay-active": "var(--color-neutral-alpha-inverse-200)",
|
|
37
|
+
"--color-overlay-selected": "var(--color-neutral-alpha-inverse-300)",
|
|
32
38
|
"--color-focus": "var(--brand-color-primary-dark)"
|
|
33
39
|
}
|
|
34
40
|
} as const;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Auto-generated design tokens from Figma
|
|
2
|
-
// Generated on 2026-
|
|
2
|
+
// Generated on 2026-06-06T14:29:01.166Z
|
|
3
3
|
|
|
4
4
|
export const tokens = {
|
|
5
5
|
"colors": {
|
|
@@ -11,6 +11,12 @@ export const tokens = {
|
|
|
11
11
|
"--color-text-strong": "var(--color-neutral-1000)",
|
|
12
12
|
"--color-text-danger": "var(--brand-color-functional-danger)",
|
|
13
13
|
"--color-text-success": "var(--brand-color-functional-success)",
|
|
14
|
+
"--color-text-on-brand": "var(--color-neutral-000)",
|
|
15
|
+
"--color-text-on-danger": "var(--color-neutral-000)",
|
|
16
|
+
"--color-text-on-success": "var(--color-neutral-000)",
|
|
17
|
+
"--color-text-on-subtle": "var(--brand-color-primary)",
|
|
18
|
+
"--color-text-on-active": "var(--color-neutral-000)",
|
|
19
|
+
"--color-text-on-disabled": "var(--color-neutral-800)",
|
|
14
20
|
"--color-fill-surface": "var(--color-neutral-000)",
|
|
15
21
|
"--color-fill-disabled": "var(--color-neutral-300)",
|
|
16
22
|
"--color-fill-hover": "var(--color-neutral-alpha-500)",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Auto-generated design tokens from Figma
|
|
2
|
-
// Generated on 2026-
|
|
2
|
+
// Generated on 2026-06-06T14:29:01.180Z
|
|
3
3
|
|
|
4
4
|
export const tokens = {
|
|
5
5
|
"components": {
|
|
@@ -8,13 +8,13 @@ export const tokens = {
|
|
|
8
8
|
"--button-solid-border-color-hover": "var(--color-border-brand)",
|
|
9
9
|
"--button-solid-border-color-active": "var(--color-border-brand)",
|
|
10
10
|
"--button-solid-border-color-focus": "var(--color-border-brand)",
|
|
11
|
-
"--button-solid-text-color-default": "var(--color-text-
|
|
11
|
+
"--button-solid-text-color-default": "var(--color-text-on-brand)",
|
|
12
12
|
"--button-solid-container-background-default": "var(--color-fill-brand)",
|
|
13
13
|
"--button-solid-container-background-hover": "var(--color-fill-brand)",
|
|
14
14
|
"--button-solid-container-background-active": "var(--color-fill-brand)",
|
|
15
15
|
"--button-solid-container-background-focus": "var(--color-fill-brand)",
|
|
16
|
-
"--button-solid-text-color-hover": "var(--color-text-
|
|
17
|
-
"--button-solid-text-color-active": "var(--color-text-
|
|
16
|
+
"--button-solid-text-color-hover": "var(--color-text-on-brand)",
|
|
17
|
+
"--button-solid-text-color-active": "var(--color-text-on-brand)",
|
|
18
18
|
"--button-outline-border-color-default": "var(--color-border-brand)",
|
|
19
19
|
"--button-outline-border-color-hover": "var(--color-border-brand)",
|
|
20
20
|
"--button-outline-border-color-active": "var(--color-border-brand)",
|
|
@@ -59,75 +59,43 @@ export const tokens = {
|
|
|
59
59
|
"--modal-backdrop-color": "var(--color-overlay-backdrop)",
|
|
60
60
|
"--modal-surface-color": "var(--color-fill-surface)",
|
|
61
61
|
"--modal-surface-border-radius": "var(--brand-corner-modal)",
|
|
62
|
-
"--input-text-
|
|
63
|
-
"--input-text-
|
|
64
|
-
"--input-text-
|
|
65
|
-
"--input-text-
|
|
66
|
-
"--input-text-
|
|
67
|
-
"--input-
|
|
68
|
-
"--input-
|
|
69
|
-
"--input-
|
|
70
|
-
"--input-
|
|
71
|
-
"--input-text-container-background-default": "var(--color-fill-surface)",
|
|
72
|
-
"--input-text-container-background-hover": "var(--color-fill-surface)",
|
|
73
|
-
"--input-text-container-background-focus": "var(--color-fill-surface)",
|
|
74
|
-
"--input-text-container-background-active": "var(--color-fill-surface)",
|
|
75
|
-
"--input-text-text-color-placeholder": "var(--color-text-subtle)",
|
|
76
|
-
"--input-text-height-min": "2.5rem",
|
|
77
|
-
"--input-font-family": "var(--brand-font-base)",
|
|
78
|
-
"--input-font-weight": "var(--typography-body-font-weight)",
|
|
79
|
-
"--input-font-size": "var(--typography-label-font-size)",
|
|
80
|
-
"--input-line-height": "var(--typography-body-line-height)",
|
|
62
|
+
"--input-text-color-default": "var(--color-text-default)",
|
|
63
|
+
"--input-text-color-hover": "var(--color-text-brand)",
|
|
64
|
+
"--input-text-color-active": "var(--color-text-default)",
|
|
65
|
+
"--input-text-color-disabled": "var(--color-text-disabled)",
|
|
66
|
+
"--input-text-color-placeholder": "var(--color-text-subtle)",
|
|
67
|
+
"--input-border-color-default": "var(--color-border-default)",
|
|
68
|
+
"--input-border-color-hover": "var(--color-border-brand)",
|
|
69
|
+
"--input-border-color-active": "var(--color-border-brand)",
|
|
70
|
+
"--input-border-color-focus": "var(--color-border-brand)",
|
|
81
71
|
"--input-border-size-default": "var(--size-border-100)",
|
|
82
72
|
"--input-border-size-hover": "var(--size-border-100)",
|
|
83
73
|
"--input-border-size-active": "var(--size-border-200)",
|
|
84
74
|
"--input-border-radius": "var(--brand-corner-input)",
|
|
75
|
+
"--input-border-color-disabled": "var(--color-border-disabled)",
|
|
76
|
+
"--input-border-color-invalid": "var(--color-border-danger)",
|
|
77
|
+
"--input-border-color-valid": "var(--color-border-strong)",
|
|
78
|
+
"--input-font-family": "var(--brand-font-base)",
|
|
79
|
+
"--input-font-weight": "var(--typography-body-font-weight)",
|
|
80
|
+
"--input-font-size": "var(--typography-label-font-size)",
|
|
81
|
+
"--input-line-height": "var(--typography-body-line-height)",
|
|
82
|
+
"--input-container-background-default": "var(--color-fill-surface)",
|
|
83
|
+
"--input-container-background-hover": "var(--color-fill-surface)",
|
|
84
|
+
"--input-container-background-focus": "var(--color-fill-surface)",
|
|
85
|
+
"--input-container-background-active": "var(--color-fill-surface)",
|
|
86
|
+
"--input-container-background-disabled": "var(--color-fill-disabled)",
|
|
85
87
|
"--input-padding-inline": "var(--size-spacing-200)",
|
|
86
88
|
"--input-padding-inline-icon-only": "var(--size-spacing-200)",
|
|
87
89
|
"--input-padding-block": "var(--size-spacing-200)",
|
|
88
90
|
"--input-gap": "var(--size-spacing-200)",
|
|
89
|
-
"--input-text-color-disabled": "var(--color-text-disabled)",
|
|
90
|
-
"--input-border-color-disabled": "var(--color-border-disabled)",
|
|
91
|
-
"--input-container-background-disabled": "var(--color-fill-disabled)",
|
|
92
91
|
"--input-overlay-hover": "var(--color-transparent)",
|
|
93
92
|
"--input-overlay-active": "var(--color-transparent)",
|
|
94
93
|
"--input-height": "2.5rem",
|
|
95
|
-
"--input-
|
|
96
|
-
"--input-
|
|
97
|
-
"--input-checkbox-text-color-active": "var(--color-text-inverse)",
|
|
98
|
-
"--input-checkbox-border-color-default": "var(--color-border-subtle)",
|
|
99
|
-
"--input-checkbox-border-color-hover": "var(--color-border-strong)",
|
|
100
|
-
"--input-checkbox-border-color-active": "var(--color-border-brand)",
|
|
101
|
-
"--input-checkbox-border-color-focus": "var(--color-border-brand)",
|
|
102
|
-
"--input-checkbox-border-color-invalid": "var(--color-border-danger)",
|
|
103
|
-
"--input-checkbox-border-color-valid": "var(--color-border-strong)",
|
|
104
|
-
"--input-checkbox-border-color-disabled": "var(--color-border-disabled)",
|
|
105
|
-
"--input-checkbox-container-background-default": "var(--color-fill-surface)",
|
|
106
|
-
"--input-checkbox-container-background-hover": "var(--color-fill-surface)",
|
|
107
|
-
"--input-checkbox-container-background-focus": "var(--color-fill-surface)",
|
|
108
|
-
"--input-checkbox-container-background-active": "var(--color-fill-brand)",
|
|
109
|
-
"--input-checkbox-container-background-disabled": "var(--color-fill-disabled)",
|
|
110
|
-
"--input-checkbox-text-color-disabled": "var(--color-text-disabled)",
|
|
111
|
-
"--checkbox-border-size-hover": "var(--size-border-200)",
|
|
112
|
-
"--checkbox-border-size-disabled": "var(--size-border-000)",
|
|
113
|
-
"--checkbox-border-size-default": "var(--size-border-100)",
|
|
114
|
-
"--input-radio-text-color-default": "var(--color-text-default)",
|
|
94
|
+
"--input-height-min": "2.5rem",
|
|
95
|
+
"--input-radio-text-color-active": "var(--color-text-default)",
|
|
115
96
|
"--input-radio-text-color-hover": "var(--color-text-strong)",
|
|
116
|
-
"--input-radio-text-color-active": "var(--color-text-inverse)",
|
|
117
|
-
"--input-radio-text-color-disabled": "var(--color-text-disabled)",
|
|
118
|
-
"--input-radio-border-color-default": "var(--color-border-subtle)",
|
|
119
|
-
"--input-radio-border-color-hover": "var(--color-border-strong)",
|
|
120
|
-
"--input-radio-border-color-active": "var(--color-border-brand)",
|
|
121
|
-
"--input-radio-border-color-focus": "var(--color-border-brand)",
|
|
122
|
-
"--input-radio-border-color-disabled": "var(--color-border-disabled)",
|
|
123
|
-
"--input-radio-container-background-default": "var(--color-fill-surface)",
|
|
124
97
|
"--input-radio-container-background-hover": "var(--color-fill-surface)",
|
|
125
|
-
"--input-radio-
|
|
126
|
-
"--input-radio-container-background-active": "var(--color-fill-brand)",
|
|
127
|
-
"--input-radio-container-background-disabled": "var(--color-fill-disabled)",
|
|
128
|
-
"--radio-border-size-default": "var(--size-border-100)",
|
|
129
|
-
"--radio-border-size-hover": "var(--size-border-200)",
|
|
130
|
-
"--radio-border-size-disabled": "var(--size-border-000)",
|
|
98
|
+
"--input-radio-border-color-focus": "var(--color-border-brand)",
|
|
131
99
|
"--form-group-gap": "var(--size-spacing-400)",
|
|
132
100
|
"--form-group-title-color": "var(--color-text-default)",
|
|
133
101
|
"--form-padding-inline": "var(--size-spacing-400)",
|
|
@@ -140,26 +108,78 @@ export const tokens = {
|
|
|
140
108
|
"--form-container-background": "var(--color-fill-surface)",
|
|
141
109
|
"--form-container-border-color": "var(--color-border-subtle)",
|
|
142
110
|
"--form-border-size": "var(--size-border-100)",
|
|
143
|
-
"--
|
|
111
|
+
"--checkbox-text-color-default": "var(--color-text-default)",
|
|
112
|
+
"--checkbox-text-color-hover": "var(--color-text-brand)",
|
|
113
|
+
"--checkbox-text-color-active": "var(--color-text-on-brand)",
|
|
114
|
+
"--checkbox-border-color-default": "var(--color-border-subtle)",
|
|
115
|
+
"--checkbox-border-color-hover": "var(--color-border-brand)",
|
|
116
|
+
"--checkbox-border-color-active": "var(--color-border-brand)",
|
|
117
|
+
"--checkbox-border-color-focus": "var(--color-border-brand)",
|
|
118
|
+
"--checkbox-border-color-invalid": "var(--color-border-danger)",
|
|
119
|
+
"--checkbox-border-color-valid": "var(--color-border-strong)",
|
|
120
|
+
"--checkbox-border-color-disabled": "var(--color-border-disabled)",
|
|
121
|
+
"--checkbox-border-size-hover": "var(--size-border-200)",
|
|
122
|
+
"--checkbox-border-size-disabled": "var(--size-border-000)",
|
|
123
|
+
"--checkbox-border-size-default": "var(--size-border-100)",
|
|
124
|
+
"--checkbox-container-background-default": "var(--color-fill-surface)",
|
|
125
|
+
"--checkbox-container-background-hover": "var(--color-fill-surface)",
|
|
126
|
+
"--checkbox-container-background-focus": "var(--color-fill-surface)",
|
|
127
|
+
"--checkbox-container-background-active": "var(--color-fill-brand)",
|
|
128
|
+
"--checkbox-container-background-disabled": "var(--color-fill-disabled)",
|
|
129
|
+
"--checkbox-text-color-disabled": "var(--color-text-disabled)",
|
|
130
|
+
"--input-radio-text-color-default": "var(--color-text-default)",
|
|
131
|
+
"--input-radio-text-color-disabled": "var(--color-text-disabled)",
|
|
132
|
+
"--input-radio-border-color-default": "var(--color-border-subtle)",
|
|
133
|
+
"--input-radio-border-color-hover": "var(--color-border-brand)",
|
|
134
|
+
"--input-radio-border-color-active": "var(--color-border-brand)",
|
|
135
|
+
"--input-radio-border-color-disabled": "var(--color-border-disabled)",
|
|
136
|
+
"--input-radio-container-background-default": "var(--color-fill-surface)",
|
|
137
|
+
"--input-radio-container-background-disabled": "var(--color-fill-disabled)",
|
|
138
|
+
"--radio-border-size-default": "var(--size-border-100)",
|
|
139
|
+
"--radio-border-size-hover": "var(--size-border-200)",
|
|
140
|
+
"--radio-border-size-disabled": "var(--size-border-000)",
|
|
144
141
|
"--badge-default-text-color": "var(--color-text-default)",
|
|
142
|
+
"--badge-default-border-color": "var(--color-transparent)",
|
|
143
|
+
"--badge-default-container-background": "var(--color-fill-subtle)",
|
|
144
|
+
"--badge-brand-text-color": "var(--color-text-on-brand)",
|
|
145
|
+
"--badge-brand-border-color": "var(--color-transparent)",
|
|
145
146
|
"--badge-brand-container-background": "var(--color-fill-brand)",
|
|
146
|
-
"--badge-
|
|
147
|
+
"--badge-success-text-color": "var(--color-text-on-success)",
|
|
148
|
+
"--badge-success-border-color": "var(--color-transparent)",
|
|
147
149
|
"--badge-success-container-background": "var(--color-fill-success)",
|
|
148
|
-
"--badge-
|
|
149
|
-
"--badge-
|
|
150
|
-
"--badge-
|
|
150
|
+
"--badge-font-family": "var(--brand-font-lead)",
|
|
151
|
+
"--badge-font-weight": "var(--typography-label-font-weight)",
|
|
152
|
+
"--badge-border-size-default": "var(--size-border-100)",
|
|
151
153
|
"--badge-border-radius": "var(--size-radius-full)",
|
|
152
|
-
"--badge-font-family": "var(--typography-label-font-family)",
|
|
153
|
-
"--badge-font-weight": "var(--font-weight-700)",
|
|
154
|
-
"--badge-font-size-sm": "var(--font-size-xs)",
|
|
155
|
-
"--badge-font-size-md": "var(--font-size-sm)",
|
|
156
|
-
"--badge-line-height-sm": "var(--line-height-xs)",
|
|
157
|
-
"--badge-line-height-md": "var(--line-height-sm)",
|
|
158
|
-
"--badge-padding-inline-sm": "var(--size-spacing-200)",
|
|
159
154
|
"--badge-padding-inline-md": "var(--size-spacing-300)",
|
|
160
|
-
"--badge-padding-
|
|
155
|
+
"--badge-padding-inline-icon-only": "var(--size-spacing-200)",
|
|
161
156
|
"--badge-padding-block-md": "var(--size-spacing-100)",
|
|
162
|
-
"--badge-gap": "var(--size-spacing-100)"
|
|
157
|
+
"--badge-gap": "var(--size-spacing-100)",
|
|
158
|
+
"--badge-height-min": "2.5rem",
|
|
159
|
+
"--badge-width-min": "2.5rem",
|
|
160
|
+
"--badge-danger-container-background": "var(--color-fill-danger)",
|
|
161
|
+
"--badge-danger-border-color": "var(--color-transparent)",
|
|
162
|
+
"--badge-danger-text-color": "var(--color-text-on-danger)",
|
|
163
|
+
"--badge-font-size-sm": ".75rem",
|
|
164
|
+
"--badge-font-size-md": ".875rem",
|
|
165
|
+
"--badge-line-height-sm": "1rem",
|
|
166
|
+
"--badge-line-height-md": "1.25rem",
|
|
167
|
+
"--badge-padding-inline-sm": ".5rem",
|
|
168
|
+
"--badge-padding-block-sm": ".125rem",
|
|
169
|
+
"--switch-track-background-default": "var(--color-fill-surface)",
|
|
170
|
+
"--switch-track-background-hover": "var(--color-fill-surface)",
|
|
171
|
+
"--switch-track-background-active": "var(--color-fill-brand)",
|
|
172
|
+
"--switch-track-background-disabled": "var(--color-fill-disabled)",
|
|
173
|
+
"--switch-track-border-color-default": "var(--color-border-default)",
|
|
174
|
+
"--switch-track-border-color-hover": "var(--color-border-brand)",
|
|
175
|
+
"--switch-track-border-color-active": "var(--color-border-brand)",
|
|
176
|
+
"--switch-track-border-color-disabled": "var(--color-border-disabled)",
|
|
177
|
+
"--switch-thumb-background-default": "var(--color-border-default)",
|
|
178
|
+
"--switch-thumb-background-hover": "var(--color-border-brand)",
|
|
179
|
+
"--switch-thumb-background-active": "var(--color-fill-surface)",
|
|
180
|
+
"--switch-thumb-background-disabled": "var(--color-fill-surface)",
|
|
181
|
+
"--switch-text-color-default": "var(--color-text-default)",
|
|
182
|
+
"--switch-text-color-disabled": "var(--color-text-disabled)"
|
|
163
183
|
}
|
|
164
184
|
} as const;
|
|
165
185
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Auto-generated design tokens from Figma
|
|
2
|
-
// Generated on 2026-
|
|
2
|
+
// Generated on 2026-06-06T14:29:01.195Z
|
|
3
3
|
|
|
4
4
|
export const tokens = {
|
|
5
5
|
"colors": {
|
|
@@ -23,6 +23,16 @@ export const tokens = {
|
|
|
23
23
|
"--color-neutral-alpha-800": "rgba(0 0 0 / 0.8)",
|
|
24
24
|
"--color-neutral-alpha-900": "rgba(0 0 0 / 0.9)",
|
|
25
25
|
"--color-neutral-alpha-000": "rgba(0 0 0 / 0)",
|
|
26
|
+
"--color-neutral-alpha-inverse-100": "rgba(255 255 255 / 0.1)",
|
|
27
|
+
"--color-neutral-alpha-inverse-200": "rgba(255 255 255 / 0.2)",
|
|
28
|
+
"--color-neutral-alpha-inverse-300": "rgba(255 255 255 / 0.3)",
|
|
29
|
+
"--color-neutral-alpha-inverse-400": "rgba(255 255 255 / 0.4)",
|
|
30
|
+
"--color-neutral-alpha-inverse-500": "rgba(255 255 255 / 0.5)",
|
|
31
|
+
"--color-neutral-alpha-inverse-600": "rgba(255 255 255 / 0.6)",
|
|
32
|
+
"--color-neutral-alpha-inverse-700": "rgba(255 255 255 / 0.7)",
|
|
33
|
+
"--color-neutral-alpha-inverse-800": "rgba(255 255 255 / 0.8)",
|
|
34
|
+
"--color-neutral-alpha-inverse-900": "rgba(255 255 255 / 0.9)",
|
|
35
|
+
"--color-neutral-alpha-inverse-000": "rgba(255 255 255 / 0)",
|
|
26
36
|
"--color-neutral-000": "rgb(255 255 255)",
|
|
27
37
|
"--color-brand-b-purple-200": "rgb(222 192 255)",
|
|
28
38
|
"--color-brand-b-purple-300": "rgb(196 143 255)",
|
|
@@ -84,7 +94,68 @@ export const tokens = {
|
|
|
84
94
|
"--color-brand-a-sand-600": "rgb(108 109 97)",
|
|
85
95
|
"--color-brand-a-sand-700": "rgb(80 81 72)",
|
|
86
96
|
"--color-brand-a-sand-800": "rgb(52 52 47)",
|
|
87
|
-
"--color-brand-a-sand-900": "rgb(24 24 22)"
|
|
97
|
+
"--color-brand-a-sand-900": "rgb(24 24 22)",
|
|
98
|
+
"--color-brand-c-blue-10": "rgb(27 17 92)",
|
|
99
|
+
"--color-brand-c-blue-20": "rgb(7 45 146)",
|
|
100
|
+
"--color-brand-c-blue-30": "rgb(10 60 194)",
|
|
101
|
+
"--color-brand-c-blue-40": "rgb(12 75 243)",
|
|
102
|
+
"--color-brand-c-blue-50": "rgb(53 103 246)",
|
|
103
|
+
"--color-brand-c-blue-60": "rgb(109 147 248)",
|
|
104
|
+
"--color-brand-c-blue-70": "rgb(148 176 250)",
|
|
105
|
+
"--color-brand-c-blue-80": "rgb(182 200 252)",
|
|
106
|
+
"--color-brand-c-blue-90": "rgb(216 226 253)",
|
|
107
|
+
"--color-brand-c-blue-100": "rgb(27 17 92)",
|
|
108
|
+
"--color-brand-c-coolblue-10": "rgb(5 68 97)",
|
|
109
|
+
"--color-brand-c-coolblue-20": "rgb(7 102 146)",
|
|
110
|
+
"--color-brand-c-coolblue-30": "rgb(10 136 194)",
|
|
111
|
+
"--color-brand-c-coolblue-40": "rgb(12 170 243)",
|
|
112
|
+
"--color-brand-c-coolblue-50": "rgb(56 185 245)",
|
|
113
|
+
"--color-brand-c-coolblue-60": "rgb(112 203 244)",
|
|
114
|
+
"--color-brand-c-coolblue-70": "rgb(169 223 248)",
|
|
115
|
+
"--color-brand-c-coolblue-80": "rgb(198 234 251)",
|
|
116
|
+
"--color-brand-c-coolblue-90": "rgb(226 244 253)",
|
|
117
|
+
"--color-brand-c-coolblue-100": "rgb(11 68 97)",
|
|
118
|
+
"--color-brand-c-green-10": "rgb(5 66 61)",
|
|
119
|
+
"--color-brand-c-green-20": "rgb(36 111 73)",
|
|
120
|
+
"--color-brand-c-green-30": "rgb(43 161 104)",
|
|
121
|
+
"--color-brand-c-green-40": "rgb(48 182 117)",
|
|
122
|
+
"--color-brand-c-green-50": "rgb(97 196 141)",
|
|
123
|
+
"--color-brand-c-green-60": "rgb(135 210 166)",
|
|
124
|
+
"--color-brand-c-green-70": "rgb(169 224 191)",
|
|
125
|
+
"--color-brand-c-green-80": "rgb(197 228 205)",
|
|
126
|
+
"--color-brand-c-green-90": "rgb(223 246 235)",
|
|
127
|
+
"--color-brand-c-green-100": "rgb(239 251 245)",
|
|
128
|
+
"--color-brand-c-red-10": "rgb(96 6 9)",
|
|
129
|
+
"--color-brand-c-red-20": "rgb(144 9 14)",
|
|
130
|
+
"--color-brand-c-red-30": "rgb(192 12 18)",
|
|
131
|
+
"--color-brand-c-red-40": "rgb(240 15 23)",
|
|
132
|
+
"--color-brand-c-red-50": "rgb(242 58 65)",
|
|
133
|
+
"--color-brand-c-red-60": "rgb(246 111 116)",
|
|
134
|
+
"--color-brand-c-red-70": "rgb(248 150 153)",
|
|
135
|
+
"--color-brand-c-red-80": "rgb(250 183 185)",
|
|
136
|
+
"--color-brand-c-red-90": "rgb(253 226 227)",
|
|
137
|
+
"--color-brand-c-red-100": "rgb(254 236 236)",
|
|
138
|
+
"--color-brand-c-orange-10": "rgb(102 61 0)",
|
|
139
|
+
"--color-brand-c-orange-20": "rgb(153 92 0)",
|
|
140
|
+
"--color-brand-c-orange-30": "rgb(204 122 0)",
|
|
141
|
+
"--color-brand-c-orange-40": "rgb(255 153 0)",
|
|
142
|
+
"--color-brand-c-orange-50": "rgb(255 171 46)",
|
|
143
|
+
"--color-brand-c-orange-60": "rgb(255 194 102)",
|
|
144
|
+
"--color-brand-c-orange-70": "rgb(255 210 143)",
|
|
145
|
+
"--color-brand-c-orange-80": "rgb(255 224 178)",
|
|
146
|
+
"--color-brand-c-orange-90": "rgb(255 239 214)",
|
|
147
|
+
"--color-brand-c-orange-100": "rgb(255 247 235)",
|
|
148
|
+
"--color-brand-c-purple-10": "rgb(57 17 92)",
|
|
149
|
+
"--color-brand-c-purple-20": "rgb(81 7 146)",
|
|
150
|
+
"--color-brand-c-purple-30": "rgb(108 10 194)",
|
|
151
|
+
"--color-brand-c-purple-40": "rgb(135 12 243)",
|
|
152
|
+
"--color-brand-c-purple-50": "rgb(156 53 246)",
|
|
153
|
+
"--color-brand-c-purple-60": "rgb(183 109 248)",
|
|
154
|
+
"--color-brand-c-purple-70": "rgb(202 148 250)",
|
|
155
|
+
"--color-brand-c-purple-80": "rgb(219 182 252)",
|
|
156
|
+
"--color-brand-c-purple-90": "rgb(236 216 253)",
|
|
157
|
+
"--color-brand-c-purple-100": "rgb(245 236 254)",
|
|
158
|
+
"--color-brand-c-midnight-10": "rgb(11 9 45)"
|
|
88
159
|
},
|
|
89
160
|
"typography": {
|
|
90
161
|
"--font-size-md": "1rem",
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// Auto-generated design tokens from Figma
|
|
2
|
-
// Generated on 2026-
|
|
2
|
+
// Generated on 2026-06-06T14:29:01.202Z
|
|
3
3
|
|
|
4
4
|
export const tokens = {
|
|
5
5
|
"colors": {
|
|
6
|
-
"--brand-color-functional-success": "var(--color-brand-
|
|
7
|
-
"--brand-color-functional-danger": "var(--color-brand-
|
|
8
|
-
"--brand-color-functional-base": "var(--color-brand-
|
|
9
|
-
"--brand-color-functional-base-dark": "var(--color-brand-
|
|
10
|
-
"--brand-color-primary": "var(--color-brand-
|
|
11
|
-
"--brand-color-accent": "var(--color-brand-
|
|
12
|
-
"--brand-color-primary-dark": "var(--color-brand-
|
|
13
|
-
"--brand-color-accent-dark": "var(--color-brand-
|
|
6
|
+
"--brand-color-functional-success": "var(--color-brand-c-green-30)",
|
|
7
|
+
"--brand-color-functional-danger": "var(--color-brand-c-red-30)",
|
|
8
|
+
"--brand-color-functional-base": "var(--color-brand-c-blue-10)",
|
|
9
|
+
"--brand-color-functional-base-dark": "var(--color-brand-c-midnight-10)",
|
|
10
|
+
"--brand-color-primary": "var(--color-brand-c-blue-40)",
|
|
11
|
+
"--brand-color-accent": "var(--color-brand-c-coolblue-60)",
|
|
12
|
+
"--brand-color-primary-dark": "var(--color-brand-c-blue-10)",
|
|
13
|
+
"--brand-color-accent-dark": "var(--color-brand-c-coolblue-10)",
|
|
14
14
|
"--brand-color-subtle": "var(--color-neutral-500)",
|
|
15
15
|
"--brand-color-subtle-dark": "var(--color-neutral-800)",
|
|
16
16
|
"--brand-color-subtle-light": "var(--color-neutral-200)"
|
|
@@ -20,8 +20,8 @@ export const tokens = {
|
|
|
20
20
|
"--brand-font-lead": "var(--font-family-serif)"
|
|
21
21
|
},
|
|
22
22
|
"radii": {
|
|
23
|
-
"--brand-corner-button": "var(--size-radius-
|
|
24
|
-
"--brand-corner-card": "var(--size-radius-
|
|
23
|
+
"--brand-corner-button": "var(--size-radius-full)",
|
|
24
|
+
"--brand-corner-card": "var(--size-radius-300)",
|
|
25
25
|
"--brand-corner-modal": "var(--size-radius-400)",
|
|
26
26
|
"--brand-corner-input": "var(--size-radius-200)"
|
|
27
27
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Auto-generated design tokens from Figma
|
|
2
|
+
// Generated on 2026-06-06T14:29:01.205Z
|
|
3
|
+
|
|
4
|
+
export const tokens = {
|
|
5
|
+
"colors": {
|
|
6
|
+
"--brand-color-functional-success": "var(--color-brand-a-green-600)",
|
|
7
|
+
"--brand-color-functional-danger": "var(--color-brand-a-red-600)",
|
|
8
|
+
"--brand-color-functional-base": "var(--color-brand-a-green-700)",
|
|
9
|
+
"--brand-color-functional-base-dark": "var(--color-brand-a-green-900)",
|
|
10
|
+
"--brand-color-primary": "var(--color-brand-a-sand-700)",
|
|
11
|
+
"--brand-color-accent": "var(--color-brand-a-green-400)",
|
|
12
|
+
"--brand-color-primary-dark": "var(--color-brand-a-sand-900)",
|
|
13
|
+
"--brand-color-accent-dark": "var(--color-brand-a-green-600)",
|
|
14
|
+
"--brand-color-subtle": "var(--color-neutral-500)",
|
|
15
|
+
"--brand-color-subtle-dark": "var(--color-neutral-800)",
|
|
16
|
+
"--brand-color-subtle-light": "var(--color-neutral-200)"
|
|
17
|
+
},
|
|
18
|
+
"typography": {
|
|
19
|
+
"--brand-font-base": "var(--font-family-sans)",
|
|
20
|
+
"--brand-font-lead": "var(--font-family-serif)"
|
|
21
|
+
},
|
|
22
|
+
"radii": {
|
|
23
|
+
"--brand-corner-button": "var(--size-radius-700)",
|
|
24
|
+
"--brand-corner-card": "var(--size-radius-200)",
|
|
25
|
+
"--brand-corner-modal": "var(--size-radius-400)",
|
|
26
|
+
"--brand-corner-input": "var(--size-radius-200)"
|
|
27
|
+
}
|
|
28
|
+
} as const;
|
|
29
|
+
|
|
30
|
+
export type ColorToken = keyof typeof tokens.colors;
|
|
31
|
+
export type TypographyToken = keyof typeof tokens.typography;
|
|
32
|
+
export type RadiusToken = keyof typeof tokens.radii;
|
package/dist/ui/index.css
CHANGED
|
@@ -6,3 +6,10 @@
|
|
|
6
6
|
@import url("./patterns/radio.css") layer(components);
|
|
7
7
|
@import url("./patterns/switch.css") layer(components);
|
|
8
8
|
@import url("./patterns/badge.css") layer(components);
|
|
9
|
+
@import url("./patterns/divider.css") layer(components);
|
|
10
|
+
@import url("./patterns/textarea.css") layer(components);
|
|
11
|
+
@import url("./patterns/avatar.css") layer(components);
|
|
12
|
+
@import url("./patterns/accordion.css") layer(components);
|
|
13
|
+
@import url("./patterns/tabs.css") layer(components);
|
|
14
|
+
@import url("./patterns/tooltip.css") layer(components);
|
|
15
|
+
@import url("./patterns/form.css") layer(components);
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.accordion {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
border: var(--size-border-100) solid var(--color-border-default);
|
|
6
|
+
border-radius: var(--size-radius-400);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.accordion-item {
|
|
11
|
+
border-block-start: var(--size-border-100) solid var(--color-border-default);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.accordion-item:first-child {
|
|
15
|
+
border-block-start: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.accordion-item > summary {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
gap: var(--size-spacing-200);
|
|
22
|
+
padding-inline: var(--size-spacing-400);
|
|
23
|
+
padding-block: var(--size-spacing-300);
|
|
24
|
+
font-family: var(--font-family-sans);
|
|
25
|
+
font-size: var(--font-size-md);
|
|
26
|
+
font-weight: var(--font-weight-600);
|
|
27
|
+
line-height: var(--line-height-md);
|
|
28
|
+
color: var(--color-text-default);
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
list-style: none;
|
|
31
|
+
user-select: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.accordion-item > summary::-webkit-details-marker {
|
|
35
|
+
display: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.accordion-item > summary::before {
|
|
39
|
+
content: "";
|
|
40
|
+
display: inline-block;
|
|
41
|
+
inline-size: 0.5rem;
|
|
42
|
+
block-size: 0.5rem;
|
|
43
|
+
border-inline-end: var(--size-border-200) solid currentColor;
|
|
44
|
+
border-block-end: var(--size-border-200) solid currentColor;
|
|
45
|
+
transform: rotate(-45deg);
|
|
46
|
+
transition: transform 0.2s ease;
|
|
47
|
+
flex-shrink: 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.accordion-item[open] > summary::before {
|
|
51
|
+
transform: rotate(45deg);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.accordion-item > summary:hover,
|
|
55
|
+
.accordion-item > summary.is-hover {
|
|
56
|
+
background: var(--color-fill-hover);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.accordion-item > summary:focus-visible,
|
|
60
|
+
.accordion-item > summary.is-focus-visible {
|
|
61
|
+
outline: none;
|
|
62
|
+
box-shadow: inset 0 0 0 var(--shadow-focus) var(--color-focus);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.accordion-item__content {
|
|
66
|
+
padding-inline: var(--size-spacing-400);
|
|
67
|
+
padding-block: var(--size-spacing-300);
|
|
68
|
+
font-family: var(--font-family-sans);
|
|
69
|
+
font-size: var(--font-size-md);
|
|
70
|
+
line-height: var(--line-height-md);
|
|
71
|
+
color: var(--color-text-default);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* ── Disabled ── */
|
|
75
|
+
|
|
76
|
+
.accordion-item.is-disabled > summary {
|
|
77
|
+
color: var(--color-text-disabled);
|
|
78
|
+
cursor: not-allowed;
|
|
79
|
+
pointer-events: none;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.avatar {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
border-radius: var(--size-radius-full);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
background: var(--color-fill-subtle);
|
|
9
|
+
color: var(--color-text-default);
|
|
10
|
+
font-family: var(--font-family-sans);
|
|
11
|
+
font-weight: var(--font-weight-600);
|
|
12
|
+
inline-size: 2.5rem;
|
|
13
|
+
block-size: 2.5rem;
|
|
14
|
+
font-size: var(--font-size-sm);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* ── Sizes ── */
|
|
18
|
+
|
|
19
|
+
.avatar.xs {
|
|
20
|
+
inline-size: 1.5rem;
|
|
21
|
+
block-size: 1.5rem;
|
|
22
|
+
font-size: var(--font-size-xs);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.avatar.sm {
|
|
26
|
+
inline-size: 2rem;
|
|
27
|
+
block-size: 2rem;
|
|
28
|
+
font-size: var(--font-size-xs);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.avatar.lg {
|
|
32
|
+
inline-size: 3rem;
|
|
33
|
+
block-size: 3rem;
|
|
34
|
+
font-size: var(--font-size-md);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.avatar.xl {
|
|
38
|
+
inline-size: 4rem;
|
|
39
|
+
block-size: 4rem;
|
|
40
|
+
font-size: var(--font-size-lg);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* ── Image ── */
|
|
44
|
+
|
|
45
|
+
.avatar > img {
|
|
46
|
+
inline-size: 100%;
|
|
47
|
+
block-size: 100%;
|
|
48
|
+
object-fit: cover;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* ── Initials ── */
|
|
52
|
+
|
|
53
|
+
.avatar__initials {
|
|
54
|
+
user-select: none;
|
|
55
|
+
text-transform: uppercase;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
min-height: var(--button-height-min);
|
|
10
10
|
background: var(--button-solid-container-background-default);
|
|
11
11
|
border-color: var(--button-solid-border-color-default);
|
|
12
|
-
border-width: var(--button-
|
|
12
|
+
border-width: var(--button-border-size-default);
|
|
13
13
|
border-style: solid;
|
|
14
14
|
color: var(--button-solid-text-color-default);
|
|
15
15
|
border-radius: var(--button-border-radius);
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
.button.outline {
|
|
70
70
|
background: var(--button-outline-container-background-default);
|
|
71
71
|
border-color: var(--button-outline-border-color-default);
|
|
72
|
-
border-width: var(--button-
|
|
72
|
+
border-width: var(--button-border-size-default);
|
|
73
73
|
border-style: solid;
|
|
74
74
|
color: var(--button-outline-text-color-default);
|
|
75
75
|
}
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
.button.ghost {
|
|
109
109
|
background: var(--button-ghost-container-background-default);
|
|
110
110
|
border-color: var(--button-ghost-border-color-default);
|
|
111
|
-
border-width: var(--button-
|
|
111
|
+
border-width: var(--button-border-size-default);
|
|
112
112
|
border-style: solid;
|
|
113
113
|
color: var(--button-ghost-text-color-default);
|
|
114
114
|
}
|