seam-react 0.1.1 → 0.2.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/dist/styles.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- const t = `@layer uk.tokens {
2
+ const r = `@layer uk.tokens {
3
3
  :root {
4
4
  color-scheme: light dark;
5
5
 
@@ -55,15 +55,28 @@ const t = `@layer uk.tokens {
55
55
  --uk-shadow-lg:
56
56
  0 24px 48px -16px rgb(15 23 42 / 0.32), 0 2px 6px rgb(15 23 42 / 0.08);
57
57
 
58
- --uk-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
58
+ --uk-duration-fast: 120ms;
59
+ --uk-duration-base: 160ms;
60
+ --uk-duration-control: 200ms;
61
+ --uk-duration-overlay: 240ms;
62
+ --uk-duration-exit: 180ms;
63
+ --uk-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
64
+ --uk-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
65
+ --uk-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
66
+ --uk-transition: var(--uk-duration-base) var(--uk-ease-out);
67
+ --uk-scale-press: 0.97;
59
68
 
60
69
  --uk-z-dialog: 1000;
61
- --uk-z-toast: 1100;
62
70
  }
63
71
 
64
72
  @media (prefers-reduced-motion: reduce) {
65
73
  :root {
66
- --uk-transition: 0ms;
74
+ --uk-duration-fast: 100ms;
75
+ --uk-duration-base: 100ms;
76
+ --uk-duration-control: 100ms;
77
+ --uk-duration-overlay: 100ms;
78
+ --uk-duration-exit: 100ms;
79
+ --uk-transition: 100ms ease;
67
80
  }
68
81
  }
69
82
  }
@@ -87,7 +100,8 @@ const t = `@layer uk.tokens {
87
100
  background-color var(--uk-transition),
88
101
  border-color var(--uk-transition),
89
102
  color var(--uk-transition),
90
- box-shadow var(--uk-transition);
103
+ box-shadow var(--uk-transition),
104
+ transform var(--uk-duration-fast) var(--uk-ease-out);
91
105
  }
92
106
 
93
107
  .uk-button:focus-visible {
@@ -95,6 +109,10 @@ const t = `@layer uk.tokens {
95
109
  outline-offset: 2px;
96
110
  }
97
111
 
112
+ .uk-button:active:not(:disabled) {
113
+ transform: scale(var(--uk-scale-press));
114
+ }
115
+
98
116
  .uk-button:disabled,
99
117
  .uk-button[data-loading="true"] {
100
118
  cursor: not-allowed;
@@ -129,46 +147,48 @@ const t = `@layer uk.tokens {
129
147
  color: var(--uk-primary-contrast);
130
148
  }
131
149
 
132
- .uk-button[data-variant="primary"]:hover:not(:disabled) {
133
- background: var(--uk-primary-solid-hover);
134
- }
135
-
136
150
  .uk-button[data-variant="secondary"] {
137
151
  background: var(--uk-surface);
138
152
  border-color: var(--uk-border);
139
153
  color: var(--uk-text);
140
154
  }
141
155
 
142
- .uk-button[data-variant="secondary"]:hover:not(:disabled) {
143
- border-color: var(--uk-border-strong);
144
- }
145
-
146
156
  .uk-button[data-variant="outline"] {
147
157
  background: transparent;
148
158
  border-color: var(--uk-border-strong);
149
159
  color: var(--uk-text);
150
160
  }
151
161
 
152
- .uk-button[data-variant="outline"]:hover:not(:disabled) {
153
- background: var(--uk-surface);
154
- }
155
-
156
162
  .uk-button[data-variant="ghost"] {
157
163
  background: transparent;
158
164
  color: var(--uk-text);
159
165
  }
160
166
 
161
- .uk-button[data-variant="ghost"]:hover:not(:disabled) {
162
- background: var(--uk-surface);
163
- }
164
-
165
167
  .uk-button[data-variant="danger"] {
166
168
  background: var(--uk-danger-solid);
167
169
  color: var(--uk-danger-contrast);
168
170
  }
169
171
 
170
- .uk-button[data-variant="danger"]:hover:not(:disabled) {
171
- background: var(--uk-danger-solid-hover);
172
+ @media (hover: hover) and (pointer: fine) {
173
+ .uk-button[data-variant="primary"]:hover:not(:disabled) {
174
+ background: var(--uk-primary-solid-hover);
175
+ }
176
+
177
+ .uk-button[data-variant="secondary"]:hover:not(:disabled) {
178
+ border-color: var(--uk-border-strong);
179
+ }
180
+
181
+ .uk-button[data-variant="outline"]:hover:not(:disabled) {
182
+ background: var(--uk-surface);
183
+ }
184
+
185
+ .uk-button[data-variant="ghost"]:hover:not(:disabled) {
186
+ background: var(--uk-surface);
187
+ }
188
+
189
+ .uk-button[data-variant="danger"]:hover:not(:disabled) {
190
+ background: var(--uk-danger-solid-hover);
191
+ }
172
192
  }
173
193
 
174
194
  .uk-button__spinner {
@@ -188,6 +208,10 @@ const t = `@layer uk.tokens {
188
208
  }
189
209
 
190
210
  @media (prefers-reduced-motion: reduce) {
211
+ .uk-button:active:not(:disabled) {
212
+ transform: none;
213
+ }
214
+
191
215
  .uk-button__spinner {
192
216
  animation-duration: 1.6s;
193
217
  }
@@ -285,6 +309,9 @@ const t = `@layer uk.tokens {
285
309
  height: 1.5rem;
286
310
  border-radius: var(--uk-radius-full);
287
311
  background: var(--uk-switch-track, var(--uk-border-strong));
312
+ cursor: pointer;
313
+ touch-action: none;
314
+ user-select: none;
288
315
  transition: background-color var(--uk-transition);
289
316
  }
290
317
 
@@ -297,17 +324,12 @@ const t = `@layer uk.tokens {
297
324
  border-radius: 50%;
298
325
  background: var(--uk-switch-thumb, #ffffff);
299
326
  box-shadow: var(--uk-shadow-sm);
300
- transition: transform var(--uk-transition);
301
327
  }
302
328
 
303
329
  .uk-switch__input:checked + .uk-switch__track {
304
330
  background: var(--uk-switch-track-checked, var(--uk-primary-solid));
305
331
  }
306
332
 
307
- .uk-switch__input:checked + .uk-switch__track .uk-switch__thumb {
308
- transform: translateX(1rem);
309
- }
310
-
311
333
  .uk-switch__input:focus-visible + .uk-switch__track {
312
334
  outline: 2px solid var(--uk-focus-ring);
313
335
  outline-offset: 2px;
@@ -317,6 +339,10 @@ const t = `@layer uk.tokens {
317
339
  cursor: not-allowed;
318
340
  opacity: 0.6;
319
341
  }
342
+
343
+ .uk-switch[data-disabled="true"] .uk-switch__track {
344
+ cursor: not-allowed;
345
+ }
320
346
  }
321
347
 
322
348
  @layer uk.components {
@@ -357,8 +383,7 @@ const t = `@layer uk.tokens {
357
383
  color: var(--uk-primary);
358
384
  }
359
385
 
360
- .uk-tabs__trigger[data-state="active"]::after {
361
- content: "";
386
+ .uk-tabs__indicator {
362
387
  position: absolute;
363
388
  right: var(--uk-space-2);
364
389
  bottom: -1px;
@@ -366,6 +391,7 @@ const t = `@layer uk.tokens {
366
391
  height: var(--uk-tabs-indicator-size, 2px);
367
392
  border-radius: 2px;
368
393
  background: var(--uk-tabs-indicator, var(--uk-primary));
394
+ pointer-events: none;
369
395
  }
370
396
 
371
397
  .uk-tabs__trigger:focus-visible {
@@ -405,8 +431,7 @@ const t = `@layer uk.tokens {
405
431
  border-radius: var(--uk-radius-sm) 0 0 var(--uk-radius-sm);
406
432
  }
407
433
 
408
- .uk-tabs[data-orientation="vertical"]
409
- .uk-tabs__trigger[data-state="active"]::after {
434
+ .uk-tabs[data-orientation="vertical"] .uk-tabs__indicator {
410
435
  top: var(--uk-space-2);
411
436
  right: -1px;
412
437
  bottom: var(--uk-space-2);
@@ -436,11 +461,24 @@ const t = `@layer uk.tokens {
436
461
 
437
462
  .uk-dialog::backdrop {
438
463
  background: var(--uk-overlay);
439
- backdrop-filter: blur(2px);
464
+ backdrop-filter: blur(8px) saturate(125%);
465
+ opacity: 1;
466
+ transition: opacity var(--uk-duration-exit) var(--uk-ease-out);
467
+ }
468
+
469
+ .uk-dialog[data-state="closed"]::backdrop {
470
+ opacity: 0;
471
+ transition-delay: 220ms;
440
472
  }
441
473
 
442
- .uk-dialog[open] {
443
- animation: uk-dialog-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
474
+ .uk-dialog[data-state="closed"] {
475
+ pointer-events: none;
476
+ }
477
+
478
+ @starting-style {
479
+ .uk-dialog[data-state="open"]::backdrop {
480
+ opacity: 0;
481
+ }
444
482
  }
445
483
 
446
484
  .uk-dialog__panel {
@@ -453,16 +491,33 @@ const t = `@layer uk.tokens {
453
491
  box-shadow: var(--uk-shadow-lg);
454
492
  font-family: var(--uk-font-sans);
455
493
  overflow: hidden;
494
+ transform-origin: center;
456
495
  }
457
496
 
458
497
  .uk-dialog__header {
459
- display: flex;
498
+ display: grid;
499
+ grid-template-columns: minmax(0, 1fr) auto;
460
500
  align-items: flex-start;
461
- gap: var(--uk-space-4);
501
+ column-gap: var(--uk-space-4);
502
+ row-gap: 0;
462
503
  padding: var(--uk-space-5);
463
504
  border-bottom: 1px solid var(--uk-border);
464
505
  }
465
506
 
507
+ .uk-dialog__header > .uk-dialog__title,
508
+ .uk-dialog__header > .uk-dialog__description {
509
+ grid-column: 1;
510
+ }
511
+
512
+ .uk-dialog__header > .uk-dialog__description {
513
+ grid-row: 2;
514
+ }
515
+
516
+ .uk-dialog__header > .uk-dialog__close {
517
+ grid-column: 2;
518
+ grid-row: 1 / span 2;
519
+ }
520
+
466
521
  .uk-dialog__heading {
467
522
  flex: 1;
468
523
  min-width: 0;
@@ -500,183 +555,33 @@ const t = `@layer uk.tokens {
500
555
  gap: var(--uk-space-2);
501
556
  padding: var(--uk-space-4) var(--uk-space-5);
502
557
  border-top: 1px solid var(--uk-border);
503
- background: var(--uk-surface);
504
- }
505
-
506
- @keyframes uk-dialog-in {
507
- from {
508
- opacity: 0;
509
- transform: translateY(8px) scale(0.98);
510
- }
511
-
512
- to {
513
- opacity: 1;
514
- transform: translateY(0) scale(1);
515
- }
516
- }
517
-
518
- @media (prefers-reduced-motion: reduce) {
519
- .uk-dialog[open] {
520
- animation: none;
521
- }
522
- }
523
- }
524
-
525
- @layer uk.components {
526
- .uk-toast-viewport {
527
- position: fixed;
528
- z-index: var(--uk-z-toast);
529
- display: flex;
530
- flex-direction: column;
531
- gap: var(--uk-space-2);
532
- width: min(var(--uk-toast-width, 22rem), calc(100vw - var(--uk-space-8)));
533
- padding: var(--uk-space-4);
534
- pointer-events: none;
535
- font-family: var(--uk-font-sans);
536
- }
537
-
538
- .uk-toast-viewport[data-placement="top-right"] {
539
- top: 0;
540
- right: 0;
541
- }
542
-
543
- .uk-toast-viewport[data-placement="top-center"] {
544
- top: 0;
545
- left: 50%;
546
- transform: translateX(-50%);
547
- }
548
-
549
- .uk-toast-viewport[data-placement="bottom-right"] {
550
- right: 0;
551
- bottom: 0;
552
- flex-direction: column-reverse;
553
- }
554
-
555
- .uk-toast-viewport[data-placement="bottom-center"] {
556
- bottom: 0;
557
- left: 50%;
558
- flex-direction: column-reverse;
559
- transform: translateX(-50%);
560
- }
561
-
562
- .uk-toast {
563
- display: flex;
564
- align-items: flex-start;
565
- gap: var(--uk-space-3);
566
- padding: var(--uk-space-3) var(--uk-space-4);
567
- border: 1px solid var(--uk-border);
568
- border-inline-start: 3px solid var(--uk-toast-accent, var(--uk-info));
569
- border-radius: var(--uk-toast-radius, var(--uk-radius-md));
570
- background: var(--uk-surface-raised);
571
- color: var(--uk-text);
572
- box-shadow: var(--uk-shadow-md);
573
- pointer-events: auto;
574
- font-size: var(--uk-text-md);
575
- line-height: 1.5;
576
- }
577
-
578
- .uk-toast[data-variant="info"] {
579
- --uk-toast-accent: var(--uk-info);
580
- }
581
-
582
- .uk-toast[data-variant="success"] {
583
- --uk-toast-accent: var(--uk-success);
584
- }
585
-
586
- .uk-toast[data-variant="warning"] {
587
- --uk-toast-accent: var(--uk-warning);
588
- }
589
-
590
- .uk-toast[data-variant="danger"] {
591
- --uk-toast-accent: var(--uk-danger);
592
- }
593
-
594
- .uk-toast[data-state="open"] {
595
- animation: uk-toast-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
596
- }
597
-
598
- .uk-toast[data-state="closed"] {
599
- animation: uk-toast-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards;
600
- }
601
-
602
- .uk-toast__body {
603
- flex: 1;
604
- min-width: 0;
605
- }
606
-
607
- .uk-toast__title {
608
- color: var(--uk-text);
609
- font-weight: 600;
610
- }
611
-
612
- .uk-toast__description {
613
- margin-top: 2px;
614
- color: var(--uk-text-muted);
615
- }
616
-
617
- .uk-toast__title + .uk-toast__description {
618
- margin-top: var(--uk-space-1);
619
- }
620
-
621
- .uk-toast__close {
622
- flex: none;
623
- display: inline-flex;
624
- align-items: center;
625
- justify-content: center;
626
- width: 1.5rem;
627
- height: 1.5rem;
628
- margin: -2px -4px 0 0;
629
- padding: 0;
630
- border: 0;
631
- border-radius: var(--uk-radius-sm);
632
558
  background: transparent;
633
- color: var(--uk-text-muted);
634
- cursor: pointer;
635
559
  }
636
560
 
637
- .uk-toast__close:hover {
638
- color: var(--uk-text);
639
- background: var(--uk-surface);
640
- }
641
-
642
- .uk-toast__close:focus-visible {
643
- outline: 2px solid var(--uk-focus-ring);
644
- outline-offset: 1px;
645
- }
646
-
647
- @keyframes uk-toast-in {
648
- from {
649
- opacity: 0;
650
- transform: translateY(-6px) scale(0.98);
651
- }
652
-
653
- to {
654
- opacity: 1;
655
- transform: translateY(0) scale(1);
561
+ @media (prefers-reduced-motion: reduce) {
562
+ .uk-dialog::backdrop {
563
+ transition-duration: var(--uk-duration-fast);
564
+ transition-timing-function: ease;
565
+ transition-delay: 0ms;
656
566
  }
657
567
  }
658
568
 
659
- @keyframes uk-toast-out {
660
- from {
661
- opacity: 1;
662
- transform: translateY(0) scale(1);
663
- }
664
-
665
- to {
666
- opacity: 0;
667
- transform: translateY(-4px) scale(0.98);
569
+ @media (prefers-reduced-transparency: reduce) {
570
+ .uk-dialog::backdrop {
571
+ backdrop-filter: none;
668
572
  }
669
573
  }
670
574
 
671
- @media (prefers-reduced-motion: reduce) {
672
- .uk-toast[data-state="open"],
673
- .uk-toast[data-state="closed"] {
674
- animation: none;
575
+ @media (prefers-contrast: more) {
576
+ .uk-dialog__panel {
577
+ border-color: var(--uk-text-muted);
578
+ background: var(--uk-surface-raised);
579
+ backdrop-filter: none;
675
580
  }
676
581
  }
677
582
  }`;
678
583
  function o({ nonce: n }) {
679
- return /* @__PURE__ */ a("style", { "data-seam-ui": "", nonce: n, children: t });
584
+ return /* @__PURE__ */ a("style", { "data-seam-ui": "", nonce: n, children: r });
680
585
  }
681
586
  export {
682
587
  o as SeamStyles
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../src/styles.generated.ts","../src/SeamStyles.tsx"],"sourcesContent":["// Generated by scripts/generate-styles.mjs. Do not edit.\nexport const UI_CSS: string =\n '@layer uk.tokens {\\n :root {\\n color-scheme: light dark;\\n\\n --uk-bg: light-dark(#ffffff, #0b0d12);\\n --uk-surface: light-dark(#f6f7fb, #141821);\\n --uk-surface-raised: light-dark(#ffffff, #1a1f2b);\\n --uk-text: light-dark(#0f172a, #e7eaf0);\\n --uk-text-muted: light-dark(#64748b, #98a2b3);\\n --uk-border: light-dark(#e2e8f0, #2a3141);\\n --uk-border-strong: light-dark(#cbd5e1, #3b4457);\\n\\n --uk-primary: light-dark(#4338ca, #a5b4fc);\\n --uk-primary-solid: light-dark(#4338ca, #4f46e5);\\n --uk-primary-solid-hover: light-dark(#3730a3, #6366f1);\\n --uk-primary-contrast: #ffffff;\\n --uk-danger: light-dark(#b91c1c, #fca5a5);\\n --uk-danger-solid: light-dark(#b91c1c, #b91c1c);\\n --uk-danger-solid-hover: light-dark(#991b1b, #991b1b);\\n --uk-danger-contrast: #ffffff;\\n --uk-success: light-dark(#15803d, #86efac);\\n --uk-warning: light-dark(#b45309, #fcd34d);\\n --uk-info: light-dark(#0369a1, #7dd3fc);\\n\\n --uk-focus-ring: light-dark(#6366f1, #a5b4fc);\\n --uk-overlay: light-dark(rgb(15 23 42 / 0.45), rgb(0 0 0 / 0.65));\\n\\n --uk-space-1: 0.25rem;\\n --uk-space-2: 0.5rem;\\n --uk-space-3: 0.75rem;\\n --uk-space-4: 1rem;\\n --uk-space-5: 1.25rem;\\n --uk-space-6: 1.5rem;\\n --uk-space-8: 2rem;\\n\\n --uk-radius-sm: 0.375rem;\\n --uk-radius-md: 0.625rem;\\n --uk-radius-lg: 0.875rem;\\n --uk-radius-full: 9999px;\\n\\n --uk-font-sans:\\n -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\",\\n \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\\n --uk-font-mono: ui-monospace, \"SFMono-Regular\", Consolas, monospace;\\n\\n --uk-text-xs: 0.75rem;\\n --uk-text-sm: 0.8125rem;\\n --uk-text-md: 0.875rem;\\n --uk-text-lg: 1rem;\\n --uk-text-xl: 1.125rem;\\n\\n --uk-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08);\\n --uk-shadow-md: 0 6px 16px -6px rgb(15 23 42 / 0.24);\\n --uk-shadow-lg:\\n 0 24px 48px -16px rgb(15 23 42 / 0.32), 0 2px 6px rgb(15 23 42 / 0.08);\\n\\n --uk-transition: 160ms cubic-bezier(0.2, 0.8, 0.2, 1);\\n\\n --uk-z-dialog: 1000;\\n --uk-z-toast: 1100;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n :root {\\n --uk-transition: 0ms;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: var(--uk-space-2);\\n border: 1px solid transparent;\\n border-radius: var(--uk-button-radius, var(--uk-radius-md));\\n font-family: var(--uk-font-sans);\\n font-weight: var(--uk-button-font-weight, 600);\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n user-select: none;\\n text-decoration: none;\\n transition:\\n background-color var(--uk-transition),\\n border-color var(--uk-transition),\\n color var(--uk-transition),\\n box-shadow var(--uk-transition);\\n }\\n\\n .uk-button:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-button:disabled,\\n .uk-button[data-loading=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n\\n .uk-button[data-size=\"sm\"] {\\n height: var(--uk-button-height-sm, 2rem);\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-button[data-size=\"md\"] {\\n height: var(--uk-button-height-md, 2.5rem);\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-button[data-size=\"lg\"] {\\n height: var(--uk-button-height-lg, 3rem);\\n padding: 0 var(--uk-space-5);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-button[data-icon-only=\"true\"] {\\n aspect-ratio: 1;\\n padding: 0;\\n }\\n\\n .uk-button[data-variant=\"primary\"] {\\n background: var(--uk-primary-solid);\\n color: var(--uk-primary-contrast);\\n }\\n\\n .uk-button[data-variant=\"primary\"]:hover:not(:disabled) {\\n background: var(--uk-primary-solid-hover);\\n }\\n\\n .uk-button[data-variant=\"secondary\"] {\\n background: var(--uk-surface);\\n border-color: var(--uk-border);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"secondary\"]:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-button[data-variant=\"outline\"] {\\n background: transparent;\\n border-color: var(--uk-border-strong);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"outline\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"ghost\"] {\\n background: transparent;\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"ghost\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"danger\"] {\\n background: var(--uk-danger-solid);\\n color: var(--uk-danger-contrast);\\n }\\n\\n .uk-button[data-variant=\"danger\"]:hover:not(:disabled) {\\n background: var(--uk-danger-solid-hover);\\n }\\n\\n .uk-button__spinner {\\n width: 1em;\\n height: 1em;\\n flex: none;\\n border: 2px solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n animation: uk-button-spin 0.6s linear infinite;\\n }\\n\\n @keyframes uk-button-spin {\\n to {\\n transform: rotate(360deg);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-button__spinner {\\n animation-duration: 1.6s;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-input {\\n width: 100%;\\n border: 1px solid var(--uk-border-strong);\\n border-radius: var(--uk-input-radius, var(--uk-radius-md));\\n background: var(--uk-bg);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n transition:\\n border-color var(--uk-transition),\\n box-shadow var(--uk-transition);\\n }\\n\\n .uk-input[data-size=\"sm\"] {\\n height: 2rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-input[data-size=\"md\"] {\\n height: 2.5rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-input[data-size=\"lg\"] {\\n height: 3rem;\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-input::placeholder {\\n color: var(--uk-text-muted);\\n }\\n\\n .uk-input:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-input:focus-visible {\\n outline: none;\\n border-color: var(--uk-primary);\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-primary) 24%, transparent);\\n }\\n\\n .uk-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.6;\\n background: var(--uk-surface);\\n }\\n\\n .uk-input[aria-invalid=\"true\"] {\\n border-color: var(--uk-danger);\\n }\\n\\n .uk-input[aria-invalid=\"true\"]:focus-visible {\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-danger) 24%, transparent);\\n }\\n}\\n\\n@layer uk.components {\\n .uk-switch {\\n display: inline-flex;\\n align-items: center;\\n gap: var(--uk-space-3);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n font-size: var(--uk-text-md);\\n cursor: pointer;\\n user-select: none;\\n }\\n\\n .uk-switch__input {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n margin: -1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0 0 0 0);\\n white-space: nowrap;\\n border: 0;\\n }\\n\\n .uk-switch__track {\\n position: relative;\\n flex: none;\\n width: 2.5rem;\\n height: 1.5rem;\\n border-radius: var(--uk-radius-full);\\n background: var(--uk-switch-track, var(--uk-border-strong));\\n transition: background-color var(--uk-transition);\\n }\\n\\n .uk-switch__thumb {\\n position: absolute;\\n top: 2px;\\n left: 2px;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 50%;\\n background: var(--uk-switch-thumb, #ffffff);\\n box-shadow: var(--uk-shadow-sm);\\n transition: transform var(--uk-transition);\\n }\\n\\n .uk-switch__input:checked + .uk-switch__track {\\n background: var(--uk-switch-track-checked, var(--uk-primary-solid));\\n }\\n\\n .uk-switch__input:checked + .uk-switch__track .uk-switch__thumb {\\n transform: translateX(1rem);\\n }\\n\\n .uk-switch__input:focus-visible + .uk-switch__track {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-switch[data-disabled=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-tabs {\\n font-family: var(--uk-font-sans);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__list {\\n display: flex;\\n gap: var(--uk-space-1);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs__trigger {\\n position: relative;\\n appearance: none;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text-muted);\\n font: inherit;\\n font-size: var(--uk-text-md);\\n font-weight: 500;\\n padding: var(--uk-space-2) var(--uk-space-3);\\n border-radius: var(--uk-radius-sm) var(--uk-radius-sm) 0 0;\\n cursor: pointer;\\n transition:\\n color var(--uk-transition),\\n background-color var(--uk-transition);\\n }\\n\\n .uk-tabs__trigger:hover:not(:disabled) {\\n color: var(--uk-text);\\n background: var(--uk-surface);\\n }\\n\\n .uk-tabs__trigger[data-state=\"active\"] {\\n color: var(--uk-primary);\\n }\\n\\n .uk-tabs__trigger[data-state=\"active\"]::after {\\n content: \"\";\\n position: absolute;\\n right: var(--uk-space-2);\\n bottom: -1px;\\n left: var(--uk-space-2);\\n height: var(--uk-tabs-indicator-size, 2px);\\n border-radius: 2px;\\n background: var(--uk-tabs-indicator, var(--uk-primary));\\n }\\n\\n .uk-tabs__trigger:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: -2px;\\n }\\n\\n .uk-tabs__trigger:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n .uk-tabs__panel {\\n padding-top: var(--uk-space-4);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__panel:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n border-radius: var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] {\\n display: flex;\\n gap: var(--uk-space-4);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__list {\\n flex-direction: column;\\n border-bottom: 0;\\n border-inline-end: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__trigger {\\n text-align: start;\\n border-radius: var(--uk-radius-sm) 0 0 var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"]\\n .uk-tabs__trigger[data-state=\"active\"]::after {\\n top: var(--uk-space-2);\\n right: -1px;\\n bottom: var(--uk-space-2);\\n left: auto;\\n width: var(--uk-tabs-indicator-size, 2px);\\n height: auto;\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__panel {\\n flex: 1;\\n padding-top: 0;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-dialog {\\n width: min(var(--uk-dialog-width, 32rem), calc(100vw - var(--uk-space-8)));\\n max-width: none;\\n max-height: none;\\n margin: auto;\\n padding: 0;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text);\\n z-index: var(--uk-z-dialog);\\n }\\n\\n .uk-dialog::backdrop {\\n background: var(--uk-overlay);\\n backdrop-filter: blur(2px);\\n }\\n\\n .uk-dialog[open] {\\n animation: uk-dialog-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);\\n }\\n\\n .uk-dialog__panel {\\n display: flex;\\n flex-direction: column;\\n max-height: min(85vh, 42rem);\\n border: 1px solid var(--uk-border);\\n border-radius: var(--uk-dialog-radius, var(--uk-radius-lg));\\n background: var(--uk-surface-raised);\\n box-shadow: var(--uk-shadow-lg);\\n font-family: var(--uk-font-sans);\\n overflow: hidden;\\n }\\n\\n .uk-dialog__header {\\n display: flex;\\n align-items: flex-start;\\n gap: var(--uk-space-4);\\n padding: var(--uk-space-5);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-dialog__heading {\\n flex: 1;\\n min-width: 0;\\n }\\n\\n .uk-dialog__title {\\n margin: 0;\\n color: var(--uk-text);\\n font-size: var(--uk-text-xl);\\n font-weight: 600;\\n line-height: 1.3;\\n }\\n\\n .uk-dialog__description {\\n margin: var(--uk-space-1) 0 0;\\n color: var(--uk-text-muted);\\n font-size: var(--uk-text-md);\\n line-height: 1.5;\\n }\\n\\n .uk-dialog__close {\\n flex: none;\\n }\\n\\n .uk-dialog__body {\\n padding: var(--uk-space-5);\\n overflow-y: auto;\\n font-size: var(--uk-text-md);\\n line-height: 1.6;\\n }\\n\\n .uk-dialog__footer {\\n display: flex;\\n justify-content: flex-end;\\n gap: var(--uk-space-2);\\n padding: var(--uk-space-4) var(--uk-space-5);\\n border-top: 1px solid var(--uk-border);\\n background: var(--uk-surface);\\n }\\n\\n @keyframes uk-dialog-in {\\n from {\\n opacity: 0;\\n transform: translateY(8px) scale(0.98);\\n }\\n\\n to {\\n opacity: 1;\\n transform: translateY(0) scale(1);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-dialog[open] {\\n animation: none;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-toast-viewport {\\n position: fixed;\\n z-index: var(--uk-z-toast);\\n display: flex;\\n flex-direction: column;\\n gap: var(--uk-space-2);\\n width: min(var(--uk-toast-width, 22rem), calc(100vw - var(--uk-space-8)));\\n padding: var(--uk-space-4);\\n pointer-events: none;\\n font-family: var(--uk-font-sans);\\n }\\n\\n .uk-toast-viewport[data-placement=\"top-right\"] {\\n top: 0;\\n right: 0;\\n }\\n\\n .uk-toast-viewport[data-placement=\"top-center\"] {\\n top: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n }\\n\\n .uk-toast-viewport[data-placement=\"bottom-right\"] {\\n right: 0;\\n bottom: 0;\\n flex-direction: column-reverse;\\n }\\n\\n .uk-toast-viewport[data-placement=\"bottom-center\"] {\\n bottom: 0;\\n left: 50%;\\n flex-direction: column-reverse;\\n transform: translateX(-50%);\\n }\\n\\n .uk-toast {\\n display: flex;\\n align-items: flex-start;\\n gap: var(--uk-space-3);\\n padding: var(--uk-space-3) var(--uk-space-4);\\n border: 1px solid var(--uk-border);\\n border-inline-start: 3px solid var(--uk-toast-accent, var(--uk-info));\\n border-radius: var(--uk-toast-radius, var(--uk-radius-md));\\n background: var(--uk-surface-raised);\\n color: var(--uk-text);\\n box-shadow: var(--uk-shadow-md);\\n pointer-events: auto;\\n font-size: var(--uk-text-md);\\n line-height: 1.5;\\n }\\n\\n .uk-toast[data-variant=\"info\"] {\\n --uk-toast-accent: var(--uk-info);\\n }\\n\\n .uk-toast[data-variant=\"success\"] {\\n --uk-toast-accent: var(--uk-success);\\n }\\n\\n .uk-toast[data-variant=\"warning\"] {\\n --uk-toast-accent: var(--uk-warning);\\n }\\n\\n .uk-toast[data-variant=\"danger\"] {\\n --uk-toast-accent: var(--uk-danger);\\n }\\n\\n .uk-toast[data-state=\"open\"] {\\n animation: uk-toast-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);\\n }\\n\\n .uk-toast[data-state=\"closed\"] {\\n animation: uk-toast-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards;\\n }\\n\\n .uk-toast__body {\\n flex: 1;\\n min-width: 0;\\n }\\n\\n .uk-toast__title {\\n color: var(--uk-text);\\n font-weight: 600;\\n }\\n\\n .uk-toast__description {\\n margin-top: 2px;\\n color: var(--uk-text-muted);\\n }\\n\\n .uk-toast__title + .uk-toast__description {\\n margin-top: var(--uk-space-1);\\n }\\n\\n .uk-toast__close {\\n flex: none;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n width: 1.5rem;\\n height: 1.5rem;\\n margin: -2px -4px 0 0;\\n padding: 0;\\n border: 0;\\n border-radius: var(--uk-radius-sm);\\n background: transparent;\\n color: var(--uk-text-muted);\\n cursor: pointer;\\n }\\n\\n .uk-toast__close:hover {\\n color: var(--uk-text);\\n background: var(--uk-surface);\\n }\\n\\n .uk-toast__close:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 1px;\\n }\\n\\n @keyframes uk-toast-in {\\n from {\\n opacity: 0;\\n transform: translateY(-6px) scale(0.98);\\n }\\n\\n to {\\n opacity: 1;\\n transform: translateY(0) scale(1);\\n }\\n }\\n\\n @keyframes uk-toast-out {\\n from {\\n opacity: 1;\\n transform: translateY(0) scale(1);\\n }\\n\\n to {\\n opacity: 0;\\n transform: translateY(-4px) scale(0.98);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-toast[data-state=\"open\"],\\n .uk-toast[data-state=\"closed\"] {\\n animation: none;\\n }\\n }\\n}';\n","import type { ReactElement } from \"react\";\nimport { UI_CSS } from \"./styles.generated\";\n\nexport interface SeamStylesProps {\n /** 与 Content Security Policy 的 style-src nonce 保持一致。 */\n nonce?: string;\n}\n\n/**\n * JSR 不支持 CSS package exports,因此将样式以内联 style 标签提供。\n *\n * 在应用根部渲染一次即可。使用 npm 构建时仍可继续导入 styles.css。\n */\nexport function SeamStyles({ nonce }: SeamStylesProps): ReactElement {\n return (\n <style data-seam-ui=\"\" nonce={nonce}>\n {UI_CSS}\n </style>\n );\n}\n"],"names":["UI_CSS","SeamStyles","nonce","jsx"],"mappings":";AACO,MAAMA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACWK,SAASC,EAAW,EAAE,OAAAC,KAAwC;AACnE,SACE,gBAAAC,EAAC,SAAA,EAAM,gBAAa,IAAG,OAAAD,GACpB,UAAAF,GACH;AAEJ;"}
1
+ {"version":3,"file":"styles.js","sources":["../src/styles.generated.ts","../src/SeamStyles.tsx"],"sourcesContent":["// Generated by scripts/generate-styles.mjs. Do not edit.\nexport const UI_CSS: string =\n '@layer uk.tokens {\\n :root {\\n color-scheme: light dark;\\n\\n --uk-bg: light-dark(#ffffff, #0b0d12);\\n --uk-surface: light-dark(#f6f7fb, #141821);\\n --uk-surface-raised: light-dark(#ffffff, #1a1f2b);\\n --uk-text: light-dark(#0f172a, #e7eaf0);\\n --uk-text-muted: light-dark(#64748b, #98a2b3);\\n --uk-border: light-dark(#e2e8f0, #2a3141);\\n --uk-border-strong: light-dark(#cbd5e1, #3b4457);\\n\\n --uk-primary: light-dark(#4338ca, #a5b4fc);\\n --uk-primary-solid: light-dark(#4338ca, #4f46e5);\\n --uk-primary-solid-hover: light-dark(#3730a3, #6366f1);\\n --uk-primary-contrast: #ffffff;\\n --uk-danger: light-dark(#b91c1c, #fca5a5);\\n --uk-danger-solid: light-dark(#b91c1c, #b91c1c);\\n --uk-danger-solid-hover: light-dark(#991b1b, #991b1b);\\n --uk-danger-contrast: #ffffff;\\n --uk-success: light-dark(#15803d, #86efac);\\n --uk-warning: light-dark(#b45309, #fcd34d);\\n --uk-info: light-dark(#0369a1, #7dd3fc);\\n\\n --uk-focus-ring: light-dark(#6366f1, #a5b4fc);\\n --uk-overlay: light-dark(rgb(15 23 42 / 0.45), rgb(0 0 0 / 0.65));\\n\\n --uk-space-1: 0.25rem;\\n --uk-space-2: 0.5rem;\\n --uk-space-3: 0.75rem;\\n --uk-space-4: 1rem;\\n --uk-space-5: 1.25rem;\\n --uk-space-6: 1.5rem;\\n --uk-space-8: 2rem;\\n\\n --uk-radius-sm: 0.375rem;\\n --uk-radius-md: 0.625rem;\\n --uk-radius-lg: 0.875rem;\\n --uk-radius-full: 9999px;\\n\\n --uk-font-sans:\\n -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\",\\n \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif;\\n --uk-font-mono: ui-monospace, \"SFMono-Regular\", Consolas, monospace;\\n\\n --uk-text-xs: 0.75rem;\\n --uk-text-sm: 0.8125rem;\\n --uk-text-md: 0.875rem;\\n --uk-text-lg: 1rem;\\n --uk-text-xl: 1.125rem;\\n\\n --uk-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08);\\n --uk-shadow-md: 0 6px 16px -6px rgb(15 23 42 / 0.24);\\n --uk-shadow-lg:\\n 0 24px 48px -16px rgb(15 23 42 / 0.32), 0 2px 6px rgb(15 23 42 / 0.08);\\n\\n --uk-duration-fast: 120ms;\\n --uk-duration-base: 160ms;\\n --uk-duration-control: 200ms;\\n --uk-duration-overlay: 240ms;\\n --uk-duration-exit: 180ms;\\n --uk-ease-out: cubic-bezier(0.23, 1, 0.32, 1);\\n --uk-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);\\n --uk-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);\\n --uk-transition: var(--uk-duration-base) var(--uk-ease-out);\\n --uk-scale-press: 0.97;\\n\\n --uk-z-dialog: 1000;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n :root {\\n --uk-duration-fast: 100ms;\\n --uk-duration-base: 100ms;\\n --uk-duration-control: 100ms;\\n --uk-duration-overlay: 100ms;\\n --uk-duration-exit: 100ms;\\n --uk-transition: 100ms ease;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: var(--uk-space-2);\\n border: 1px solid transparent;\\n border-radius: var(--uk-button-radius, var(--uk-radius-md));\\n font-family: var(--uk-font-sans);\\n font-weight: var(--uk-button-font-weight, 600);\\n line-height: 1;\\n white-space: nowrap;\\n cursor: pointer;\\n user-select: none;\\n text-decoration: none;\\n transition:\\n background-color var(--uk-transition),\\n border-color var(--uk-transition),\\n color var(--uk-transition),\\n box-shadow var(--uk-transition),\\n transform var(--uk-duration-fast) var(--uk-ease-out);\\n }\\n\\n .uk-button:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-button:active:not(:disabled) {\\n transform: scale(var(--uk-scale-press));\\n }\\n\\n .uk-button:disabled,\\n .uk-button[data-loading=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n\\n .uk-button[data-size=\"sm\"] {\\n height: var(--uk-button-height-sm, 2rem);\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-button[data-size=\"md\"] {\\n height: var(--uk-button-height-md, 2.5rem);\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-button[data-size=\"lg\"] {\\n height: var(--uk-button-height-lg, 3rem);\\n padding: 0 var(--uk-space-5);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-button[data-icon-only=\"true\"] {\\n aspect-ratio: 1;\\n padding: 0;\\n }\\n\\n .uk-button[data-variant=\"primary\"] {\\n background: var(--uk-primary-solid);\\n color: var(--uk-primary-contrast);\\n }\\n\\n .uk-button[data-variant=\"secondary\"] {\\n background: var(--uk-surface);\\n border-color: var(--uk-border);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"outline\"] {\\n background: transparent;\\n border-color: var(--uk-border-strong);\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"ghost\"] {\\n background: transparent;\\n color: var(--uk-text);\\n }\\n\\n .uk-button[data-variant=\"danger\"] {\\n background: var(--uk-danger-solid);\\n color: var(--uk-danger-contrast);\\n }\\n\\n @media (hover: hover) and (pointer: fine) {\\n .uk-button[data-variant=\"primary\"]:hover:not(:disabled) {\\n background: var(--uk-primary-solid-hover);\\n }\\n\\n .uk-button[data-variant=\"secondary\"]:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-button[data-variant=\"outline\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"ghost\"]:hover:not(:disabled) {\\n background: var(--uk-surface);\\n }\\n\\n .uk-button[data-variant=\"danger\"]:hover:not(:disabled) {\\n background: var(--uk-danger-solid-hover);\\n }\\n }\\n\\n .uk-button__spinner {\\n width: 1em;\\n height: 1em;\\n flex: none;\\n border: 2px solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n animation: uk-button-spin 0.6s linear infinite;\\n }\\n\\n @keyframes uk-button-spin {\\n to {\\n transform: rotate(360deg);\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-button:active:not(:disabled) {\\n transform: none;\\n }\\n\\n .uk-button__spinner {\\n animation-duration: 1.6s;\\n }\\n }\\n}\\n\\n@layer uk.components {\\n .uk-input {\\n width: 100%;\\n border: 1px solid var(--uk-border-strong);\\n border-radius: var(--uk-input-radius, var(--uk-radius-md));\\n background: var(--uk-bg);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n transition:\\n border-color var(--uk-transition),\\n box-shadow var(--uk-transition);\\n }\\n\\n .uk-input[data-size=\"sm\"] {\\n height: 2rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-sm);\\n }\\n\\n .uk-input[data-size=\"md\"] {\\n height: 2.5rem;\\n padding: 0 var(--uk-space-3);\\n font-size: var(--uk-text-md);\\n }\\n\\n .uk-input[data-size=\"lg\"] {\\n height: 3rem;\\n padding: 0 var(--uk-space-4);\\n font-size: var(--uk-text-lg);\\n }\\n\\n .uk-input::placeholder {\\n color: var(--uk-text-muted);\\n }\\n\\n .uk-input:hover:not(:disabled) {\\n border-color: var(--uk-border-strong);\\n }\\n\\n .uk-input:focus-visible {\\n outline: none;\\n border-color: var(--uk-primary);\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-primary) 24%, transparent);\\n }\\n\\n .uk-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.6;\\n background: var(--uk-surface);\\n }\\n\\n .uk-input[aria-invalid=\"true\"] {\\n border-color: var(--uk-danger);\\n }\\n\\n .uk-input[aria-invalid=\"true\"]:focus-visible {\\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--uk-danger) 24%, transparent);\\n }\\n}\\n\\n@layer uk.components {\\n .uk-switch {\\n display: inline-flex;\\n align-items: center;\\n gap: var(--uk-space-3);\\n color: var(--uk-text);\\n font-family: var(--uk-font-sans);\\n font-size: var(--uk-text-md);\\n cursor: pointer;\\n user-select: none;\\n }\\n\\n .uk-switch__input {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n margin: -1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0 0 0 0);\\n white-space: nowrap;\\n border: 0;\\n }\\n\\n .uk-switch__track {\\n position: relative;\\n flex: none;\\n width: 2.5rem;\\n height: 1.5rem;\\n border-radius: var(--uk-radius-full);\\n background: var(--uk-switch-track, var(--uk-border-strong));\\n cursor: pointer;\\n touch-action: none;\\n user-select: none;\\n transition: background-color var(--uk-transition);\\n }\\n\\n .uk-switch__thumb {\\n position: absolute;\\n top: 2px;\\n left: 2px;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 50%;\\n background: var(--uk-switch-thumb, #ffffff);\\n box-shadow: var(--uk-shadow-sm);\\n }\\n\\n .uk-switch__input:checked + .uk-switch__track {\\n background: var(--uk-switch-track-checked, var(--uk-primary-solid));\\n }\\n\\n .uk-switch__input:focus-visible + .uk-switch__track {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n }\\n\\n .uk-switch[data-disabled=\"true\"] {\\n cursor: not-allowed;\\n opacity: 0.6;\\n }\\n\\n .uk-switch[data-disabled=\"true\"] .uk-switch__track {\\n cursor: not-allowed;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-tabs {\\n font-family: var(--uk-font-sans);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__list {\\n display: flex;\\n gap: var(--uk-space-1);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs__trigger {\\n position: relative;\\n appearance: none;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text-muted);\\n font: inherit;\\n font-size: var(--uk-text-md);\\n font-weight: 500;\\n padding: var(--uk-space-2) var(--uk-space-3);\\n border-radius: var(--uk-radius-sm) var(--uk-radius-sm) 0 0;\\n cursor: pointer;\\n transition:\\n color var(--uk-transition),\\n background-color var(--uk-transition);\\n }\\n\\n .uk-tabs__trigger:hover:not(:disabled) {\\n color: var(--uk-text);\\n background: var(--uk-surface);\\n }\\n\\n .uk-tabs__trigger[data-state=\"active\"] {\\n color: var(--uk-primary);\\n }\\n\\n .uk-tabs__indicator {\\n position: absolute;\\n right: var(--uk-space-2);\\n bottom: -1px;\\n left: var(--uk-space-2);\\n height: var(--uk-tabs-indicator-size, 2px);\\n border-radius: 2px;\\n background: var(--uk-tabs-indicator, var(--uk-primary));\\n pointer-events: none;\\n }\\n\\n .uk-tabs__trigger:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: -2px;\\n }\\n\\n .uk-tabs__trigger:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n .uk-tabs__panel {\\n padding-top: var(--uk-space-4);\\n color: var(--uk-text);\\n }\\n\\n .uk-tabs__panel:focus-visible {\\n outline: 2px solid var(--uk-focus-ring);\\n outline-offset: 2px;\\n border-radius: var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] {\\n display: flex;\\n gap: var(--uk-space-4);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__list {\\n flex-direction: column;\\n border-bottom: 0;\\n border-inline-end: 1px solid var(--uk-border);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__trigger {\\n text-align: start;\\n border-radius: var(--uk-radius-sm) 0 0 var(--uk-radius-sm);\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__indicator {\\n top: var(--uk-space-2);\\n right: -1px;\\n bottom: var(--uk-space-2);\\n left: auto;\\n width: var(--uk-tabs-indicator-size, 2px);\\n height: auto;\\n }\\n\\n .uk-tabs[data-orientation=\"vertical\"] .uk-tabs__panel {\\n flex: 1;\\n padding-top: 0;\\n }\\n}\\n\\n@layer uk.components {\\n .uk-dialog {\\n width: min(var(--uk-dialog-width, 32rem), calc(100vw - var(--uk-space-8)));\\n max-width: none;\\n max-height: none;\\n margin: auto;\\n padding: 0;\\n border: 0;\\n background: transparent;\\n color: var(--uk-text);\\n z-index: var(--uk-z-dialog);\\n }\\n\\n .uk-dialog::backdrop {\\n background: var(--uk-overlay);\\n backdrop-filter: blur(8px) saturate(125%);\\n opacity: 1;\\n transition: opacity var(--uk-duration-exit) var(--uk-ease-out);\\n }\\n\\n .uk-dialog[data-state=\"closed\"]::backdrop {\\n opacity: 0;\\n transition-delay: 220ms;\\n }\\n\\n .uk-dialog[data-state=\"closed\"] {\\n pointer-events: none;\\n }\\n\\n @starting-style {\\n .uk-dialog[data-state=\"open\"]::backdrop {\\n opacity: 0;\\n }\\n }\\n\\n .uk-dialog__panel {\\n display: flex;\\n flex-direction: column;\\n max-height: min(85vh, 42rem);\\n border: 1px solid var(--uk-border);\\n border-radius: var(--uk-dialog-radius, var(--uk-radius-lg));\\n background: var(--uk-surface-raised);\\n box-shadow: var(--uk-shadow-lg);\\n font-family: var(--uk-font-sans);\\n overflow: hidden;\\n transform-origin: center;\\n }\\n\\n .uk-dialog__header {\\n display: grid;\\n grid-template-columns: minmax(0, 1fr) auto;\\n align-items: flex-start;\\n column-gap: var(--uk-space-4);\\n row-gap: 0;\\n padding: var(--uk-space-5);\\n border-bottom: 1px solid var(--uk-border);\\n }\\n\\n .uk-dialog__header > .uk-dialog__title,\\n .uk-dialog__header > .uk-dialog__description {\\n grid-column: 1;\\n }\\n\\n .uk-dialog__header > .uk-dialog__description {\\n grid-row: 2;\\n }\\n\\n .uk-dialog__header > .uk-dialog__close {\\n grid-column: 2;\\n grid-row: 1 / span 2;\\n }\\n\\n .uk-dialog__heading {\\n flex: 1;\\n min-width: 0;\\n }\\n\\n .uk-dialog__title {\\n margin: 0;\\n color: var(--uk-text);\\n font-size: var(--uk-text-xl);\\n font-weight: 600;\\n line-height: 1.3;\\n }\\n\\n .uk-dialog__description {\\n margin: var(--uk-space-1) 0 0;\\n color: var(--uk-text-muted);\\n font-size: var(--uk-text-md);\\n line-height: 1.5;\\n }\\n\\n .uk-dialog__close {\\n flex: none;\\n }\\n\\n .uk-dialog__body {\\n padding: var(--uk-space-5);\\n overflow-y: auto;\\n font-size: var(--uk-text-md);\\n line-height: 1.6;\\n }\\n\\n .uk-dialog__footer {\\n display: flex;\\n justify-content: flex-end;\\n gap: var(--uk-space-2);\\n padding: var(--uk-space-4) var(--uk-space-5);\\n border-top: 1px solid var(--uk-border);\\n background: transparent;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n .uk-dialog::backdrop {\\n transition-duration: var(--uk-duration-fast);\\n transition-timing-function: ease;\\n transition-delay: 0ms;\\n }\\n }\\n\\n @media (prefers-reduced-transparency: reduce) {\\n .uk-dialog::backdrop {\\n backdrop-filter: none;\\n }\\n }\\n\\n @media (prefers-contrast: more) {\\n .uk-dialog__panel {\\n border-color: var(--uk-text-muted);\\n background: var(--uk-surface-raised);\\n backdrop-filter: none;\\n }\\n }\\n}';\n","import type { ReactElement } from \"react\";\nimport { UI_CSS } from \"./styles.generated\";\n\nexport interface SeamStylesProps {\n /** 与 Content Security Policy 的 style-src nonce 保持一致。 */\n nonce?: string;\n}\n\n/**\n * JSR 不支持 CSS package exports,因此将样式以内联 style 标签提供。\n *\n * 在应用根部渲染一次即可。使用 npm 构建时仍可继续导入 styles.css。\n */\nexport function SeamStyles({ nonce }: SeamStylesProps): ReactElement {\n return (\n <style data-seam-ui=\"\" nonce={nonce}>\n {UI_CSS}\n </style>\n );\n}\n"],"names":["UI_CSS","SeamStyles","nonce","jsx"],"mappings":";AACO,MAAMA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACWK,SAASC,EAAW,EAAE,OAAAC,KAAwC;AACnE,SACE,gBAAAC,EAAC,SAAA,EAAM,gBAAa,IAAG,OAAAD,GACpB,UAAAF,GACH;AAEJ;"}
package/package.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "name": "seam-react",
3
- "version": "0.1.1",
4
- "description": "基于 seam-hooks 的 React 组件库:Button、Input、Switch、Tabs、Dialog、Toast",
3
+ "version": "0.2.0",
4
+ "description": "基于 seam-hooks 与 Motion 的 Fluid React 组件库",
5
5
  "keywords": [
6
6
  "component-library",
7
7
  "dialog",
8
+ "fluid",
9
+ "motion",
8
10
  "react",
9
11
  "tabs",
10
12
  "typescript",
@@ -45,6 +47,7 @@
45
47
  "./styles.css": "./dist/styles.css"
46
48
  },
47
49
  "dependencies": {
50
+ "motion": "^14.4.0",
48
51
  "seam-hooks": "0.1.1"
49
52
  },
50
53
  "devDependencies": {
@@ -61,8 +64,8 @@
61
64
  "vitest": "^2.1.4"
62
65
  },
63
66
  "peerDependencies": {
64
- "react": ">=18",
65
- "react-dom": ">=18"
67
+ "react": ">=18.2",
68
+ "react-dom": ">=18.2"
66
69
  },
67
70
  "engines": {
68
71
  "node": ">=18"
package/dist/Toast.d.ts DELETED
@@ -1,43 +0,0 @@
1
- import { type ReactElement, type ReactNode } from "react";
2
- export type ToastVariant = "info" | "success" | "warning" | "danger";
3
- export type ToastPlacement = "top-right" | "top-center" | "bottom-right" | "bottom-center";
4
- export interface ToastOptions {
5
- title?: ReactNode;
6
- description?: ReactNode;
7
- /** 视觉变体,默认 info。 */
8
- variant?: ToastVariant;
9
- /** 自动关闭时间(毫秒),0 表示常驻;默认取 Provider 配置。 */
10
- duration?: number;
11
- }
12
- export interface ToastApi {
13
- /** 弹出一条提示,返回其 id。 */
14
- toast: (options: ToastOptions) => string;
15
- /** 关闭指定提示。 */
16
- dismiss: (id: string) => void;
17
- /** 关闭当前所有提示。 */
18
- dismissAll: () => void;
19
- }
20
- export interface ToastProviderProps {
21
- children: ReactNode;
22
- /** 提示出现的位置,默认 top-right。 */
23
- placement?: ToastPlacement;
24
- /** 默认自动关闭时间,默认 4000ms。 */
25
- duration?: number;
26
- /** 同屏最多保留的提示数量,默认 4。 */
27
- maxToasts?: number;
28
- /** 提示区域的屏幕阅读器名称。 */
29
- label?: string;
30
- /** 关闭按钮的无障碍名称,默认 Close。 */
31
- closeLabel?: string;
32
- }
33
- /**
34
- * Toast 上下文。
35
- *
36
- * 负责队列、自动关闭、悬停/聚焦暂停、退出动画和 portal 渲染。
37
- * 必须包在应用外层,子组件通过 useToast() 获取 toast()。
38
- */
39
- export declare function ToastProvider({ children, placement, duration, maxToasts, label, closeLabel, }: ToastProviderProps): ReactElement;
40
- /**
41
- * 获取 toast API。必须在 <ToastProvider> 内使用。
42
- */
43
- export declare function useToast(): ToastApi;