@techsio/ui-kit 0.6.0 → 0.9.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/dist/atoms/badge.js +5 -5
- package/dist/atoms/button.js +15 -15
- package/dist/atoms/checkbox.js +2 -2
- package/dist/atoms/figma/image.figma.js +2 -2
- package/dist/atoms/figma/numeric-input.figma.js +1 -1
- package/dist/atoms/figma/textarea.figma.js +3 -3
- package/dist/atoms/input.js +9 -9
- package/dist/atoms/numeric-input.js +5 -5
- package/dist/atoms/rating.js +1 -1
- package/dist/atoms/status-text.js +6 -6
- package/dist/atoms/textarea.js +5 -5
- package/dist/atoms/tooltip.js +3 -3
- package/dist/molecules/slider.js +110 -8
- package/dist/molecules/tabs.js +11 -10
- package/dist/src/atoms/button.d.ts.map +1 -1
- package/dist/src/atoms/link.d.ts.map +1 -1
- package/dist/src/atoms/status-text.d.ts.map +1 -1
- package/dist/src/molecules/slider.d.ts.map +1 -1
- package/dist/src/molecules/tabs.d.ts +4 -4
- package/dist/src/molecules/tabs.d.ts.map +1 -1
- package/dist/stories/molecules/slider.stories.d.ts +1 -0
- package/dist/stories/molecules/slider.stories.d.ts.map +1 -1
- package/dist/stories/molecules/tabs.stories.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/tokens/_tokens-base.css +7 -0
- package/src/tokens/components/atoms/_badge.css +13 -70
- package/src/tokens/components/atoms/_button.css +14 -215
- package/src/tokens/components/atoms/_checkbox.css +15 -45
- package/src/tokens/components/atoms/_icon.css +17 -59
- package/src/tokens/components/atoms/_image.css +5 -5
- package/src/tokens/components/atoms/_input.css +12 -75
- package/src/tokens/components/atoms/_label.css +7 -8
- package/src/tokens/components/atoms/_link.css +5 -0
- package/src/tokens/components/atoms/_numeric-input.css +4 -63
- package/src/tokens/components/atoms/_rating.css +4 -23
- package/src/tokens/components/atoms/_skeleton.css +20 -26
- package/src/tokens/components/atoms/_status-text.css +11 -22
- package/src/tokens/components/atoms/_textarea.css +29 -82
- package/src/tokens/components/atoms/_tooltip.css +15 -18
- package/src/tokens/components/components.css +1 -0
- package/src/tokens/components/molecules/_product-card.css +16 -22
- package/src/tokens/figma/dark/variables.css +1353 -1174
- package/src/tokens/figma/light/variables.css +1353 -1174
- package/src/tokens/figma/variables.css +1589 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/molecules/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,GAAG,EAGT,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/molecules/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,GAAG,EAGT,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAG1D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwGhB,CAAA;AAuBF,MAAM,WAAW,SACf,SAAQ,YAAY,CAAC,OAAO,YAAY,CAAC,EACvC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IACnB,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IACvC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B;AAED,wBAAgB,IAAI,CAAC,EACnB,EAAE,EACF,YAAY,EACZ,KAAK,EACL,WAA0B,EAC1B,GAAW,EACX,cAA4B,EAC5B,SAAgB,EAChB,aAAa,EACb,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,SAAS,2CAkCX;yBAnDe,IAAI;uDA+DjB,aAAa;8FA+Bb,gBAAgB;iEAkChB,gBAAgB;kDAwBhB,kBAAkB;;;AAlGrB,UAAU,aAAc,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAC7D,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B;AAuBD,KAAK,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA;AAmCD,UAAU,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B;AAwBD,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAClE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1B"}
|
|
@@ -9,6 +9,7 @@ export declare const WithValidation: Story;
|
|
|
9
9
|
export declare const WithMarkers: Story;
|
|
10
10
|
export declare const VerticalOrientation: Story;
|
|
11
11
|
export declare const Controlled: Story;
|
|
12
|
+
export declare const DynamicBoundsControlled: Story;
|
|
12
13
|
export declare const SingleVsMultiThumb: Story;
|
|
13
14
|
export declare const Origin: Story;
|
|
14
15
|
export declare const ThumbAlignment: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/slider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAItD,OAAO,EACL,MAAM,EAEP,MAAM,4BAA4B,CAAA;AAEnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAyI7B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAA;AASpC,eAAO,MAAM,UAAU,EAAE,KAYxB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA0B5B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAmBzB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAqDjC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAyCxB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KA4BhC,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KA+BpB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA2B5B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAqCnC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAuBxB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAiD9B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAwIzB,CAAA"}
|
|
1
|
+
{"version":3,"file":"slider.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/slider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAItD,OAAO,EACL,MAAM,EAEP,MAAM,4BAA4B,CAAA;AAEnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAyI7B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAA;AASpC,eAAO,MAAM,UAAU,EAAE,KAYxB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA0B5B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAmBzB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAqDjC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAyCxB,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,KA0CrC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KA4BhC,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KA+BpB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA2B5B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAqCnC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAuBxB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAiD9B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAwIzB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/tabs.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"tabs.stories.d.ts","sourceRoot":"","sources":["../../../stories/molecules/tabs.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAG/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CA6D3B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAGlC,eAAO,MAAM,UAAU,EAAE,KAqCxB,CAAA;AAGD,eAAO,MAAM,WAAW,EAAE,KAwFzB,CAAA;AAGD,eAAO,MAAM,KAAK,EAAE,KAmEnB,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KA4CjC,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KAiCxB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KA6CxB,CAAA;AAGD,eAAO,MAAM,cAAc,EAAE,KAuD5B,CAAA;AAGD,eAAO,MAAM,YAAY,EAAE,KA4B1B,CAAA;AAGD,eAAO,MAAM,SAAS,EAAE,KAqCvB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KAyCxB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KAsBxB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KA4FxB,CAAA"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,13 @@
|
|
|
13
13
|
/* Component tokens (dependent on semantic) */
|
|
14
14
|
@import "./components/components.css";
|
|
15
15
|
|
|
16
|
+
/* Figma source of truth — imported LAST so its @theme static values win
|
|
17
|
+
* the cascade over any duplicate declarations in the per-component CSS
|
|
18
|
+
* above. Atom files still own tokens that Figma does not export (font
|
|
19
|
+
* weights, --alpha() helpers, bridge shorthands, @utility blocks).
|
|
20
|
+
* Generated by merge-figma-themes.mjs from figma/{light,dark}/variables.css. */
|
|
21
|
+
@import "./figma/variables.css";
|
|
22
|
+
|
|
16
23
|
/* Base styles */
|
|
17
24
|
:root {
|
|
18
25
|
color-scheme: light dark;
|
|
@@ -1,72 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/* === DERIVED COLORS === */
|
|
13
|
-
/* Background colors - using reference layer */
|
|
14
|
-
--color-badge-bg-primary: var(--color-badge-primary);
|
|
15
|
-
--color-badge-bg-secondary: var(--color-badge-secondary);
|
|
16
|
-
--color-badge-bg-tertiary: var(--color-badge-tertiary);
|
|
17
|
-
--color-badge-bg-info: var(--color-badge-info);
|
|
18
|
-
--color-badge-bg-success: var(--color-badge-success);
|
|
19
|
-
--color-badge-bg-warning: var(--color-badge-warning);
|
|
20
|
-
--color-badge-bg-danger: var(--color-badge-danger);
|
|
21
|
-
--color-badge-bg-discount: var(--color-badge-danger); /* Alias for discount */
|
|
22
|
-
|
|
23
|
-
/* Foreground colors */
|
|
24
|
-
--color-badge-fg: var(--color-fg-light);
|
|
25
|
-
--color-badge-fg-primary: var(--color-badge-fg);
|
|
26
|
-
--color-badge-fg-secondary: var(--color-badge-fg);
|
|
27
|
-
--color-badge-fg-tertiary: var(--color-badge-fg);
|
|
28
|
-
--color-badge-fg-info: var(--color-badge-fg);
|
|
29
|
-
--color-badge-fg-success: var(--color-badge-fg);
|
|
30
|
-
--color-badge-fg-warning: var(--color-badge-fg);
|
|
31
|
-
--color-badge-fg-danger: var(--color-badge-fg);
|
|
32
|
-
--color-badge-fg-discount: var(
|
|
33
|
-
--color-badge-fg
|
|
34
|
-
); /* Keep original for discount */
|
|
35
|
-
|
|
36
|
-
/* Border colors */
|
|
37
|
-
--color-badge-border: var(--color-border-primary);
|
|
38
|
-
--color-badge-border-primary: transparent;
|
|
39
|
-
--color-badge-border-secondary: transparent;
|
|
40
|
-
--color-badge-border-tertiary: transparent;
|
|
41
|
-
--color-badge-border-info: transparent;
|
|
42
|
-
--color-badge-border-success: transparent;
|
|
43
|
-
--color-badge-border-warning: transparent;
|
|
44
|
-
--color-badge-border-danger: transparent;
|
|
45
|
-
--color-badge-border-discount: transparent;
|
|
1
|
+
/*
|
|
2
|
+
* Badge — runtime tokens come from libs/ui/src/tokens/figma/variables.css.
|
|
3
|
+
*
|
|
4
|
+
* This file only declares what Figma does not export:
|
|
5
|
+
* - `--color-badge-border` (base fallback for the `border-badge-border`
|
|
6
|
+
* utility on the root; every variant overrides it via Figma's
|
|
7
|
+
* `--color-badge-border-{variant}` tokens).
|
|
8
|
+
*
|
|
9
|
+
* Sizing, color, font-weight, radius, border-width are all owned by Figma
|
|
10
|
+
* now — see grep `--color-badge-` in figma/variables.css.
|
|
11
|
+
*/
|
|
46
12
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
--color-badge-bg-outline: transparent;
|
|
50
|
-
--color-badge-fg-outline: var(--color-fg-secondary);
|
|
51
|
-
--color-badge-border-outline: var(--color-badge-border);
|
|
52
|
-
|
|
53
|
-
/* === SPACING === */
|
|
54
|
-
--spacing-badge-sm: var(--spacing-50);
|
|
55
|
-
--spacing-badge-md: var(--spacing-100);
|
|
56
|
-
--spacing-badge-lg: var(--spacing-150);
|
|
57
|
-
--spacing-badge-xl: var(--spacing-200);
|
|
58
|
-
|
|
59
|
-
/* === TYPOGRAPHY === */
|
|
60
|
-
--text-badge-sm: var(--text-xs);
|
|
61
|
-
--text-badge-md: var(--text-xs);
|
|
62
|
-
--text-badge-lg: var(--text-sm);
|
|
63
|
-
--text-badge-xl: var(--text-md);
|
|
64
|
-
|
|
65
|
-
--font-weight-badge-sm: var(--font-weight-light);
|
|
66
|
-
--font-weight-badge-md: var(--font-weight-medium);
|
|
67
|
-
--font-weight-badge-lg: var(--font-weight-semibold);
|
|
68
|
-
--font-weight-badge-xl: var(--font-weight-bold);
|
|
69
|
-
/* === BORDERS & RADIUS === */
|
|
70
|
-
--radius-badge: var(--radius-sm);
|
|
71
|
-
--border-width-badge: var(--border-width-sm);
|
|
13
|
+
@theme static {
|
|
14
|
+
--color-badge-border: oklch(0 0 0 / 0);
|
|
72
15
|
}
|
|
@@ -1,221 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Button — runtime tokens come from libs/ui/src/tokens/figma/variables.css.
|
|
3
|
+
*
|
|
4
|
+
* This file only declares what Figma does not export:
|
|
5
|
+
* - Combined padding shorthands (`--padding-button-{sm,md,lg}`) for the
|
|
6
|
+
* `p-button-{size}` utility. Figma exports the split `x` and `y`
|
|
7
|
+
* axes; this bridge composes them so the existing utility name keeps
|
|
8
|
+
* working without per-axis class churn.
|
|
9
|
+
* - The `token-icon-button-spinner` semantic icon alias.
|
|
10
|
+
*/
|
|
5
11
|
|
|
6
12
|
@theme static {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
--
|
|
10
|
-
--color-button-secondary: var(--color-secondary);
|
|
11
|
-
--color-button-tertiary: var(--color-tertiary);
|
|
12
|
-
--color-button-warning: var(--color-warning);
|
|
13
|
-
--color-button-danger: var(--color-danger);
|
|
14
|
-
--color-button-borderless: transparent;
|
|
15
|
-
|
|
16
|
-
/* === DERIVED COLORS === */
|
|
17
|
-
/* Background colors - using reference layer */
|
|
18
|
-
--color-button-bg-primary: var(--color-button-primary);
|
|
19
|
-
--color-button-bg-secondary: var(--color-button-secondary);
|
|
20
|
-
--color-button-bg-tertiary: var(--color-button-tertiary);
|
|
21
|
-
--color-button-bg-warning: var(--color-button-warning);
|
|
22
|
-
--color-button-bg-danger: var(--color-button-danger);
|
|
23
|
-
|
|
24
|
-
/* Foreground colors */
|
|
25
|
-
--color-button-fg: var(--color-fg-light);
|
|
26
|
-
--color-button-fg-light: var(--color-fg-light);
|
|
27
|
-
--color-button-fg-outlined: var(--color-fg-primary);
|
|
28
|
-
--color-button-fg-primary: var(--color-button-fg);
|
|
29
|
-
--color-button-fg-secondary: var(--color-button-fg);
|
|
30
|
-
--color-button-fg-tertiary: var(--color-button-fg);
|
|
31
|
-
--color-button-fg-warning: var(--color-button-fg);
|
|
32
|
-
--color-button-fg-danger: var(--color-button-fg);
|
|
33
|
-
--color-button-fg-primary-light: var(--color-button-fg-light);
|
|
34
|
-
--color-button-fg-secondary-light: var(--color-button-fg-light);
|
|
35
|
-
--color-button-fg-tertiary-light: var(--color-button-fg-light);
|
|
36
|
-
--color-button-fg-warning-light: var(--color-button-fg-light);
|
|
37
|
-
--color-button-fg-danger-light: var(--color-button-fg-light);
|
|
38
|
-
--color-button-fg-outlined-primary: var(--color-button-fg-outlined);
|
|
39
|
-
--color-button-fg-outlined-secondary: var(--color-button-fg-outlined);
|
|
40
|
-
--color-button-fg-outlined-tertiary: var(--color-button-fg-outlined);
|
|
41
|
-
--color-button-fg-outlined-warning: var(--color-button-fg-outlined);
|
|
42
|
-
--color-button-fg-outlined-danger: var(--color-button-fg-outlined);
|
|
43
|
-
--color-button-fg-primary-borderless: var(--color-primary-accent-fg);
|
|
44
|
-
--color-button-fg-secondary-borderless: var(--color-secondary-accent-fg);
|
|
45
|
-
--color-button-fg-tertiary-borderless: var(--color-tertiary-accent-fg);
|
|
46
|
-
--color-button-fg-warning-borderless: var(--color-warning-fg);
|
|
47
|
-
--color-button-fg-danger-borderless: var(--color-danger-fg);
|
|
48
|
-
|
|
49
|
-
/* Border colors */
|
|
50
|
-
--color-button-border-primary: var(--color-button-primary);
|
|
51
|
-
--color-button-border-secondary: var(--color-button-secondary);
|
|
52
|
-
--color-button-border-tertiary: var(--color-button-tertiary);
|
|
53
|
-
--color-button-border-warning: var(--color-button-warning);
|
|
54
|
-
--color-button-border-danger: var(--color-button-danger);
|
|
55
|
-
|
|
56
|
-
/* === STATE VARIATIONS === */
|
|
57
|
-
/* Primary states */
|
|
58
|
-
--color-button-bg-primary-hover: oklch(
|
|
59
|
-
from var(--color-button-primary) calc(l + var(--state-hover)) c h
|
|
60
|
-
);
|
|
61
|
-
--color-button-bg-primary-active: oklch(
|
|
62
|
-
from var(--color-button-primary) calc(l + var(--state-active)) c h
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
/* Secondary states */
|
|
66
|
-
--color-button-bg-secondary-hover: oklch(
|
|
67
|
-
from var(--color-button-secondary) calc(l + var(--state-hover)) c h
|
|
68
|
-
);
|
|
69
|
-
--color-button-bg-secondary-active: oklch(
|
|
70
|
-
from var(--color-button-secondary) calc(l + var(--state-active)) c h
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
/* Tertiary states */
|
|
74
|
-
--color-button-bg-tertiary-hover: oklch(
|
|
75
|
-
from var(--color-button-tertiary) calc(l + var(--state-hover)) c h
|
|
76
|
-
);
|
|
77
|
-
--color-button-bg-tertiary-active: oklch(
|
|
78
|
-
from var(--color-button-tertiary) calc(l + var(--state-active)) c h
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
/* Warning states */
|
|
82
|
-
--color-button-bg-warning-hover: oklch(
|
|
83
|
-
from var(--color-button-warning) calc(l + var(--state-hover)) c h
|
|
84
|
-
);
|
|
85
|
-
--color-button-bg-warning-active: oklch(
|
|
86
|
-
from var(--color-button-warning) calc(l + var(--state-active)) c h
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
/* Danger states */
|
|
90
|
-
--color-button-bg-danger-hover: oklch(
|
|
91
|
-
from var(--color-button-danger) calc(l + var(--state-hover)) c h
|
|
92
|
-
);
|
|
93
|
-
--color-button-bg-danger-active: oklch(
|
|
94
|
-
from var(--color-button-danger) calc(l + var(--state-active)) c h
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
/* Borderless states */
|
|
98
|
-
--color-button-bg-borderless: var(--color-button-borderless);
|
|
99
|
-
--color-button-bg-borderless-hover: var(--color-fill-hover);
|
|
100
|
-
--color-button-bg-borderless-active: var(--color-fill-active);
|
|
101
|
-
|
|
102
|
-
/* === COMPONENT VARIANTS === */
|
|
103
|
-
/* Light variants */
|
|
104
|
-
--color-button-bg-primary-light: var(--color-primary-light);
|
|
105
|
-
--color-button-bg-secondary-light: var(--color-secondary-light);
|
|
106
|
-
--color-button-bg-tertiary-light: var(--color-tertiary-light);
|
|
107
|
-
--color-button-bg-warning-light: var(--color-warning-light);
|
|
108
|
-
--color-button-bg-danger-light: var(--color-danger-light);
|
|
109
|
-
|
|
110
|
-
/* Light variant states */
|
|
111
|
-
--color-button-bg-primary-light-hover: oklch(
|
|
112
|
-
from var(--color-button-bg-primary-light) calc(l + var(--state-hover)) c h
|
|
113
|
-
);
|
|
114
|
-
--color-button-bg-primary-light-active: oklch(
|
|
115
|
-
from var(--color-button-bg-primary-light) calc(l + var(--state-active)) c h
|
|
116
|
-
);
|
|
117
|
-
--color-button-bg-secondary-light-hover: oklch(
|
|
118
|
-
from var(--color-button-bg-secondary-light) calc(l + var(--state-hover)) c h
|
|
119
|
-
);
|
|
120
|
-
--color-button-bg-secondary-light-active: oklch(
|
|
121
|
-
from var(--color-button-bg-secondary-light) calc(l + var(--state-active)) c
|
|
122
|
-
h
|
|
123
|
-
);
|
|
124
|
-
--color-button-bg-tertiary-light-hover: oklch(
|
|
125
|
-
from var(--color-button-bg-tertiary-light) calc(l + var(--state-hover)) c h
|
|
126
|
-
);
|
|
127
|
-
--color-button-bg-tertiary-light-active: oklch(
|
|
128
|
-
from var(--color-button-bg-tertiary-light) calc(l + var(--state-active)) c h
|
|
129
|
-
);
|
|
130
|
-
--color-button-bg-warning-light-hover: oklch(
|
|
131
|
-
from var(--color-button-bg-warning-light) calc(l + var(--state-hover)) c h
|
|
132
|
-
);
|
|
133
|
-
--color-button-bg-warning-light-active: oklch(
|
|
134
|
-
from var(--color-button-bg-warning-light) calc(l + var(--state-active)) c h
|
|
135
|
-
);
|
|
136
|
-
--color-button-bg-danger-light-hover: oklch(
|
|
137
|
-
from var(--color-button-bg-danger-light) calc(l + var(--state-hover)) c h
|
|
138
|
-
);
|
|
139
|
-
--color-button-bg-danger-light-active: oklch(
|
|
140
|
-
from var(--color-button-bg-danger-light) calc(l + var(--state-active)) c h
|
|
141
|
-
);
|
|
142
|
-
|
|
143
|
-
/* Outlined variants */
|
|
144
|
-
--color-button-bg-outlined: transparent;
|
|
145
|
-
--color-button-bg-outlined-primary-hover: --alpha(
|
|
146
|
-
var(--color-button-primary) /
|
|
147
|
-
var(--opacity-outlined-hover)
|
|
148
|
-
);
|
|
149
|
-
--color-button-bg-outlined-primary-active: --alpha(
|
|
150
|
-
var(--color-button-primary) /
|
|
151
|
-
var(--opacity-outlined-active)
|
|
152
|
-
);
|
|
153
|
-
--color-button-bg-outlined-secondary-hover: --alpha(
|
|
154
|
-
var(--color-button-secondary) /
|
|
155
|
-
var(--opacity-outlined-hover)
|
|
156
|
-
);
|
|
157
|
-
--color-button-bg-outlined-secondary-active: --alpha(
|
|
158
|
-
var(--color-button-secondary) /
|
|
159
|
-
var(--opacity-outlined-active)
|
|
160
|
-
);
|
|
161
|
-
--color-button-bg-outlined-tertiary-hover: --alpha(
|
|
162
|
-
var(--color-button-tertiary) /
|
|
163
|
-
var(--opacity-outlined-hover)
|
|
164
|
-
);
|
|
165
|
-
--color-button-bg-outlined-tertiary-active: --alpha(
|
|
166
|
-
var(--color-button-tertiary) /
|
|
167
|
-
var(--opacity-outlined-active)
|
|
168
|
-
);
|
|
169
|
-
--color-button-bg-outlined-warning-hover: --alpha(
|
|
170
|
-
var(--color-button-warning) /
|
|
171
|
-
var(--opacity-outlined-hover)
|
|
172
|
-
);
|
|
173
|
-
--color-button-bg-outlined-warning-active: --alpha(
|
|
174
|
-
var(--color-button-warning) /
|
|
175
|
-
var(--opacity-outlined-active)
|
|
176
|
-
);
|
|
177
|
-
--color-button-bg-outlined-danger-hover: --alpha(
|
|
178
|
-
var(--color-button-danger) /
|
|
179
|
-
var(--opacity-outlined-hover)
|
|
180
|
-
);
|
|
181
|
-
--color-button-bg-outlined-danger-active: --alpha(
|
|
182
|
-
var(--color-button-danger) /
|
|
183
|
-
var(--opacity-outlined-active)
|
|
184
|
-
);
|
|
185
|
-
|
|
186
|
-
/* === DISABLED STATES === */
|
|
187
|
-
--color-button-bg-disabled: var(--color-bg-disabled);
|
|
188
|
-
--color-button-fg-disabled: var(--color-fg-disabled);
|
|
189
|
-
--color-button-border-disabled: var(--color-border-disabled);
|
|
190
|
-
|
|
191
|
-
/* === SPACING === */
|
|
192
|
-
--spacing-button-sm: var(--spacing-150);
|
|
193
|
-
--spacing-button-md: var(--spacing-200);
|
|
194
|
-
--spacing-button-lg: var(--spacing-250);
|
|
195
|
-
|
|
196
|
-
--padding-button-sm: var(--spacing-50) var(--spacing-200);
|
|
197
|
-
--padding-button-md: var(--spacing-100) var(--spacing-250);
|
|
198
|
-
--padding-button-lg: var(--spacing-150) var(--spacing-400);
|
|
199
|
-
|
|
200
|
-
/* === TYPOGRAPHY === */
|
|
201
|
-
--text-button-sm: var(--text-sm);
|
|
202
|
-
--text-button-md: var(--text-md);
|
|
203
|
-
--text-button-lg: var(--text-lg);
|
|
204
|
-
|
|
205
|
-
/* === BORDERS & RADIUS === */
|
|
206
|
-
--radius-button-sm: var(--radius-sm);
|
|
207
|
-
--radius-button-md: var(--radius-md);
|
|
208
|
-
--radius-button-lg: var(--radius-lg);
|
|
209
|
-
|
|
210
|
-
--border-button-width-sm: var(--border-width-sm);
|
|
211
|
-
--border-button-width-md: var(--border-width-md);
|
|
212
|
-
--border-button-width-lg: var(--border-width-lg);
|
|
213
|
-
|
|
214
|
-
/* === FOCUS RING === */
|
|
215
|
-
--color-button-ring: var(--color-ring);
|
|
13
|
+
--padding-button-sm: var(--padding-button-y-sm) var(--padding-button-x-sm);
|
|
14
|
+
--padding-button-md: var(--padding-button-y-md) var(--padding-button-x-md);
|
|
15
|
+
--padding-button-lg: var(--padding-button-y-lg) var(--padding-button-x-lg);
|
|
216
16
|
}
|
|
217
17
|
|
|
218
|
-
|
|
219
18
|
@utility token-icon-button-spinner {
|
|
220
19
|
@apply token-icon-spinner;
|
|
221
|
-
}
|
|
20
|
+
}
|
|
@@ -1,50 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/* Foreground colors (icons/checkmarks) */
|
|
15
|
-
--color-checkbox-fg-checked: var(--color-fg-dark);
|
|
16
|
-
--color-checkbox-fg-indeterminate: var(--color-fg-dark);
|
|
17
|
-
|
|
18
|
-
/* Border colors */
|
|
19
|
-
--color-checkbox-border: var(--color-border-primary);
|
|
20
|
-
--color-checkbox-border-checked: var(--color-checkbox-success);
|
|
21
|
-
--color-checkbox-border-indeterminate: var(--color-checkbox-primary);
|
|
22
|
-
|
|
23
|
-
/* === VALIDATION STATES === */
|
|
24
|
-
--color-checkbox-border-error: var(--color-checkbox-danger);
|
|
25
|
-
--color-checkbox-ring-error: var(--color-checkbox-danger);
|
|
1
|
+
/*
|
|
2
|
+
* Checkbox — runtime tokens come from libs/ui/src/tokens/figma/variables.css.
|
|
3
|
+
*
|
|
4
|
+
* This file only declares what Figma does not export yet:
|
|
5
|
+
* - `--spacing-checkbox-indeterminate-icon` — 60% size for the
|
|
6
|
+
* indeterminate-state icon (no size-axis equivalent in Figma).
|
|
7
|
+
* - `--spacing-form-checkbox-gap` — Figma exports `--spacing-form-checkbox`
|
|
8
|
+
* (no `-gap` suffix); keep this alias name until FormCheckbox TSX
|
|
9
|
+
* adopts the Figma name.
|
|
10
|
+
*
|
|
11
|
+
* Color, border-width, radius, size, ring, and form-checkbox-text-offset
|
|
12
|
+
* are owned by Figma.
|
|
13
|
+
*/
|
|
26
14
|
|
|
27
|
-
|
|
28
|
-
--color-checkbox-bg-disabled: var(--color-bg-disabled);
|
|
29
|
-
--color-checkbox-fg-disabled: var(--color-fg-disabled);
|
|
30
|
-
--color-checkbox-border-disabled: var(--color-border-disabled);
|
|
31
|
-
|
|
32
|
-
/* === FOCUS RINGS === */
|
|
33
|
-
--color-checkbox-ring-focus: var(--color-ring);
|
|
34
|
-
|
|
35
|
-
/* === SPACING === */
|
|
36
|
-
--spacing-checkbox: var(--spacing-200);
|
|
15
|
+
@theme static {
|
|
37
16
|
--spacing-checkbox-indeterminate-icon: 60%;
|
|
38
|
-
|
|
39
|
-
/* === BORDERS & RADIUS === */
|
|
40
|
-
--radius-checkbox: var(--radius-sm);
|
|
41
|
-
|
|
42
|
-
/* === FORM CHECKBOX MOLECULE === */
|
|
43
|
-
--spacing-form-checkbox-gap: var(--spacing-150);
|
|
44
|
-
--spacing-form-checkbox-text-offset: calc(
|
|
45
|
-
var(--spacing-checkbox) +
|
|
46
|
-
var(--spacing-form-checkbox-gap)
|
|
47
|
-
);
|
|
17
|
+
--spacing-form-checkbox-gap: var(--spacing-form-checkbox);
|
|
48
18
|
}
|
|
49
19
|
|
|
50
20
|
@utility token-icon-checkbox {
|
|
@@ -1,210 +1,168 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Icon — bound directly to Figma tokens.
|
|
3
|
+
* Source: tokens/figma/{light,dark}/variables.css.
|
|
4
|
+
*
|
|
5
|
+
* Color tokens are exported but not consumed by the TSX (icons inherit from
|
|
6
|
+
* surrounding text color). They're defined here so they're available when
|
|
7
|
+
* stories or call sites opt into colored icons.
|
|
8
|
+
*/
|
|
9
|
+
|
|
1
10
|
@plugin "@iconify/tailwind4";
|
|
2
11
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
12
|
+
/*
|
|
13
|
+
* Icon — color + size tokens come from libs/ui/src/tokens/figma/variables.css
|
|
14
|
+
* (Figma now exports the full icon size scale including 2xl).
|
|
15
|
+
* Only the @plugin directive and the semantic glyph @utility aliases live here.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/* === Semantic glyph aliases (not part of Figma export) === */
|
|
11
19
|
|
|
12
|
-
/* Semantic tokens for icons */
|
|
13
20
|
@utility token-icon-error {
|
|
14
21
|
@apply icon-[mdi-light--alert-circle];
|
|
15
22
|
}
|
|
16
|
-
|
|
17
23
|
@utility token-icon-success {
|
|
18
24
|
@apply icon-[mdi-light--check-circle];
|
|
19
25
|
}
|
|
20
|
-
|
|
21
26
|
@utility token-icon-warning {
|
|
22
27
|
@apply icon-[mdi-light--alert];
|
|
23
28
|
}
|
|
24
|
-
|
|
25
29
|
@utility token-icon-info {
|
|
26
30
|
@apply icon-[mdi-light--information];
|
|
27
31
|
}
|
|
28
|
-
|
|
29
32
|
@utility token-icon-close {
|
|
30
33
|
@apply icon-[mdi--close];
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
/* Component tokens for icons */
|
|
34
36
|
@utility token-icon-input-error {
|
|
35
37
|
@apply token-icon-error;
|
|
36
38
|
}
|
|
37
|
-
|
|
38
39
|
@utility token-icon-input-success {
|
|
39
40
|
@apply token-icon-success;
|
|
40
41
|
}
|
|
41
|
-
|
|
42
42
|
@utility token-icon-input-warning {
|
|
43
43
|
@apply token-icon-warning;
|
|
44
44
|
}
|
|
45
|
-
|
|
46
45
|
@utility token-icon-input-info {
|
|
47
46
|
@apply token-icon-info;
|
|
48
47
|
}
|
|
49
48
|
|
|
50
|
-
/* Navigation icons */
|
|
51
49
|
@utility token-icon-chevron-down {
|
|
52
50
|
@apply icon-[mdi--chevron-down];
|
|
53
51
|
}
|
|
54
|
-
|
|
55
52
|
@utility token-icon-chevron-right {
|
|
56
53
|
@apply icon-[mdi--chevron-right];
|
|
57
54
|
}
|
|
58
|
-
|
|
59
55
|
@utility token-icon-chevron-left {
|
|
60
56
|
@apply icon-[mdi--chevron-left];
|
|
61
57
|
}
|
|
62
|
-
|
|
63
58
|
@utility token-icon-chevron-up {
|
|
64
59
|
@apply icon-[mdi--chevron-up];
|
|
65
60
|
}
|
|
66
61
|
|
|
67
|
-
/* Action icons */
|
|
68
62
|
@utility token-icon-spinner {
|
|
69
63
|
@apply icon-[svg-spinners--ring-resize];
|
|
70
64
|
}
|
|
71
|
-
|
|
72
65
|
@utility token-icon-play {
|
|
73
66
|
@apply icon-[mdi--play];
|
|
74
67
|
}
|
|
75
|
-
|
|
76
68
|
@utility token-icon-pause {
|
|
77
69
|
@apply icon-[mdi--pause];
|
|
78
70
|
}
|
|
79
|
-
|
|
80
71
|
@utility token-icon-menu {
|
|
81
72
|
@apply icon-[mdi--menu];
|
|
82
73
|
}
|
|
83
|
-
|
|
84
74
|
@utility token-icon-plus {
|
|
85
75
|
@apply icon-[mdi--plus];
|
|
86
76
|
}
|
|
87
|
-
|
|
88
77
|
@utility token-icon-minus {
|
|
89
78
|
@apply icon-[mdi--minus];
|
|
90
79
|
}
|
|
91
|
-
|
|
92
80
|
@utility token-icon-folder {
|
|
93
81
|
@apply icon-[mdi--folder];
|
|
94
82
|
}
|
|
95
|
-
|
|
96
83
|
@utility token-icon-folder-open {
|
|
97
84
|
@apply icon-[mdi--folder-open];
|
|
98
85
|
}
|
|
99
|
-
|
|
100
86
|
@utility token-icon-file-document {
|
|
101
87
|
@apply icon-[mdi--file-document];
|
|
102
88
|
}
|
|
103
|
-
|
|
104
89
|
@utility token-icon-home {
|
|
105
90
|
@apply icon-[mdi--home];
|
|
106
91
|
}
|
|
107
|
-
|
|
108
92
|
@utility token-icon-shopping-bag {
|
|
109
93
|
@apply icon-[mdi--shopping];
|
|
110
94
|
}
|
|
111
|
-
|
|
112
95
|
@utility token-icon-cpu {
|
|
113
96
|
@apply icon-[mdi--cpu-64-bit];
|
|
114
97
|
}
|
|
115
|
-
|
|
116
98
|
@utility token-icon-smartphone {
|
|
117
99
|
@apply icon-[mdi--smartphone];
|
|
118
100
|
}
|
|
119
|
-
|
|
120
101
|
@utility token-icon-save {
|
|
121
102
|
@apply icon-[mdi--content-save];
|
|
122
103
|
}
|
|
123
|
-
|
|
124
104
|
@utility token-icon-trash {
|
|
125
105
|
@apply icon-[mdi--delete];
|
|
126
106
|
}
|
|
127
|
-
|
|
128
107
|
@utility token-icon-copy {
|
|
129
108
|
@apply icon-[mdi--content-copy];
|
|
130
109
|
}
|
|
131
|
-
|
|
132
110
|
@utility token-icon-clipboard {
|
|
133
111
|
@apply icon-[mdi--clipboard];
|
|
134
112
|
}
|
|
135
|
-
|
|
136
113
|
@utility token-icon-undo {
|
|
137
114
|
@apply icon-[mdi--undo];
|
|
138
115
|
}
|
|
139
|
-
|
|
140
116
|
@utility token-icon-redo {
|
|
141
117
|
@apply icon-[mdi--redo];
|
|
142
118
|
}
|
|
143
|
-
|
|
144
119
|
@utility token-icon-check {
|
|
145
120
|
@apply icon-[mdi--check];
|
|
146
121
|
}
|
|
147
|
-
|
|
148
122
|
@utility token-icon-check-bold {
|
|
149
123
|
@apply icon-[mdi--check-bold];
|
|
150
124
|
}
|
|
151
|
-
|
|
152
125
|
@utility token-icon-check-circle {
|
|
153
126
|
@apply icon-[mdi--check-circle];
|
|
154
127
|
}
|
|
155
|
-
|
|
156
128
|
@utility token-icon-alert {
|
|
157
129
|
@apply icon-[mdi--alert];
|
|
158
130
|
}
|
|
159
|
-
|
|
160
131
|
@utility token-icon-alert-circle {
|
|
161
132
|
@apply icon-[mdi--alert-circle];
|
|
162
133
|
}
|
|
163
|
-
|
|
164
134
|
@utility token-icon-information {
|
|
165
135
|
@apply icon-[mdi--information];
|
|
166
136
|
}
|
|
167
|
-
|
|
168
137
|
@utility token-icon-ellipsis-horizontal {
|
|
169
138
|
@apply icon-[mdi--ellipsis-horizontal];
|
|
170
139
|
}
|
|
171
|
-
|
|
172
140
|
@utility token-icon-circle {
|
|
173
141
|
@apply icon-[mdi--circle];
|
|
174
142
|
}
|
|
175
|
-
|
|
176
143
|
@utility token-icon-star {
|
|
177
144
|
@apply icon-[mdi--star];
|
|
178
145
|
}
|
|
179
|
-
|
|
180
146
|
@utility token-icon-star-half {
|
|
181
147
|
@apply icon-[mdi--star-half];
|
|
182
148
|
}
|
|
183
149
|
|
|
184
|
-
/* product card icons */
|
|
185
|
-
|
|
186
150
|
@utility token-icon-cart {
|
|
187
151
|
@apply icon-[mdi-light--cart];
|
|
188
152
|
}
|
|
189
|
-
|
|
190
153
|
@utility token-icon-eye {
|
|
191
154
|
@apply icon-[mdi--eye];
|
|
192
155
|
}
|
|
193
|
-
|
|
194
156
|
@utility token-icon-heart {
|
|
195
157
|
@apply icon-[mdi--heart];
|
|
196
158
|
}
|
|
197
|
-
|
|
198
159
|
@utility token-icon-search {
|
|
199
160
|
@apply icon-[mdi--magnify];
|
|
200
161
|
}
|
|
201
162
|
|
|
202
|
-
/* Semantic action aliases decoupled from concrete icon glyphs. */
|
|
203
|
-
|
|
204
163
|
@utility token-icon-increment {
|
|
205
164
|
@apply token-icon-chevron-up;
|
|
206
165
|
}
|
|
207
|
-
|
|
208
166
|
@utility token-icon-decrement {
|
|
209
167
|
@apply token-icon-chevron-down;
|
|
210
|
-
}
|
|
168
|
+
}
|