@techsio/ui-kit 0.39.0 → 0.40.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.
Files changed (80) hide show
  1. package/dist/.storybook/manager.d.ts +2 -0
  2. package/dist/.storybook/manager.d.ts.map +1 -0
  3. package/dist/.storybook/preview.d.ts.map +1 -1
  4. package/dist/atoms/action-icon.figma.js +1 -1
  5. package/dist/atoms/badge.figma.js +1 -1
  6. package/dist/atoms/button.figma.js +1 -1
  7. package/dist/atoms/checkbox.figma.js +1 -1
  8. package/dist/atoms/icon.figma.js +1 -1
  9. package/dist/atoms/image.figma.js +1 -1
  10. package/dist/atoms/input.figma.js +1 -1
  11. package/dist/atoms/label.figma.js +1 -1
  12. package/dist/atoms/link-button.figma.js +1 -1
  13. package/dist/atoms/link.figma.js +1 -1
  14. package/dist/atoms/numeric-input.figma.js +1 -1
  15. package/dist/atoms/rating.figma.js +1 -1
  16. package/dist/atoms/skeleton.figma.js +3 -3
  17. package/dist/atoms/status-text.figma.js +1 -1
  18. package/dist/atoms/textarea.figma.js +1 -1
  19. package/dist/atoms/tooltip.figma.js +1 -1
  20. package/dist/molecules/accordion.figma.js +1 -1
  21. package/dist/molecules/breadcrumb.figma.js +1 -1
  22. package/dist/molecules/carousel.figma.js +1 -1
  23. package/dist/molecules/combobox.figma.js +1 -1
  24. package/dist/molecules/combobox.js +47 -32
  25. package/dist/molecules/dialog.figma.js +1 -1
  26. package/dist/molecules/form-checkbox.figma.js +1 -1
  27. package/dist/molecules/form-input.figma.js +1 -1
  28. package/dist/molecules/form-numeric-input.figma.js +1 -1
  29. package/dist/molecules/form-textarea.figma.js +1 -1
  30. package/dist/molecules/menu.figma.js +1 -1
  31. package/dist/molecules/menu.js +44 -38
  32. package/dist/molecules/pagination.figma.js +1 -1
  33. package/dist/molecules/phone-input.figma.js +1 -1
  34. package/dist/molecules/popover.figma.js +1 -1
  35. package/dist/molecules/product-card.figma.js +1 -1
  36. package/dist/molecules/radio-card.figma.js +1 -1
  37. package/dist/molecules/radio-group.figma.js +1 -1
  38. package/dist/molecules/search-form.figma.js +1 -1
  39. package/dist/molecules/select.figma.js +1 -1
  40. package/dist/molecules/select.js +24 -28
  41. package/dist/molecules/slider.figma.js +1 -1
  42. package/dist/molecules/steps.figma.js +1 -1
  43. package/dist/molecules/switch.figma.js +1 -1
  44. package/dist/molecules/tabs.figma.js +1 -1
  45. package/dist/molecules/toast.figma.js +1 -1
  46. package/dist/molecules/tree-view.figma.js +1 -1
  47. package/dist/organisms/footer.figma.js +1 -1
  48. package/dist/organisms/gallery.figma.js +1 -1
  49. package/dist/organisms/header.figma.js +1 -1
  50. package/dist/organisms/table.figma.js +1 -1
  51. package/dist/organisms/table.js +4 -1
  52. package/dist/src/molecules/combobox.d.ts +6 -18
  53. package/dist/src/molecules/combobox.d.ts.map +1 -1
  54. package/dist/src/molecules/menu.d.ts +12 -9
  55. package/dist/src/molecules/menu.d.ts.map +1 -1
  56. package/dist/src/molecules/select.d.ts +12 -12
  57. package/dist/src/molecules/select.d.ts.map +1 -1
  58. package/dist/src/organisms/table.d.ts +1 -1
  59. package/dist/src/organisms/table.d.ts.map +1 -1
  60. package/dist/src/templates/select.d.ts +1 -1
  61. package/dist/src/theme/theme-config.d.ts +5 -0
  62. package/dist/src/theme/theme-config.d.ts.map +1 -1
  63. package/dist/stories/changelog/changelog.stories.d.ts.map +1 -1
  64. package/dist/theme/theme-config.js +7 -0
  65. package/package.json +1 -1
  66. package/src/tokens/components/_popup-surface.css +163 -0
  67. package/src/tokens/components/components.css +1 -2
  68. package/src/tokens/components/molecules/_combobox.css +0 -12
  69. package/src/tokens/components/molecules/_menu.css +4 -0
  70. package/src/tokens/components/molecules/_select.css +0 -11
  71. package/src/tokens/components/organisms/_table.css +17 -0
  72. package/src/tokens/figma/brand-overrides.css +141 -19
  73. package/src/tokens/figma/business/variables.css +437 -0
  74. package/src/tokens/figma/dark/variables.css +100 -1455
  75. package/src/tokens/figma/light/variables.css +213 -179
  76. package/src/tokens/figma/neo/variables.css +87 -1442
  77. package/src/tokens/figma/neo-dark/variables.css +84 -1439
  78. package/src/tokens/figma/variables.css +217 -183
  79. package/src/tokens/components/_icon-button.css +0 -39
  80. package/src/tokens/components/molecules/_search-form.css +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"theme-config.d.ts","sourceRoot":"","sources":["../../../src/theme/theme-config.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAExC,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;CAG6B,CAAA;AAEhD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,MAAM,CAAA;AAE1C,eAAO,MAAM,aAAa,EAAE,QAAiB,CAAA;AAC7C,eAAO,MAAM,YAAY,EAAE,WAAsB,CAAA;AAEjD,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,gBAAgB,YAAY,CAAA;AAEzC,wBAAgB,SAAS,IAAI,QAAQ,EAAE,CAEtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAEnD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAElE"}
