@brijbyte/agentic-ui 0.0.1 → 0.0.2

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 (135) hide show
  1. package/README.md +183 -111
  2. package/dist/accordion/accordion.css +6 -10
  3. package/dist/accordion/accordion.module.js.map +1 -1
  4. package/dist/alert-dialog/alert-dialog.css +84 -0
  5. package/dist/alert-dialog/alert-dialog.d.ts +44 -0
  6. package/dist/alert-dialog/alert-dialog.d.ts.map +1 -0
  7. package/dist/alert-dialog/alert-dialog.js +46 -0
  8. package/dist/alert-dialog/alert-dialog.js.map +1 -0
  9. package/dist/alert-dialog/alert-dialog.module.css.d.ts +2 -0
  10. package/dist/alert-dialog/alert-dialog.module.js +14 -0
  11. package/dist/alert-dialog/alert-dialog.module.js.map +1 -0
  12. package/dist/alert-dialog/index.d.ts +3 -0
  13. package/dist/alert-dialog/index.js +4 -0
  14. package/dist/alert-dialog/parts.d.ts +28 -0
  15. package/dist/alert-dialog/parts.d.ts.map +1 -0
  16. package/dist/alert-dialog/parts.js +62 -0
  17. package/dist/alert-dialog/parts.js.map +1 -0
  18. package/dist/badge/badge.css +3 -7
  19. package/dist/badge/badge.module.js.map +1 -1
  20. package/dist/button/button.css +14 -14
  21. package/dist/button/button.module.js.map +1 -1
  22. package/dist/card/card.css +5 -9
  23. package/dist/card/card.module.js.map +1 -1
  24. package/dist/checkbox/checkbox.css +3 -7
  25. package/dist/checkbox/checkbox.module.js.map +1 -1
  26. package/dist/collapsible/collapsible.css +7 -11
  27. package/dist/collapsible/collapsible.module.js.map +1 -1
  28. package/dist/context-menu/context-menu.css +151 -0
  29. package/dist/context-menu/context-menu.d.ts +36 -0
  30. package/dist/context-menu/context-menu.d.ts.map +1 -0
  31. package/dist/context-menu/context-menu.js +54 -0
  32. package/dist/context-menu/context-menu.js.map +1 -0
  33. package/dist/context-menu/context-menu.module.css.d.ts +2 -0
  34. package/dist/context-menu/context-menu.module.js +18 -0
  35. package/dist/context-menu/context-menu.module.js.map +1 -0
  36. package/dist/context-menu/index.d.ts +3 -0
  37. package/dist/context-menu/index.js +4 -0
  38. package/dist/context-menu/parts.d.ts +38 -0
  39. package/dist/context-menu/parts.d.ts.map +1 -0
  40. package/dist/context-menu/parts.js +91 -0
  41. package/dist/context-menu/parts.js.map +1 -0
  42. package/dist/dialog/dialog.css +27 -22
  43. package/dist/dialog/dialog.d.ts +8 -0
  44. package/dist/dialog/dialog.d.ts.map +1 -1
  45. package/dist/dialog/dialog.js +7 -4
  46. package/dist/dialog/dialog.js.map +1 -1
  47. package/dist/dialog/dialog.module.js +2 -0
  48. package/dist/dialog/dialog.module.js.map +1 -1
  49. package/dist/drawer/drawer.css +9 -13
  50. package/dist/drawer/drawer.module.js.map +1 -1
  51. package/dist/index.css +1630 -1353
  52. package/dist/index.d.ts +24 -18
  53. package/dist/index.js +10 -1
  54. package/dist/input/input.css +5 -9
  55. package/dist/input/input.module.js.map +1 -1
  56. package/dist/layer-order.css +22 -0
  57. package/dist/menu/menu.css +13 -17
  58. package/dist/menu/menu.module.js.map +1 -1
  59. package/dist/number-field/number-field.css +12 -16
  60. package/dist/number-field/number-field.module.js.map +1 -1
  61. package/dist/progress/progress.css +1 -5
  62. package/dist/progress/progress.module.js.map +1 -1
  63. package/dist/reset.css +6 -6
  64. package/dist/select/select.css +14 -16
  65. package/dist/select/select.d.ts +5 -2
  66. package/dist/select/select.d.ts.map +1 -1
  67. package/dist/select/select.js +11 -2
  68. package/dist/select/select.js.map +1 -1
  69. package/dist/select/select.module.js.map +1 -1
  70. package/dist/separator/separator.css +1 -5
  71. package/dist/separator/separator.module.js.map +1 -1
  72. package/dist/slider/index.d.ts +3 -0
  73. package/dist/slider/index.js +4 -0
  74. package/dist/slider/parts.d.ts +38 -0
  75. package/dist/slider/parts.d.ts.map +1 -0
  76. package/dist/slider/parts.js +69 -0
  77. package/dist/slider/parts.js.map +1 -0
  78. package/dist/slider/slider.css +97 -0
  79. package/dist/slider/slider.d.ts +38 -0
  80. package/dist/slider/slider.d.ts.map +1 -0
  81. package/dist/slider/slider.js +41 -0
  82. package/dist/slider/slider.js.map +1 -0
  83. package/dist/slider/slider.module.css.d.ts +2 -0
  84. package/dist/slider/slider.module.js +15 -0
  85. package/dist/slider/slider.module.js.map +1 -0
  86. package/dist/styles/reset.css +6 -6
  87. package/dist/styles/tokens.css +73 -71
  88. package/dist/switch/switch.css +2 -6
  89. package/dist/switch/switch.module.js.map +1 -1
  90. package/dist/tabs/tabs.css +5 -9
  91. package/dist/tabs/tabs.module.js.map +1 -1
  92. package/dist/tailwind-theme.css +23 -23
  93. package/dist/toast/toast.css +11 -15
  94. package/dist/toast/toast.module.js.map +1 -1
  95. package/dist/tokens.css +79 -75
  96. package/dist/tooltip/tooltip.css +7 -11
  97. package/dist/tooltip/tooltip.module.js.map +1 -1
  98. package/package.json +17 -1
  99. package/src/accordion/accordion.module.css +6 -20
  100. package/src/alert-dialog/alert-dialog.module.css +91 -0
  101. package/src/alert-dialog/alert-dialog.tsx +69 -0
  102. package/src/alert-dialog/index.ts +7 -0
  103. package/src/alert-dialog/parts.tsx +73 -0
  104. package/src/badge/badge.module.css +3 -13
  105. package/src/button/button.module.css +15 -51
  106. package/src/card/card.module.css +5 -16
  107. package/src/checkbox/checkbox.module.css +3 -14
  108. package/src/collapsible/collapsible.module.css +7 -20
  109. package/src/context-menu/context-menu.module.css +168 -0
  110. package/src/context-menu/context-menu.tsx +75 -0
  111. package/src/context-menu/index.ts +21 -0
  112. package/src/context-menu/parts.tsx +99 -0
  113. package/src/dialog/dialog.module.css +26 -33
  114. package/src/dialog/dialog.tsx +14 -1
  115. package/src/drawer/drawer.module.css +9 -58
  116. package/src/index.ts +48 -0
  117. package/src/input/input.module.css +5 -21
  118. package/src/menu/menu.module.css +13 -43
  119. package/src/number-field/number-field.module.css +12 -28
  120. package/src/progress/progress.module.css +1 -10
  121. package/src/select/select.module.css +14 -35
  122. package/src/select/select.tsx +14 -5
  123. package/src/separator/separator.module.css +1 -5
  124. package/src/slider/index.ts +14 -0
  125. package/src/slider/parts.tsx +90 -0
  126. package/src/slider/slider.module.css +110 -0
  127. package/src/slider/slider.tsx +68 -0
  128. package/src/styles/layer-order.css +22 -0
  129. package/src/styles/reset.css +6 -6
  130. package/src/styles/tailwind-theme.css +23 -23
  131. package/src/styles/tokens.css +79 -75
  132. package/src/switch/switch.module.css +2 -12
  133. package/src/tabs/tabs.module.css +5 -18
  134. package/src/toast/toast.module.css +11 -51
  135. package/src/tooltip/tooltip.module.css +7 -18
