@agent-platform/ui 0.0.9 → 0.0.10

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/README.md CHANGED
@@ -8,6 +8,16 @@ Agent Platform の共有 UI コンポーネントライブラリです。
8
8
  pnpm add @agent-platform/ui
9
9
  ```
10
10
 
11
+ ## インストール後
12
+
13
+ `import { AgentScreen }` だけで基本スタイルが適用されます。
14
+
15
+ ```tsx
16
+ import { AgentScreen } from '@agent-platform/ui';
17
+ ```
18
+
19
+ 必要に応じてテーマ変数だけを直接使いたい場合は `styles/globals.css` を明示的に import してください。
20
+
11
21
  ```css
12
22
  @import "@agent-platform/ui/styles/globals.css";
13
23
  ```
@@ -14,7 +14,6 @@ function AgentContainerView({ onNewChatClick, cards, onCardClick, inputProps, cl
14
14
  isLoading,
15
15
  hasActiveApprovalRequest: Boolean(activeApprovalRequest),
16
16
  });
17
- const maxWidth = 1120;
18
- return (_jsxs("div", { "data-slot": "agent-container", className: cn(`flex h-full w-full flex-col mx-auto max-w-[${maxWidth}px]`, className), children: [_jsx(AgentHeader, { onNewChatClick: onNewChatClick }), layoutState.shouldShowMessages ? (_jsxs("div", { className: "flex-1 overflow-y-auto bg-white pb-[97px]", children: [_jsx(MessageList, { messages: messages, pendingToolCalls: pendingToolCalls, toolNameLabels: toolNameLabels, isLoading: isLoading }), error && (_jsx("div", { className: "mx-4 mb-4 rounded-lg bg-red-50 p-3 text-sm text-red-600", children: error }))] })) : (_jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-6 bg-background px-4 py-4", children: [_jsx(AgentGreeting, {}), cards && _jsx(AgentHomeCards, { cards: cards, onCardClick: onCardClick })] })), _jsxs("div", { className: `fixed bottom-0 left-0 right-0 mx-auto w-full max-w-[${maxWidth}px] bg-background`, children: [layoutState.shouldShowInput && _jsx(AgentInput, { ...inputProps }), layoutState.shouldShowToolApprovalPanel && (_jsx(ToolApprovalPanel, { activeApprovalRequest: activeApprovalRequest, approveToolCall: approveToolCall, rejectToolCall: rejectToolCall, toolApprovalLabels: toolApprovalLabels }))] })] }));
17
+ return (_jsxs("div", { "data-slot": "agent-container", className: cn('flex h-full w-full flex-col mx-auto max-w-[1120px]', className), children: [_jsx(AgentHeader, { onNewChatClick: onNewChatClick }), layoutState.shouldShowMessages ? (_jsxs("div", { className: "flex-1 overflow-y-auto bg-white pb-[97px]", children: [_jsx(MessageList, { messages: messages, pendingToolCalls: pendingToolCalls, toolNameLabels: toolNameLabels, isLoading: isLoading }), error && (_jsx("div", { className: "mx-4 mb-4 rounded-lg bg-red-50 p-3 text-sm text-red-600", children: error }))] })) : (_jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-6 bg-background px-4 py-4", children: [_jsx(AgentGreeting, {}), cards && _jsx(AgentHomeCards, { cards: cards, onCardClick: onCardClick })] })), _jsxs("div", { className: "fixed bottom-0 left-0 right-0 mx-auto w-full max-w-[1120px] bg-background", children: [layoutState.shouldShowInput && _jsx(AgentInput, { ...inputProps }), layoutState.shouldShowToolApprovalPanel && (_jsx(ToolApprovalPanel, { activeApprovalRequest: activeApprovalRequest, approveToolCall: approveToolCall, rejectToolCall: rejectToolCall, toolApprovalLabels: toolApprovalLabels }))] })] }));
19
18
  }
20
19
  export { AgentContainerView };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ import './styles/globals.css';
1
2
  export { AgentScreen } from './components/agent';
2
3
  export type { AgentScreenProps, AgentHomeCardProps } from './components/agent';
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
+ import './styles/globals.css';
1
2
  export { AgentScreen } from './components/agent';
@@ -1,8 +1,780 @@
1
- /*
2
- * @agent-platform/ui 共有テーマ定義
3
- * 消費側で @import "@agent-platform/ui/styles/globals.css" として使用
4
- * 注意: @import "tailwindcss" は消費側で行う
5
- */
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, base, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
7
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
+ "Courier New", monospace;
10
+ --color-red-50: oklch(97.1% 0.013 17.38);
11
+ --color-red-600: oklch(57.7% 0.245 27.325);
12
+ --color-amber-50: oklch(98.7% 0.022 95.277);
13
+ --color-amber-300: oklch(87.9% 0.169 91.605);
14
+ --color-amber-700: oklch(55.5% 0.163 48.998);
15
+ --color-amber-950: oklch(27.9% 0.077 45.635);
16
+ --color-green-50: oklch(98.2% 0.018 155.826);
17
+ --color-green-400: oklch(79.2% 0.209 151.711);
18
+ --color-green-600: oklch(62.7% 0.194 149.214);
19
+ --color-green-950: oklch(26.6% 0.065 152.934);
20
+ --color-white: #fff;
21
+ --spacing: 0.25rem;
22
+ --container-xl: 36rem;
23
+ --text-xs: 0.75rem;
24
+ --text-xs--line-height: calc(1 / 0.75);
25
+ --text-sm: 0.875rem;
26
+ --text-sm--line-height: calc(1.25 / 0.875);
27
+ --text-base: 1rem;
28
+ --text-base--line-height: calc(1.5 / 1);
29
+ --text-lg: 1.125rem;
30
+ --text-lg--line-height: calc(1.75 / 1.125);
31
+ --font-weight-medium: 500;
32
+ --font-weight-semibold: 600;
33
+ --font-weight-bold: 700;
34
+ --tracking-tight: -0.025em;
35
+ --leading-relaxed: 1.625;
36
+ --radius-md: 0.375rem;
37
+ --radius-lg: 0.5rem;
38
+ --animate-spin: spin 1s linear infinite;
39
+ --default-transition-duration: 150ms;
40
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
41
+ --default-font-family: var(--font-sans);
42
+ --default-mono-font-family: var(--font-mono);
43
+ }
44
+ }
45
+ @layer base {
46
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
47
+ box-sizing: border-box;
48
+ margin: 0;
49
+ padding: 0;
50
+ border: 0 solid;
51
+ }
52
+ html, :host {
53
+ line-height: 1.5;
54
+ -webkit-text-size-adjust: 100%;
55
+ tab-size: 4;
56
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
57
+ font-feature-settings: var(--default-font-feature-settings, normal);
58
+ font-variation-settings: var(--default-font-variation-settings, normal);
59
+ -webkit-tap-highlight-color: transparent;
60
+ }
61
+ hr {
62
+ height: 0;
63
+ color: inherit;
64
+ border-top-width: 1px;
65
+ }
66
+ abbr:where([title]) {
67
+ -webkit-text-decoration: underline dotted;
68
+ text-decoration: underline dotted;
69
+ }
70
+ h1, h2, h3, h4, h5, h6 {
71
+ font-size: inherit;
72
+ font-weight: inherit;
73
+ }
74
+ a {
75
+ color: inherit;
76
+ -webkit-text-decoration: inherit;
77
+ text-decoration: inherit;
78
+ }
79
+ b, strong {
80
+ font-weight: bolder;
81
+ }
82
+ code, kbd, samp, pre {
83
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
84
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
85
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
86
+ font-size: 1em;
87
+ }
88
+ small {
89
+ font-size: 80%;
90
+ }
91
+ sub, sup {
92
+ font-size: 75%;
93
+ line-height: 0;
94
+ position: relative;
95
+ vertical-align: baseline;
96
+ }
97
+ sub {
98
+ bottom: -0.25em;
99
+ }
100
+ sup {
101
+ top: -0.5em;
102
+ }
103
+ table {
104
+ text-indent: 0;
105
+ border-color: inherit;
106
+ border-collapse: collapse;
107
+ }
108
+ :-moz-focusring {
109
+ outline: auto;
110
+ }
111
+ progress {
112
+ vertical-align: baseline;
113
+ }
114
+ summary {
115
+ display: list-item;
116
+ }
117
+ ol, ul, menu {
118
+ list-style: none;
119
+ }
120
+ img, svg, video, canvas, audio, iframe, embed, object {
121
+ display: block;
122
+ vertical-align: middle;
123
+ }
124
+ img, video {
125
+ max-width: 100%;
126
+ height: auto;
127
+ }
128
+ button, input, select, optgroup, textarea, ::file-selector-button {
129
+ font: inherit;
130
+ font-feature-settings: inherit;
131
+ font-variation-settings: inherit;
132
+ letter-spacing: inherit;
133
+ color: inherit;
134
+ border-radius: 0;
135
+ background-color: transparent;
136
+ opacity: 1;
137
+ }
138
+ :where(select:is([multiple], [size])) optgroup {
139
+ font-weight: bolder;
140
+ }
141
+ :where(select:is([multiple], [size])) optgroup option {
142
+ padding-inline-start: 20px;
143
+ }
144
+ ::file-selector-button {
145
+ margin-inline-end: 4px;
146
+ }
147
+ ::placeholder {
148
+ opacity: 1;
149
+ }
150
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
151
+ ::placeholder {
152
+ color: currentcolor;
153
+ @supports (color: color-mix(in lab, red, red)) {
154
+ color: color-mix(in oklab, currentcolor 50%, transparent);
155
+ }
156
+ }
157
+ }
158
+ textarea {
159
+ resize: vertical;
160
+ }
161
+ ::-webkit-search-decoration {
162
+ -webkit-appearance: none;
163
+ }
164
+ ::-webkit-date-and-time-value {
165
+ min-height: 1lh;
166
+ text-align: inherit;
167
+ }
168
+ ::-webkit-datetime-edit {
169
+ display: inline-flex;
170
+ }
171
+ ::-webkit-datetime-edit-fields-wrapper {
172
+ padding: 0;
173
+ }
174
+ ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
175
+ padding-block: 0;
176
+ }
177
+ ::-webkit-calendar-picker-indicator {
178
+ line-height: 1;
179
+ }
180
+ :-moz-ui-invalid {
181
+ box-shadow: none;
182
+ }
183
+ button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
184
+ appearance: button;
185
+ }
186
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
187
+ height: auto;
188
+ }
189
+ [hidden]:where(:not([hidden="until-found"])) {
190
+ display: none !important;
191
+ }
192
+ }
193
+ @layer utilities {
194
+ .fixed {
195
+ position: fixed;
196
+ }
197
+ .right-0 {
198
+ right: calc(var(--spacing) * 0);
199
+ }
200
+ .bottom-0 {
201
+ bottom: calc(var(--spacing) * 0);
202
+ }
203
+ .left-0 {
204
+ left: calc(var(--spacing) * 0);
205
+ }
206
+ .mx-4 {
207
+ margin-inline: calc(var(--spacing) * 4);
208
+ }
209
+ .mx-auto {
210
+ margin-inline: auto;
211
+ }
212
+ .my-1 {
213
+ margin-block: calc(var(--spacing) * 1);
214
+ }
215
+ .my-1\.5 {
216
+ margin-block: calc(var(--spacing) * 1.5);
217
+ }
218
+ .my-3 {
219
+ margin-block: calc(var(--spacing) * 3);
220
+ }
221
+ .mt-1 {
222
+ margin-top: calc(var(--spacing) * 1);
223
+ }
224
+ .mt-2 {
225
+ margin-top: calc(var(--spacing) * 2);
226
+ }
227
+ .mt-2\.5 {
228
+ margin-top: calc(var(--spacing) * 2.5);
229
+ }
230
+ .mt-3 {
231
+ margin-top: calc(var(--spacing) * 3);
232
+ }
233
+ .mb-0\.5 {
234
+ margin-bottom: calc(var(--spacing) * 0.5);
235
+ }
236
+ .mb-1 {
237
+ margin-bottom: calc(var(--spacing) * 1);
238
+ }
239
+ .mb-4 {
240
+ margin-bottom: calc(var(--spacing) * 4);
241
+ }
242
+ .ml-2 {
243
+ margin-left: calc(var(--spacing) * 2);
244
+ }
245
+ .ml-4 {
246
+ margin-left: calc(var(--spacing) * 4);
247
+ }
248
+ .flex {
249
+ display: flex;
250
+ }
251
+ .inline-flex {
252
+ display: inline-flex;
253
+ }
254
+ .table {
255
+ display: table;
256
+ }
257
+ .field-sizing-content {
258
+ field-sizing: content;
259
+ }
260
+ .size-4 {
261
+ width: calc(var(--spacing) * 4);
262
+ height: calc(var(--spacing) * 4);
263
+ }
264
+ .size-5 {
265
+ width: calc(var(--spacing) * 5);
266
+ height: calc(var(--spacing) * 5);
267
+ }
268
+ .size-6 {
269
+ width: calc(var(--spacing) * 6);
270
+ height: calc(var(--spacing) * 6);
271
+ }
272
+ .size-8 {
273
+ width: calc(var(--spacing) * 8);
274
+ height: calc(var(--spacing) * 8);
275
+ }
276
+ .size-10 {
277
+ width: calc(var(--spacing) * 10);
278
+ height: calc(var(--spacing) * 10);
279
+ }
280
+ .h-0\.5 {
281
+ height: calc(var(--spacing) * 0.5);
282
+ }
283
+ .h-3 {
284
+ height: calc(var(--spacing) * 3);
285
+ }
286
+ .h-6 {
287
+ height: calc(var(--spacing) * 6);
288
+ }
289
+ .h-9 {
290
+ height: calc(var(--spacing) * 9);
291
+ }
292
+ .h-10 {
293
+ height: calc(var(--spacing) * 10);
294
+ }
295
+ .h-11 {
296
+ height: calc(var(--spacing) * 11);
297
+ }
298
+ .h-full {
299
+ height: 100%;
300
+ }
301
+ .max-h-40 {
302
+ max-height: calc(var(--spacing) * 40);
303
+ }
304
+ .min-h-8 {
305
+ min-height: calc(var(--spacing) * 8);
306
+ }
307
+ .min-h-16 {
308
+ min-height: calc(var(--spacing) * 16);
309
+ }
310
+ .w-0\.5 {
311
+ width: calc(var(--spacing) * 0.5);
312
+ }
313
+ .w-3 {
314
+ width: calc(var(--spacing) * 3);
315
+ }
316
+ .w-full {
317
+ width: 100%;
318
+ }
319
+ .max-w-3\/4 {
320
+ max-width: calc(3/4 * 100%);
321
+ }
322
+ .max-w-\[1120px\] {
323
+ max-width: 1120px;
324
+ }
325
+ .max-w-xl {
326
+ max-width: var(--container-xl);
327
+ }
328
+ .min-w-full {
329
+ min-width: 100%;
330
+ }
331
+ .flex-1 {
332
+ flex: 1;
333
+ }
334
+ .shrink-0 {
335
+ flex-shrink: 0;
336
+ }
337
+ .border-collapse {
338
+ border-collapse: collapse;
339
+ }
340
+ .animate-spin {
341
+ animation: var(--animate-spin);
342
+ }
343
+ .cursor-pointer {
344
+ cursor: pointer;
345
+ }
346
+ .resize-none {
347
+ resize: none;
348
+ }
349
+ .list-inside {
350
+ list-style-position: inside;
351
+ }
352
+ .list-decimal {
353
+ list-style-type: decimal;
354
+ }
355
+ .list-disc {
356
+ list-style-type: disc;
357
+ }
358
+ .flex-col {
359
+ flex-direction: column;
360
+ }
361
+ .items-center {
362
+ align-items: center;
363
+ }
364
+ .items-end {
365
+ align-items: flex-end;
366
+ }
367
+ .items-start {
368
+ align-items: flex-start;
369
+ }
370
+ .justify-between {
371
+ justify-content: space-between;
372
+ }
373
+ .justify-center {
374
+ justify-content: center;
375
+ }
376
+ .justify-end {
377
+ justify-content: flex-end;
378
+ }
379
+ .justify-start {
380
+ justify-content: flex-start;
381
+ }
382
+ .gap-0\.5 {
383
+ gap: calc(var(--spacing) * 0.5);
384
+ }
385
+ .gap-1 {
386
+ gap: calc(var(--spacing) * 1);
387
+ }
388
+ .gap-1\.5 {
389
+ gap: calc(var(--spacing) * 1.5);
390
+ }
391
+ .gap-2 {
392
+ gap: calc(var(--spacing) * 2);
393
+ }
394
+ .gap-2\.5 {
395
+ gap: calc(var(--spacing) * 2.5);
396
+ }
397
+ .gap-3 {
398
+ gap: calc(var(--spacing) * 3);
399
+ }
400
+ .gap-4 {
401
+ gap: calc(var(--spacing) * 4);
402
+ }
403
+ .gap-6 {
404
+ gap: calc(var(--spacing) * 6);
405
+ }
406
+ .space-y-1\.5 {
407
+ :where(& > :not(:last-child)) {
408
+ --tw-space-y-reverse: 0;
409
+ margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
410
+ margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
411
+ }
412
+ }
413
+ .overflow-auto {
414
+ overflow: auto;
415
+ }
416
+ .overflow-x-auto {
417
+ overflow-x: auto;
418
+ }
419
+ .overflow-y-auto {
420
+ overflow-y: auto;
421
+ }
422
+ .rounded {
423
+ border-radius: 0.25rem;
424
+ }
425
+ .rounded-full {
426
+ border-radius: calc(infinity * 1px);
427
+ }
428
+ .rounded-lg {
429
+ border-radius: var(--radius-lg);
430
+ }
431
+ .rounded-md {
432
+ border-radius: var(--radius-md);
433
+ }
434
+ .border {
435
+ border-style: var(--tw-border-style);
436
+ border-width: 1px;
437
+ }
438
+ .border-t {
439
+ border-top-style: var(--tw-border-style);
440
+ border-top-width: 1px;
441
+ }
442
+ .border-l-2 {
443
+ border-left-style: var(--tw-border-style);
444
+ border-left-width: 2px;
445
+ }
446
+ .border-none {
447
+ --tw-border-style: none;
448
+ border-style: none;
449
+ }
450
+ .border-t-transparent {
451
+ border-top-color: transparent;
452
+ }
453
+ .bg-amber-50 {
454
+ background-color: var(--color-amber-50);
455
+ }
456
+ .bg-green-50 {
457
+ background-color: var(--color-green-50);
458
+ }
459
+ .bg-red-50 {
460
+ background-color: var(--color-red-50);
461
+ }
462
+ .bg-transparent {
463
+ background-color: transparent;
464
+ }
465
+ .bg-white {
466
+ background-color: var(--color-white);
467
+ }
468
+ .p-1 {
469
+ padding: calc(var(--spacing) * 1);
470
+ }
471
+ .p-2 {
472
+ padding: calc(var(--spacing) * 2);
473
+ }
474
+ .p-3 {
475
+ padding: calc(var(--spacing) * 3);
476
+ }
477
+ .px-1 {
478
+ padding-inline: calc(var(--spacing) * 1);
479
+ }
480
+ .px-2 {
481
+ padding-inline: calc(var(--spacing) * 2);
482
+ }
483
+ .px-3 {
484
+ padding-inline: calc(var(--spacing) * 3);
485
+ }
486
+ .px-4 {
487
+ padding-inline: calc(var(--spacing) * 4);
488
+ }
489
+ .px-6 {
490
+ padding-inline: calc(var(--spacing) * 6);
491
+ }
492
+ .px-12 {
493
+ padding-inline: calc(var(--spacing) * 12);
494
+ }
495
+ .py-0\.5 {
496
+ padding-block: calc(var(--spacing) * 0.5);
497
+ }
498
+ .py-1\.5 {
499
+ padding-block: calc(var(--spacing) * 1.5);
500
+ }
501
+ .py-2 {
502
+ padding-block: calc(var(--spacing) * 2);
503
+ }
504
+ .py-4 {
505
+ padding-block: calc(var(--spacing) * 4);
506
+ }
507
+ .pt-1 {
508
+ padding-top: calc(var(--spacing) * 1);
509
+ }
510
+ .pt-2 {
511
+ padding-top: calc(var(--spacing) * 2);
512
+ }
513
+ .pb-3 {
514
+ padding-bottom: calc(var(--spacing) * 3);
515
+ }
516
+ .pb-\[97px\] {
517
+ padding-bottom: 97px;
518
+ }
519
+ .pl-2 {
520
+ padding-left: calc(var(--spacing) * 2);
521
+ }
522
+ .pl-3 {
523
+ padding-left: calc(var(--spacing) * 3);
524
+ }
525
+ .text-center {
526
+ text-align: center;
527
+ }
528
+ .text-left {
529
+ text-align: left;
530
+ }
531
+ .text-base {
532
+ font-size: var(--text-base);
533
+ line-height: var(--tw-leading, var(--text-base--line-height));
534
+ }
535
+ .text-lg {
536
+ font-size: var(--text-lg);
537
+ line-height: var(--tw-leading, var(--text-lg--line-height));
538
+ }
539
+ .text-sm {
540
+ font-size: var(--text-sm);
541
+ line-height: var(--tw-leading, var(--text-sm--line-height));
542
+ }
543
+ .text-xs {
544
+ font-size: var(--text-xs);
545
+ line-height: var(--tw-leading, var(--text-xs--line-height));
546
+ }
547
+ .text-\[11px\] {
548
+ font-size: 11px;
549
+ }
550
+ .leading-none {
551
+ --tw-leading: 1;
552
+ line-height: 1;
553
+ }
554
+ .leading-relaxed {
555
+ --tw-leading: var(--leading-relaxed);
556
+ line-height: var(--leading-relaxed);
557
+ }
558
+ .font-bold {
559
+ --tw-font-weight: var(--font-weight-bold);
560
+ font-weight: var(--font-weight-bold);
561
+ }
562
+ .font-medium {
563
+ --tw-font-weight: var(--font-weight-medium);
564
+ font-weight: var(--font-weight-medium);
565
+ }
566
+ .font-semibold {
567
+ --tw-font-weight: var(--font-weight-semibold);
568
+ font-weight: var(--font-weight-semibold);
569
+ }
570
+ .tracking-tight {
571
+ --tw-tracking: var(--tracking-tight);
572
+ letter-spacing: var(--tracking-tight);
573
+ }
574
+ .text-balance {
575
+ text-wrap: balance;
576
+ }
577
+ .whitespace-nowrap {
578
+ white-space: nowrap;
579
+ }
580
+ .whitespace-pre-wrap {
581
+ white-space: pre-wrap;
582
+ }
583
+ .text-amber-700 {
584
+ color: var(--color-amber-700);
585
+ }
586
+ .text-green-600 {
587
+ color: var(--color-green-600);
588
+ }
589
+ .text-red-600 {
590
+ color: var(--color-red-600);
591
+ }
592
+ .text-white {
593
+ color: var(--color-white);
594
+ }
595
+ .italic {
596
+ font-style: italic;
597
+ }
598
+ .underline {
599
+ text-decoration-line: underline;
600
+ }
601
+ .underline-offset-4 {
602
+ text-underline-offset: 4px;
603
+ }
604
+ .opacity-75 {
605
+ opacity: 75%;
606
+ }
607
+ .shadow-sm {
608
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
609
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
610
+ }
611
+ .outline {
612
+ outline-style: var(--tw-outline-style);
613
+ outline-width: 1px;
614
+ }
615
+ .transition-all {
616
+ transition-property: all;
617
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
618
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
619
+ }
620
+ .transition-colors {
621
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
622
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
623
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
624
+ }
625
+ .outline-none {
626
+ --tw-outline-style: none;
627
+ outline-style: none;
628
+ }
629
+ .\[animation-delay\:0ms\] {
630
+ animation-delay: 0ms;
631
+ }
632
+ .\[animation-delay\:150ms\] {
633
+ animation-delay: 150ms;
634
+ }
635
+ .\[animation-delay\:300ms\] {
636
+ animation-delay: 300ms;
637
+ }
638
+ .\[publish\:check-auth\] {
639
+ publish: check-auth;
640
+ }
641
+ .first\:mt-0 {
642
+ &:first-child {
643
+ margin-top: calc(var(--spacing) * 0);
644
+ }
645
+ }
646
+ .last\:mb-0 {
647
+ &:last-child {
648
+ margin-bottom: calc(var(--spacing) * 0);
649
+ }
650
+ }
651
+ .hover\:underline {
652
+ &:hover {
653
+ @media (hover: hover) {
654
+ text-decoration-line: underline;
655
+ }
656
+ }
657
+ }
658
+ .focus-visible\:border-0 {
659
+ &:focus-visible {
660
+ border-style: var(--tw-border-style);
661
+ border-width: 0px;
662
+ }
663
+ }
664
+ .focus-visible\:ring-0 {
665
+ &:focus-visible {
666
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
667
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
668
+ }
669
+ }
670
+ .focus-visible\:ring-\[3px\] {
671
+ &:focus-visible {
672
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
673
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
674
+ }
675
+ }
676
+ .focus-visible\:outline-none {
677
+ &:focus-visible {
678
+ --tw-outline-style: none;
679
+ outline-style: none;
680
+ }
681
+ }
682
+ .disabled\:pointer-events-none {
683
+ &:disabled {
684
+ pointer-events: none;
685
+ }
686
+ }
687
+ .disabled\:cursor-not-allowed {
688
+ &:disabled {
689
+ cursor: not-allowed;
690
+ }
691
+ }
692
+ .disabled\:opacity-50 {
693
+ &:disabled {
694
+ opacity: 50%;
695
+ }
696
+ }
697
+ .has-\[\>svg\]\:px-1\.5 {
698
+ &:has(>svg) {
699
+ padding-inline: calc(var(--spacing) * 1.5);
700
+ }
701
+ }
702
+ .has-\[\>svg\]\:px-2\.5 {
703
+ &:has(>svg) {
704
+ padding-inline: calc(var(--spacing) * 2.5);
705
+ }
706
+ }
707
+ .has-\[\>svg\]\:px-3 {
708
+ &:has(>svg) {
709
+ padding-inline: calc(var(--spacing) * 3);
710
+ }
711
+ }
712
+ .has-\[\>svg\]\:px-4 {
713
+ &:has(>svg) {
714
+ padding-inline: calc(var(--spacing) * 4);
715
+ }
716
+ }
717
+ .md\:text-sm {
718
+ @media (width >= 48rem) {
719
+ font-size: var(--text-sm);
720
+ line-height: var(--tw-leading, var(--text-sm--line-height));
721
+ }
722
+ }
723
+ .dark\:bg-amber-950 {
724
+ @media (prefers-color-scheme: dark) {
725
+ background-color: var(--color-amber-950);
726
+ }
727
+ }
728
+ .dark\:bg-green-950 {
729
+ @media (prefers-color-scheme: dark) {
730
+ background-color: var(--color-green-950);
731
+ }
732
+ }
733
+ .dark\:text-amber-300 {
734
+ @media (prefers-color-scheme: dark) {
735
+ color: var(--color-amber-300);
736
+ }
737
+ }
738
+ .dark\:text-green-400 {
739
+ @media (prefers-color-scheme: dark) {
740
+ color: var(--color-green-400);
741
+ }
742
+ }
743
+ .\[\&_svg\]\:pointer-events-none {
744
+ & svg {
745
+ pointer-events: none;
746
+ }
747
+ }
748
+ .\[\&_svg\]\:size-5 {
749
+ & svg {
750
+ width: calc(var(--spacing) * 5);
751
+ height: calc(var(--spacing) * 5);
752
+ }
753
+ }
754
+ .\[\&_svg\]\:shrink-0 {
755
+ & svg {
756
+ flex-shrink: 0;
757
+ }
758
+ }
759
+ .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 {
760
+ & svg:not([class*='size-']) {
761
+ width: calc(var(--spacing) * 3);
762
+ height: calc(var(--spacing) * 3);
763
+ }
764
+ }
765
+ .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
766
+ & svg:not([class*='size-']) {
767
+ width: calc(var(--spacing) * 4);
768
+ height: calc(var(--spacing) * 4);
769
+ }
770
+ }
771
+ .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-5 {
772
+ & svg:not([class*='size-']) {
773
+ width: calc(var(--spacing) * 5);
774
+ height: calc(var(--spacing) * 5);
775
+ }
776
+ }
777
+ }
6
778
  :root {
7
779
  --background: oklch(1 0 0);
8
780
  --foreground: oklch(0.145 0 0);
@@ -38,7 +810,6 @@
38
810
  --sidebar-border: oklch(0.922 0 0);
39
811
  --sidebar-ring: oklch(0.708 0 0);
40
812
  }
41
-
42
813
  .dark {
43
814
  --background: oklch(0.145 0 0);
44
815
  --foreground: oklch(0.985 0 0);
@@ -73,31 +844,144 @@
73
844
  --sidebar-border: oklch(1 0 0 / 10%);
74
845
  --sidebar-ring: oklch(0.556 0 0);
75
846
  }
76
-
77
- /* Custom animations for agent loading states */
78
847
  @layer utilities {
79
848
  @keyframes dot-fade {
80
- 0%,
81
- 80%,
82
- 100% {
849
+ 0%, 80%, 100% {
83
850
  opacity: 0.35;
84
851
  }
85
852
  40% {
86
853
  opacity: 1;
87
854
  }
88
855
  }
89
-
90
856
  .animate-dot-fade {
91
857
  animation: dot-fade 1.2s ease-in-out infinite;
92
858
  }
93
859
  }
94
-
95
- /* Respect reduced motion preferences */
96
860
  @media (prefers-reduced-motion: reduce) {
97
- .animate-dot-fade,
98
- .animate-ping,
99
- .animate-pulse,
100
- .animate-bounce {
861
+ .animate-dot-fade, .animate-ping, .animate-pulse, .animate-bounce {
101
862
  animation: none;
102
863
  }
103
864
  }
865
+ @property --tw-space-y-reverse {
866
+ syntax: "*";
867
+ inherits: false;
868
+ initial-value: 0;
869
+ }
870
+ @property --tw-border-style {
871
+ syntax: "*";
872
+ inherits: false;
873
+ initial-value: solid;
874
+ }
875
+ @property --tw-leading {
876
+ syntax: "*";
877
+ inherits: false;
878
+ }
879
+ @property --tw-font-weight {
880
+ syntax: "*";
881
+ inherits: false;
882
+ }
883
+ @property --tw-tracking {
884
+ syntax: "*";
885
+ inherits: false;
886
+ }
887
+ @property --tw-shadow {
888
+ syntax: "*";
889
+ inherits: false;
890
+ initial-value: 0 0 #0000;
891
+ }
892
+ @property --tw-shadow-color {
893
+ syntax: "*";
894
+ inherits: false;
895
+ }
896
+ @property --tw-shadow-alpha {
897
+ syntax: "<percentage>";
898
+ inherits: false;
899
+ initial-value: 100%;
900
+ }
901
+ @property --tw-inset-shadow {
902
+ syntax: "*";
903
+ inherits: false;
904
+ initial-value: 0 0 #0000;
905
+ }
906
+ @property --tw-inset-shadow-color {
907
+ syntax: "*";
908
+ inherits: false;
909
+ }
910
+ @property --tw-inset-shadow-alpha {
911
+ syntax: "<percentage>";
912
+ inherits: false;
913
+ initial-value: 100%;
914
+ }
915
+ @property --tw-ring-color {
916
+ syntax: "*";
917
+ inherits: false;
918
+ }
919
+ @property --tw-ring-shadow {
920
+ syntax: "*";
921
+ inherits: false;
922
+ initial-value: 0 0 #0000;
923
+ }
924
+ @property --tw-inset-ring-color {
925
+ syntax: "*";
926
+ inherits: false;
927
+ }
928
+ @property --tw-inset-ring-shadow {
929
+ syntax: "*";
930
+ inherits: false;
931
+ initial-value: 0 0 #0000;
932
+ }
933
+ @property --tw-ring-inset {
934
+ syntax: "*";
935
+ inherits: false;
936
+ }
937
+ @property --tw-ring-offset-width {
938
+ syntax: "<length>";
939
+ inherits: false;
940
+ initial-value: 0px;
941
+ }
942
+ @property --tw-ring-offset-color {
943
+ syntax: "*";
944
+ inherits: false;
945
+ initial-value: #fff;
946
+ }
947
+ @property --tw-ring-offset-shadow {
948
+ syntax: "*";
949
+ inherits: false;
950
+ initial-value: 0 0 #0000;
951
+ }
952
+ @property --tw-outline-style {
953
+ syntax: "*";
954
+ inherits: false;
955
+ initial-value: solid;
956
+ }
957
+ @keyframes spin {
958
+ to {
959
+ transform: rotate(360deg);
960
+ }
961
+ }
962
+ @layer properties {
963
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
964
+ *, ::before, ::after, ::backdrop {
965
+ --tw-space-y-reverse: 0;
966
+ --tw-border-style: solid;
967
+ --tw-leading: initial;
968
+ --tw-font-weight: initial;
969
+ --tw-tracking: initial;
970
+ --tw-shadow: 0 0 #0000;
971
+ --tw-shadow-color: initial;
972
+ --tw-shadow-alpha: 100%;
973
+ --tw-inset-shadow: 0 0 #0000;
974
+ --tw-inset-shadow-color: initial;
975
+ --tw-inset-shadow-alpha: 100%;
976
+ --tw-ring-color: initial;
977
+ --tw-ring-shadow: 0 0 #0000;
978
+ --tw-inset-ring-color: initial;
979
+ --tw-inset-ring-shadow: 0 0 #0000;
980
+ --tw-ring-inset: initial;
981
+ --tw-ring-offset-width: 0px;
982
+ --tw-ring-offset-color: #fff;
983
+ --tw-ring-offset-shadow: 0 0 #0000;
984
+ --tw-outline-style: solid;
985
+ }
986
+ }
987
+ }
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "@agent-platform/ui",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "private": false,
5
5
  "type": "module",
6
- "sideEffects": false,
6
+ "sideEffects": [
7
+ "./dist/styles/globals.css"
8
+ ],
7
9
  "main": "./dist/index.js",
8
10
  "types": "./dist/index.d.ts",
9
11
  "exports": {
@@ -34,9 +36,11 @@
34
36
  "tailwind-merge": "^3.4.0"
35
37
  },
36
38
  "devDependencies": {
39
+ "@tailwindcss/cli": "^4.0.0",
37
40
  "@phosphor-icons/react": "^2.1.10",
38
41
  "@types/react": "^19",
39
42
  "@types/react-dom": "^19",
43
+ "tailwindcss": "^4.0.0",
40
44
  "react": "19.2.3",
41
45
  "react-dom": "19.2.3",
42
46
  "typescript": "^5",
@@ -45,7 +49,7 @@
45
49
  "scripts": {
46
50
  "build": "pnpm run build:types && pnpm run build:styles",
47
51
  "build:types": "tsc -p tsconfig.build.json",
48
- "build:styles": "mkdir -p dist/styles && cp src/styles/globals.css dist/styles/globals.css",
52
+ "build:styles": "mkdir -p dist/styles && tailwindcss -i ./src/styles/globals.css -o ./dist/styles/globals.css",
49
53
  "test": "pnpm -C ../server exec vitest --root ../ui",
50
54
  "typecheck": "tsc --noEmit",
51
55
  "pack:check": "pnpm pack",