1
+ {"version":3,"file":"theme-config.d.ts","sourceRoot":"","sources":["../../../src/theme/theme-config.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAExC,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAI6B,CAAA;AAEhD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,MAAM,CAAA;AAE1C,eAAO,MAAM,aAAa,EAAE,QAAiB,CAAA;AAC7C,eAAO,MAAM,YAAY,EAAE,WAAsB,CAAA;AAEjD,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,gBAAgB,YAAY,CAAA;AAEzC,wBAAgB,SAAS,IAAI,QAAQ,EAAE,CAEtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAEnD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,EAAE,CAElE"}
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.stories.d.ts","sourceRoot":"","sources":["../../../stories/changelog/changelog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAoKtD,iBAAS,SAAS,4CAUjB;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAKhC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,OAAO,SAAS,CAAM,CAAA"}
1
+ {"version":3,"file":"changelog.stories.d.ts","sourceRoot":"","sources":["../../../stories/changelog/changelog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAgLtD,iBAAS,SAAS,4CAUjB;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAKhC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,OAAO,SAAS,CAAM,CAAA"}
@@ -13,6 +13,13 @@ const THEMES = {
13
13
  "dark"
14
14
  ],
15
15
  attr: "neo"
16
+ },
17
+ business: {
18
+ label: "Business",
19
+ modes: [
20
+ "light"
21
+ ],
22
+ attr: "business"
16
23
  }
17
24
  };
18
25
  const DEFAULT_BRAND = "base";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techsio/ui-kit",