@@ -1,4 +1,4 @@
1
- @layer base {
1
+ @layer theme {
2
2
  :root {
3
3
  --font-display: "New York", "Iowan Old Style", "Palatino Linotype", "URW Palladio L", Georgia, serif;
4
4
  --font-mono: "Berkeley Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", "Menlo", ui-monospace, "Courier New", monospace;
@@ -76,28 +76,28 @@
76
76
 
77
77
  :root, [data-theme="light"] {
78
78
  color-scheme: light;
79
- --color-bg-base: #f5f5f5;
80
- --color-bg-elevated: #fff;
81
- --color-bg-sunken: #ebebeb;
82
- --color-bg-overlay: #ffffffeb;
83
- --color-bg-sidebar: #f6f6f6f2;
84
- --color-surface-1: #fff;
85
- --color-surface-2: #f9f9f9;
86
- --color-surface-3: #f4f4f4;
87
- --color-surface-hover: #0000000a;
88
- --color-surface-active: #00000012;
89
- --color-surface-selected: #0078d41a;
90
- --color-text-primary: #000000e0;
91
- --color-text-secondary: #0000008c;
92
- --color-text-tertiary: #0000005c;
93
- --color-text-disabled: #0000003d;
94
- --color-text-inverse: #fffffff2;
95
- --color-text-on-accent: #fff;
96
- --color-text-code: #0f766e;
97
- --color-border-base: #0000001f;
98
- --color-border-strong: #00000038;
99
- --color-border-subtle: #0000000f;
100
- --color-border-focus: var(--color-focus-ring);
79
+ --color-canvas: #f0eff0;
80
+ --color-elevated: #fafafa;
81
+ --color-sunken: #e8e7e8;
82
+ --color-overlay: #fafafaeb;
83
+ --color-sidebar: #f4f3f4f5;
84
+ --color-surface-1: #fafafa;
85
+ --color-surface-2: #f4f3f4;
86
+ --color-surface-3: #eeeded;
87
+ --color-hover: #0000000a;
88
+ --color-active: #00000012;
89
+ --color-selected: #0078d41a;
90
+ --color-primary: #000000e0;
91
+ --color-secondary: #0000008c;
92
+ --color-tertiary: #0000005c;
93
+ --color-disabled: #0000003d;
94
+ --color-inverse: #fffffff2;
95
+ --color-on-accent: #fff;
96
+ --color-code: #0f766e;
97
+ --color-line: #0000001f;
98
+ --color-line-strong: #00000038;
99
+ --color-line-subtle: #0000000f;
100
+ --color-line-focus: var(--color-focus-ring);
101
101
  --color-accent: #0078d4;
102
102
  --color-accent-hover: #006bbf;
103
103
  --color-accent-pressed: #005ea8;
@@ -112,7 +112,7 @@
112
112
  --shadow-popover: 0 8px 24px -4px #00000029, 0 2px 6px -2px #0000001a;
113
113
  --shadow-sheet: 0 -4px 16px 0 #0000001f;
114
114
  --shadow-inset: inset 0 1px 2px 0 #00000014;
115
- --shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-focus-ring);
115
+ --shadow-focus: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-focus-ring);
116
116
  --color-success-bg: #f0fdf4;
117
117
  --color-success-border: #bbf7d0;
118
118
  --color-success-text: #15803d;
@@ -129,41 +129,41 @@
129
129
  --color-info-border: #bfdbfe;
130
130
  --color-info-text: #1d4ed8;
131
131
  --color-info-solid: #2563eb;
132
- --color-code-bg: #f6f8fa;
132
+ --color-code-canvas: #f6f8fa;
133
133
  --color-code-border: #d0d7de;
134
134
  --color-code-comment: #6e7781;
135
135
  --color-code-keyword: #cf222e;
136
136
  --color-code-string: #0a3069;
137
137
  --color-code-number: #0550ae;
138
138
  --color-code-function: #8250df;
139
- --color-scrollbar-thumb: #0003;
140
- --color-scrollbar-track: transparent;
139
+ --color-thumb: #0003;
140
+ --color-track: transparent;
141
141
  }
142
142
 
143
143
  @media (prefers-color-scheme: dark) {
144
144
  :root:not([data-theme="light"]), :root:not([data-theme="light"]) [data-theme="dark"] {
145
145
  color-scheme: dark;
146
- --color-bg-base: #1c1c1e;
147
- --color-bg-elevated: #2c2c2e;
148
- --color-bg-sunken: #141416;
149
- --color-bg-overlay: #1e1e20eb;
150
- --color-bg-sidebar: #1c1c1ef2;
146
+ --color-canvas: #1c1c1e;
147
+ --color-elevated: #2c2c2e;
148
+ --color-sunken: #141416;
149
+ --color-overlay: #1e1e20eb;
150
+ --color-sidebar: #1c1c1ef2;
151
151
  --color-surface-1: #2c2c2e;
152
152
  --color-surface-2: #3a3a3c;
153
153
  --color-surface-3: #48484a;
154
- --color-surface-hover: #ffffff0f;
155
- --color-surface-active: #ffffff1a;
156
- --color-surface-selected: #0a84ff29;
157
- --color-text-primary: #ffffffeb;
158
- --color-text-secondary: #ffffff8c;
159
- --color-text-tertiary: #ffffff5c;
160
- --color-text-disabled: #ffffff3d;
161
- --color-text-inverse: #000000e0;
162
- --color-text-on-accent: #fff;
163
- --color-text-code: #2dd4bf;
164
- --color-border-base: #ffffff1f;
165
- --color-border-strong: #ffffff38;
166
- --color-border-subtle: #ffffff0f;
154
+ --color-hover: #ffffff0f;
155
+ --color-active: #ffffff1a;
156
+ --color-selected: #0a84ff29;
157
+ --color-primary: #ffffffeb;
158
+ --color-secondary: #ffffff8c;
159
+ --color-tertiary: #ffffff5c;
160
+ --color-disabled: #ffffff3d;
161
+ --color-inverse: #000000e0;
162
+ --color-on-accent: #fff;
163
+ --color-code: #2dd4bf;
164
+ --color-line: #ffffff1f;
165
+ --color-line-strong: #ffffff38;
166
+ --color-line-subtle: #ffffff0f;
167
167
  --color-accent: #0a84ff;
168
168
  --color-accent-hover: #0071e3;
169
169
  --color-accent-pressed: #005bb5;
@@ -178,7 +178,7 @@
178
178
  --shadow-popover: 0 8px 24px -4px #00000080, 0 2px 6px -2px #0006;
179
179
  --shadow-sheet: 0 -4px 16px 0 #0006;
180
180
  --shadow-inset: inset 0 1px 2px 0 #0000004d;
181
- --shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-focus-ring);
181
+ --shadow-focus: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-focus-ring);
182
182
  --color-success-bg: #16a34a1f;
183
183
  --color-success-border: #16a34a4d;
184
184
  --color-success-text: #4ade80;
@@ -195,41 +195,41 @@
195
195
  --color-info-border: #2563eb4d;
196
196
  --color-info-text: #60a5fa;
197
197
  --color-info-solid: #3b82f6;
198
- --color-code-bg: #161b22;
198
+ --color-code-canvas: #161b22;
199
199
  --color-code-border: #ffffff1a;
200
200
  --color-code-comment: #8b949e;
201
201
  --color-code-keyword: #ff7b72;
202
202
  --color-code-string: #a5d6ff;
203
203
  --color-code-number: #79c0ff;
204
204
  --color-code-function: #d2a8ff;
205
- --color-scrollbar-thumb: #fff3;
206
- --color-scrollbar-track: transparent;
205
+ --color-thumb: #fff3;
206
+ --color-track: transparent;
207
207
  }
