@warmio/ui 1.4.0 → 2.0.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 (51) hide show
  1. package/LICENSES/fluid-functionalism.txt +24 -0
  2. package/README.md +23 -14
  3. package/dist/badge.js +2 -2
  4. package/dist/button.js +4 -1
  5. package/dist/chunks/chunk-A2PN77YE.js +42 -0
  6. package/dist/chunks/chunk-DHV2A22F.js +240 -0
  7. package/dist/chunks/chunk-DOOSH3V6.js +72 -0
  8. package/dist/chunks/chunk-EIEA5RJJ.js +97 -0
  9. package/dist/chunks/chunk-FKGHMPVW.js +875 -0
  10. package/dist/chunks/chunk-K36HD5J5.js +133 -0
  11. package/dist/chunks/chunk-L6L3GVGM.js +130 -0
  12. package/dist/chunks/chunk-MGX6ZL6Q.js +224 -0
  13. package/dist/chunks/chunk-MVUHHKBL.js +492 -0
  14. package/dist/chunks/chunk-PJUNSOJK.js +116 -0
  15. package/dist/chunks/chunk-RVVHR7RY.js +0 -0
  16. package/dist/chunks/chunk-U7D32UN3.js +0 -0
  17. package/dist/chunks/chunk-W24JGQWM.js +65 -0
  18. package/dist/dropdown-menu.js +4 -3
  19. package/dist/entries/badge.css +178 -0
  20. package/dist/entries/button.css +422 -0
  21. package/dist/entries/dropdown-menu.css +167 -0
  22. package/dist/entries/index.css +2789 -0
  23. package/dist/entries/logo.css +147 -0
  24. package/dist/entries/product-header.css +88 -0
  25. package/dist/entries/sheet.css +666 -0
  26. package/dist/entries/sidebar.css +2108 -0
  27. package/dist/entries/text.css +97 -0
  28. package/dist/index.js +17 -13
  29. package/dist/logo.js +2 -2
  30. package/dist/product-header.js +2 -2
  31. package/dist/product-header.types.d.ts +3 -2
  32. package/dist/sheet.js +5 -3
  33. package/dist/sidebar.css +129 -0
  34. package/dist/sidebar.js +7 -3
  35. package/dist/text.css +121 -0
  36. package/dist/text.js +2 -2
  37. package/package.json +15 -5
  38. package/types/badge.d.ts +10 -2
  39. package/types/button.d.ts +65 -9
  40. package/types/sidebar.d.ts +10 -2
  41. package/types/text.d.ts +10 -2
  42. package/dist/chunks/chunk-4RQCHKAW.js +0 -105
  43. package/dist/chunks/chunk-FW2EHGRK.js +0 -748
  44. package/dist/chunks/chunk-GKEYV2XW.js +0 -10
  45. package/dist/chunks/chunk-HDCV4ACN.js +0 -469
  46. package/dist/chunks/chunk-ICC7GQXS.js +0 -74
  47. package/dist/chunks/chunk-KN6WVLCR.js +0 -261
  48. package/dist/chunks/chunk-MIMC4M6W.js +0 -86
  49. package/dist/chunks/chunk-PBWF6BDE.js +0 -88
  50. package/dist/chunks/chunk-VIB7OX7D.js +0 -10
  51. package/dist/chunks/chunk-YTDMREDR.js +0 -201