3
- "version": "0.39.0",
3
+ "version": "0.40.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,163 @@
1
+ /*
2
+ * Shared popup-surface foundation.
3
+ *
4
+ * Every floating list surface (Select, Combobox, Menu, and everything that
5
+ * composes them — PhoneInput's country picker, DataTable's column settings)
6
+ * draws its panel and its options from one set of tokens, so hover, radius,
7
+ * colour and keyboard/focus behaviour are identical across all of them.
8
+ *
9
+ * SOURCE OF TRUTH: the `popup-surface` collection in Figma. Its tokens
10
+ * (--color-popup-*, --radius-popup-*, --padding-popup-*, --spacing-popup-*,
11
+ * --shadow-popup, --size-popup-indicator, --border-width-popup) arrive via
12
+ * tokens/figma/variables.css and are NOT redeclared here. The component
13
+ * collections (select, menu, combobox) alias the same popup variables in
14
+ * Figma, so the two layers cannot drift.
15
+ *
16
+ * This file holds only what Figma has no concept of:
17
+ * - the @utility blocks that compose those tokens,
18
+ * - `--z-popup` layering (code-side, same precedent as `--z-content`),
19
+ * - the `--popup-item-*` runtime scale, set per size by popup-size-*.
20
+ */
21
+ @theme static {
22
+ /*
23
+ * Single layer for every popup. Nesting bumps --layer-index rather than
24
+ * hard-coding a bigger number, so a Select inside a Popover always wins.
25
+ */
26
+ --z-popup: 50;
27
+
28
+ /*
29
+ * Foreground for a row that is checked but painted on NO filled background
30
+ * — Menu's checkbox/radio rows. Distinct from
31
+ * --color-popup-item-fg-selected, which is white because Select/Combobox
32
+ * paint a solid --color-popup-item-bg-selected behind it.
33
+ *
34
+ * Only the LIGHT half is a fix. On a light panel that white landed on the
35
+ * hover tint at 1.42:1 (base) / 1.46:1 (neo) — invisible. primary-800
36
+ * clears it at 6.21:1 / 5.73:1; primary-700 was rejected because it fails
37
+ * neo at 4.41:1.
38
+ *
39
+ * The DARK half stays white deliberately. There the same white was already
40
+ * correct — 9.46:1 (base) / 8.34:1 (neo) against the dark hover tint — so
41
+ * changing it would alter a mode that was never broken. An earlier version
42
+ * of this fix used primary-200 for dark, which still passed but needlessly
43
+ * dropped contrast to 7.10 / 5.73.
44
+ *
45
+ * Named for the state it serves, not the colour: it is an accent in light
46
+ * and plain white in dark, so an appearance-based name would lie in one of
47
+ * the two modes.
48
+ *
49
+ * TEMPORARY BRIDGE: Figma has no popup-surface token for this yet, which is
50
+ * why this declaration survives (figma/variables.css is imported after this
51
+ * file and would otherwise win). Delete once Figma exports it.
52
+ */
53
+ --color-popup-item-fg-checked: light-dark(
54
+ var(--color-primary-800),
55
+ var(--color-white)
56
+ );
57
+ }
58
+
59
+ /*
60
+ * Panel foundation. Surface only — placement animation stays in the
61
+ * component's tv() slots because it differs per Zag machine.
62
+ *
63
+ * Height is capped at the space the positioner actually measured
64
+ * (--available-height, set by Zag/Floating UI) rather than a fixed height or
65
+ * a magic pixel value, so a 2-option list is short and a 50-option list
66
+ * scrolls instead of running off-screen.
67
+ */
68
+ @utility popup-surface-base {
69
+ background-color: var(--color-popup-bg);
70
+ border-width: var(--border-width-popup);
71
+ border-style: solid;
72
+ border-color: var(--color-popup-border);
73
+ border-radius: var(--radius-popup);
74
+ box-shadow: var(--shadow-popup);
75
+ padding: var(--padding-popup-viewport);
76
+ max-height: var(--available-height);
77
+ overflow-y: auto;
78
+ overscroll-behavior: contain;
79
+ z-index: calc(var(--z-popup) + var(--layer-index, 0));
80
+
81
+ /* The panel takes DOM focus for keyboard navigation, but that focus is
82
+ * never the thing the user should see — the highlighted option is. */
83
+ outline: none;
84
+
85
+ /* Scale from the trigger, whichever side the panel flipped to. */
86
+ transform-origin: var(--transform-origin);
87
+ }
88
+
89
+ /*
90
+ * Per-size scale. Applied to the panel so every option inside inherits it —
91
+ * this is what ties the open dropdown's proportions to the size of the
92
+ * control that opened it. Each size also matches the panel's corner radius to
93
+ * the trigger's radius at the same size.
94
+ */
95
+ @utility popup-size-xs {
96
+ --popup-item-x: var(--padding-popup-item-x-xs);
97
+ --popup-item-y: var(--padding-popup-item-y-xs);
98
+ --popup-item-gap: var(--spacing-popup-item-xs);
99
+
100
+ border-radius: var(--radius-popup-xs);
101
+ }
102
+
103
+ @utility popup-size-sm {
104
+ --popup-item-x: var(--padding-popup-item-x-sm);
105
+ --popup-item-y: var(--padding-popup-item-y-sm);
106
+ --popup-item-gap: var(--spacing-popup-item-sm);
107
+
108
+ border-radius: var(--radius-popup-sm);
109
+ }
110
+
111
+ @utility popup-size-md {
112
+ --popup-item-x: var(--padding-popup-item-x-md);
113
+ --popup-item-y: var(--padding-popup-item-y-md);
114
+ --popup-item-gap: var(--spacing-popup-item-md);
115
+
116
+ border-radius: var(--radius-popup-md);
117
+ }
118
+
119
+ @utility popup-size-lg {
120
+ --popup-item-x: var(--padding-popup-item-x-lg);
121
+ --popup-item-y: var(--padding-popup-item-y-lg);
122
+ --popup-item-gap: var(--spacing-popup-item-lg);
123
+
124
+ border-radius: var(--radius-popup-lg);
125
+ }
126
+
127
+ /*
128
+ * Option foundation.
129
+ *
130
+ * Two independent states, never conflated:
131
+ * - highlighted (pointer hover OR keyboard cursor) → background tint
132
+ * - checked (current selection) → indicator + accent fg
133
+ * They can co-occur, and the indicator means selection is never signalled by
134
+ * colour alone.
135
+ */
136
+ @utility popup-item-base {
137
+ position: relative;
138
+ display: flex;
139
+ align-items: center;
140
+ width: 100%;
141
+ border-radius: var(--radius-popup-item);
142
+ color: var(--color-popup-item-fg);
143
+
144
+ /* --popup-item-x/y/gap are set per size by the panel's popup-size-*;
145
+ * md is the fallback for a panel that declares no size. */
146
+ padding: var(--popup-item-y, var(--padding-popup-item-y-md))
147
+ var(--popup-item-x, var(--padding-popup-item-x-md));
148
+ gap: var(--popup-item-gap, var(--spacing-popup-item-md));
149
+
150
+ /* Permanent gutter for the selection indicator. */
151
+ padding-inline-end: calc(
152
+ var(--popup-item-x, var(--padding-popup-item-x-md)) +
153
+ var(--size-popup-indicator)
154
+ );
155
+
156
+ /* Every popup option is clickable — signal it like any other control. */
157
+ cursor: pointer;
158
+ user-select: none;
159
+
160
+ /* Highlight is the focus affordance; a second ring on top of it reads as
161
+ * two selected rows. */
162
+ outline: none;
163
+ }
@@ -1,5 +1,5 @@
1
1
  @import "./_form-control.css";
