@asharca/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/styles.css ADDED
@@ -0,0 +1,693 @@
1
+ @source "../dist/**/*.js";
2
+ @source "../node_modules/streamdown/dist/*.js";
3
+ @source "../node_modules/@streamdown/code/dist/*.js";
4
+ @source "../node_modules/@streamdown/mermaid/dist/*.js";
5
+ @source "../../../streamdown/dist/*.js";
6
+ @source "../../../@streamdown/code/dist/*.js";
7
+ @source "../../../@streamdown/mermaid/dist/*.js";
8
+ @source "./**/*.{ts,tsx}";
9
+
10
+ @custom-variant dark (&:is(.dark *));
11
+
12
+ @theme inline {
13
+ --color-background: hsl(var(--background));
14
+ --color-foreground: hsl(var(--foreground));
15
+ --color-card: hsl(var(--card));
16
+ --color-card-foreground: hsl(var(--card-foreground));
17
+ --color-popover: hsl(var(--popover));
18
+ --color-popover-foreground: hsl(var(--popover-foreground));
19
+ --color-primary: hsl(var(--primary));
20
+ --color-primary-foreground: hsl(var(--primary-foreground));
21
+ --color-secondary: hsl(var(--secondary));
22
+ --color-secondary-foreground: hsl(var(--secondary-foreground));
23
+ --color-muted: hsl(var(--muted));
24
+ --color-muted-foreground: hsl(var(--muted-foreground));
25
+ --color-accent: hsl(var(--accent));
26
+ --color-accent-foreground: hsl(var(--accent-foreground));
27
+ --color-destructive: hsl(var(--destructive));
28
+ --color-destructive-foreground: hsl(var(--destructive-foreground));
29
+ --color-destructive-text: hsl(var(--destructive-text));
30
+ --color-border: hsl(var(--border));
31
+ --color-input: hsl(var(--input));
32
+ --color-ring: hsl(var(--ring));
33
+ --color-brand: hsl(var(--brand));
34
+ --color-brand-foreground: hsl(var(--brand-foreground));
35
+ --color-brand-soft: hsl(var(--brand-soft));
36
+ --color-shell: hsl(var(--shell));
37
+ --color-shell-foreground: hsl(var(--shell-foreground));
38
+ --color-warning: hsl(var(--warning));
39
+
40
+ --radius-sm: calc(var(--radius) - 4px);
41
+ --radius-md: calc(var(--radius) - 2px);
42
+ --radius-lg: var(--radius);
43
+ --radius-xl: calc(var(--radius) + 4px);
44
+ }
45
+
46
+ @keyframes tp-word-swap {
47
+ from {
48
+ opacity: 0;
49
+ transform: translateY(0.15em);
50
+ }
51
+ to {
52
+ opacity: 1;
53
+ transform: translateY(0);
54
+ }
55
+ }
56
+
57
+ .tp-rotating-headline__word {
58
+ animation: tp-word-swap 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
59
+ }
60
+
61
+ :is(
62
+ [data-toolplane-ui],
63
+ [data-chat-ui="chat-shell"],
64
+ [data-chat-ui="chat-thread"],
65
+ [data-chat-ui="conversation-sidebar"]
66
+ ) {
67
+ --background: var(--toolplane-ui-background, var(--chat-ui-background, 0 0% 100%));
68
+ --foreground: var(--toolplane-ui-foreground, var(--chat-ui-foreground, 0 0% 17%));
69
+ --card: var(--toolplane-ui-card, var(--chat-ui-card, 0 0% 100%));
70
+ --card-foreground: var(--toolplane-ui-card-foreground, var(--chat-ui-card-foreground, 0 0% 12%));
71
+ --popover: var(--toolplane-ui-popover, var(--chat-ui-popover, 0 0% 100%));
72
+ --popover-foreground: var(--toolplane-ui-popover-foreground, var(--chat-ui-popover-foreground, 0 0% 12%));
73
+ --primary: var(--toolplane-ui-primary, var(--chat-ui-primary, 0 0% 15%));
74
+ --primary-foreground: var(--toolplane-ui-primary-foreground, var(--chat-ui-primary-foreground, 0 0% 98%));
75
+ --secondary: var(--toolplane-ui-secondary, var(--chat-ui-secondary, 0 0% 95%));
76
+ --secondary-foreground: var(--toolplane-ui-secondary-foreground, var(--chat-ui-secondary-foreground, 0 0% 17%));
77
+ --muted: var(--toolplane-ui-muted, var(--chat-ui-muted, 0 0% 96%));
78
+ --muted-foreground: var(--toolplane-ui-muted-foreground, var(--chat-ui-muted-foreground, 0 0% 43%));
79
+ --accent: var(--toolplane-ui-accent, var(--chat-ui-accent, 0 0% 94%));
80
+ --accent-foreground: var(--toolplane-ui-accent-foreground, var(--chat-ui-accent-foreground, 0 0% 15%));
81
+ --destructive: var(--toolplane-ui-destructive, var(--chat-ui-destructive, 0 84.2% 60.2%));
82
+ --destructive-foreground: var(--toolplane-ui-destructive-foreground, var(--chat-ui-destructive-foreground, 0 0% 98%));
83
+ --destructive-text: var(--toolplane-ui-destructive-text, 0 72% 42%);
84
+ --border: var(--toolplane-ui-border, var(--chat-ui-border, 0 0% 88%));
85
+ --input: var(--toolplane-ui-input, var(--chat-ui-input, 0 0% 84%));
86
+ --ring: var(--toolplane-ui-ring, var(--chat-ui-ring, 142 58% 38%));
87
+ --brand: var(--toolplane-ui-brand, var(--chat-ui-brand, 142 58% 38%));
88
+ --brand-foreground: var(--toolplane-ui-brand-foreground, var(--chat-ui-brand-foreground, 0 0% 100%));
89
+ --brand-soft: var(--toolplane-ui-brand-soft, 137 56% 92%);
90
+ --shell: var(--toolplane-ui-shell, 0 0% 96.7%);
91
+ --shell-foreground: var(--toolplane-ui-shell-foreground, 0 0% 17%);
92
+ --warning: var(--toolplane-ui-warning, var(--chat-ui-warning, 37 92% 52%));
93
+ --radius: var(--toolplane-ui-radius, var(--chat-ui-radius, 0.625rem));
94
+ }
95
+
96
+ .dark :is(
97
+ [data-toolplane-ui],
98
+ [data-chat-ui="chat-shell"],
99
+ [data-chat-ui="chat-thread"],
100
+ [data-chat-ui="conversation-sidebar"]
101
+ ),
102
+ :is(
103
+ [data-toolplane-ui],
104
+ [data-chat-ui="chat-shell"],
105
+ [data-chat-ui="chat-thread"],
106
+ [data-chat-ui="conversation-sidebar"]
107
+ )[data-theme="dark"] {
108
+ --background: var(--toolplane-ui-background, var(--chat-ui-background, 0 0% 10%));
109
+ --foreground: var(--toolplane-ui-foreground, var(--chat-ui-foreground, 0 0% 93%));
110
+ --card: var(--toolplane-ui-card, var(--chat-ui-card, 0 0% 12%));
111
+ --card-foreground: var(--toolplane-ui-card-foreground, var(--chat-ui-card-foreground, 0 0% 96%));
112
+ --popover: var(--toolplane-ui-popover, var(--chat-ui-popover, 0 0% 17%));
113
+ --popover-foreground: var(--toolplane-ui-popover-foreground, var(--chat-ui-popover-foreground, 0 0% 96%));
114
+ --primary: var(--toolplane-ui-primary, var(--chat-ui-primary, 0 0% 93%));
115
+ --primary-foreground: var(--toolplane-ui-primary-foreground, var(--chat-ui-primary-foreground, 0 0% 12%));
116
+ --secondary: var(--toolplane-ui-secondary, var(--chat-ui-secondary, 0 0% 18%));
117
+ --secondary-foreground: var(--toolplane-ui-secondary-foreground, var(--chat-ui-secondary-foreground, 0 0% 96%));
118
+ --muted: var(--toolplane-ui-muted, var(--chat-ui-muted, 0 0% 17%));
119
+ --muted-foreground: var(--toolplane-ui-muted-foreground, var(--chat-ui-muted-foreground, 0 0% 68%));
120
+ --accent: var(--toolplane-ui-accent, var(--chat-ui-accent, 0 0% 20%));
121
+ --accent-foreground: var(--toolplane-ui-accent-foreground, var(--chat-ui-accent-foreground, 0 0% 96%));
122
+ --destructive: var(--toolplane-ui-destructive, var(--chat-ui-destructive, 0 62.8% 30.6%));
123
+ --destructive-foreground: var(--toolplane-ui-destructive-foreground, var(--chat-ui-destructive-foreground, 0 0% 98%));
124
+ --destructive-text: var(--toolplane-ui-destructive-text, 0 78% 72%);
125
+ --border: var(--toolplane-ui-border, var(--chat-ui-border, 0 0% 22%));
126
+ --input: var(--toolplane-ui-input, var(--chat-ui-input, 0 0% 25%));
127
+ --ring: var(--toolplane-ui-ring, var(--chat-ui-ring, 128 73% 67%));
128
+ --brand: var(--toolplane-ui-brand, var(--chat-ui-brand, 128 73% 67%));
129
+ --brand-foreground: var(--toolplane-ui-brand-foreground, var(--chat-ui-brand-foreground, 0 0% 12%));
130
+ --brand-soft: var(--toolplane-ui-brand-soft, 130 36% 18%);
131
+ --shell: var(--toolplane-ui-shell, 0 0% 14%);
132
+ --shell-foreground: var(--toolplane-ui-shell-foreground, 0 0% 96%);
133
+ --warning: var(--toolplane-ui-warning, var(--chat-ui-warning, 38 90% 58%));
134
+ }
135
+
136
+ @layer components {
137
+ .ui-input {
138
+ height: 2.25rem;
139
+ width: 100%;
140
+ border: 1px solid hsl(var(--input));
141
+ border-radius: calc(var(--radius) - 2px);
142
+ background: hsl(var(--background));
143
+ padding: 0 0.75rem;
144
+ color: hsl(var(--foreground));
145
+ font-size: 0.875rem;
146
+ line-height: 1.25rem;
147
+ transition: border-color 160ms ease, background-color 160ms ease;
148
+ }
149
+
150
+ .ui-input::placeholder {
151
+ color: hsl(var(--muted-foreground));
152
+ }
153
+
154
+ .ui-input:focus,
155
+ .ui-input:focus-visible {
156
+ border-color: hsl(var(--ring));
157
+ box-shadow: none;
158
+ outline: none;
159
+ }
160
+
161
+ .ui-input:disabled {
162
+ cursor: not-allowed;
163
+ opacity: 0.6;
164
+ }
165
+
166
+ .ui-input[aria-invalid="true"] {
167
+ border-color: hsl(var(--destructive));
168
+ }
169
+
170
+ .ui-input-sm {
171
+ height: 2rem;
172
+ font-size: 0.75rem;
173
+ }
174
+
175
+ .ui-input-lg {
176
+ height: 2.75rem;
177
+ }
178
+
179
+ .ui-textarea {
180
+ min-height: 6rem;
181
+ width: 100%;
182
+ resize: vertical;
183
+ border: 1px solid hsl(var(--input));
184
+ border-radius: calc(var(--radius) - 2px);
185
+ background: hsl(var(--background));
186
+ padding: 0.625rem 0.75rem;
187
+ color: hsl(var(--foreground));
188
+ font-size: 0.875rem;
189
+ line-height: 1.5;
190
+ }
191
+
192
+ .ui-textarea::placeholder {
193
+ color: hsl(var(--muted-foreground));
194
+ }
195
+
196
+ .ui-textarea:focus-visible {
197
+ border-color: hsl(var(--ring));
198
+ outline: none;
199
+ }
200
+
201
+ .ui-textarea:disabled {
202
+ cursor: not-allowed;
203
+ opacity: 0.6;
204
+ }
205
+
206
+ .ui-textarea[aria-invalid="true"] {
207
+ border-color: hsl(var(--destructive));
208
+ }
209
+
210
+ .ui-checkbox,
211
+ .ui-radio {
212
+ width: 1rem;
213
+ height: 1rem;
214
+ flex: none;
215
+ accent-color: hsl(var(--brand));
216
+ }
217
+
218
+ .ui-checkbox:disabled,
219
+ .ui-radio:disabled {
220
+ cursor: not-allowed;
221
+ opacity: 0.5;
222
+ }
223
+
224
+ .ui-field {
225
+ display: grid;
226
+ gap: 0.375rem;
227
+ }
228
+
229
+ .ui-field-label {
230
+ color: hsl(var(--foreground));
231
+ font-size: 0.875rem;
232
+ font-weight: 500;
233
+ }
234
+
235
+ .ui-field-description {
236
+ color: hsl(var(--muted-foreground));
237
+ font-size: 0.75rem;
238
+ }
239
+
240
+ .ui-field-error {
241
+ color: hsl(var(--destructive-text));
242
+ font-size: 0.75rem;
243
+ }
244
+
245
+ .ui-input-search {
246
+ height: 3rem;
247
+ padding-left: 2.5rem;
248
+ }
249
+
250
+ .ui-input-icon {
251
+ padding-left: 2.25rem;
252
+ }
253
+
254
+ .ui-select {
255
+ position: relative;
256
+ display: block;
257
+ min-width: 0;
258
+ }
259
+
260
+ .ui-select-control {
261
+ display: block;
262
+ appearance: none;
263
+ padding-right: 2.5rem;
264
+ }
265
+
266
+ .ui-select-chevron {
267
+ pointer-events: none;
268
+ position: absolute;
269
+ top: 50%;
270
+ right: 0.75rem;
271
+ width: 1rem;
272
+ height: 1rem;
273
+ transform: translateY(-50%);
274
+ color: hsl(var(--muted-foreground));
275
+ }
276
+
277
+ .ui-page {
278
+ margin-inline: auto;
279
+ width: 100%;
280
+ max-width: 96rem;
281
+ padding: 1.75rem 2rem 2.5rem;
282
+ }
283
+
284
+ .ui-panel {
285
+ border: 1px solid hsl(var(--border));
286
+ border-radius: var(--radius);
287
+ background: hsl(var(--card));
288
+ box-shadow: none;
289
+ }
290
+
291
+ .ui-panel-danger {
292
+ border-color: hsl(var(--destructive) / 0.38);
293
+ }
294
+
295
+ .ui-panel-muted {
296
+ border: 1px solid hsl(var(--border));
297
+ border-radius: var(--radius);
298
+ background: color-mix(in hsl, hsl(var(--card)) 78%, hsl(var(--muted)) 22%);
299
+ }
300
+
301
+ .ui-empty {
302
+ display: flex;
303
+ min-height: 16rem;
304
+ flex-direction: column;
305
+ align-items: center;
306
+ justify-content: center;
307
+ border: 1px dashed hsl(var(--border));
308
+ border-radius: calc(var(--radius) + 0.25rem);
309
+ background: hsl(var(--card));
310
+ padding: 3rem 1.5rem;
311
+ text-align: center;
312
+ }
313
+
314
+ .ui-chip {
315
+ display: inline-flex;
316
+ min-height: 2rem;
317
+ flex-shrink: 0;
318
+ align-items: center;
319
+ border: 1px solid hsl(var(--border));
320
+ border-radius: 999px;
321
+ padding: 0 0.75rem;
322
+ color: hsl(var(--muted-foreground));
323
+ font-size: 0.875rem;
324
+ font-weight: 600;
325
+ white-space: nowrap;
326
+ transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
327
+ }
328
+
329
+ .ui-chip:hover {
330
+ border-color: hsl(var(--ring) / 0.55);
331
+ color: hsl(var(--foreground));
332
+ }
333
+
334
+ .ui-chip-active {
335
+ border-color: hsl(var(--brand));
336
+ background: hsl(var(--brand-soft));
337
+ color: hsl(var(--accent-foreground));
338
+ }
339
+
340
+ .ui-table {
341
+ width: 100%;
342
+ min-width: 40rem;
343
+ text-align: left;
344
+ font-size: 0.875rem;
345
+ }
346
+
347
+ .ui-table thead {
348
+ border-bottom: 1px solid hsl(var(--border));
349
+ background: hsl(var(--muted) / 0.58);
350
+ color: hsl(var(--muted-foreground));
351
+ font-size: 0.75rem;
352
+ letter-spacing: 0;
353
+ }
354
+
355
+ .ui-table tbody tr {
356
+ transition: background-color 160ms ease;
357
+ }
358
+
359
+ .ui-table tbody tr:hover {
360
+ background: hsl(var(--accent) / 0.62);
361
+ }
362
+
363
+ .ui-button-primary,
364
+ .ui-button-secondary,
365
+ .ui-button-ghost {
366
+ display: inline-flex;
367
+ min-height: 2.25rem;
368
+ align-items: center;
369
+ justify-content: center;
370
+ gap: 0.375rem;
371
+ border-radius: calc(var(--radius) - 2px);
372
+ padding: 0 0.875rem;
373
+ font-size: 0.875rem;
374
+ font-weight: 600;
375
+ line-height: 1;
376
+ transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
377
+ }
378
+
379
+ .ui-button-primary:focus-visible,
380
+ .ui-button-secondary:focus-visible,
381
+ .ui-button-ghost:focus-visible {
382
+ outline: 2px solid hsl(var(--ring));
383
+ outline-offset: 2px;
384
+ }
385
+
386
+ .ui-button-primary:disabled,
387
+ .ui-button-secondary:disabled,
388
+ .ui-button-ghost:disabled {
389
+ cursor: not-allowed;
390
+ opacity: 0.5;
391
+ }
392
+
393
+ .ui-button-primary {
394
+ border: 1px solid hsl(var(--primary));
395
+ background: hsl(var(--primary));
396
+ color: hsl(var(--primary-foreground));
397
+ box-shadow: 0 1px 2px hsl(var(--foreground) / 0.08);
398
+ }
399
+
400
+ .ui-button-primary:hover:not(:disabled) {
401
+ border-color: color-mix(in hsl, hsl(var(--primary)) 88%, hsl(var(--background)) 12%);
402
+ background: color-mix(in hsl, hsl(var(--primary)) 88%, hsl(var(--background)) 12%);
403
+ }
404
+
405
+ .ui-button-secondary {
406
+ border: 1px solid transparent;
407
+ background: hsl(var(--secondary));
408
+ color: hsl(var(--foreground));
409
+ }
410
+
411
+ .ui-button-secondary:hover:not(:disabled) {
412
+ border-color: transparent;
413
+ background: color-mix(in hsl, hsl(var(--secondary)) 82%, hsl(var(--foreground)) 18%);
414
+ color: hsl(var(--foreground));
415
+ }
416
+
417
+ .ui-button-danger {
418
+ border-color: hsl(var(--destructive));
419
+ background: hsl(var(--destructive));
420
+ color: hsl(var(--destructive-foreground));
421
+ }
422
+
423
+ .ui-button-danger:hover:not(:disabled) {
424
+ border-color: color-mix(in hsl, hsl(var(--destructive)) 88%, black 12%);
425
+ background: color-mix(in hsl, hsl(var(--destructive)) 88%, black 12%);
426
+ color: hsl(var(--destructive-foreground));
427
+ }
428
+
429
+ .ui-button-danger-secondary {
430
+ border-color: hsl(var(--destructive-text, var(--destructive)) / 0.42);
431
+ background: hsl(var(--card));
432
+ color: hsl(var(--destructive-text, var(--destructive)));
433
+ }
434
+
435
+ .ui-button-danger-secondary:hover:not(:disabled) {
436
+ border-color: hsl(var(--destructive-text, var(--destructive)) / 0.62);
437
+ background: hsl(var(--destructive) / 0.09);
438
+ color: hsl(var(--destructive-text, var(--destructive)));
439
+ }
440
+
441
+ .ui-button-ghost {
442
+ border: 1px solid transparent;
443
+ background: transparent;
444
+ color: hsl(var(--muted-foreground));
445
+ }
446
+
447
+ .ui-button-ghost:hover:not(:disabled) {
448
+ background: hsl(var(--accent));
449
+ color: hsl(var(--foreground));
450
+ }
451
+
452
+ .ui-button-sm {
453
+ min-height: 2rem;
454
+ padding: 0 0.625rem;
455
+ font-size: 0.75rem;
456
+ }
457
+
458
+ .ui-button-lg {
459
+ min-height: 2.75rem;
460
+ padding-inline: 1rem;
461
+ }
462
+
463
+ .ui-icon-button {
464
+ width: 2.25rem;
465
+ padding: 0;
466
+ }
467
+
468
+ .ui-icon-button-sm {
469
+ width: 2rem;
470
+ }
471
+
472
+ .ui-icon-button-lg {
473
+ width: 2.75rem;
474
+ }
475
+
476
+ .tp-search-input {
477
+ position: relative;
478
+ min-width: 0;
479
+ }
480
+
481
+ .tp-search-input__icon {
482
+ pointer-events: none;
483
+ position: absolute;
484
+ top: 50%;
485
+ left: 0.625rem;
486
+ z-index: 1;
487
+ width: 0.875rem;
488
+ height: 0.875rem;
489
+ transform: translateY(-50%);
490
+ color: hsl(var(--muted-foreground));
491
+ }
492
+
493
+ .tp-search-input__control {
494
+ padding-left: 2rem;
495
+ padding-right: 2.25rem;
496
+ }
497
+
498
+ .tp-search-input__control::-webkit-search-cancel-button {
499
+ appearance: none;
500
+ }
501
+
502
+ .tp-search-input__clear {
503
+ position: absolute;
504
+ top: 50%;
505
+ right: 0.25rem;
506
+ min-height: 1.75rem;
507
+ width: 1.75rem;
508
+ transform: translateY(-50%);
509
+ }
510
+
511
+ .tp-chat-shell {
512
+ display: flex;
513
+ height: 100%;
514
+ min-height: 0;
515
+ overflow: hidden;
516
+ background: hsl(var(--background));
517
+ color: hsl(var(--foreground));
518
+ }
519
+
520
+ .tp-chat-shell__grid {
521
+ display: grid;
522
+ min-height: 0;
523
+ width: 100%;
524
+ grid-template-columns: minmax(0, 1fr);
525
+ }
526
+
527
+ .tp-chat-shell__sidebar,
528
+ .tp-chat-shell__main,
529
+ .tp-chat-shell__right-panel {
530
+ min-height: 0;
531
+ min-width: 0;
532
+ overflow: hidden;
533
+ background: hsl(var(--background));
534
+ }
535
+
536
+ .tp-chat-shell__sidebar,
537
+ .tp-chat-shell__main {
538
+ flex-direction: column;
539
+ }
540
+
541
+ [data-mobile-pane="sidebar"] .tp-chat-shell__sidebar,
542
+ [data-mobile-pane="chat"] .tp-chat-shell__main {
543
+ display: flex;
544
+ }
545
+
546
+ [data-mobile-pane="chat"] .tp-chat-shell__sidebar,
547
+ [data-mobile-pane="sidebar"] .tp-chat-shell__main,
548
+ .tp-chat-shell__right-panel {
549
+ display: none;
550
+ }
551
+
552
+ .tp-chat-shell__sidebar-slot,
553
+ .tp-chat-shell__content {
554
+ min-height: 0;
555
+ flex: 1;
556
+ overflow: hidden;
557
+ }
558
+
559
+ .tp-chat-shell__content {
560
+ display: flex;
561
+ flex-direction: column;
562
+ }
563
+
564
+ .tp-chat-shell__header {
565
+ display: flex;
566
+ min-height: 2.75rem;
567
+ flex: none;
568
+ align-items: center;
569
+ gap: 0.375rem;
570
+ padding: 0 0.625rem;
571
+ }
572
+
573
+ .tp-chat-shell__sidebar-mobile-toolbar {
574
+ display: flex;
575
+ min-height: 2.75rem;
576
+ flex: none;
577
+ align-items: center;
578
+ justify-content: flex-end;
579
+ padding: 0 0.625rem;
580
+ }
581
+
582
+ .tp-chat-shell__header-slot {
583
+ display: flex;
584
+ min-width: 0;
585
+ flex: 1;
586
+ align-items: center;
587
+ justify-content: space-between;
588
+ gap: 0.75rem;
589
+ }
590
+
591
+ .tp-chat-shell__toggle {
592
+ display: inline-flex;
593
+ width: 1.875rem;
594
+ height: 1.875rem;
595
+ min-height: 1.875rem;
596
+ flex: none;
597
+ align-items: center;
598
+ justify-content: center;
599
+ border: 0;
600
+ border-radius: calc(var(--radius) - 2px);
601
+ background: transparent;
602
+ padding: 0;
603
+ color: hsl(var(--muted-foreground));
604
+ cursor: pointer;
605
+ }
606
+
607
+ .tp-chat-shell__toggle:hover {
608
+ background: hsl(var(--muted));
609
+ color: hsl(var(--foreground));
610
+ }
611
+
612
+ .tp-chat-shell__toggle:focus-visible {
613
+ outline: 2px solid hsl(var(--ring));
614
+ outline-offset: 2px;
615
+ }
616
+
617
+ .tp-chat-shell__toggle-icon {
618
+ width: 1.125rem;
619
+ height: 1.125rem;
620
+ }
621
+
622
+ .tp-chat-shell__toggle--desktop {
623
+ display: none;
624
+ }
625
+
626
+ @media (min-width: 1024px) {
627
+ .tp-chat-shell[data-sidebar-open="true"] .tp-chat-shell__grid {
628
+ grid-template-columns: var(--chat-ui-sidebar-width, 15rem) minmax(0, 1fr);
629
+ }
630
+
631
+ .tp-chat-shell[data-sidebar-open="true"] .tp-chat-shell__sidebar,
632
+ .tp-chat-shell .tp-chat-shell__main {
633
+ display: flex;
634
+ }
635
+
636
+ .tp-chat-shell[data-sidebar-open="false"] .tp-chat-shell__sidebar {
637
+ display: none;
638
+ }
639
+
640
+ .tp-chat-shell__sidebar-mobile-toolbar,
641
+ .tp-chat-shell__toggle--mobile {
642
+ display: none;
643
+ }
644
+
645
+ .tp-chat-shell__toggle--desktop {
646
+ display: inline-flex;
647
+ }
648
+
649
+ }
650
+
651
+ @media (min-width: 1280px) {
652
+ .tp-chat-shell[data-right-panel-open="true"] .tp-chat-shell__grid {
653
+ grid-template-columns: minmax(0, 1fr) var(--chat-ui-right-panel-width, 20rem);
654
+ }
655
+
656
+ .tp-chat-shell[data-sidebar-open="true"][data-right-panel-open="true"] .tp-chat-shell__grid {
657
+ grid-template-columns: var(--chat-ui-sidebar-width, 15rem) minmax(0, 1fr) var(--chat-ui-right-panel-width, 20rem);
658
+ }
659
+
660
+ .tp-chat-shell[data-right-panel-open="true"] .tp-chat-shell__right-panel {
661
+ display: flex;
662
+ flex-direction: column;
663
+ border-left: 1px solid hsl(var(--border));
664
+ }
665
+ }
666
+
667
+ @media (pointer: coarse), (max-width: 640px) {
668
+ .ui-button-primary,
669
+ .ui-button-secondary,
670
+ .ui-button-ghost,
671
+ .ui-button-sm {
672
+ min-height: 2.75rem;
673
+ }
674
+
675
+ .ui-icon-button,
676
+ .ui-icon-button-sm {
677
+ width: 2.75rem;
678
+ }
679
+
680
+ .tp-search-input__clear {
681
+ min-height: 2rem;
682
+ width: 2rem;
683
+ }
684
+
685
+ .ui-page {
686
+ padding: 1rem;
687
+ }
688
+
689
+ .ui-chip {
690
+ min-height: 2.75rem;
691
+ }
692
+ }
693
+ }