208
208
  }
209
209
 
210
210
  [data-theme="dark"] {
211
211
  color-scheme: dark;
212
- --color-bg-base: #1c1c1e;
213
- --color-bg-elevated: #2c2c2e;
214
- --color-bg-sunken: #141416;
215
- --color-bg-overlay: #1e1e20eb;
216
- --color-bg-sidebar: #1c1c1ef2;
212
+ --color-canvas: #1c1c1e;
213
+ --color-elevated: #2c2c2e;
214
+ --color-sunken: #141416;
215
+ --color-overlay: #1e1e20eb;
216
+ --color-sidebar: #1c1c1ef2;
217
217
  --color-surface-1: #2c2c2e;
218
218
  --color-surface-2: #3a3a3c;
219
219
  --color-surface-3: #48484a;
220
- --color-surface-hover: #ffffff0f;
221
- --color-surface-active: #ffffff1a;
222
- --color-surface-selected: #0a84ff29;
223
- --color-text-primary: #ffffffeb;
224
- --color-text-secondary: #ffffff8c;
225
- --color-text-tertiary: #ffffff5c;
226
- --color-text-disabled: #ffffff3d;
227
- --color-text-inverse: #000000e0;
228
- --color-text-on-accent: #fff;
229
- --color-text-code: #2dd4bf;
230
- --color-border-base: #ffffff1f;
231
- --color-border-strong: #ffffff38;
232
- --color-border-subtle: #ffffff0f;
220
+ --color-hover: #ffffff0f;
221
+ --color-active: #ffffff1a;
222
+ --color-selected: #0a84ff29;
223
+ --color-primary: #ffffffeb;
224
+ --color-secondary: #ffffff8c;
225
+ --color-tertiary: #ffffff5c;
226
+ --color-disabled: #ffffff3d;
227
+ --color-inverse: #000000e0;
228
+ --color-on-accent: #fff;
229
+ --color-code: #2dd4bf;
230
+ --color-line: #ffffff1f;
231
+ --color-line-strong: #ffffff38;
232
+ --color-line-subtle: #ffffff0f;
233
233
  --color-accent: #0a84ff;
234
234
  --color-accent-hover: #0071e3;
235
235
  --color-accent-pressed: #005bb5;
@@ -244,7 +244,7 @@
244
244
  --shadow-popover: 0 8px 24px -4px #00000080, 0 2px 6px -2px #0006;
245
245
  --shadow-sheet: 0 -4px 16px 0 #0006;
246
246
  --shadow-inset: inset 0 1px 2px 0 #0000004d;
247
- --shadow-focus: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-focus-ring);
247
+ --shadow-focus: 0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-focus-ring);
248
248
  --color-success-bg: #16a34a1f;
249
249
  --color-success-border: #16a34a4d;
250
250
  --color-success-text: #4ade80;
@@ -261,14 +261,16 @@
261
261
  --color-info-border: #2563eb4d;
262
262
  --color-info-text: #60a5fa;
263
263
  --color-info-solid: #3b82f6;
264
- --color-code-bg: #161b22;
264
+ --color-code-canvas: #161b22;
265
265
  --color-code-border: #ffffff1a;
266
266
  --color-code-comment: #8b949e;
267
267
  --color-code-keyword: #ff7b72;
268
268
  --color-code-string: #a5d6ff;
269
269
  --color-code-number: #79c0ff;
270
270
  --color-code-function: #d2a8ff;
271
- --color-scrollbar-thumb: #fff3;
272
- --color-scrollbar-track: transparent;
271
+ --color-thumb: #fff3;
272
+ --color-track: transparent;
273
273
  }
274
274
  }