2
- @import "./_icon-button.css";
2
+ @import "./_popup-surface.css";
3
3
 
4
4
  @import "./atoms/_badge.css";
5
5
  @import "./atoms/_button.css";
@@ -31,7 +31,6 @@
31
31
  @import "./molecules/_tabs.css";
32
32
  @import "./molecules/_product-card.css";
33
33
  @import "./molecules/_slider.css";
34
- @import "./molecules/_search-form.css";
35
34
  @import "./molecules/_select.css";
36
35
  @import "./molecules/_phone-input.css";
37
36
  @import "./molecules/_steps.css";
@@ -4,10 +4,7 @@
4
4
  * Kept here:
5
5
  * - `--padding-combobox-input-{size}` semantic aliases (Figma exports
6
6
  * the shared per-size spacing axis).
7
- * - `--padding-combobox-item-{size}` combined shorthands (Figma splits
8
- * the item padding into x + per-size y).
9
7
  * - `--padding-combobox-trigger` composite.
10
- * - `--z-combobox-content` layering (code-side).
11
8
  */
12
9
 
13
10
  @theme static {
@@ -15,16 +12,7 @@
15
12
  --padding-combobox-input-md: var(--spacing-combobox-md);
16
13
  --padding-combobox-input-lg: var(--spacing-combobox-lg);
17
14
 
18
- --padding-combobox-item-sm: var(--spacing-combobox-item-padding-y-sm)
19
- var(--spacing-combobox-item-padding-x);
20
- --padding-combobox-item-md: var(--spacing-combobox-item-padding-y-md)
21
- var(--spacing-combobox-item-padding-x);
22
- --padding-combobox-item-lg: var(--spacing-combobox-item-padding-y-lg)
23
- var(--spacing-combobox-item-padding-x);
24
-
25
15
  --padding-combobox-trigger: 0 var(--spacing-100);
26
-
27
- --z-combobox-content: 20;
28
16
  }