@@ -0,0 +1,178 @@
1
+ /* ../ui/src/warmio/badge/badge.css */
2
+ [data-slot=badge] {
3
+ display: inline-flex;
4
+ width: fit-content;
5
+ max-width: 100%;
6
+ flex-shrink: 0;
7
+ align-items: center;
8
+ justify-content: center;
9
+ gap: calc(var(--spacing) * 2);
10
+ overflow: hidden;
11
+ border-radius: var(--radius-full);
12
+ border: 1px solid transparent;
13
+ padding-inline: calc(var(--spacing) * 2);
14
+ font-size: var(--type-size-caption);
15
+ font-weight: 400;
16
+ line-height: 1.25;
17
+ white-space: nowrap;
18
+ transition-property:
19
+ color,
20
+ background-color,
21
+ box-shadow,
22
+ border-color;
23
+ transition-duration: var(--motion-duration-normal);
24
+ transition-timing-function: var(--motion-easing);
25
+ }
26
+ [data-slot=badge][data-size=sm] {
27
+ height: 1.25rem;
28
+ padding-block: 0;
29
+ }
30
+ [data-slot=badge][data-size=default] {
31
+ height: 1.5rem;
32
+ padding-block: 0;
33
+ }
34
+ [data-slot=badge]:not([data-size]) {
35
+ height: 1.25rem;
36
+ padding-block: calc(var(--spacing) * 2);
37
+ }
38
+ [data-slot=badge][data-shape=circle][data-size=sm] {
39
+ width: 1.25rem;
40
+ padding: 0;
41
+ }
42
+ [data-slot=badge][data-shape=circle][data-size=default] {
43
+ width: 1.5rem;
44
+ padding: 0;
45
+ }
46
+ [data-slot=badge][data-tone=default] {
47
+ border-color: var(--border);
48
+ background-color: var(--muted);
49
+ color: var(--foreground);
50
+ }
51
+ [data-slot=badge][data-tone=info] {
52
+ border-color: var(--info-border);
53
+ background-color: var(--info-bg-subtle);
54
+ color: var(--info-text);
55
+ }
56
+ [data-slot=badge][data-tone=success] {
57
+ border-color: var(--success-border);
58
+ background-color: var(--success-bg-subtle);
59
+ color: var(--success-text);
60
+ }
61
+ [data-slot=badge][data-tone=warning] {
62
+ border-color: var(--warning-border);
63
+ background-color: var(--warning-bg-subtle);
64
+ color: var(--warning-text);
65
+ }
66
+ [data-slot=badge][data-tone=destructive] {
67
+ border-color: var(--error-border);
68
+ background-color: var(--error-bg-subtle);
69
+ color: var(--error-text);
70
+ }
71
+ [data-slot=badge][data-emphasis=solid][data-tone=default] {
72
+ border-color: var(--foreground);
73
+ background-color: var(--foreground);
74
+ color: var(--background);
75
+ }
76
+ [data-slot=badge][data-emphasis=solid][data-tone=info] {
77
+ border-color: var(--info-text);
78
+ background-color: var(--info-text);
79
+ color: var(--background);
80
+ }
81
+ [data-slot=badge][data-emphasis=solid][data-tone=success] {
82
+ border-color: var(--success);
83
+ background-color: var(--success);
84
+ color: var(--background);
85
+ }
86
+ [data-slot=badge][data-emphasis=solid][data-tone=warning] {
87
+ border-color: var(--warning);
88
+ background-color: var(--warning);
89
+ color: var(--background);
90
+ }
91
+ [data-slot=badge][data-emphasis=solid][data-tone=destructive] {
92
+ border-color: var(--destructive);
93
+ background-color: var(--destructive);
94
+ color: var(--destructive-foreground);
95
+ }
96
+ [data-slot=badge][data-variant=default] {
97
+ background-color: var(--primary);
98
+ color: var(--primary-foreground);
99
+ }
100
+ [data-slot=badge][data-variant=secondary] {
101
+ background-color: var(--accent);
102
+ color: var(--foreground);
103
+ }
104
+ [data-slot=badge][data-variant=destructive] {
105
+ background-color: var(--error-bg-subtle);
106
+ color: var(--error-text);
107
+ }
108
+ [data-slot=badge][data-variant=outline] {
109
+ border-color: var(--border);
110
+ color: var(--foreground);
111
+ }
112
+ [data-slot=badge][data-variant=ghost] {
113
+ background-color: transparent;
114
+ }
115
+ [data-slot=badge][data-variant=link] {
116
+ background-color: transparent;
117
+ text-decoration-color: currentcolor;
118
+ }
119
+ [data-slot=badge][data-surface=floating] {
120
+ border-color: var(--background);
121
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--background);
122
+ }
123
+ [data-slot=badge][data-placement=inline] {
124
+ vertical-align: middle;
125
+ }
126
+ [data-slot=badge][data-text-size=inherit] {
127
+ font-size: inherit;
128
+ vertical-align: baseline;
129
+ }
130
+ [data-slot=badge][data-text-size=inherit][data-shape=pill] {
131
+ height: auto;
132
+ }
133
+ [data-slot=badge][data-placement=top-end] {
134
+ position: absolute;
135
+ top: calc(var(--spacing) * -2);
136
+ right: calc(var(--spacing) * -2);
137
+ z-index: 10;
138
+ pointer-events: none;
139
+ }
140
+ [data-slot=badge][data-width=metric] {
141
+ width: 3rem;
142
+ }
143
+ [data-slot=badge][data-width=compact] {
144
+ min-width: 1.5rem;
145
+ }
146
+ [data-slot=badge][data-truncate=true] {
147
+ min-width: 0;
148
+ flex-shrink: 1;
149
+ }
150
+ [data-slot=badge][data-numeric=true] {
151
+ font-family: var(--font-mono);
152
+ font-variant-numeric: tabular-nums;
153
+ letter-spacing: normal;
154
+ }
155
+ [data-slot=badge-label] {
156
+ min-width: 0;
157
+ overflow: hidden;
158
+ text-overflow: ellipsis;
159
+ white-space: nowrap;
160
+ }
161
+ [data-slot=badge] svg {
162
+ flex-shrink: 0;
163
+ pointer-events: none;
164
+ width: var(--icon-size-sm);
165
+ height: var(--icon-size-sm);
166
+ }
167
+ [data-slot=badge]:focus-visible {
168
+ border-color: var(--ring);
169
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--focus);
170
+ }
171
+ [data-slot=badge][aria-invalid=true] {
172
+ border-color: var(--destructive);
173
+ box-shadow: 0 0 0 var(--focus-ring-width) color-mix(in oklab, var(--destructive) 20%, transparent);
174
+ }
175
+ a:hover > [data-slot=badge][data-variant=default],
176
+ [data-slot=badge][data-variant=default]:is(a:hover) {
177
+ background-color: color-mix(in oklab, var(--primary) 80%, transparent);
178
+ }
@@ -0,0 +1,422 @@
1
+ /* ../ui/src/warmio/button/button.css */
2
+ [data-warm-button] {
3
+ position: relative;
4
+ isolation: isolate;
5
+ border: 0 solid;
6
+ background: transparent;
7
+ background-clip: padding-box;
8
+ padding: 0;
9
+ margin: 0;
10
+ font: inherit;
11
+ color: inherit;
12
+ display: inline-flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ border-radius: var(--radius-full);
16
+ font-size: var(--type-size-body);
17
+ font-weight: 400;
18
+ line-height: 1.25;
19
+ white-space: nowrap;
20
+ transition-property: var(--button-transition-property);
21
+ transition-duration: var(--motion-duration-normal);
22
+ transition-timing-function: ease-out;
23
+ outline: none;
24
+ user-select: none;
25
+ box-sizing: border-box;
26
+ flex-shrink: 0;
27
+ }
28
+ [data-warm-button]::before {
29
+ content: "";
30
+ position: absolute;
31
+ z-index: -1;
32
+ inset: 0;
33
+ border-radius: inherit;
34
+ background-color: transparent;
35
+ background-image: none;
36
+ background-clip: inherit;
37
+ box-shadow: none;
38
+ pointer-events: none;
39
+ transition-property: var(--button-surface-transition-property);
40
+ transition-duration:
41
+ var(--motion-duration-normal),
42
+ var(--motion-duration-fast),
43
+ var(--motion-duration-normal);
44
+ transition-timing-function: var(--motion-easing);
45
+ }
46
+ [data-warm-button]:focus-visible {
47
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--focus);
48
+ }
49
+ [data-warm-button][data-width=full] {
50
+ width: 100%;
51
+ }
52
+ [data-warm-button]:not(:disabled):not([aria-disabled=true]):hover {
53
+ filter: brightness(var(--button-hover-brightness));
54
+ }
55
+ [data-slot=toggle-group][data-appearance=segmented]:has([data-slot=toggle-group-item][data-pressed]:hover:not(:disabled):not([aria-disabled=true])) [data-slot=toggle-group-indicator] {
56
+ filter: brightness(var(--button-hover-brightness));
57
+ }
58
+ [data-warm-button]:not(:disabled):not([aria-disabled=true]):not([data-variant=arrow]):active::before {
59
+ inset: var(--button-press-inset);
60
+ transition-duration: var(--motion-duration-fast);
61
+ }
62
+ @media (prefers-reduced-motion: reduce) {
63
+ [data-warm-button],
64
+ [data-warm-button]::before {
65
+ transition: none;
66
+ }
67
+ [data-warm-button]:not(:disabled):not([aria-disabled=true]):not([data-variant=arrow]):active::before {
68
+ inset: 0;
69
+ }
70
+ }
71
+ [data-warm-button][data-variant=default] {
72
+ color: var(--button-primary-foreground);
73
+ }
74
+ [data-warm-button][data-variant=default]::before {
75
+ background-color: var(--button-primary-bg);
76
+ background-image: var(--button-primary-gradient);
77
+ box-shadow: var(--button-primary-shadow);
78
+ }
79
+ [data-warm-button][data-variant=default]:hover::before {
80
+ background-color: var(--button-primary-hover);
81
+ background-image: var(--button-primary-gradient-hover);
82
+ }
83
+ [data-warm-button][data-variant=default]:active::before {
84
+ background-color: var(--button-primary-active);
85
+ }
86
+ [data-warm-button][data-variant=outline] {
87
+ border-style: none;
88
+ color: var(--background);
89
+ }
90
+ [data-warm-button][data-variant=outline]::before {
91
+ background-color: var(--background);
92
+ background-image: var(--button-outline-fill-image);
93
+ box-shadow: var(--button-outline-shadow);
94
+ }
95
+ [data-warm-button][data-variant=outline]:hover {
96
+ color: var(--background);
97
+ }
98
+ [data-warm-button][data-variant=outline]:hover::before {
99
+ background-color: var(--muted);
100
+ background-image: var(--button-outline-fill-image-hover);
101
+ }
102
+ [data-warm-button][data-variant=outline]:active::before {
103
+ background-color: var(--muted);
104
+ }
105
+ [data-warm-button][data-variant=ghost]::before {
106
+ background-color: transparent;
107
+ box-shadow: var(--button-ghost-shadow);
108
+ }
109
+ [data-warm-button][data-variant=ghost]:hover {
110
+ color: var(--foreground);
111
+ }
112
+ [data-warm-button][data-variant=ghost]:hover::before {
113
+ background-color: var(--muted);
114
+ }
115
+ .dark [data-warm-button][data-variant=ghost]:hover::before {
116
+ background-color: color-mix(in oklab, var(--muted) 50%, transparent);
117
+ }
118
+ [data-warm-button][data-variant=destructive] {
119
+ color: var(--destructive);
120
+ }
121
+ [data-warm-button] [data-slot=loader-spinner] {
122
+ color: inherit;
123
+ }
124
+ [data-warm-button][data-variant=destructive]::before {
125
+ background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
126
+ }
127
+ [data-warm-button][data-variant=destructive]:hover::before {
128
+ background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
129
+ }
130
+ .dark [data-warm-button][data-variant=destructive]::before {
131
+ background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
132
+ }
133
+ [data-warm-button][data-variant=apple] {
134
+ color: var(--apple-button-foreground) !important;
135
+ }
136
+ [data-warm-button][data-variant=apple]::before {
137
+ background-color: var(--apple-button-background) !important;
138
+ box-shadow: none;
139
+ }
140
+ button[data-warm-button][data-variant=apple] {
141
+ appearance: button;
142
+ background-clip: padding-box;
143
+ }
144
+ [data-warm-button][data-variant=apple]:hover {
145
+ color: var(--apple-button-foreground);
146
+ }
147
+ [data-warm-button][data-variant=apple]:hover::before {
148
+ background-color: var(--apple-button-background) !important;
149
+ }
150
+ [data-warm-button][data-variant=arrow] {
151
+ border-width: 0;
152
+ text-decoration: underline;
153
+ }
154
+ [data-warm-button][data-variant=arrow] svg {
155
+ width: var(--icon-size);
156
+ height: var(--icon-size);
157
+ transition: transform var(--motion-duration-normal);
158
+ }
159
+ [data-warm-button][data-variant=arrow]:hover svg {
160
+ transform: translate(calc(var(--motion-distance) / 2), calc(-1 * var(--motion-distance) / 2));
161
+ }
162
+ @media (prefers-reduced-motion: reduce) {
163
+ [data-warm-button][data-variant=arrow]:hover svg {
164
+ transform: none;
165
+ transition: none;
166
+ }
167
+ }
168
+ [data-warm-button][data-size=compact] {
169
+ height: var(--control-height-sm);
170
+ padding-left: var(--spacing-lg);
171
+ padding-right: var(--spacing-lg);
172
+ gap: var(--spacing-sm);
173
+ }
174
+ [data-warm-button][data-size=default] {
175
+ height: var(--control-height);
176
+ padding-left: var(--spacing-lg);
177
+ padding-right: var(--spacing-lg);
178
+ gap: var(--spacing-sm);
179
+ }
180
+ [data-warm-button][data-size=jumbo] {
181
+ height: var(--control-height-lg);
182
+ padding-left: var(--spacing-lg);
183
+ padding-right: var(--spacing-lg);
184
+ font-size: var(--type-size-body);
185
+ font-weight: 500;
186
+ line-height: 1.25;
187
+ gap: var(--spacing-sm);
188
+ }
189
+ [data-warm-button][data-size=icon] {
190
+ width: var(--control-height);
191
+ height: var(--control-height);
192
+ }
193
+ [data-warm-button][data-size=default][data-explicit-size] {
194
+ padding-top: var(--spacing-sm);
195
+ padding-bottom: var(--spacing-sm);
196
+ background-clip: border-box;
197
+ }
198
+ [data-warm-button][data-presentation=assistantIcon]:not([data-explicit-size]) {
199
+ width: var(--control-height-sm);
200
+ height: var(--control-height-sm);
201
+ padding: var(--spacing-sm);
202
+ }
203
+ [data-warm-button][data-presentation=assistantRoundIcon]:not([data-explicit-size]) {
204
+ width: var(--control-height);
205
+ height: var(--control-height);
206
+ }
207
+ [data-warm-button][data-presentation=composerIcon]:not([data-explicit-size]) {
208
+ width: var(--control-height-sm);
209
+ height: var(--control-height-sm);
210
+ padding: var(--spacing-sm);
211
+ }
212
+ [data-warm-button][data-presentation=editPill]:not([data-explicit-size]) {
213
+ height: var(--control-height-sm);
214
+ padding-left: var(--spacing-lg);
215
+ padding-right: var(--spacing-lg);
216
+ }
217
+ [data-warm-button][data-presentation=hero]:not([data-explicit-size]) {
218
+ height: var(--control-height-lg);
219
+ padding-left: var(--spacing-lg);
220
+ padding-right: var(--spacing-lg);
221
+ padding-top: var(--spacing-sm);
222
+ padding-bottom: var(--spacing-sm);
223
+ font-size: var(--type-size-body);
224
+ font-weight: 500;
225
+ line-height: 1.25;
226
+ background-clip: border-box;
227
+ }
228
+ [data-warm-button][data-presentation=promptCategory]:not([data-explicit-size]) {
229
+ height: var(--control-height);
230
+ gap: var(--spacing-sm);
231
+ padding-left: var(--spacing-lg);
232
+ padding-right: var(--spacing-lg);
233
+ font-size: var(--type-size-body);
234
+ font-weight: 400;
235
+ color: var(--foreground);
236
+ transition-property: var(--button-transition-property-colors);
237
+ }
238
+ [data-warm-button][data-presentation=promptCategory]:not([data-explicit-size])::before {
239
+ background-color: var(--background);
240
+ }
241
+ [data-warm-button][data-presentation=promptCategory][data-variant=default]::before {
242
+ box-shadow: var(--shadow-sm) !important;
243
+ }
244
+ [data-warm-button][data-presentation=promptCategory]:not([data-explicit-size]):not([data-variant=arrow])::before {
245
+ box-shadow: var(--shadow-sm) !important;
246
+ }
247
+ [data-warm-button][data-presentation=promptCategory]:hover::before {
248
+ background-color: var(--muted);
249
+ }
250
+ [data-warm-button][data-presentation=promptOption]:not([data-explicit-size]) {
251
+ height: auto;
252
+ min-height: calc(var(--spacing) * 16);
253
+ align-items: flex-start;
254
+ justify-content: flex-start;
255
+ gap: var(--spacing-sm);
256
+ padding: var(--spacing-lg);
257
+ font-size: var(--type-size-body);
258
+ }
259
+ [data-warm-button][data-presentation=sidebarIcon]:not([data-explicit-size]) {
260
+ color: var(--foreground);
261
+ background-clip: border-box;
262
+ }
263
+ [data-warm-button][data-presentation=sidebarIcon]:hover {
264
+ color: var(--foreground);
265
+ }
266
+ [data-warm-button][data-presentation=sidebarIcon]:hover::before {
267
+ background-color: var(--sidebar-accent);
268
+ }
269
+ [data-warm-button][data-presentation=tableHeader]:not([data-explicit-size]) {
270
+ height: auto;
271
+ min-height: 0;
272
+ width: 100%;
273
+ justify-content: flex-start;
274
+ gap: var(--spacing-sm);
275
+ padding: 0;
276
+ font-weight: 400;
277
+ line-height: 1.25;
278
+ color: var(--muted-foreground);
279
+ }
280
+ [data-warm-button][data-presentation=tableHeader]:hover {
281
+ color: var(--foreground);
282
+ }
283
+ [data-warm-button][data-presentation=tableHeader]:hover::before {
284
+ background-color: transparent;
285
+ }
286
+ [data-warm-button][data-presentation=tableHeaderLink]:not([data-explicit-size]) {
287
+ height: auto;
288
+ min-height: 0;
289
+ width: 100%;
290
+ justify-content: flex-start;
291
+ gap: var(--spacing-sm);
292
+ padding: 0;
293
+ border-radius: 0;
294
+ font-weight: 400;
295
+ line-height: 1.25;
296
+ color: var(--muted-foreground);
297
+ text-decoration: underline;
298
+ text-decoration-thickness: var(--button-underline-thickness);
299
+ text-underline-offset: var(--button-underline-offset);
300
+ }
301
+ [data-warm-button][data-presentation=tableHeaderLink]::before {
302
+ background-image: none;
303
+ background-color: transparent;
304
+ box-shadow: none;
305
+ }
306
+ [data-warm-button][data-presentation=tableHeaderLink]:focus-visible {
307
+ box-shadow: none;
308
+ }
309
+ [data-warm-button][data-presentation=tableHeaderLink]:hover {
310
+ color: var(--foreground);
311
+ }
312
+ [data-warm-button][data-presentation=tableHeaderLink]:hover::before {
313
+ background-image: none;
314
+ background-color: transparent;
315
+ box-shadow: none;
316
+ }
317
+ [data-warm-button][data-presentation=touch]:not([data-explicit-size]) {
318
+ min-height: var(--control-height-lg);
319
+ }
320
+ [data-warm-button][data-presentation=headerAction]:not([data-explicit-size]) {
321
+ width: auto;
322
+ height: var(--control-height-sm);
323
+ padding-left: var(--spacing-lg);
324
+ padding-right: var(--spacing-lg);
325
+ }
326
+ [data-warm-button][data-presentation=threadMore]:not([data-explicit-size]) {
327
+ width: var(--control-height-sm);
328
+ height: var(--control-height-sm);
329
+ padding: 0;
330
+ }
331
+ [data-warm-button][data-presentation=threadNew]:not([data-explicit-size]) {
332
+ height: var(--control-height-sm);
333
+ justify-content: flex-start;
334
+ gap: var(--spacing-sm);
335
+ padding-left: var(--spacing-sm);
336
+ padding-right: var(--spacing-sm);
337
+ font-size: var(--type-size-body);
338
+ font-weight: 400;
339
+ }
340
+ [data-warm-button][data-presentation=threadNew]:hover::before {
341
+ background-color: var(--muted);
342
+ }
343
+ [data-warm-button][data-presentation=compact]:not([data-explicit-size]) {
344
+ height: var(--control-height-sm);
345
+ padding-left: var(--spacing-lg);
346
+ padding-right: var(--spacing-lg);
347
+ }
348
+ [data-warm-button][data-presentation=default]:not([data-explicit-size]),
349
+ [data-warm-button][data-presentation=controlPeer]:not([data-explicit-size]) {
350
+ padding-top: var(--spacing-sm);
351
+ padding-bottom: var(--spacing-sm);
352
+ background-clip: border-box;
353
+ }
354
+ [data-warm-button][data-presentation=menuOption]:not([data-explicit-size]) {
355
+ height: auto;
356
+ min-height: calc(var(--spacing) * 16);
357
+ align-items: flex-start;
358
+ justify-content: flex-start;
359
+ gap: var(--spacing-sm);
360
+ padding: var(--spacing-lg);
361
+ }
362
+ [data-warm-button][data-variant=arrow][data-variant=arrow] {
363
+ height: auto;
364
+ padding: 0;
365
+ gap: var(--spacing-sm);
366
+ border-radius: 0;
367
+ color: var(--foreground);
368
+ font-size: var(--type-size-body);
369
+ line-height: 1.25;
370
+ font-weight: 500;
371
+ }
372
+ [data-warm-button][data-variant=arrow][data-variant=arrow]::before {
373
+ background-color: transparent;
374
+ background-image: none;
375
+ box-shadow: none;
376
+ }
377
+ [data-warm-button] svg {
378
+ pointer-events: none;
379
+ flex-shrink: 0;
380
+ }
381
+ [data-warm-button] svg:not([class*=size-]) {
382
+ width: var(--icon-size);
383
+ height: var(--icon-size);
384
+ }
385
+ [data-warm-button][data-presentation=assistantIcon]:not([data-explicit-size]) svg:not([class*=size-]),
386
+ [data-warm-button][data-presentation=threadMore]:not([data-explicit-size]) svg:not([class*=size-]) {
387
+ width: var(--icon-size-sm);
388
+ height: var(--icon-size-sm);
389
+ }
390
+ [data-warm-button][aria-invalid] {
391
+ box-shadow: 0 0 0 var(--focus-ring-width) color-mix(in oklab, var(--destructive) 20%, transparent);
392
+ }
393
+ .dark [data-warm-button][aria-invalid] {
394
+ box-shadow: 0 0 0 var(--focus-ring-width) color-mix(in oklab, var(--destructive) 50%, transparent);
395
+ }
396
+ [data-warm-button][data-variant=ghost][aria-expanded=true] {
397
+ color: var(--foreground);
398
+ }
399
+ [data-warm-button][data-variant=ghost][aria-expanded=true]::before {
400
+ background-color: var(--muted);
401
+ }
402
+ [data-warm-button]:disabled {
403
+ pointer-events: none;
404
+ opacity: 0.5;
405
+ }
406
+ [data-warm-button][data-variant=apple]:disabled {
407
+ opacity: 1;
408
+ }
409
+ [data-warm-button][data-presentation=cardTitle]:not([data-explicit-size]) {
410
+ height: auto;
411
+ min-height: 0;
412
+ min-width: 0;
413
+ justify-content: flex-start;
414
+ padding: 0;
415
+ border-radius: var(--radius-sm);
416
+ color: inherit;
417
+ font: inherit;
418
+ text-align: left;
419
+ }
420
+ [data-warm-button][data-presentation=cardTitle]::before {
421
+ display: none;
422
+ }