275
+
276
+ @layer base, components, utilities;
@@ -1,5 +1,3 @@
1
- @layer theme, base;
2
-
3
1
  @layer components {
4
2
  .root_3hDtBa {
5
3
  align-items: center;
@@ -17,7 +15,7 @@
17
15
  .thumb-track_3hDtBa {
18
16
  border-radius: var(--radius-full);
19
17
  background-color: var(--color-surface-3);
20
- border: var(--border-width-base) solid var(--color-border-base);
18
+ border: var(--border-width-base) solid var(--color-line);
21
19
  width: 36px;
22
20
  height: 20px;
23
21
  transition: background-color var(--duration-normal) var(--easing-standard),
@@ -61,8 +59,6 @@
61
59
  .label_3hDtBa {
62
60
  font-family: var(--font-mono);
63
61
  font-size: var(--font-size-sm);
64
- color: var(--color-text-primary);
62
+ color: var(--color-primary);
65
63
  }
66
64
  }
67
-
68
- @layer utilities;
@@ -1 +1 @@
1
- {"version":3,"file":"switch.module.js","names":[],"sources":["../../src/switch/switch.module.css"],"sourcesContent":["@layer theme, base, components, utilities;\n\n@layer components {\n .root {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n cursor: pointer;\n user-select: none;\n }\n\n .root[data-disabled] {\n opacity: 0.44;\n cursor: not-allowed;\n }\n\n .thumb-track {\n position: relative;\n width: 36px;\n height: 20px;\n border-radius: var(--radius-full);\n background-color: var(--color-surface-3);\n border: var(--border-width-base) solid var(--color-border-base);\n transition:\n background-color var(--duration-normal) var(--easing-standard),\n border-color var(--duration-normal) var(--easing-standard),\n box-shadow var(--duration-fast) var(--easing-standard);\n outline: none;\n flex-shrink: 0;\n }\n\n .thumb-track:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n\n .thumb-track[data-checked] {\n background-color: var(--color-accent);\n border-color: var(--color-accent);\n }\n\n .thumb-track[data-checked]:hover {\n background-color: var(--color-accent-hover);\n border-color: var(--color-accent-hover);\n }\n\n .thumb {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 14px;\n height: 14px;\n border-radius: var(--radius-full);\n background-color: #ffffff;\n box-shadow: var(--shadow-xs);\n transition: transform var(--duration-normal) var(--easing-spring);\n }\n\n .thumb-track[data-checked] .thumb {\n transform: translateX(16px);\n }\n\n .label {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n color: var(--color-text-primary);\n }\n}\n"],"mappings":";AAQA,IAAA,wBAAe;CAAC,SAAK;CAAA,QAAA;CAAA,SAAA;CAAA,eAAA;CAAA"}
1
+ {"version":3,"file":"switch.module.js","names":[],"sources":["../../src/switch/switch.module.css"],"sourcesContent":["@layer components {\n .root {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n cursor: pointer;\n user-select: none;\n }\n .root[data-disabled] {\n opacity: 0.44;\n cursor: not-allowed;\n }\n .thumb-track {\n position: relative;\n width: 36px;\n height: 20px;\n border-radius: var(--radius-full);\n background-color: var(--color-surface-3);\n border: var(--border-width-base) solid var(--color-line);\n transition:\n background-color var(--duration-normal) var(--easing-standard),\n border-color var(--duration-normal) var(--easing-standard),\n box-shadow var(--duration-fast) var(--easing-standard);\n outline: none;\n flex-shrink: 0;\n }\n .thumb-track:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n .thumb-track[data-checked] {\n background-color: var(--color-accent);\n border-color: var(--color-accent);\n }\n .thumb-track[data-checked]:hover {\n background-color: var(--color-accent-hover);\n border-color: var(--color-accent-hover);\n }\n .thumb {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 14px;\n height: 14px;\n border-radius: var(--radius-full);\n background-color: #ffffff;\n box-shadow: var(--shadow-xs);\n transition: transform var(--duration-normal) var(--easing-spring);\n }\n .thumb-track[data-checked] .thumb {\n transform: translateX(16px);\n }\n .label {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n color: var(--color-primary);\n }\n}\n"],"mappings":";AAQA,IAAA,wBAAa;CAAA,SAAU;CAAA,QAAA;CAAA,SAAA;CAAA,eAAA;CAAA"}
@@ -1,5 +1,3 @@
1
- @layer theme, base;
2
-
3
1
  @layer components {
4
2
  .root_prqJ8a {
5
3
  flex-direction: column;
@@ -10,7 +8,7 @@
10
8
  .list_prqJ8a {
11
9
  align-items: center;
12
10
  gap: var(--space-px);
13
- border-bottom: var(--border-width-base) solid var(--color-border-base);
11
+ border-bottom: var(--border-width-base) solid var(--color-line);
14
12
  scrollbar-width: none;
15
13
  display: flex;
16
14
  overflow-x: auto;
@@ -27,7 +25,7 @@
27
25
  font-family: var(--font-mono);
28
26
  font-size: var(--font-size-sm);
29
27
  font-weight: var(--font-weight-regular);
30
- color: var(--color-text-tertiary);
28
+ color: var(--color-tertiary);
31
29
  cursor: pointer;
32
30
  white-space: nowrap;
33
31
  transition: color var(--duration-fast) var(--easing-standard),
@@ -43,8 +41,8 @@
43
41
  }
44
42
 
45
43
  .tab_prqJ8a:hover:not([data-disabled]) {
46
- color: var(--color-text-primary);
47
- border-bottom-color: var(--color-border-strong);
44
+ color: var(--color-primary);
45
+ border-bottom-color: var(--color-line-strong);
48
46
  }
49
47
 
50
48
  .tab_prqJ8a:focus-visible {
@@ -61,7 +59,7 @@
61
59
  }
62
60
 
63
61
  .tab_prqJ8a[data-active] {
64
- color: var(--color-text-primary);
62
+ color: var(--color-primary);
65
63
  font-weight: var(--font-weight-medium);
66
64
  border-bottom-color: var(--color-accent);
67
65
  }
@@ -86,5 +84,3 @@
86
84
  border-radius: var(--radius-sm);
87
85
  }
88
86
  }
89
-
90
- @layer utilities;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.module.js","names":[],"sources":["../../src/tabs/tabs.module.css"],"sourcesContent":["@layer theme, base, components, utilities;\n\n@layer components {\n .root {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n\n /* ─── Tab List ──────────────────────────────────────── */\n .list {\n display: flex;\n align-items: center;\n gap: var(--space-px);\n border-bottom: var(--border-width-base) solid var(--color-border-base);\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n .list::-webkit-scrollbar {\n display: none;\n }\n\n /* ─── Tab trigger ────────────────────────────────────── */\n .tab {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1-5);\n padding: var(--space-1-5) var(--space-3);\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n color: var(--color-text-tertiary);\n border: none;\n background: none;\n cursor: pointer;\n outline: none;\n white-space: nowrap;\n position: relative;\n margin-bottom: -1px;\n border-bottom: 3px solid transparent;\n transition:\n color var(--duration-fast) var(--easing-standard),\n border-color var(--duration-fast) var(--easing-standard);\n user-select: none;\n }\n\n .tab:hover:not([data-disabled]) {\n color: var(--color-text-primary);\n border-bottom-color: var(--color-border-strong);\n }\n\n .tab:focus-visible {\n outline: none;\n }\n\n .tab:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: 2px 2px 8px;\n border-radius: var(--radius-sm);\n box-shadow: var(--shadow-focus);\n pointer-events: none;\n }\n\n .tab[data-active] {\n color: var(--color-text-primary);\n font-weight: var(--font-weight-medium);\n border-bottom-color: var(--color-accent);\n }\n\n .tab[data-disabled] {\n opacity: 0.44;\n cursor: not-allowed;\n }\n\n /* ─── Tab panel ─────────────────────────────────────── */\n .panel {\n padding-top: var(--space-4);\n outline: none;\n transition: opacity 150ms var(--easing-ease-out);\n }\n\n .panel[data-starting-style] {\n opacity: 0;\n }\n\n .panel:focus-visible {\n box-shadow: var(--shadow-focus);\n border-radius: var(--radius-sm);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs.module.js","names":[],"sources":["../../src/tabs/tabs.module.css"],"sourcesContent":["@layer components {\n .root {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n /* ─── Tab List ──────────────────────────────────────── */\n .list {\n display: flex;\n align-items: center;\n gap: var(--space-px);\n border-bottom: var(--border-width-base) solid var(--color-line);\n overflow-x: auto;\n scrollbar-width: none;\n }\n .list::-webkit-scrollbar {\n display: none;\n }\n /* ─── Tab trigger ────────────────────────────────────── */\n .tab {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1-5);\n padding: var(--space-1-5) var(--space-3);\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n color: var(--color-tertiary);\n border: none;\n background: none;\n cursor: pointer;\n outline: none;\n white-space: nowrap;\n position: relative;\n margin-bottom: -1px;\n border-bottom: 3px solid transparent;\n transition:\n color var(--duration-fast) var(--easing-standard),\n border-color var(--duration-fast) var(--easing-standard);\n user-select: none;\n }\n .tab:hover:not([data-disabled]) {\n color: var(--color-primary);\n border-bottom-color: var(--color-line-strong);\n }\n .tab:focus-visible {\n outline: none;\n }\n .tab:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: 2px 2px 8px;\n border-radius: var(--radius-sm);\n box-shadow: var(--shadow-focus);\n pointer-events: none;\n }\n .tab[data-active] {\n color: var(--color-primary);\n font-weight: var(--font-weight-medium);\n border-bottom-color: var(--color-accent);\n }\n .tab[data-disabled] {\n opacity: 0.44;\n cursor: not-allowed;\n }\n /* ─── Tab panel ─────────────────────────────────────── */\n .panel {\n padding-top: var(--space-4);\n outline: none;\n transition: opacity 150ms var(--easing-ease-out);\n }\n .panel[data-starting-style] {\n opacity: 0;\n }\n .panel:focus-visible {\n box-shadow: var(--shadow-focus);\n border-radius: var(--radius-sm);\n }\n}\n"],"mappings":";AAQA,IAAA,sBAAa;CAAA,QAAI;CAAA,SAAA;CAAA,QAAA;CAAA,OAAA;CAAA"}
@@ -14,9 +14,9 @@
14
14
  * overrides work automatically without any Tailwind configuration.
15
15
  *
16
16
  * Generated utility examples:
17
- * bg-bg-base → background-color: var(--color-bg-base)
18
- * text-text-primary → color: var(--color-text-primary)
19
- * border-border-base→ border-color: var(--color-border-base)
17
+ * bg-canvas → background-color: var(--color-canvas)
18
+ * text-primary → color: var(--color-primary)
19
+ * border-line → border-color: var(--color-line)
20
20
  * font-mono → font-family: var(--font-mono)
21
21
  * rounded-md → border-radius: var(--radius-md)
22
22
  * shadow-sm → box-shadow: var(--shadow-sm)
@@ -24,34 +24,34 @@
24
24
 
25
25
  @theme inline {
26
26
  /* ── Backgrounds ────────────────────────────────────────────── */
27
- --color-bg-base: var(--color-bg-base);
28
- --color-bg-elevated: var(--color-bg-elevated);
29
- --color-bg-sunken: var(--color-bg-sunken);
30
- --color-bg-overlay: var(--color-bg-overlay);
31
- --color-bg-sidebar: var(--color-bg-sidebar);
27
+ --color-canvas: var(--color-canvas);
28
+ --color-elevated: var(--color-elevated);
29
+ --color-sunken: var(--color-sunken);
30
+ --color-overlay: var(--color-overlay);
31
+ --color-sidebar: var(--color-sidebar);
32
32
 
33
33
  /* ── Surfaces ───────────────────────────────────────────────── */
34
34
  --color-surface-1: var(--color-surface-1);
35
35
  --color-surface-2: var(--color-surface-2);
36
36
  --color-surface-3: var(--color-surface-3);
37
- --color-surface-hover: var(--color-surface-hover);
38
- --color-surface-active: var(--color-surface-active);
39
- --color-surface-selected: var(--color-surface-selected);
37
+ --color-hover: var(--color-hover);
38
+ --color-active: var(--color-active);
39
+ --color-selected: var(--color-selected);
40
40
 
41
41
  /* ── Text ───────────────────────────────────────────────────── */
42
- --color-text-primary: var(--color-text-primary);
43
- --color-text-secondary: var(--color-text-secondary);
44
- --color-text-tertiary: var(--color-text-tertiary);
45
- --color-text-disabled: var(--color-text-disabled);
46
- --color-text-inverse: var(--color-text-inverse);
47
- --color-text-on-accent: var(--color-text-on-accent);
48
- --color-text-code: var(--color-text-code);
42
+ --color-primary: var(--color-primary);
43
+ --color-secondary: var(--color-secondary);
44
+ --color-tertiary: var(--color-tertiary);
45
+ --color-disabled: var(--color-disabled);
46
+ --color-inverse: var(--color-inverse);
47
+ --color-on-accent: var(--color-on-accent);
48
+ --color-code: var(--color-code);
49
49
 
50
50
  /* ── Borders ────────────────────────────────────────────────── */
51
- --color-border-base: var(--color-border-base);
52
- --color-border-strong: var(--color-border-strong);
53
- --color-border-subtle: var(--color-border-subtle);
54
- --color-border-focus: var(--color-border-focus);
51
+ --color-line: var(--color-line);
52
+ --color-line-strong: var(--color-line-strong);
53
+ --color-line-subtle: var(--color-line-subtle);
54
+ --color-line-focus: var(--color-line-focus);
55
55
 
56
56
  /* ── Accent (macOS blue) ────────────────────────────────────── */
57
57
  --color-accent: var(--color-accent);
@@ -85,7 +85,7 @@
85
85
  --color-info-solid: var(--color-info-solid);
86
86
 
87
87
  /* ── Code syntax ────────────────────────────────────────────── */
88
- --color-code-bg: var(--color-code-bg);
88
+ --color-code-canvas: var(--color-code-canvas);
89
89
  --color-code-border: var(--color-code-border);
90
90
  --color-code-keyword: var(--color-code-keyword);
91
91
  --color-code-string: var(--color-code-string);
@@ -1,5 +1,3 @@
1
- @layer theme, base;
2
-
3
1
  @layer components {
4
2
  .viewport_QXnIWW {
5
3
  bottom: var(--space-4);
@@ -27,8 +25,8 @@
27
25
  align-items: flex-start;
28
26
  gap: var(--space-3);
29
27
  padding: var(--space-3) var(--space-4);
30
- background-color: var(--color-bg-overlay);
31
- border: var(--border-width-base) solid var(--color-border-base);
28
+ background-color: var(--color-overlay);
29
+ border: var(--border-width-base) solid var(--color-line);
32
30
  border-radius: var(--radius-xl);
33
31
  box-shadow: var(--shadow-popover);
34
32
  pointer-events: auto;
@@ -119,19 +117,19 @@
119
117
  }
120
118
 
121
119
  .toast-success_QXnIWW {
122
- background-color: color-mix(in srgb, var(--color-success-solid) 6%, var(--color-bg-overlay));
120
+ background-color: color-mix(in srgb, var(--color-success-solid) 6%, var(--color-overlay));
123
121
  }
124
122
 
125
123
  .toast-error_QXnIWW {
126
- background-color: color-mix(in srgb, var(--color-error-solid) 6%, var(--color-bg-overlay));
124
+ background-color: color-mix(in srgb, var(--color-error-solid) 6%, var(--color-overlay));
127
125
  }
128
126
 
129
127
  .toast-warning_QXnIWW {
130
- background-color: color-mix(in srgb, var(--color-warning-solid) 6%, var(--color-bg-overlay));
128
+ background-color: color-mix(in srgb, var(--color-warning-solid) 6%, var(--color-overlay));
131
129
  }
132
130
 
133
131
  .toast-info_QXnIWW {
134
- background-color: color-mix(in srgb, var(--color-info-solid) 6%, var(--color-bg-overlay));
132
+ background-color: color-mix(in srgb, var(--color-info-solid) 6%, var(--color-overlay));
135
133
  }
136
134
 
137
135
  .icon_QXnIWW {
@@ -169,14 +167,14 @@
169
167
  font-family: var(--font-mono);
170
168
  font-size: var(--font-size-sm);
171
169
  font-weight: var(--font-weight-medium);
172
- color: var(--color-text-primary);
170
+ color: var(--color-primary);
173
171
  line-height: var(--line-height-normal);
174
172
  }
175
173
 
176
174
  .description_QXnIWW {
177
175
  font-family: var(--font-mono);
178
176
  font-size: var(--font-size-xs);
179
- color: var(--color-text-secondary);
177
+ color: var(--color-secondary);
180
178
  line-height: var(--line-height-relaxed);
181
179
  }
182
180
 
@@ -184,7 +182,7 @@
184
182
  border-radius: var(--radius-sm);
185
183
  width: 20px;
186
184
  height: 20px;
187
- color: var(--color-text-tertiary);
185
+ color: var(--color-tertiary);
188
186
  cursor: pointer;
189
187
  transition: background-color var(--duration-fast) var(--easing-standard),
190
188
  color var(--duration-fast) var(--easing-standard);
@@ -199,13 +197,11 @@
199
197
  }
200
198
 
201
199
  .close_QXnIWW:hover {
202
- background-color: var(--color-surface-hover);
203
- color: var(--color-text-primary);
200
+ background-color: var(--color-hover);
201
+ color: var(--color-primary);
204
202
  }
205
203
 
206
204
  .close_QXnIWW:focus-visible {
207
205
  box-shadow: var(--shadow-focus);
208
206
  }
209
207
  }
210
-
211
- @layer utilities;
@@ -1 +1 @@
1
- {"version":3,"file":"toast.module.js","names":[],"sources":["../../src/toast/toast.module.css"],"sourcesContent":["@layer theme, base, components, utilities;\n\n@layer components {\n /* ─── Viewport ───────────────────────────────────────────────────── */\n\n .viewport {\n position: fixed;\n bottom: var(--space-4);\n right: var(--space-4);\n z-index: var(--z-toast);\n display: flex;\n flex-direction: column;\n width: 360px;\n max-width: calc(100vw - var(--space-8));\n list-style: none;\n pointer-events: none;\n outline: none;\n }\n\n /* List variant — toasts sit in a normal column */\n .viewport-list {\n gap: var(--space-2);\n }\n\n /* Stacked variant — toasts overlap; viewport height = frontmost toast */\n .viewport-stacked {\n gap: 0;\n }\n\n /* ─── Toast base ─────────────────────────────────────────────────── */\n\n .toast {\n display: flex;\n align-items: flex-start;\n gap: var(--space-3);\n padding: var(--space-3) var(--space-4);\n background-color: var(--color-bg-overlay);\n border: var(--border-width-base) solid var(--color-border-base);\n border-radius: var(--radius-xl);\n box-shadow: var(--shadow-popover);\n pointer-events: auto;\n cursor: default;\n width: 100%;\n }\n\n @supports (backdrop-filter: blur(12px)) {\n .toast {\n backdrop-filter: blur(12px) saturate(1.5);\n -webkit-backdrop-filter: blur(12px) saturate(1.5);\n }\n }\n\n /* ─── List mode animations ───────────────────────────────────────── */\n\n .viewport-list .toast {\n transform-origin: bottom right;\n opacity: 1;\n transform: translateX(0);\n transition:\n opacity 300ms var(--easing-ease-out),\n transform 300ms var(--easing-spring);\n\n @starting-style {\n opacity: 0;\n transform: translateX(calc(100% + var(--space-4)));\n }\n }\n\n .viewport-list .toast[data-ending-style] {\n opacity: 0;\n transform: translateX(calc(100% + var(--space-4)));\n transition:\n opacity 200ms var(--easing-ease-in),\n transform 200ms var(--easing-ease-in);\n }\n\n /* ─── Stacked mode ───────────────────────────────────────────────── */\n\n /*\n * Base UI provides on each toast root (as inline styles):\n * --toast-index : plain integer, 0 = frontmost/newest\n * --toast-offset-y: \"Npx\" — cumulative height of all toasts above\n * --toast-height : \"Npx\" — this toast's measured height\n *\n * Base UI provides on the viewport:\n * --toast-frontmost-height: \"Npx\" — height of index-0 toast\n *\n * Collapsed: toasts sit at bottom:0, stacked via scale+translate.\n * Expanded (data-expanded): each toast moves to its offset position.\n */\n\n .viewport-stacked {\n height: calc(var(--toast-frontmost-height, 64px) + 20px);\n padding-top: 20px;\n box-sizing: content-box;\n clip-path: inset(0 0 0 0 round var(--radius-xl));\n transition:\n clip-path 200ms var(--easing-ease-out),\n height 200ms var(--easing-ease-out);\n }\n\n .viewport-stacked[data-expanded] {\n clip-path: inset(-9999px 0 0 0 round var(--radius-xl));\n height: calc(var(--toast-frontmost-height, 64px) + 20px);\n }\n\n /* Fill the gaps between expanded toasts so the mouse doesn't leave\n the viewport as it moves between them, which would collapse the stack */\n .viewport-stacked[data-expanded]::after {\n content: \"\";\n position: absolute;\n inset: -9999px 0 0 0;\n pointer-events: auto;\n z-index: 0;\n }\n\n .toast-stacked {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n\n z-index: calc(50 - var(--toast-index));\n\n transform: translateY(calc(var(--toast-index) * -8px)) scale(calc(1 - var(--toast-index) * 0.04));\n transform-origin: bottom center;\n opacity: calc(1 - var(--toast-index) * 0.15);\n\n transition:\n transform 200ms var(--easing-ease-out),\n opacity 200ms var(--easing-ease-out);\n }\n\n /* Expanded: each toast animates to its stacked position with a gap */\n .viewport-stacked[data-expanded] .toast-stacked {\n transform: translateY(calc((var(--toast-offset-y) + var(--toast-index) * 8px) * -1));\n opacity: 1;\n pointer-events: auto;\n }\n\n /* Enter: new toast slides up from below */\n .viewport-stacked .toast-stacked {\n @starting-style {\n opacity: 0;\n transform: translateY(16px) scale(calc(1 - var(--toast-index) * 0.04));\n }\n }\n\n /* Exit: dismissed toast slides right */\n .viewport-stacked .toast-stacked[data-ending-style] {\n opacity: 0;\n transform: translateX(calc(100% + var(--space-4)));\n transition:\n opacity 150ms var(--easing-ease-in),\n transform 150ms var(--easing-ease-in);\n }\n\n /* ─── Variant tints ──────────────────────────────────────────────── */\n\n .toast-success {\n background-color: color-mix(in srgb, var(--color-success-solid) 6%, var(--color-bg-overlay));\n }\n\n .toast-error {\n background-color: color-mix(in srgb, var(--color-error-solid) 6%, var(--color-bg-overlay));\n }\n\n .toast-warning {\n background-color: color-mix(in srgb, var(--color-warning-solid) 6%, var(--color-bg-overlay));\n }\n\n .toast-info {\n background-color: color-mix(in srgb, var(--color-info-solid) 6%, var(--color-bg-overlay));\n }\n\n /* ─── Icon ───────────────────────────────────────────────────────── */\n\n .icon {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n margin-top: 1px;\n }\n\n .icon-success {\n color: var(--color-success-solid);\n }\n .icon-warning {\n color: var(--color-warning-solid);\n }\n .icon-error {\n color: var(--color-error-solid);\n }\n .icon-info {\n color: var(--color-info-solid);\n }\n\n /* ─── Content ────────────────────────────────────────────────────── */\n\n .content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5);\n min-width: 0;\n }\n\n .title {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n color: var(--color-text-primary);\n line-height: var(--line-height-normal);\n }\n\n .description {\n font-family: var(--font-mono);\n font-size: var(--font-size-xs);\n color: var(--color-text-secondary);\n line-height: var(--line-height-relaxed);\n }\n\n /* ─── Close button ───────────────────────────────────────────────── */\n\n .close {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n border: none;\n background: transparent;\n color: var(--color-text-tertiary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n transition:\n background-color var(--duration-fast) var(--easing-standard),\n color var(--duration-fast) var(--easing-standard);\n margin-top: 1px;\n }\n\n .close:hover {\n background-color: var(--color-surface-hover);\n color: var(--color-text-primary);\n }\n\n .close:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n}\n"],"mappings":";AAoCA,IAAA,uBAAe;CAAA,SAAO;CAAe,WAAQ;CAAA,eAAA;CAAA,QAAA;CAAA,cAAA;CAAA,aAAA;CAAA,gBAAA;CAAA,gBAAA;CAAA,SAAA;CAAA,SAAA;CAAA,eAAA;CAAA,cAAA;CAAA,iBAAA;CAAA,iBAAA;CAAA,iBAAA;CAAA,YAAA;CAAA,iBAAA;CAAA,oBAAA;CAAA"}
1
+ {"version":3,"file":"toast.module.js","names":[],"sources":["../../src/toast/toast.module.css"],"sourcesContent":["@layer components {\n /* ─── Viewport ───────────────────────────────────────────────────── */\n .viewport {\n position: fixed;\n bottom: var(--space-4);\n right: var(--space-4);\n z-index: var(--z-toast);\n display: flex;\n flex-direction: column;\n width: 360px;\n max-width: calc(100vw - var(--space-8));\n list-style: none;\n pointer-events: none;\n outline: none;\n }\n /* List variant — toasts sit in a normal column */\n .viewport-list {\n gap: var(--space-2);\n }\n /* Stacked variant — toasts overlap; viewport height = frontmost toast */\n .viewport-stacked {\n gap: 0;\n }\n /* ─── Toast base ─────────────────────────────────────────────────── */\n .toast {\n display: flex;\n align-items: flex-start;\n gap: var(--space-3);\n padding: var(--space-3) var(--space-4);\n background-color: var(--color-overlay);\n border: var(--border-width-base) solid var(--color-line);\n border-radius: var(--radius-xl);\n box-shadow: var(--shadow-popover);\n pointer-events: auto;\n cursor: default;\n width: 100%;\n }\n @supports (backdrop-filter: blur(12px)) {\n .toast {\n backdrop-filter: blur(12px) saturate(1.5);\n -webkit-backdrop-filter: blur(12px) saturate(1.5);\n }\n }\n /* ─── List mode animations ───────────────────────────────────────── */\n .viewport-list .toast {\n transform-origin: bottom right;\n opacity: 1;\n transform: translateX(0);\n transition:\n opacity 300ms var(--easing-ease-out),\n transform 300ms var(--easing-spring);\n @starting-style {\n opacity: 0;\n transform: translateX(calc(100% + var(--space-4)));\n }\n }\n .viewport-list .toast[data-ending-style] {\n opacity: 0;\n transform: translateX(calc(100% + var(--space-4)));\n transition:\n opacity 200ms var(--easing-ease-in),\n transform 200ms var(--easing-ease-in);\n }\n /* ─── Stacked mode ───────────────────────────────────────────────── */\n /*\n * Base UI provides on each toast root (as inline styles):\n * --toast-index : plain integer, 0 = frontmost/newest\n * --toast-offset-y: \"Npx\" — cumulative height of all toasts above\n * --toast-height : \"Npx\" — this toast's measured height\n *\n * Base UI provides on the viewport:\n * --toast-frontmost-height: \"Npx\" — height of index-0 toast\n *\n * Collapsed: toasts sit at bottom:0, stacked via scale+translate.\n * Expanded (data-expanded): each toast moves to its offset position.\n */\n .viewport-stacked {\n height: calc(var(--toast-frontmost-height, 64px) + 20px);\n padding-top: 20px;\n box-sizing: content-box;\n clip-path: inset(0 0 0 0 round var(--radius-xl));\n transition:\n clip-path 200ms var(--easing-ease-out),\n height 200ms var(--easing-ease-out);\n }\n .viewport-stacked[data-expanded] {\n clip-path: inset(-9999px 0 0 0 round var(--radius-xl));\n height: calc(var(--toast-frontmost-height, 64px) + 20px);\n }\n /* Fill the gaps between expanded toasts so the mouse doesn't leave\n the viewport as it moves between them, which would collapse the stack */\n .viewport-stacked[data-expanded]::after {\n content: \"\";\n position: absolute;\n inset: -9999px 0 0 0;\n pointer-events: auto;\n z-index: 0;\n }\n .toast-stacked {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: calc(50 - var(--toast-index));\n transform: translateY(calc(var(--toast-index) * -8px)) scale(calc(1 - var(--toast-index) * 0.04));\n transform-origin: bottom center;\n opacity: calc(1 - var(--toast-index) * 0.15);\n transition:\n transform 200ms var(--easing-ease-out),\n opacity 200ms var(--easing-ease-out);\n }\n /* Expanded: each toast animates to its stacked position with a gap */\n .viewport-stacked[data-expanded] .toast-stacked {\n transform: translateY(calc((var(--toast-offset-y) + var(--toast-index) * 8px) * -1));\n opacity: 1;\n pointer-events: auto;\n }\n /* Enter: new toast slides up from below */\n .viewport-stacked .toast-stacked {\n @starting-style {\n opacity: 0;\n transform: translateY(16px) scale(calc(1 - var(--toast-index) * 0.04));\n }\n }\n /* Exit: dismissed toast slides right */\n .viewport-stacked .toast-stacked[data-ending-style] {\n opacity: 0;\n transform: translateX(calc(100% + var(--space-4)));\n transition:\n opacity 150ms var(--easing-ease-in),\n transform 150ms var(--easing-ease-in);\n }\n /* ─── Variant tints ──────────────────────────────────────────────── */\n .toast-success {\n background-color: color-mix(in srgb, var(--color-success-solid) 6%, var(--color-overlay));\n }\n .toast-error {\n background-color: color-mix(in srgb, var(--color-error-solid) 6%, var(--color-overlay));\n }\n .toast-warning {\n background-color: color-mix(in srgb, var(--color-warning-solid) 6%, var(--color-overlay));\n }\n .toast-info {\n background-color: color-mix(in srgb, var(--color-info-solid) 6%, var(--color-overlay));\n }\n /* ─── Icon ───────────────────────────────────────────────────────── */\n .icon {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n margin-top: 1px;\n }\n .icon-success {\n color: var(--color-success-solid);\n }\n .icon-warning {\n color: var(--color-warning-solid);\n }\n .icon-error {\n color: var(--color-error-solid);\n }\n .icon-info {\n color: var(--color-info-solid);\n }\n /* ─── Content ────────────────────────────────────────────────────── */\n .content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5);\n min-width: 0;\n }\n .title {\n font-family: var(--font-mono);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n color: var(--color-primary);\n line-height: var(--line-height-normal);\n }\n .description {\n font-family: var(--font-mono);\n font-size: var(--font-size-xs);\n color: var(--color-secondary);\n line-height: var(--line-height-relaxed);\n }\n /* ─── Close button ───────────────────────────────────────────────── */\n .close {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n border: none;\n background: transparent;\n color: var(--color-tertiary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n transition:\n background-color var(--duration-fast) var(--easing-standard),\n color var(--duration-fast) var(--easing-standard);\n margin-top: 1px;\n }\n .close:hover {\n background-color: var(--color-hover);\n color: var(--color-primary);\n }\n .close:focus-visible {\n box-shadow: var(--shadow-focus);\n }\n}\n"],"mappings":";AAoCA,IAAA,uBAAE;CAAA,SAAA;CAAA,WAAA;CAAA,eAAA;CAAA,QAAA;CAAA,cAAA;CAAA,aAAA;CAAA,gBAAA;CAAA,gBAAA;CAAA,SAAA;CAAA,SAAA;CAAA,eAAA;CAAA,cAAA;CAAA,iBAAA;CAAA,iBAAA;CAAA,iBAAA;CAAA,YAAA;CAAA,iBAAA;CAAA,oBAAA;CAAA"}