29
17
 
30
18
  /* Semantic tokens for combobox icons */
@@ -3,12 +3,16 @@
3
3
  *
4
4
  * Kept here:
5
5
  * - semantic glyph @utility aliases.
6
+ * - `--text-menu-xs` — Figma exports sm/md/lg for this component; xs was
7
+ * added code-side alongside DataTable's xs-sized column-settings menu.
6
8
  */
7
9
 
8
10
  @theme static {
9
11
  /* Tailwind's h- utility doesn't read the --size-* namespace; alias the
10
12
  * Figma token into --height-* so `h-menu-separator` keeps working. */
11
13
  --height-menu-separator: var(--size-menu-separator-height);
14
+
15
+ --text-menu-xs: var(--text-xs);
12
16
  }
13
17
 
14
18
  /* Semantic tokens for menu icons */
@@ -4,23 +4,12 @@
4
4
  * Kept here:
5
5
  * - `--color-select-danger` — helper-text color seed (Figma has only
6
6
  * border validation colors).
7
- * - `--padding-select-item` composite bridge (Figma splits x/y).
8
- * - `--spacing-content` — consumed as a raw var() inside calc() in the
9
- * TSX; aliases Figma's --spacing-select-content.
10
- * - `--z-content` layering (code-side).
11
7
  */
12
8
 
13
9
  @theme static {
14
10
  --color-select-danger: var(--color-danger);
15
-
16
- --padding-select-item: var(--padding-select-item-y) var(--padding-select-item-x);
17
-
18
- --spacing-content: var(--spacing-select-content);
19
-
20
- --z-content: 50;
21
11
  }
22
12
 
23
-
24
13
  /* === ICONS === */
25
14
  @utility token-icon-select-indicator {
26
15
  @apply token-icon-chevron-down;
@@ -14,4 +14,21 @@
14
14
  var(--padding-table-cell-md-x);
15
15
  --padding-table-cell-lg: var(--padding-table-cell-lg-y)
16
16
  var(--padding-table-cell-lg-x);
17
+
18
+ /*
19
+ * Foreground for a selected row. Figma exports
20
+ * --color-table-row-bg-selected but has no `fg` counterpart, so
21
+ * `text-table-row-fg-selected` in table.tsx generated no utility at all and
22
+ * selected rows silently kept their normal text colour on the filled brand
23
+ * background. Reported by review; this restores the intended pairing.
24
+ *
25
+ * White clears AA against every selected background the row can have:
26
+ * base light #155dfc 5.24:1, base dark #0069a8 5.86:1, neo #e60101 4.81:1
27
+ * in both modes. Mode-invariant, because the selected fill stays a solid
28
+ * brand colour in light and dark alike.
29
+ *
30
+ * TEMPORARY BRIDGE: delete once Figma exports color/table/row/fg/selected —
31
+ * figma/variables.css is imported after this file and would win.
32
+ */
33
+ --color-table-row-fg-selected: var(--color-white);
17
34
  }
@@ -9,17 +9,42 @@
9
9
  */
10
10
 
11
11
  [data-theme="neo"] {
12
- --color-badge-fg-primary: var(--color-fg-reverse);
12
+ --color-bg-danger-active: light-dark(oklch(0.584 0.191 22.13), oklch(0.881 0.063 18.416));
13
+ --color-bg-danger-hover: light-dark(oklch(0.624 0.19 22.474), oklch(0.855 0.079 18.827));
14
+ --color-bg-light-danger-active: light-dark(oklch(0.685 0.114 22.469), oklch(0.962 0.019 25.602));
15
+ --color-bg-light-danger-base: oklch(0.9 0.048 18.09);
16
+ --color-bg-light-danger-hover: light-dark(oklch(0.725 0.114 22.247), oklch(0.953 0.023 24.126));
13
17
  --color-bg-light-primary-active: var(--color-primary-300);
14
18
  --color-bg-light-primary-base: var(--color-primary-100);
15
19
  --color-bg-light-primary-hover: var(--color-primary-200);
20
+ --color-bg-light-secondary-active: light-dark(oklch(0.685 0.128 47.292), oklch(0.97 0.107 105.368));
21
+ --color-bg-light-secondary-base: oklch(0.893 0.063 56.696);
22
+ --color-bg-light-secondary-hover: light-dark(oklch(0.726 0.128 47.749), oklch(0.97 0.107 105.368));
23
+ --color-bg-light-tertiary-active: light-dark(oklch(0.802 0.073 346.374), oklch(0.884 0.064 6.283));
24
+ --color-bg-light-tertiary-base: oklch(0.941 0.034 344.058);
25
+ --color-bg-light-tertiary-hover: light-dark(oklch(0.842 0.072 346.249), oklch(0.857 0.079 9.107));
26
+ --color-bg-light-warning-active: light-dark(oklch(0.775 0.11 86.269), oklch(0.975 0.117 107.339));
27
+ --color-bg-light-warning-base: oklch(0.928 0.073 92.942);
28
+ --color-bg-light-warning-hover: light-dark(oklch(0.816 0.11 86.477), oklch(0.975 0.117 107.339));
16
29
  --color-bg-outlined-primary-active: var(--color-primary-200);
17
30
  --color-bg-outlined-primary-hover: var(--color-primary-100);
18
31
  --color-bg-primary-active: var(--color-primary-800);
19
32
  --color-bg-primary-base: var(--color-primary-600);
20
33
  --color-bg-primary-hover: var(--color-primary-700);
21
- --color-button-fg-primary: var(--color-fg-reverse);
34
+ --color-bg-tertiary-active: light-dark(oklch(0.704 0.119 346.312), oklch(0.769 0.142 7.776));
35
+ --color-bg-tertiary-hover: light-dark(oklch(0.743 0.12 345.839), oklch(0.747 0.158 9.988));
36
+ --color-bg-warning-active: light-dark(oklch(0.678 0.142 76.945), oklch(0.937 0.199 105.01));
37
+ --color-bg-warning-hover: light-dark(oklch(0.718 0.149 79.256), oklch(0.909 0.189 99.865));
38
+ --color-fg-accent-danger: oklch(0.452 0.066 4.881);
22
39
  --color-fg-accent-primary: var(--color-primary-600);
40
+ --color-fg-accent-secondary: oklch(0.447 0.076 49.767);
41
+ --color-fg-accent-success: light-dark(var(--color-success-500), var(--color-success-300));
42
+ --color-fg-accent-tertiary: oklch(0.511 0.054 323.997);
43
+ --color-fg-accent-warning: oklch(0.492 0.079 93.623);
44
+ --color-fg-on-primary-indicator: light-dark(var(--color-fg-reverse), var(--color-white));
45
+ --color-fg-on-primary-solid: light-dark(var(--color-fg-reverse), var(--color-white));
46
+ --color-fg-on-primary-solid-neo: light-dark(var(--color-fg-reverse), var(--color-white));
47
+ --color-fill-selected: var(--color-primary-600);
23
48
  --color-primary-100: oklch(0.936 0.032 17.738);
24
49
  --color-primary-200: oklch(0.883 0.062 18.386);
25
50
  --color-primary-300: oklch(0.805 0.111 19.782);
@@ -29,21 +54,118 @@
29
54
  --color-primary-700: light-dark(oklch(0.509 0.209 28.513), oklch(0.583 0.239 28.476));
30
55
  --color-primary-800: light-dark(oklch(0.445 0.177 26.787), oklch(0.509 0.209 28.513));
31
56
  --color-primary-900: light-dark(oklch(0.397 0.141 25.714), oklch(0.445 0.177 26.787));
32
- --color-primary-alpha-10: oklch(0.581 0.238 29.234 / 0.1);
33
- --color-product-card-button-cart-fg: var(--color-fg-reverse);
34
- --color-radio-card-addon-fg-solid-checked: var(--color-fg-reverse);
35
- --color-radio-card-item-description-fg-solid-checked: var(--color-fg-reverse);
36
- --color-radio-card-item-indicator-bg-solid-checked: var(--color-fg-reverse);
37
- --color-radio-card-item-indicator-border-solid-checked: var(--color-fg-reverse);
38
- --color-secondary-100: #fef3c7;
39
- --color-secondary-200: #fde68a;
40
- --color-secondary-300: #fcd34d;
41
- --color-secondary-400: #fbbf24;
42
- --color-secondary-500: #f59e0b;
43
- --color-secondary-600: #d97706;
44
- --color-secondary-700: #b45309;
45
- --color-secondary-800: #92400e;
46
- --color-secondary-900: #78350f;
47
- --color-steps-indicator-fg-solid: var(--color-fg-reverse);
48
- --color-tabs-trigger-fg-solid-selected: var(--color-fg-reverse);
57
+ --color-secondary-100: oklch(0.962 0.058 95.617);
58
+ --color-secondary-200: oklch(0.924 0.115 95.746);
59
+ --color-secondary-300: oklch(0.879 0.153 91.605);
60
+ --color-secondary-400: oklch(0.837 0.164 84.429);
61
+ --color-secondary-500: oklch(0.769 0.165 70.08);
62
+ --color-secondary-600: oklch(0.666 0.157 58.318);
63
+ --color-secondary-700: oklch(0.555 0.146 48.998);
64
+ --color-secondary-800: oklch(0.473 0.125 46.201);
65
+ --color-secondary-900: oklch(0.414 0.105 45.904);
66
+ }
67
+
68
+ [data-theme="business"] {
69
+ --color-base: var(--color-white);
70
+ --color-base-reverse: var(--color-gray-950);
71
+ --color-bg-badge-danger-solid: var(--color-danger-300);
72
+ --color-bg-badge-primary-solid: var(--color-primary-800);
73
+ --color-bg-badge-secondary-solid: var(--color-secondary-800);
74
+ --color-bg-danger-active: var(--color-danger-500);
75
+ --color-bg-danger-hover: var(--color-danger-400);
76
+ --color-bg-disabled: var(--color-neutral-100);
77
+ --color-bg-light-danger-active: var(--color-danger-300);
78
+ --color-bg-light-danger-base: var(--color-danger-100);
79
+ --color-bg-light-danger-hover: var(--color-danger-200);
80
+ --color-bg-light-primary-active: var(--color-primary-300);
81
+ --color-bg-light-primary-base: var(--color-primary-100);
82
+ --color-bg-light-primary-hover: var(--color-primary-200);
83
+ --color-bg-light-secondary-active: var(--color-secondary-300);
84
+ --color-bg-light-secondary-base: var(--color-secondary-100);
85
+ --color-bg-light-secondary-hover: var(--color-secondary-200);
86
+ --color-bg-light-tertiary-active: var(--color-tertiary-300);
87
+ --color-bg-light-tertiary-base: var(--color-tertiary-100);
88
+ --color-bg-light-tertiary-hover: var(--color-tertiary-200);
89
+ --color-bg-light-warning-active: var(--color-warning-300);
90
+ --color-bg-light-warning-base: var(--color-warning-100);
91
+ --color-bg-light-warning-hover: var(--color-warning-200);
92
+ --color-bg-outlined-danger-active: oklch(0.7 0.191 23.399 / 0.122);
93
+ --color-bg-outlined-danger-hover: oklch(0.702 0.19 23.327 / 0.161);
94
+ --color-bg-outlined-primary-active: var(--color-primary-200);
95
+ --color-bg-outlined-primary-hover: var(--color-primary-100);
96
+ --color-bg-outlined-secondary-active: var(--color-secondary-200);
97
+ --color-bg-outlined-secondary-hover: var(--color-secondary-100);
98
+ --color-bg-outlined-tertiary-active: oklch(0.816 0.114 343.311 / 0.122);
99
+ --color-bg-outlined-tertiary-hover: oklch(0.819 0.125 347.339 / 0.161);
100
+ --color-bg-outlined-warning-active: oklch(0.789 0.163 80.949 / 0.122);
101
+ --color-bg-outlined-warning-hover: oklch(0.788 0.162 82.711 / 0.161);
102
+ --color-bg-primary-active: var(--color-primary-700);
103
+ --color-bg-primary-base: var(--color-primary-500);
104
+ --color-bg-primary-hover: var(--color-primary-600);
105
+ --color-bg-scrim: oklch(0.129 0.041 264.695 / 0.1);
106
+ --color-bg-secondary-active: var(--color-secondary-700);
107
+ --color-bg-secondary-hover: var(--color-secondary-600);
108
+ --color-bg-success: var(--color-success-500);
109
+ --color-bg-switch-checked-hover: var(--color-success-600);
110
+ --color-bg-switch-hover: var(--color-neutral-300);
111
+ --color-bg-switch-invalid: var(--color-danger-400);
112
+ --color-bg-tertiary-active: var(--color-tertiary-500);
113
+ --color-bg-tertiary-hover: var(--color-tertiary-400);
114
+ --color-bg-warning-active: var(--color-warning-500);
115
+ --color-bg-warning-hover: var(--color-warning-400);
116
+ --color-border-danger-focus: var(--color-danger-400);
117
+ --color-border-danger-hover: var(--color-danger-500);
118
+ --color-border-disabled: var(--color-neutral-300);
119
+ --color-border-primary: var(--color-black-15);
120
+ --color-border-success-focus: var(--color-success-500);
121
+ --color-border-success-hover: var(--color-success-600);
122
+ --color-border-warning-focus: var(--color-warning-500);
123
+ --color-border-warning-hover: var(--color-warning-600);
124
+ --color-fg-accent-danger: var(--color-danger-600);
125
+ --color-fg-accent-primary: var(--color-primary-600);
126
+ --color-fg-accent-secondary: var(--color-secondary-700);
127
+ --color-fg-accent-success: var(--color-success-600);
128
+ --color-fg-accent-tertiary: var(--color-tertiary-600);
129
+ --color-fg-accent-warning: var(--color-warning-600);
130
+ --color-fg-badge-on-solid: var(--color-fg-reverse);
131
+ --color-fg-icon-tree: var(--color-fg-primary);
132
+ --color-fg-on-accent-solid: var(--color-fg-reverse);
133
+ --color-fg-on-primary-solid-neo: var(--color-fg-reverse);
134
+ --color-fg-primary: var(--color-slate-950);
135
+ --color-fg-reverse: var(--color-white);
136
+ --color-fg-status-error: var(--color-danger-400);
137
+ --color-fg-status-success: var(--color-success-500);
138
+ --color-fg-status-warning: var(--color-warning-500);
139
+ --color-fill-active: var(--color-black-15);
140
+ --color-fill-base: var(--color-black-5);
141
+ --color-fill-borderless-active: oklch(0 0 0 / 0);
142
+ --color-fill-borderless-base: oklch(0 0 0 / 0);
143
+ --color-fill-borderless-hover: oklch(0 0 0 / 0);
144
+ --color-fill-highlight: var(--color-neutral-300);
145
+ --color-fill-hover: var(--color-primary-200);
146
+ --color-fill-overlay: var(--color-neutral-200);
147
+ --color-fill-selected: var(--color-primary-600);
148
+ --color-fill-surface: var(--color-neutral-100);
149
+ --color-link: var(--color-blue-500);
150
+ --color-primary-100: oklch(0.952 0.016 253.903);
151
+ --color-primary-200: oklch(0.877 0.039 250.677);
152
+ --color-primary-300: oklch(0.774 0.066 247.294);
153
+ --color-primary-400: oklch(0.666 0.095 248.083);
154
+ --color-primary-500: oklch(0.522 0.117 253.551);
155
+ --color-primary-600: oklch(0.452 0.106 253.721);
156
+ --color-primary-700: oklch(0.391 0.097 256.616);
157
+ --color-primary-800: oklch(0.339 0.082 255.266);
158
+ --color-primary-900: oklch(0.287 0.065 255.034);
159
+ --color-ring-default: var(--color-black);
160
+ --color-secondary-100: oklch(0.957 0.017 183.538);
161
+ --color-secondary-200: oklch(0.886 0.041 181.135);
162
+ --color-secondary-300: oklch(0.78 0.072 181.145);
163
+ --color-secondary-400: oklch(0.679 0.094 181.719);
164
+ --color-secondary-500: oklch(0.593 0.097 179.623);
165
+ --color-secondary-600: oklch(0.509 0.082 181.568);
166
+ --color-secondary-700: oklch(0.445 0.073 178.22);
167
+ --color-secondary-800: oklch(0.381 0.06 182.018);
168
+ --color-secondary-900: oklch(0.327 0.051 180.942);
169
+ --color-success: var(--color-success-500);
170
+ --default-ring-color: oklch(0 0 0);
49
171
  }