@superxd-studio/adptr 0.5.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/GENERATIVE.md +101 -0
- package/INTERACTIONS.md +51 -0
- package/LICENSE +21 -0
- package/README.md +57 -0
- package/REUSE.md +170 -0
- package/REVIEW.md +68 -0
- package/THIRD-PARTY-NOTICES.md +28 -0
- package/ai-sdk/index.js +96 -0
- package/assets/ibm-plex-mono-cyrillic-400-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-cyrillic-500-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-cyrillic-ext-400-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-cyrillic-ext-500-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-latin-ext-400-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-latin-ext-500-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-vietnamese-400-normal.woff2 +0 -0
- package/assets/ibm-plex-mono-vietnamese-500-normal.woff2 +0 -0
- package/assets/instrument-sans-latin-ext-wght-normal.woff2 +0 -0
- package/assets/instrument-sans-latin-wght-normal.woff2 +0 -0
- package/assistant-ui/index.js +139 -0
- package/chunks/callout-DKMHSnjc.js +342 -0
- package/chunks/canvas-BJ15-XxE.js +598 -0
- package/chunks/controller-Cfpg0C7v.js +180 -0
- package/chunks/core-BCqVRLUy.js +312 -0
- package/chunks/text-field-BLtoaZFn.js +41 -0
- package/chunks/types-BGF7r1my.js +115 -0
- package/chunks/ui-9DyNsYXY.js +967 -0
- package/core/index.js +4 -0
- package/custom/index.js +64 -0
- package/examples/ai-sdk-backend/package.json +11 -0
- package/examples/ai-sdk-backend/server.mjs +316 -0
- package/examples/custom-backend/copy.mjs +7 -0
- package/examples/custom-backend/server.mjs +118 -0
- package/examples/generative/specs.json +2094 -0
- package/examples/review-backend/copy.mjs +27 -0
- package/examples/review-backend/package.json +11 -0
- package/examples/review-backend/server.mjs +276 -0
- package/examples/web-ai-sdk/index.html +12 -0
- package/examples/web-ai-sdk/package.json +21 -0
- package/examples/web-ai-sdk/src/copy.ts +1 -0
- package/examples/web-ai-sdk/src/main.tsx +64 -0
- package/examples/web-ai-sdk/tsconfig.json +13 -0
- package/examples/web-generative/index.html +12 -0
- package/examples/web-generative/package.json +23 -0
- package/examples/web-generative/src/copy.ts +42 -0
- package/examples/web-generative/src/main.tsx +74 -0
- package/examples/web-generative/tsconfig.json +14 -0
- package/examples/web-independent/index.html +12 -0
- package/examples/web-independent/package.json +20 -0
- package/examples/web-independent/src/main.tsx +32 -0
- package/examples/web-independent/tsconfig.json +14 -0
- package/examples/web-interactions/index.html +12 -0
- package/examples/web-interactions/package.json +21 -0
- package/examples/web-interactions/src/copy.ts +215 -0
- package/examples/web-interactions/src/examples.tsx +628 -0
- package/examples/web-interactions/src/main.tsx +116 -0
- package/examples/web-interactions/tsconfig.json +14 -0
- package/examples/web-review/index.html +12 -0
- package/examples/web-review/package.json +20 -0
- package/examples/web-review/src/main.tsx +59 -0
- package/examples/web-review/tsconfig.json +14 -0
- package/fonts.css +117 -0
- package/generative/index.js +1560 -0
- package/interactions/index.js +1591 -0
- package/langgraph-review/index.js +36 -0
- package/licenses/ai-sdk.txt +13 -0
- package/licenses/assistant-ui-generative.txt +21 -0
- package/licenses/assistant-ui.txt +23 -0
- package/licenses/ibm-plex-mono.txt +93 -0
- package/licenses/instrument-sans.txt +93 -0
- package/licenses/internationalized-date.txt +201 -0
- package/licenses/langgraph.txt +21 -0
- package/licenses/lucide.txt +43 -0
- package/licenses/react-markdown.txt +21 -0
- package/licenses/remark-gfm.txt +22 -0
- package/licenses/zod.txt +21 -0
- package/package.json +138 -0
- package/review/index.js +31 -0
- package/source/components/avatar.tsx +50 -0
- package/source/components/button.tsx +155 -0
- package/source/components/callout.tsx +65 -0
- package/source/components/canvas/connector.tsx +14 -0
- package/source/components/canvas/copy.ts +34 -0
- package/source/components/canvas/index.tsx +257 -0
- package/source/components/canvas/recorder.ts +36 -0
- package/source/components/date-time-field.tsx +77 -0
- package/source/components/flow-motion.tsx +109 -0
- package/source/components/icons.tsx +275 -0
- package/source/components/responsive-overlay.tsx +91 -0
- package/source/components/scenario-picker/copy.ts +5 -0
- package/source/components/scenario-picker/index.tsx +142 -0
- package/source/components/scroll-area.tsx +59 -0
- package/source/components/search-picker.tsx +127 -0
- package/source/components/segmented-control.tsx +123 -0
- package/source/components/skeleton.tsx +11 -0
- package/source/components/spinner.tsx +19 -0
- package/source/components/superxd-arrow.tsx +22 -0
- package/source/components/switch.tsx +45 -0
- package/source/components/text-field.tsx +81 -0
- package/source/components/thinking.tsx +16 -0
- package/source/components/ui/copy.ts +12 -0
- package/source/components/ui/display.tsx +276 -0
- package/source/components/ui/navigation.tsx +346 -0
- package/source/components/ui/portal-theme.tsx +28 -0
- package/source/components/ui/selection.tsx +336 -0
- package/source/lib/cn.ts +23 -0
- package/source/reusable/ai-sdk/index.ts +114 -0
- package/source/reusable/assistant-ui/index.tsx +266 -0
- package/source/reusable/core/attachments.ts +163 -0
- package/source/reusable/core/index.ts +417 -0
- package/source/reusable/custom/index.ts +90 -0
- package/source/reusable/generative/actions.ts +188 -0
- package/source/reusable/generative/copy.ts +47 -0
- package/source/reusable/generative/data.tsx +126 -0
- package/source/reusable/generative/index.tsx +517 -0
- package/source/reusable/generative/schema.ts +327 -0
- package/source/reusable/generative/timeline.tsx +214 -0
- package/source/reusable/generative/vocabulary.tsx +847 -0
- package/source/reusable/interactions/agent.ts +259 -0
- package/source/reusable/interactions/artifact.ts +236 -0
- package/source/reusable/interactions/context.tsx +38 -0
- package/source/reusable/interactions/copy.ts +117 -0
- package/source/reusable/interactions/feedback.ts +73 -0
- package/source/reusable/interactions/index.ts +11 -0
- package/source/reusable/interactions/presentation.tsx +483 -0
- package/source/reusable/interactions/store.ts +74 -0
- package/source/reusable/interactions/threads.ts +126 -0
- package/source/reusable/interactions/web.tsx +574 -0
- package/source/reusable/langgraph-review/index.ts +73 -0
- package/source/reusable/review/controller.ts +263 -0
- package/source/reusable/review/index.ts +47 -0
- package/source/reusable/review/types.ts +189 -0
- package/source/reusable/ui/index.ts +25 -0
- package/source/reusable/uploads/index.ts +48 -0
- package/source/reusable/web/attachments/copy.ts +23 -0
- package/source/reusable/web/attachments/index.tsx +233 -0
- package/source/reusable/web/copy.ts +22 -0
- package/source/reusable/web/index.tsx +470 -0
- package/source/reusable/web/message/copy.ts +26 -0
- package/source/reusable/web/message/index.tsx +388 -0
- package/source/reusable/web/message/streaming.ts +64 -0
- package/source/reusable/web/message/styles.css +21 -0
- package/source/reusable/web/review/copy.ts +78 -0
- package/source/reusable/web/review/flow.ts +24 -0
- package/source/reusable/web/review/index.tsx +506 -0
- package/source/reusable/web/styles.ts +2 -0
- package/source/styles/library.css +612 -0
- package/source/styles/theme.css +228 -0
- package/styles.css +3 -0
- package/styles.d.ts +1 -0
- package/types/components/avatar.d.ts +14 -0
- package/types/components/button.d.ts +36 -0
- package/types/components/callout.d.ts +19 -0
- package/types/components/canvas/connector.d.ts +2 -0
- package/types/components/canvas/copy.d.ts +34 -0
- package/types/components/canvas/index.d.ts +33 -0
- package/types/components/canvas/recorder.d.ts +10 -0
- package/types/components/date-time-field.d.ts +11 -0
- package/types/components/flow-motion.d.ts +38 -0
- package/types/components/icons.d.ts +138 -0
- package/types/components/responsive-overlay.d.ts +15 -0
- package/types/components/scenario-picker/copy.d.ts +5 -0
- package/types/components/scenario-picker/index.d.ts +14 -0
- package/types/components/scroll-area.d.ts +14 -0
- package/types/components/search-picker.d.ts +27 -0
- package/types/components/segmented-control.d.ts +23 -0
- package/types/components/skeleton.d.ts +4 -0
- package/types/components/spinner.d.ts +4 -0
- package/types/components/superxd-arrow.d.ts +5 -0
- package/types/components/switch.d.ts +8 -0
- package/types/components/text-field.d.ts +19 -0
- package/types/components/thinking.d.ts +8 -0
- package/types/components/ui/copy.d.ts +12 -0
- package/types/components/ui/display.d.ts +50 -0
- package/types/components/ui/navigation.d.ts +63 -0
- package/types/components/ui/portal-theme.d.ts +8 -0
- package/types/components/ui/selection.d.ts +37 -0
- package/types/lib/cn.d.ts +3 -0
- package/types/reusable/ai-sdk/index.d.ts +15 -0
- package/types/reusable/assistant-ui/index.d.ts +12 -0
- package/types/reusable/core/attachments.d.ts +54 -0
- package/types/reusable/core/index.d.ts +107 -0
- package/types/reusable/custom/index.d.ts +14 -0
- package/types/reusable/generative/actions.d.ts +45 -0
- package/types/reusable/generative/copy.d.ts +48 -0
- package/types/reusable/generative/data.d.ts +4 -0
- package/types/reusable/generative/index.d.ts +30 -0
- package/types/reusable/generative/schema.d.ts +303 -0
- package/types/reusable/generative/timeline.d.ts +21 -0
- package/types/reusable/generative/vocabulary.d.ts +34 -0
- package/types/reusable/interactions/agent.d.ts +98 -0
- package/types/reusable/interactions/artifact.d.ts +118 -0
- package/types/reusable/interactions/context.d.ts +130 -0
- package/types/reusable/interactions/copy.d.ts +115 -0
- package/types/reusable/interactions/feedback.d.ts +34 -0
- package/types/reusable/interactions/index.d.ts +10 -0
- package/types/reusable/interactions/presentation.d.ts +97 -0
- package/types/reusable/interactions/store.d.ts +29 -0
- package/types/reusable/interactions/threads.d.ts +38 -0
- package/types/reusable/interactions/web.d.ts +22 -0
- package/types/reusable/langgraph-review/index.d.ts +5 -0
- package/types/reusable/review/controller.d.ts +52 -0
- package/types/reusable/review/index.d.ts +12 -0
- package/types/reusable/review/types.d.ts +61 -0
- package/types/reusable/ui/index.d.ts +19 -0
- package/types/reusable/uploads/index.d.ts +11 -0
- package/types/reusable/web/attachments/copy.d.ts +25 -0
- package/types/reusable/web/attachments/index.d.ts +24 -0
- package/types/reusable/web/copy.d.ts +24 -0
- package/types/reusable/web/index.d.ts +41 -0
- package/types/reusable/web/message/copy.d.ts +27 -0
- package/types/reusable/web/message/index.d.ts +56 -0
- package/types/reusable/web/message/streaming.d.ts +27 -0
- package/types/reusable/web/review/copy.d.ts +72 -0
- package/types/reusable/web/review/flow.d.ts +3 -0
- package/types/reusable/web/review/index.d.ts +38 -0
- package/types/reusable/web/styles.d.ts +2 -0
- package/ui/index.js +4 -0
- package/uploads/index.js +34 -0
- package/web/index.js +931 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The library's look, in one file.
|
|
3
|
+
*
|
|
4
|
+
* Every component reads its colours, corners, type, shadows and motion from
|
|
5
|
+
* these tokens and nothing else. Change a value here and every component
|
|
6
|
+
* follows. Warm ivory and charcoal anchor the look; muted status colours
|
|
7
|
+
* keep it calm without weakening text, input or focus contrast.
|
|
8
|
+
*
|
|
9
|
+
* Rules
|
|
10
|
+
* - Components never use raw colours. The default Tailwind palette is
|
|
11
|
+
* switched off below, so a raw colour class won't even build.
|
|
12
|
+
* - Light values live in @theme. Dark values override the same names in .dark.
|
|
13
|
+
* - Pairs that carry text are checked for contrast by
|
|
14
|
+
* src/styles/theme.test.ts (WCAG AA: 4.5:1 for text, 3:1 for input borders).
|
|
15
|
+
* Run `npm test` after changing a colour.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
@theme static {
|
|
19
|
+
--color-*: initial;
|
|
20
|
+
|
|
21
|
+
/* Surfaces, lightest to strongest */
|
|
22
|
+
--color-surface: hsl(40 30% 98%); /* page, cards, the booker */
|
|
23
|
+
--color-surface-muted: hsl(35 22% 95%); /* quiet panels */
|
|
24
|
+
--color-surface-subtle: hsl(35 16% 91%); /* hover fills, selected pills */
|
|
25
|
+
--color-surface-emphasis: hsl(32 12% 87%); /* bookable days, strong fills */
|
|
26
|
+
--color-surface-inverted: hsl(30 7% 18%); /* selected day, tooltips */
|
|
27
|
+
|
|
28
|
+
/* Text */
|
|
29
|
+
--color-fg-emphasis: hsl(30 7% 18%); /* titles, key values */
|
|
30
|
+
--color-fg: hsl(30 6% 28%); /* body text */
|
|
31
|
+
--color-fg-subtle: hsl(30 5% 40%); /* secondary text */
|
|
32
|
+
--color-fg-muted: hsl(30 6% 63%); /* disabled only, never for reading */
|
|
33
|
+
--color-fg-inverted: hsl(40 30% 98%); /* text on surface-inverted */
|
|
34
|
+
--color-system-blue: hsl(240.27 100% 56.67%); /* SuperXD #2322ff, canvas state labels */
|
|
35
|
+
/* SuperXD's ultramarine appears in three places only: focus, selection and done */
|
|
36
|
+
--color-done: hsl(240.27 100% 56.67%);
|
|
37
|
+
--color-on-done: hsl(40 30% 98%);
|
|
38
|
+
|
|
39
|
+
/* Lines */
|
|
40
|
+
--color-line-subtle: hsl(32 12% 87%); /* dividers, container edges */
|
|
41
|
+
--color-line: hsl(32 10% 80%); /* button outlines */
|
|
42
|
+
--color-line-emphasis: hsl(30 8% 54%); /* hover outlines, including inputs */
|
|
43
|
+
--color-line-input: hsl(30 6% 52%); /* text box borders (3:1 minimum) */
|
|
44
|
+
|
|
45
|
+
/* Brand: the main action */
|
|
46
|
+
--color-brand: hsl(30 8% 22%);
|
|
47
|
+
--color-brand-emphasis: hsl(30 6% 28%); /* brand on hover */
|
|
48
|
+
--color-on-brand: hsl(40 30% 98%);
|
|
49
|
+
|
|
50
|
+
/* Status. Each has a strong colour (text, icons), a subtle fill and a line */
|
|
51
|
+
--color-success: hsl(145 24% 29%);
|
|
52
|
+
--color-success-subtle: hsl(135 18% 93%);
|
|
53
|
+
--color-success-line: hsl(140 17% 78%);
|
|
54
|
+
--color-attention: hsl(32 42% 31%);
|
|
55
|
+
--color-attention-subtle: hsl(38 40% 93%);
|
|
56
|
+
--color-attention-line: hsl(35 30% 77%);
|
|
57
|
+
--color-error: hsl(10 38% 35%);
|
|
58
|
+
--color-error-subtle: hsl(12 30% 94%);
|
|
59
|
+
--color-error-line: hsl(12 26% 81%);
|
|
60
|
+
--color-info: hsl(210 22% 35%);
|
|
61
|
+
--color-info-subtle: hsl(210 20% 94%);
|
|
62
|
+
--color-info-line: hsl(210 18% 80%);
|
|
63
|
+
--color-destructive: hsl(10 42% 38%); /* destructive buttons */
|
|
64
|
+
--color-on-destructive: hsl(40 30% 98%);
|
|
65
|
+
|
|
66
|
+
/* Focus and overlays. Focus is SuperXD's ultramarine. */
|
|
67
|
+
--color-focus: hsl(240.27 100% 56.67%);
|
|
68
|
+
--color-overlay: hsl(30 8% 12% / 0.45);
|
|
69
|
+
|
|
70
|
+
/* Shape */
|
|
71
|
+
--radius-control: 0.625rem; /* buttons, inputs, times, toggle tracks */
|
|
72
|
+
--radius-cell: 0.375rem; /* calendar days, small items inside controls */
|
|
73
|
+
--radius-surface: 0.75rem; /* the booker, cards, popovers */
|
|
74
|
+
--radius-pill: 9999px;
|
|
75
|
+
|
|
76
|
+
/* Type */
|
|
77
|
+
/* SuperXD's two voices: Instrument Sans for people and content, IBM Plex Mono for the
|
|
78
|
+
system (status, progress, narration). */
|
|
79
|
+
--font-sans: "Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
|
|
80
|
+
--font-heading:
|
|
81
|
+
"Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
|
|
82
|
+
--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
|
|
83
|
+
--heading-weight: 600;
|
|
84
|
+
--heading-tracking: -0.015em;
|
|
85
|
+
|
|
86
|
+
/* Shared control spacing: small 36, standard 44, large 48. */
|
|
87
|
+
--spacing-control-sm: 2.25rem;
|
|
88
|
+
--spacing-control-md: 2.75rem;
|
|
89
|
+
--spacing-control-lg: 3rem;
|
|
90
|
+
--spacing-control-sm-x: 1rem;
|
|
91
|
+
--spacing-control-md-x: 1.25rem;
|
|
92
|
+
--spacing-control-lg-x: 1.5rem;
|
|
93
|
+
--spacing-control-y: 0.75rem;
|
|
94
|
+
--spacing-avatar-sm: 1.75rem;
|
|
95
|
+
--spacing-avatar-md: 2.25rem;
|
|
96
|
+
--spacing-avatar-lg: 2.75rem;
|
|
97
|
+
/* Calendar geometry: each half-hour has room for a compact card. */
|
|
98
|
+
--spacing-calendar-slot: 3.5rem;
|
|
99
|
+
--spacing-calendar-ruler: 4.5rem;
|
|
100
|
+
--spacing-calendar-viewport: 36rem;
|
|
101
|
+
--spacing-conversation: 40rem;
|
|
102
|
+
--spacing-conversation-example: 36rem;
|
|
103
|
+
--container-conversation: 42rem;
|
|
104
|
+
--text-avatar-sm: 0.625rem;
|
|
105
|
+
|
|
106
|
+
/* Icons */
|
|
107
|
+
--icon-stroke: 2;
|
|
108
|
+
|
|
109
|
+
/* Elevation */
|
|
110
|
+
--shadow-control: 0 1px 2px 0 hsl(30 8% 12% / 0.05);
|
|
111
|
+
--shadow-popover: 0 8px 24px -6px hsl(30 8% 12% / 0.12), 0 2px 6px -2px hsl(30 8% 12% / 0.08);
|
|
112
|
+
--shadow-dialog: 0 24px 48px -12px hsl(30 8% 12% / 0.22), 0 4px 12px -4px hsl(30 8% 12% / 0.1);
|
|
113
|
+
|
|
114
|
+
/* Motion. Reduced-motion users get none of it (see library.css).
|
|
115
|
+
SuperXD's named motion, chosen in the DNA lab (docs/design-dna.md):
|
|
116
|
+
snap for the moment of a press, settle (a gentle spring, about 3% overshoot) for
|
|
117
|
+
release and landing, reveal for content entering, ink for a draft becoming real. */
|
|
118
|
+
--ease-snap: cubic-bezier(0.3, 0, 0.15, 1);
|
|
119
|
+
--ease-settle: linear(
|
|
120
|
+
0,
|
|
121
|
+
0.06 4.2%,
|
|
122
|
+
0.198 8.3%,
|
|
123
|
+
0.364 12.5%,
|
|
124
|
+
0.528 16.7%,
|
|
125
|
+
0.672 20.8%,
|
|
126
|
+
0.789 25%,
|
|
127
|
+
0.879 29.2%,
|
|
128
|
+
0.942 33.3%,
|
|
129
|
+
0.984 37.5%,
|
|
130
|
+
1.01 41.7%,
|
|
131
|
+
1.023 45.8%,
|
|
132
|
+
1.028 50%,
|
|
133
|
+
1.028 54.2%,
|
|
134
|
+
1.024 58.3%,
|
|
135
|
+
1.02 62.5%,
|
|
136
|
+
1.015 66.7%,
|
|
137
|
+
1.011 70.8%,
|
|
138
|
+
1.007 75%,
|
|
139
|
+
1.004 79.2%,
|
|
140
|
+
1.002 83.3%,
|
|
141
|
+
1.001 87.5%,
|
|
142
|
+
1
|
|
143
|
+
);
|
|
144
|
+
--ease-reveal: cubic-bezier(0.16, 1, 0.3, 1);
|
|
145
|
+
--ease-ink: cubic-bezier(0.65, 0, 0.35, 1);
|
|
146
|
+
--duration-snap: 90ms;
|
|
147
|
+
--duration-settle: 560ms;
|
|
148
|
+
--duration-reveal: 850ms;
|
|
149
|
+
--duration-ink: 900ms;
|
|
150
|
+
--press-depth: 0.97;
|
|
151
|
+
--duration-pop: 240ms; /* popovers, menus and tooltips: the reveal curve, kept quick */
|
|
152
|
+
--duration-leave: 140ms; /* anything closing leaves on snap */
|
|
153
|
+
--stagger-step: 40ms; /* lists ink in one row after another */
|
|
154
|
+
--distance-step: 1.5rem; /* how far a flow's next step travels as it inks in */
|
|
155
|
+
--duration-thinking: 1400ms;
|
|
156
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
157
|
+
--ease-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
158
|
+
--duration-fast: 120ms;
|
|
159
|
+
--duration-base: 200ms;
|
|
160
|
+
--duration-slow: 320ms;
|
|
161
|
+
--duration-loader: 1200ms;
|
|
162
|
+
--loader-step: 160ms;
|
|
163
|
+
--loader-lift: -2px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.dark {
|
|
167
|
+
color-scheme: dark;
|
|
168
|
+
|
|
169
|
+
--color-surface: hsl(30 8% 11%);
|
|
170
|
+
--color-surface-muted: hsl(30 7% 8%);
|
|
171
|
+
--color-surface-subtle: hsl(30 7% 16%);
|
|
172
|
+
--color-surface-emphasis: hsl(30 6% 24%);
|
|
173
|
+
--color-surface-inverted: hsl(35 18% 94%);
|
|
174
|
+
|
|
175
|
+
--color-fg-emphasis: hsl(35 18% 94%);
|
|
176
|
+
--color-fg: hsl(35 9% 82%);
|
|
177
|
+
--color-fg-subtle: hsl(35 6% 69%);
|
|
178
|
+
--color-fg-muted: hsl(30 5% 45%);
|
|
179
|
+
--color-fg-inverted: hsl(30 8% 12%);
|
|
180
|
+
|
|
181
|
+
--color-line-subtle: hsl(30 6% 20%);
|
|
182
|
+
--color-line: hsl(30 6% 30%);
|
|
183
|
+
--color-line-emphasis: hsl(30 6% 47%);
|
|
184
|
+
--color-line-input: hsl(30 6% 48%);
|
|
185
|
+
|
|
186
|
+
--color-brand: hsl(35 18% 94%);
|
|
187
|
+
--color-brand-emphasis: hsl(35 12% 84%);
|
|
188
|
+
--color-on-brand: hsl(30 8% 12%);
|
|
189
|
+
|
|
190
|
+
--color-success: hsl(140 24% 68%);
|
|
191
|
+
--color-success-subtle: hsl(140 16% 15%);
|
|
192
|
+
--color-success-line: hsl(140 18% 30%);
|
|
193
|
+
--color-attention: hsl(35 42% 70%);
|
|
194
|
+
--color-attention-subtle: hsl(35 22% 15%);
|
|
195
|
+
--color-attention-line: hsl(35 26% 32%);
|
|
196
|
+
--color-error: hsl(12 42% 75%);
|
|
197
|
+
--color-error-subtle: hsl(12 20% 15%);
|
|
198
|
+
--color-error-line: hsl(12 24% 32%);
|
|
199
|
+
--color-info: hsl(210 24% 74%);
|
|
200
|
+
--color-system-blue: hsl(241.57 100% 77.45%); /* SuperXD #8f8cff on dark */
|
|
201
|
+
--color-done: hsl(241.57 100% 77.45%);
|
|
202
|
+
--color-on-done: hsl(30 8% 12%);
|
|
203
|
+
--color-info-subtle: hsl(210 16% 15%);
|
|
204
|
+
--color-info-line: hsl(210 20% 32%);
|
|
205
|
+
--color-destructive: hsl(10 42% 38%);
|
|
206
|
+
--color-on-destructive: hsl(40 30% 98%);
|
|
207
|
+
|
|
208
|
+
--color-focus: hsl(241.57 100% 77.45%);
|
|
209
|
+
--color-overlay: hsl(30 8% 4% / 0.6);
|
|
210
|
+
|
|
211
|
+
--shadow-control: 0 1px 2px 0 hsl(30 8% 4% / 0.4);
|
|
212
|
+
--shadow-popover: 0 8px 24px -6px hsl(30 8% 4% / 0.6), 0 0 0 1px hsl(35 18% 94% / 0.06);
|
|
213
|
+
--shadow-dialog: 0 24px 48px -12px hsl(30 8% 4% / 0.7), 0 0 0 1px hsl(35 18% 94% / 0.06);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/*
|
|
217
|
+
* Squircle corners, SuperXD's shape, where the browser can draw them. A squircle needs a
|
|
218
|
+
* larger radius to read as the same size, so the radii grow with it. Other browsers keep
|
|
219
|
+
* the rounded corners above.
|
|
220
|
+
*/
|
|
221
|
+
@supports (corner-shape: squircle) {
|
|
222
|
+
:root {
|
|
223
|
+
--corner-shape: squircle;
|
|
224
|
+
--radius-control: 1.0625rem;
|
|
225
|
+
--radius-cell: 0.625rem;
|
|
226
|
+
--radius-surface: 1.25rem;
|
|
227
|
+
}
|
|
228
|
+
}
|
package/styles.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--spacing:.25rem;--breakpoint-md:48rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface:#fbfaf8;--color-surface-muted:#f5f3ef;--color-surface-subtle:#ece9e4;--color-surface-emphasis:#e2deda;--color-surface-inverted:#312e2b;--color-fg-emphasis:#312e2b;--color-fg:#4c4743;--color-fg-subtle:#6b6661;--color-fg-muted:#a6a19b;--color-fg-inverted:#fbfaf8;--color-system-blue:#2322ff;--color-done:#2322ff;--color-on-done:#fbfaf8;--color-line-subtle:#e2deda;--color-line:#d1ccc7;--color-line-emphasis:#938a80;--color-line-input:#8c857d;--color-brand:#3d3834;--color-brand-emphasis:#4c4743;--color-on-brand:#fbfaf8;--color-success:#385c47;--color-success-subtle:#eaf0ec;--color-success-line:#bdd0c4;--color-attention:#70512e;--color-attention-subtle:#f4efe6;--color-attention-line:#d6c7b3;--color-error:#7b4337;--color-error-subtle:#f4edeb;--color-error-line:#dbc7c2;--color-info:#46596d;--color-info-subtle:#edf0f3;--color-info-line:#c3ccd5;--color-destructive:#8a4638;--color-on-destructive:#fbfaf8;--color-focus:#2322ff;--color-overlay:#211f1c73;--radius-control:.625rem;--radius-cell:.375rem;--radius-surface:.75rem;--radius-pill:9999px;--font-heading:"Instrument Sans Variable", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--heading-weight:600;--heading-tracking:-.015em;--spacing-control-sm:2.25rem;--spacing-control-md:2.75rem;--spacing-control-lg:3rem;--spacing-control-sm-x:1rem;--spacing-control-md-x:1.25rem;--spacing-control-lg-x:1.5rem;--spacing-control-y:.75rem;--spacing-avatar-sm:1.75rem;--spacing-avatar-md:2.25rem;--spacing-avatar-lg:2.75rem;--spacing-calendar-slot:3.5rem;--spacing-calendar-ruler:4.5rem;--spacing-calendar-viewport:36rem;--spacing-conversation:40rem;--spacing-conversation-example:36rem;--container-conversation:42rem;--text-avatar-sm:.625rem;--icon-stroke:2;--shadow-control:0 1px 2px 0 #211f1c0d;--shadow-popover:0 8px 24px -6px #211f1c1f, 0 2px 6px -2px #211f1c14;--shadow-dialog:0 24px 48px -12px #211f1c38, 0 4px 12px -4px #211f1c1a;--ease-snap:cubic-bezier(.3, 0, .15, 1);--ease-settle:linear(0, .06 4.2%, .198 8.3%, .364 12.5%, .528 16.7%, .672 20.8%, .789 25%, .879 29.2%, .942 33.3%, .984 37.5%, 1.01 41.7%, 1.023 45.8%, 1.028 50%, 1.028 54.2%, 1.024 58.3%, 1.02 62.5%, 1.015 66.7%, 1.011 70.8%, 1.007 75%, 1.004 79.2%, 1.002 83.3%, 1.001 87.5%, 1);--ease-reveal:cubic-bezier(.16, 1, .3, 1);--ease-ink:cubic-bezier(.65, 0, .35, 1);--duration-snap:90ms;--duration-settle:.56s;--duration-reveal:.85s;--duration-ink:.9s;--press-depth:.97;--duration-pop:.24s;--duration-leave:.14s;--stagger-step:40ms;--distance-step:1.5rem;--duration-thinking:1.4s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--duration-loader:1.2s;--loader-step:.16s;--loader-lift:-2px;--animate-fade-in:fade-in var(--duration-base) var(--ease-standard) both;--animate-pulse-soft:pulse-soft 1.6s ease-in-out infinite;--animate-reveal-in:rise-in var(--duration-reveal) var(--ease-reveal) both;--animate-pop-in:pop-in var(--duration-pop) var(--ease-reveal) both;--animate-pop-out:pop-out var(--duration-leave) var(--ease-snap) both;--animate-fade-out:fade-out var(--duration-leave) var(--ease-snap) both;--animate-dialog-settle:dialog-settle var(--duration-settle) var(--ease-settle) both;--animate-drawer-settle:drawer-settle var(--duration-settle) var(--ease-settle) both;--animate-drawer-out:drawer-out var(--duration-leave) var(--ease-snap) both;--animate-toast-in:toast-in var(--duration-settle) var(--ease-settle) both;--animate-done-in:done-in var(--duration-settle) var(--ease-settle) both}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background-color:var(--color-surface);color:var(--color-fg)}:where(a,button,[tabindex]:not(input,textarea)):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-10{top:calc(var(--spacing) * -10)}.top-0{top:0}.top-1\/2{top:50%}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-px{margin-top:1px}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-avatar-lg{width:var(--spacing-avatar-lg);height:var(--spacing-avatar-lg)}.size-avatar-md{width:var(--spacing-avatar-md);height:var(--spacing-avatar-md)}.size-avatar-sm{width:var(--spacing-avatar-sm);height:var(--spacing-avatar-sm)}.size-control-md{width:var(--spacing-control-md);height:var(--spacing-control-md)}.size-control-sm{width:var(--spacing-control-sm);height:var(--spacing-control-sm)}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-\[calc\(var\(--spacing-calendar-slot\)\*2\)\]{height:calc(var(--spacing-calendar-slot) * 2)}.h-auto{height:auto}.h-calendar-slot{height:var(--spacing-calendar-slot)}.h-control-lg{height:var(--spacing-control-lg)}.h-control-md{height:var(--spacing-control-md)}.h-control-sm{height:var(--spacing-control-sm)}.h-conversation{height:var(--spacing-conversation)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--spacing-calendar-viewport\){max-height:var(--spacing-calendar-viewport)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[calc\(100dvh-1rem\)\]{max-height:calc(100dvh - 1rem)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[min\(24rem\,60dvh\)\]{max-height:min(24rem,60dvh)}.max-h-\[min\(48rem\,calc\(100dvh-2rem\)\)\]{max-height:min(48rem,100dvh - 2rem)}.min-h-0{min-height:0}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-control-md{min-height:var(--spacing-control-md)}.min-h-control-sm{min-height:var(--spacing-control-sm)}.w-\(--trigger-width\){width:var(--trigger-width)}.w-1{width:var(--spacing)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2\/3{width:66.6667%}.w-3\/4{width:75%}.w-6{width:calc(var(--spacing) * 6)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-\(--trigger-width\){min-width:var(--trigger-width)}.min-w-0{min-width:0}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-control-md{min-width:var(--spacing-control-md)}.min-w-control-sm{min-width:var(--spacing-control-sm)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-64{flex-basis:calc(var(--spacing) * 64)}.border-collapse{border-collapse:collapse}.origin-\(--trigger-anchor-point\){transform-origin:var(--trigger-anchor-point)}.origin-left{transform-origin:0}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.press{transition:transform var(--duration-settle) var(--ease-settle), background-color var(--duration-snap) var(--ease-snap), border-color var(--duration-snap) var(--ease-snap), color var(--duration-snap) var(--ease-snap), box-shadow var(--duration-snap) var(--ease-snap), opacity var(--duration-snap) var(--ease-snap)}.press[data-pressed]:not([aria-expanded=true]){transform:scale(var(--press-depth));transition-duration:var(--duration-snap);transition-timing-function:var(--ease-snap)}.animate-done-in{animation:var(--animate-done-in)}.animate-pulse-soft{animation:var(--animate-pulse-soft)}.animate-reveal-in{animation:var(--animate-reveal-in)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-20{gap:calc(var(--spacing) * 20)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line-subtle>:not(:last-child)){border-color:var(--color-line-subtle)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius-control\)-2px\)\]{border-radius:calc(var(--radius-control) - 2px)}.rounded-cell{border-radius:var(--radius-cell)}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:2147483647px}.rounded-none{border-radius:0}.rounded-pill{border-radius:var(--radius-pill)}.rounded-surface{border-radius:var(--radius-surface)}.rounded-t-control{border-top-left-radius:var(--radius-control);border-top-right-radius:var(--radius-control)}.rounded-t-surface{border-top-left-radius:var(--radius-surface);border-top-right-radius:var(--radius-surface)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-attention-line{border-color:var(--color-attention-line)}.border-brand{border-color:var(--color-brand)}.border-error-line{border-color:var(--color-error-line)}.border-info-line{border-color:var(--color-info-line)}.border-line{border-color:var(--color-line)}.border-line-emphasis{border-color:var(--color-line-emphasis)}.border-line-input{border-color:var(--color-line-input)}.border-line-subtle{border-color:var(--color-line-subtle)}.border-success-line{border-color:var(--color-success-line)}.border-transparent{border-color:#0000}.bg-attention-subtle{background-color:var(--color-attention-subtle)}.bg-brand{background-color:var(--color-brand)}.bg-current{background-color:currentColor}.bg-destructive{background-color:var(--color-destructive)}.bg-done{background-color:var(--color-done)}.bg-error-subtle{background-color:var(--color-error-subtle)}.bg-fg-subtle{background-color:var(--color-fg-subtle)}.bg-info-subtle{background-color:var(--color-info-subtle)}.bg-line-emphasis{background-color:var(--color-line-emphasis)}.bg-line-subtle{background-color:var(--color-line-subtle)}.bg-overlay{background-color:var(--color-overlay)}.bg-success-subtle{background-color:var(--color-success-subtle)}.bg-surface{background-color:var(--color-surface)}.bg-surface-emphasis{background-color:var(--color-surface-emphasis)}.bg-surface-muted{background-color:var(--color-surface-muted)}.bg-surface-subtle{background-color:var(--color-surface-subtle)}.bg-transparent{background-color:#0000}.\[stroke-width\:var\(--icon-stroke\)\]{stroke-width:var(--icon-stroke)}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-control-lg-x{padding-inline:var(--spacing-control-lg-x)}.px-control-md-x{padding-inline:var(--spacing-control-md-x)}.px-control-sm-x{padding-inline:var(--spacing-control-sm-x)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-control-y{padding-block:var(--spacing-control-y)}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-control-y{padding-top:var(--spacing-control-y)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.type-heading{font-family:var(--font-heading);font-size:var(--text-base);line-height:var(--text-base--line-height);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking)}.type-title{font-family:var(--font-heading);font-size:var(--text-xl);line-height:var(--text-xl--line-height);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking)}.font-mono{font-family:var(--font-mono)}.type-body{font-size:var(--text-sm);line-height:var(--text-sm--line-height);font-weight:400}.type-caption{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:500}.type-label{font-size:var(--text-sm);line-height:var(--text-sm--line-height);font-weight:500}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-avatar-sm{font-size:var(--text-avatar-sm)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-pretty{text-wrap:pretty}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-attention{color:var(--color-attention)}.text-error{color:var(--color-error)}.text-fg{color:var(--color-fg)}.text-fg-emphasis{color:var(--color-fg-emphasis)}.text-fg-subtle{color:var(--color-fg-subtle)}.text-info{color:var(--color-info)}.text-on-brand{color:var(--color-on-brand)}.text-on-destructive{color:var(--color-on-destructive)}.text-on-done{color:var(--color-on-done)}.text-success{color:var(--color-success)}.text-system-blue{color:var(--color-system-blue)}.numeric{font-variant-numeric:tabular-nums}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-line-emphasis{-webkit-text-decoration-color:var(--color-line-emphasis);-webkit-text-decoration-color:var(--color-line-emphasis);-webkit-text-decoration-color:var(--color-line-emphasis);text-decoration-color:var(--color-line-emphasis)}.underline-offset-4{text-underline-offset:4px}.underline-offset-\[3px\]{text-underline-offset:3px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-control{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#211f1c0d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-dialog{--tw-shadow:0 24px 48px -12px var(--tw-shadow-color,#211f1c38), 0 4px 12px -4px var(--tw-shadow-color,#211f1c1a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-popover{--tw-shadow:0 8px 24px -6px var(--tw-shadow-color,#211f1c1f), 0 2px 6px -2px var(--tw-shadow-color,#211f1c14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-surface{--tw-shadow-color:#fbfaf8}@supports (color:color-mix(in lab, red, red)){.shadow-surface{--tw-shadow-color:color-mix(in oklab, var(--color-surface) var(--tw-shadow-alpha), transparent)}}.ring-surface{--tw-ring-color:var(--color-surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,box-shadow\]{transition-property:background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,scale\]{transition-property:background-color,border-color,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,scale\]{transition-property:border-color,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[rotate\]{transition-property:rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[scale\,border-color\]{transition-property:scale,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[scale\]{transition-property:scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,scale\]{transition-property:translate,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,width\]{transition-property:translate,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\(--duration-base\){--tw-duration:var(--duration-base);transition-duration:var(--duration-base)}.duration-\(--duration-fast\){--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.duration-\(--duration-settle\){--tw-duration:var(--duration-settle);transition-duration:var(--duration-settle)}.duration-\(--duration-snap\){--tw-duration:var(--duration-snap);transition-duration:var(--duration-snap)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-settle{--tw-ease:var(--ease-settle);transition-timing-function:var(--ease-settle)}.ease-snap{--tw-ease:var(--ease-snap);transition-timing-function:var(--ease-snap)}.ease-standard{--tw-ease:var(--ease-standard);transition-timing-function:var(--ease-standard)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-delay\:var\(--duration-pop\)\]{animation-delay:var(--duration-pop)}.\[corner-shape\:var\(--corner-shape\,round\)\],.squircle{corner-shape:var(--corner-shape,round)}.group-aria-expanded\/trigger\:rotate-180:is(:where(.group\/trigger)[aria-expanded=true] *){rotate:180deg}.group-data-disabled\:text-fg-muted:is(:where(.group)[data-disabled] *){color:var(--color-fg-muted)}.group-data-disabled\:opacity-50:is(:where(.group)[data-disabled] *){opacity:.5}.group-data-expanded\:rotate-180:is(:where(.group)[data-expanded] *){rotate:180deg}.group-data-hovered\:ring-surface-muted:is(:where(.group)[data-hovered] *){--tw-ring-color:var(--color-surface-muted)}.group-data-indeterminate\:border-brand:is(:where(.group)[data-indeterminate] *){border-color:var(--color-brand)}.group-data-indeterminate\:bg-brand:is(:where(.group)[data-indeterminate] *){background-color:var(--color-brand)}.group-data-indeterminate\:text-on-brand:is(:where(.group)[data-indeterminate] *){color:var(--color-on-brand)}.group-data-pressed\:scale-x-125:is(:where(.group)[data-pressed] *){--tw-scale-x:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-data-pressed\:scale-\(--press-depth\):is(:where(.group)[data-pressed] *){scale:var(--press-depth)}.group-data-pressed\:duration-\(--duration-snap\):is(:where(.group)[data-pressed] *){--tw-duration:var(--duration-snap);transition-duration:var(--duration-snap)}.group-data-pressed\:ease-snap:is(:where(.group)[data-pressed] *){--tw-ease:var(--ease-snap);transition-timing-function:var(--ease-snap)}.group-data-selected\:visible:is(:where(.group)[data-selected] *){visibility:visible}.group-data-selected\:origin-right:is(:where(.group)[data-selected] *){transform-origin:100%}.group-data-selected\:translate-x-4:is(:where(.group)[data-selected] *){--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-selected\:scale-100:is(:where(.group)[data-selected] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-data-selected\:border-brand:is(:where(.group)[data-selected] *){border-color:var(--color-brand)}.group-data-selected\:bg-brand:is(:where(.group)[data-selected] *){background-color:var(--color-brand)}.group-data-selected\:bg-on-brand:is(:where(.group)[data-selected] *){background-color:var(--color-on-brand)}.group-data-selected\:text-on-brand:is(:where(.group)[data-selected] *){color:var(--color-on-brand)}.group-data-selected\:ring-surface-muted:is(:where(.group)[data-selected] *){--tw-ring-color:var(--color-surface-muted)}.placeholder\:text-fg-subtle::placeholder{color:var(--color-fg-subtle)}.first\:pt-0:first-child{padding-top:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.empty\:hidden:empty{display:none}.focus-within\:border-line-emphasis:focus-within{border-color:var(--color-line-emphasis)}.focus-visible\:focus-ring:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.has-data-focus-visible\:border-focus:has([data-focus-visible]){border-color:var(--color-focus)}.has-data-focus-visible\:ring-2:has([data-focus-visible]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-data-focus-visible\:ring-focus\/15:has([data-focus-visible]){--tw-ring-color:#2322ff26}@supports (color:color-mix(in lab, red, red)){.has-data-focus-visible\:ring-focus\/15:has([data-focus-visible]){--tw-ring-color:color-mix(in oklab, var(--color-focus) 15%, transparent)}}.data-disabled\:cursor-default[data-disabled]{cursor:default}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:bg-surface-muted[data-disabled]{background-color:var(--color-surface-muted)}.data-disabled\:text-fg-muted[data-disabled]{color:var(--color-fg-muted)}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-done\:border-done\![data-done]{border-color:var(--color-done)!important}.data-done\:bg-done\![data-done]{background-color:var(--color-done)!important}.data-done\:text-on-done\![data-done]{color:var(--color-on-done)!important}.data-done\:shadow-none\![data-done]{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.data-dragging\:scale-110[data-dragging]{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-dragging\:border-brand[data-dragging]{border-color:var(--color-brand)}.data-entering\:animate-dialog-settle[data-entering]{animation:var(--animate-dialog-settle)}.data-entering\:animate-drawer-settle[data-entering]{animation:var(--animate-drawer-settle)}.data-entering\:animate-fade-in[data-entering]{animation:var(--animate-fade-in)}.data-entering\:animate-pop-in[data-entering]{animation:var(--animate-pop-in)}.data-entering\:animate-toast-in[data-entering]{animation:var(--animate-toast-in)}.data-exiting\:animate-drawer-out[data-exiting]{animation:var(--animate-drawer-out)}.data-exiting\:animate-fade-out[data-exiting]{animation:var(--animate-fade-out)}.data-exiting\:animate-pop-out[data-exiting]{animation:var(--animate-pop-out)}.data-focus-visible\:focus-ring[data-focus-visible]{outline:2px solid var(--color-focus);outline-offset:2px}.data-focus-within\:border-brand[data-focus-within]{border-color:var(--color-brand)}.data-focus-within\:ring-2[data-focus-within]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-focus-within\:ring-brand\/15[data-focus-within]{--tw-ring-color:#3d383426}@supports (color:color-mix(in lab, red, red)){.data-focus-within\:ring-brand\/15[data-focus-within]{--tw-ring-color:color-mix(in oklab, var(--color-brand) 15%, transparent)}}.data-focus-within\:focus-ring[data-focus-within]{outline:2px solid var(--color-focus);outline-offset:2px}.data-focused\:border-focus[data-focused]{border-color:var(--color-focus)}.data-focused\:bg-brand[data-focused]{background-color:var(--color-brand)}.data-focused\:bg-surface-subtle[data-focused]{background-color:var(--color-surface-subtle)}.data-focused\:text-fg-emphasis[data-focused]{color:var(--color-fg-emphasis)}.data-focused\:text-on-brand[data-focused]{color:var(--color-on-brand)}.data-focused\:ring-2[data-focused]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-focused\:ring-focus\/15[data-focused]{--tw-ring-color:#2322ff26}@supports (color:color-mix(in lab, red, red)){.data-focused\:ring-focus\/15[data-focused]{--tw-ring-color:color-mix(in oklab, var(--color-focus) 15%, transparent)}}.data-hovered\:border-line-emphasis[data-hovered]{border-color:var(--color-line-emphasis)}.data-hovered\:bg-brand-emphasis[data-hovered]{background-color:var(--color-brand-emphasis)}.data-hovered\:bg-destructive\/90[data-hovered]{background-color:#8a4638e6}@supports (color:color-mix(in lab, red, red)){.data-hovered\:bg-destructive\/90[data-hovered]{background-color:color-mix(in oklab, var(--color-destructive) 90%, transparent)}}.data-hovered\:bg-surface-muted[data-hovered]{background-color:var(--color-surface-muted)}.data-hovered\:bg-surface-subtle[data-hovered]{background-color:var(--color-surface-subtle)}.data-hovered\:text-fg-emphasis[data-hovered]{color:var(--color-fg-emphasis)}.data-hovered\:underline[data-hovered]{text-decoration-line:underline}.data-hovered\:decoration-fg-emphasis[data-hovered]{-webkit-text-decoration-color:var(--color-fg-emphasis);-webkit-text-decoration-color:var(--color-fg-emphasis);-webkit-text-decoration-color:var(--color-fg-emphasis);text-decoration-color:var(--color-fg-emphasis)}.data-hovered\:shadow-\[inset_0_0_0_1px_var\(--color-line-emphasis\)\][data-hovered]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--color-line-emphasis));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-invalid\:border-error[data-invalid]{border-color:var(--color-error)}.data-invalid\:data-focused\:ring-error\/15[data-invalid][data-focused]{--tw-ring-color:#7b433726}@supports (color:color-mix(in lab, red, red)){.data-invalid\:data-focused\:ring-error\/15[data-invalid][data-focused]{--tw-ring-color:color-mix(in oklab, var(--color-error) 15%, transparent)}}.data-placeholder\:text-fg-subtle[data-placeholder]{color:var(--color-fg-subtle)}.data-pressed\:bg-brand-emphasis[data-pressed]{background-color:var(--color-brand-emphasis)}.data-pressed\:bg-destructive\/85[data-pressed]{background-color:#8a4638d9}@supports (color:color-mix(in lab, red, red)){.data-pressed\:bg-destructive\/85[data-pressed]{background-color:color-mix(in oklab, var(--color-destructive) 85%, transparent)}}.data-pressed\:bg-surface-emphasis[data-pressed]{background-color:var(--color-surface-emphasis)}.data-pressed\:bg-surface-subtle[data-pressed]{background-color:var(--color-surface-subtle)}.data-selected\:border-brand[data-selected]{border-color:var(--color-brand)}.data-selected\:bg-brand[data-selected]{background-color:var(--color-brand)}.data-selected\:bg-surface-inverted[data-selected]{background-color:var(--color-surface-inverted)}.data-selected\:bg-surface-muted[data-selected]{background-color:var(--color-surface-muted)}.data-selected\:bg-surface-subtle[data-selected]{background-color:var(--color-surface-subtle)}.data-selected\:font-medium[data-selected]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-selected\:text-fg-emphasis[data-selected]{color:var(--color-fg-emphasis)}.data-selected\:text-fg-inverted[data-selected]{color:var(--color-fg-inverted)}.data-selected\:text-on-brand[data-selected]{color:var(--color-on-brand)}.data-selected\:shadow-\[inset_0_0_0_1px_var\(--color-brand\)\][data-selected]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--color-brand));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media (width>=40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}}@container (width>=48rem){.\@3xl\:sticky{position:sticky}.\@3xl\:top-6{top:calc(var(--spacing) * 6)}.\@3xl\:col-span-2{grid-column:span 2/span 2}.\@3xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}.\[\&\>svg\]\:size-full>svg{width:100%;height:100%}}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-surface:#1e1c1a;--color-surface-muted:#161413;--color-surface-subtle:#2c2926;--color-surface-emphasis:#413d3a;--color-surface-inverted:#f2f0ed;--color-fg-emphasis:#f2f0ed;--color-fg:#d5d2cd;--color-fg-subtle:#b5b1ab;--color-fg-muted:#78736d;--color-fg-inverted:#211f1c;--color-line-subtle:#363330;--color-line:#514d48;--color-line-emphasis:#7f7871;--color-line-input:#827a73;--color-brand:#f2f0ed;--color-brand-emphasis:#dbd7d1;--color-on-brand:#211f1c;--color-success:#9ac1a7;--color-success-subtle:#202c24;--color-success-line:#3f5a48;--color-attention:#d3b892;--color-attention-subtle:#2f281e;--color-attention-line:#67553c;--color-error:#daafa4;--color-error-subtle:#2e221f;--color-error-line:#65463e;--color-info:#adbdcd;--color-system-blue:#8f8cff;--color-done:#8f8cff;--color-on-done:#211f1c;--color-info-subtle:#20262c;--color-info-line:#415262;--color-destructive:#8a4638;--color-on-destructive:#fbfaf8;--color-focus:#8f8cff;--color-overlay:#0b0a0999;--shadow-control:0 1px 2px 0 #0b0a0966;--shadow-popover:0 8px 24px -6px #0b0a0999, 0 0 0 1px #f2f0ed0f;--shadow-dialog:0 24px 48px -12px #0b0a09b3, 0 0 0 1px #f2f0ed0f}@supports (corner-shape:squircle){:root{--corner-shape:squircle;--radius-control:1.0625rem;--radius-cell:.625rem;--radius-surface:1.25rem}}.thinking-matrix{color:var(--color-done);flex:none;grid-template-columns:repeat(3,.25rem);gap:.125rem;display:inline-grid}.thinking-matrix i{opacity:.2;width:.25rem;height:.25rem;animation:thinking-pixel var(--duration-thinking) var(--ease-snap) infinite;background:currentColor;border-radius:1px}.thinking-matrix i:nth-child(2){animation-delay:calc(var(--duration-thinking) * .07)}.thinking-matrix i:nth-child(3){animation-delay:calc(var(--duration-thinking) * .14)}.thinking-matrix i:nth-child(6){animation-delay:calc(var(--duration-thinking) * .21)}.thinking-matrix i:nth-child(9){animation-delay:calc(var(--duration-thinking) * .28)}.thinking-matrix i:nth-child(8){animation-delay:calc(var(--duration-thinking) * .35)}.thinking-matrix i:nth-child(7){animation-delay:calc(var(--duration-thinking) * .42)}.thinking-matrix i:nth-child(4){animation-delay:calc(var(--duration-thinking) * .5)}.thinking-matrix i:nth-child(5){animation-delay:calc(var(--duration-thinking) * .57)}@keyframes thinking-pixel{0%,40%,to{opacity:.2}12%{opacity:1}}.stream-word{transition:color .7s var(--ease-ink)}.stream-word--fresh{color:var(--color-info)}.stream-caret{background:var(--color-info);vertical-align:-.15em;width:.5em;height:1.05em;margin-left:2px;animation:1s steps(2,jump-none) infinite stream-caret;display:inline-block}@keyframes stream-caret{50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.thinking-matrix i{opacity:.6;animation:none!important}.stream-caret{animation:none!important}}:root:active-view-transition-type(flow-forward,flow-back,flow-swap)::view-transition-old(root){mix-blend-mode:normal;animation:none}:root:active-view-transition-type(flow-forward,flow-back,flow-swap)::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(.flow-motion){animation-duration:calc(var(--duration-settle) * var(--flow-pace,1));animation-timing-function:var(--ease-settle)}::view-transition-old(.flow-card){opacity:0;animation:none}::view-transition-new(.flow-card){width:100%;height:100%;animation:none}::view-transition-old(.flow-travel){width:auto;height:100%;animation-duration:calc(var(--duration-pop) * var(--flow-pace,1));animation-timing-function:var(--ease-reveal)}::view-transition-new(.flow-travel){width:auto;height:100%;animation-duration:calc(var(--duration-pop) * var(--flow-pace,1));animation-timing-function:var(--ease-reveal)}::view-transition-old(.flow-keep){width:auto;height:100%;animation-duration:calc(var(--duration-pop) * var(--flow-pace,1));animation-timing-function:var(--ease-reveal)}::view-transition-new(.flow-keep){width:auto;height:100%;animation-duration:calc(var(--duration-pop) * var(--flow-pace,1));animation-timing-function:var(--ease-reveal)}::view-transition-old(.flow-out){animation:flow-fade-out calc(var(--duration-leave) * var(--flow-pace,1)) var(--ease-snap) both}::view-transition-old(.flow-out-swap){animation:flow-fade-out calc(var(--duration-leave) * var(--flow-pace,1)) var(--ease-snap) both}::view-transition-new(.flow-in){animation:flow-ink-down calc(var(--duration-reveal) * var(--flow-pace,1)) var(--ease-ink) calc(var(--duration-leave) * .5 * var(--flow-pace,1)) both}::view-transition-new(.flow-in-swap){animation:flow-fade-in calc(var(--duration-pop) * var(--flow-pace,1)) var(--ease-reveal) both}@media (prefers-reduced-motion:reduce){::view-transition-group(.flow-motion){animation:none!important}::view-transition-image-pair(.flow-motion){animation:none!important}::view-transition-old(.flow-motion){animation:none!important}::view-transition-new(.flow-motion){animation:none!important}}@keyframes flow-fade-in{0%{opacity:0}}@keyframes flow-fade-out{to{opacity:0}}@keyframes flow-ink-down{0%{translate:0 calc(var(--distance-step) * .25);-webkit-mask-image:linear-gradient(#000 45%,#0000 55%);mask-image:linear-gradient(#000 45%,#0000 55%);-webkit-mask-position:0 100%;mask-position:0 100%;-webkit-mask-size:100% 260%;mask-size:100% 260%}to{translate:0;-webkit-mask-image:linear-gradient(#000 45%,#0000 55%);mask-image:linear-gradient(#000 45%,#0000 55%);-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 260%;mask-size:100% 260%}}.loader-dots circle{transform-box:fill-box;transform-origin:50%;animation:loader-dot var(--duration-loader) var(--ease-settle) infinite}.loader-dots circle:nth-child(2){animation-delay:var(--loader-step)}.loader-dots circle:nth-child(3){animation-delay:calc(var(--loader-step) * 2)}@keyframes loader-dot{0%,70%,to{opacity:.5;transform:scale(1)}25%{opacity:1;transform:scale(.6)}}.rounded-control,.rounded-cell,.rounded-surface{corner-shape:var(--corner-shape,round)}.conversation-markdown{overflow-wrap:anywhere}.conversation-markdown>*+*{margin-top:calc(var(--spacing) * 4)}.conversation-markdown :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--heading-weight);line-height:var(--text-base--line-height);letter-spacing:var(--heading-tracking)}.conversation-markdown :is(ul,ol){padding-left:calc(var(--spacing) * 5)}.conversation-markdown ul{list-style:outside}.conversation-markdown ol{list-style:decimal}.conversation-markdown li+li{margin-top:calc(var(--spacing) * 2)}.conversation-markdown blockquote{border-left:2px solid var(--color-line-emphasis);padding-left:calc(var(--spacing) * 4);color:var(--color-fg-subtle)}.conversation-markdown pre{border:1px solid var(--color-line-subtle);border-radius:var(--radius-control);background:var(--color-surface-muted);max-width:100%;overflow-x:auto}.conversation-markdown pre code{padding:calc(var(--spacing) * 4);font-size:var(--text-xs);font-family:var(--font-mono);line-height:var(--text-xs--line-height);white-space:pre;display:block}.conversation-markdown :not(pre)>code{border-radius:var(--radius-cell);background:var(--color-surface-subtle);padding-inline:var(--spacing);font-family:var(--font-mono);font-size:var(--text-xs)}.conversation-touch-hint{display:none}@media (pointer:coarse){.conversation-desktop-hint{display:none}.conversation-touch-hint{display:inline}}@media (prefers-reduced-motion:reduce){.loader-dots circle{opacity:1;transform:none;animation:none!important}}.calendar-grid-event{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 2);overflow:hidden}.calendar-grid-event>span:nth-child(2){-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar-grid-scroll,.calendar-grid-heading,.calendar-grid-allday{scrollbar-gutter:stable}.calendar-grid-heading,.calendar-grid-allday{overflow-y:hidden}.calendar-grid-heading [data-focus-visible]{outline-offset:-2px}.calendar-grid-scroll{overscroll-behavior:contain}.calendar-grid-event>span:first-child{display:block}.calendar-grid-event>span:first-child>span:last-child{right:var(--spacing);bottom:var(--spacing);position:absolute}.generative-chart [data-aui=chart-frame]{gap:calc(var(--spacing) * 2);grid-template-columns:auto minmax(0,1fr);display:grid}.generative-chart [data-aui=chart]{width:100%;height:calc(var(--spacing) * 40);color:var(--color-brand);display:block;overflow:visible}.generative-chart [data-aui=chart-ticks]{color:var(--color-fg-subtle);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;display:flex}.generative-chart [data-aui=chart-xlabels]{margin-top:calc(var(--spacing) * 3);color:var(--color-fg-subtle);font-size:var(--text-xs);grid-column:2;justify-content:space-between;display:flex}.generative-chart [data-aui=chart-grid],.generative-chart [data-aui=chart-zero]{color:var(--color-line-subtle)}.generative-chart [data-aui-series="0"]{color:var(--color-brand)}.generative-chart [data-aui-series="1"]{color:var(--color-info);stroke-dasharray:4 2}.generative-chart [data-aui-series="2"]{color:var(--color-success);stroke-dasharray:1 2}.generative-chart [data-aui-series="3"]{color:var(--color-attention);stroke-dasharray:6 2}.generative-chart [data-aui-series="4"]{color:var(--color-fg-subtle);stroke-dasharray:2 4}.generative-chart [data-aui=chart-legend]{gap:calc(var(--spacing) * 4);font-size:var(--text-xs);color:var(--color-fg-subtle);flex-wrap:wrap;grid-column:1/-1;display:flex}.generative-chart [data-aui=chart-legend-item]{align-items:center;gap:calc(var(--spacing) * 2);display:inline-flex}.generative-chart [data-aui=chart-legend-swatch]{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2);border-radius:var(--radius-cell);background:currentColor;display:inline-block}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}}@keyframes pulse-soft{50%{opacity:.55}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}}@keyframes pop-out{to{opacity:0;transform:scale(.98)}}@keyframes fade-out{to{opacity:0}}@keyframes dialog-settle{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes drawer-settle{0%{transform:translateY(100%)}}@keyframes drawer-out{to{transform:translateY(100%)}}@keyframes done-in{0%{opacity:0;transform:scale(.4)}}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}}.reusable-markdown .reusable-code pre{border:0;border-radius:0}.reusable-markdown .reusable-code pre code{padding:0}.reusable-markdown table :is(th,td){padding:calc(var(--spacing) * 3);border-bottom:1px solid var(--color-line-subtle);text-align:start;vertical-align:top}.reusable-markdown table th{background:var(--color-surface-muted);font-weight:var(--heading-weight)}.reusable-markdown table tr:last-child td{border-bottom:0}
|
|
3
|
+
/*$vite$:1*/
|
package/styles.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const sizes: {
|
|
2
|
+
readonly sm: "size-avatar-sm text-avatar-sm";
|
|
3
|
+
readonly md: "size-avatar-md text-xs";
|
|
4
|
+
readonly lg: "size-avatar-lg text-sm";
|
|
5
|
+
};
|
|
6
|
+
export interface AvatarProps {
|
|
7
|
+
name: string;
|
|
8
|
+
src?: string;
|
|
9
|
+
size?: keyof typeof sizes;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/** A person's photo, or their initials when there's no photo or it fails to load. */
|
|
13
|
+
export declare function Avatar({ name, src, size, className }: AvatarProps): import("react").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
import { type ButtonProps as AriaButtonProps, type LinkProps as AriaLinkProps } from "react-aria-components";
|
|
3
|
+
export type ButtonVariant = "primary" | "secondary" | "ghost" | "destructive";
|
|
4
|
+
export type ButtonSize = "sm" | "md" | "lg" | "icon-sm" | "icon-md";
|
|
5
|
+
/** The button classes, for anything that should look like a button (links, triggers). */
|
|
6
|
+
export declare function buttonStyles({ variant, size, className, }?: {
|
|
7
|
+
variant?: ButtonVariant;
|
|
8
|
+
size?: ButtonSize;
|
|
9
|
+
className?: string;
|
|
10
|
+
}): string;
|
|
11
|
+
export interface ButtonProps extends AriaButtonProps {
|
|
12
|
+
ref?: Ref<HTMLButtonElement>;
|
|
13
|
+
variant?: ButtonVariant;
|
|
14
|
+
size?: ButtonSize;
|
|
15
|
+
/**
|
|
16
|
+
* Shown with a spinner while `isPending` is true, for example "Booking".
|
|
17
|
+
* Without it the label stays in place (so the width holds) under a spinner.
|
|
18
|
+
*/
|
|
19
|
+
pendingLabel?: ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* The moment the action finished, for example "Saved". The button turns SuperXD's
|
|
22
|
+
* ultramarine with a tick, keeping its width. Announce the result nearby as well.
|
|
23
|
+
*/
|
|
24
|
+
isDone?: boolean;
|
|
25
|
+
/** Shown with the tick while `isDone` is true. Without it the button's own label stays. */
|
|
26
|
+
doneLabel?: ReactNode;
|
|
27
|
+
}
|
|
28
|
+
export declare function Button({ variant, size, pendingLabel, isDone, doneLabel, className, children, ...props }: ButtonProps): import("react").JSX.Element;
|
|
29
|
+
export interface ButtonLinkProps extends AriaLinkProps {
|
|
30
|
+
variant?: ButtonVariant;
|
|
31
|
+
size?: ButtonSize;
|
|
32
|
+
}
|
|
33
|
+
/** A link that looks like a button. Use it when the action goes somewhere. */
|
|
34
|
+
export declare function ButtonLink({ variant, size, className, ...props }: ButtonLinkProps): import("react").JSX.Element;
|
|
35
|
+
/** An inline text link. */
|
|
36
|
+
export declare function TextLink({ className, ...props }: AriaLinkProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type CalloutTone = "neutral" | "info" | "success" | "attention" | "error";
|
|
3
|
+
export interface CalloutProps {
|
|
4
|
+
tone?: CalloutTone;
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
/** Buttons or links shown under the message. */
|
|
8
|
+
actions?: ReactNode;
|
|
9
|
+
/** Replace or remove (null) the tone's icon. */
|
|
10
|
+
icon?: ReactNode | null;
|
|
11
|
+
/**
|
|
12
|
+
* How screen readers hear it when it appears: "polite" waits its turn,
|
|
13
|
+
* "assertive" interrupts. Leave unset for messages that are there on load.
|
|
14
|
+
*/
|
|
15
|
+
live?: "polite" | "assertive";
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/** A short message in the flow of the page: what happened and what to do next. */
|
|
19
|
+
export declare function Callout({ tone, title, children, actions, icon, live, className, }: CalloutProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const canvasCopy: {
|
|
2
|
+
previous: string;
|
|
3
|
+
loading: string;
|
|
4
|
+
ready: string;
|
|
5
|
+
details: string;
|
|
6
|
+
holding: string;
|
|
7
|
+
submitting: string;
|
|
8
|
+
failed: string;
|
|
9
|
+
checking: string;
|
|
10
|
+
confirm: string;
|
|
11
|
+
booked: string;
|
|
12
|
+
requested: string;
|
|
13
|
+
moved: string;
|
|
14
|
+
manage: string;
|
|
15
|
+
cancelling: string;
|
|
16
|
+
cancelled: string;
|
|
17
|
+
closed: string;
|
|
18
|
+
calendar: string;
|
|
19
|
+
event: string;
|
|
20
|
+
edit: string;
|
|
21
|
+
saving: string;
|
|
22
|
+
saved: string;
|
|
23
|
+
discard: string;
|
|
24
|
+
review: string;
|
|
25
|
+
applying: string;
|
|
26
|
+
partial: string;
|
|
27
|
+
complete: string;
|
|
28
|
+
denied: string;
|
|
29
|
+
conflict: string;
|
|
30
|
+
blocked: string;
|
|
31
|
+
uncertain: string;
|
|
32
|
+
support: string;
|
|
33
|
+
supportSaved: string;
|
|
34
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type RecordableFrame } from "./recorder";
|
|
3
|
+
/** The visitor canvas opts in; exported product components keep their usual single screen. */
|
|
4
|
+
export declare const CanvasModeContext: import("react").Context<boolean>;
|
|
5
|
+
export declare const CanvasPastContext: import("react").Context<boolean>;
|
|
6
|
+
/** null disables observation; false records quietly; true also displays the recorded states. */
|
|
7
|
+
export declare const CanvasObservationContext: import("react").Context<boolean | null>;
|
|
8
|
+
export type CanvasFrame = RecordableFrame & {
|
|
9
|
+
label: string;
|
|
10
|
+
node: ReactNode;
|
|
11
|
+
/** The same width constraint as the component; caption and content share this frame. */
|
|
12
|
+
className?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function useCanvasObserver(): ((frame: CanvasFrame, source: string) => void) | null;
|
|
15
|
+
export declare function CanvasSequence({ children }: {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
18
|
+
/** Publish presentation only: historical frames never mount another controller or adapter. */
|
|
19
|
+
export declare function CanvasStage({ phase, label, terminal, frameClassName, snapshot, children, }: {
|
|
20
|
+
phase: string;
|
|
21
|
+
label: string;
|
|
22
|
+
terminal?: boolean;
|
|
23
|
+
frameClassName?: string;
|
|
24
|
+
/** Complete presentation for a snapshot when the live content inherits a parent surface. */
|
|
25
|
+
snapshot?: ReactNode;
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
}): ReactNode;
|
|
28
|
+
export declare function historicalNode(node: ReactNode): ReactNode;
|
|
29
|
+
/** Let a host-owned destination add its local steps to the existing response canvas. */
|
|
30
|
+
export declare function CanvasStageBridge({ publish, children, }: {
|
|
31
|
+
publish: (frame: CanvasFrame) => void;
|
|
32
|
+
children: ReactNode;
|
|
33
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface RecordableFrame {
|
|
2
|
+
phase: string;
|
|
3
|
+
terminal: boolean;
|
|
4
|
+
/** A result with its own stages replaces this enclosing result with its first child stage. */
|
|
5
|
+
yieldToChild?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** Records transitions, never the initial demo or a second copy of a nested result. */
|
|
8
|
+
export declare function createCanvasRecorder<T extends RecordableFrame>(): ((frame: T, source: string) => T[] | undefined) & {
|
|
9
|
+
start: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DateTimeFieldProps {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
error?: string;
|
|
6
|
+
isDisabled?: boolean;
|
|
7
|
+
kind: "date" | "time";
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Segmented keyboard entry, using the same height, padding and focus treatment as text fields. */
|
|
11
|
+
export declare function DateTimeField({ label, value, onChange, error, isDisabled, kind, className, }: DateTimeFieldProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
/** The view transition types a step change is tagged with. */
|
|
3
|
+
export declare const FLOW: {
|
|
4
|
+
readonly forward: "flow-forward";
|
|
5
|
+
readonly back: "flow-back";
|
|
6
|
+
readonly swap: "flow-swap";
|
|
7
|
+
};
|
|
8
|
+
export type FlowType = (typeof FLOW)[keyof typeof FLOW];
|
|
9
|
+
/** Forward or back between two step positions, or null when the step stays the same. */
|
|
10
|
+
export declare function flowDirection(from: number, to: number): FlowType | null;
|
|
11
|
+
/**
|
|
12
|
+
* Runs a state update as a step transition of the given type, or at once when there's none.
|
|
13
|
+
* Pass the start function from useTransition to know while the step is still on its way.
|
|
14
|
+
*/
|
|
15
|
+
export declare function runFlow(type: FlowType | null, update: () => void, start?: (callback: () => void) => void): void;
|
|
16
|
+
/** The flow's frame: it resizes to the next step instead of jumping. Its child must be one element. */
|
|
17
|
+
export declare function FlowFrame({ children }: {
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
|
+
/** One step's content. Give it a key per step, so the new step enters and the old one leaves. */
|
|
21
|
+
export declare function FlowStep({ children }: {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
}): import("react").JSX.Element;
|
|
24
|
+
/** Gives one flow its own names, so two flows on a page never claim the same moving part. */
|
|
25
|
+
export declare function FlowNames({ children }: {
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
}): import("react").JSX.Element;
|
|
28
|
+
/**
|
|
29
|
+
* A part that carries over from one step to the next. A part that travels (the chosen time,
|
|
30
|
+
* from the list into the summary) moves to its new place; the others (the host, the event's
|
|
31
|
+
* name) stay put while the rest changes. Its child must be one element. Outside FlowNames, it
|
|
32
|
+
* renders the child as it is.
|
|
33
|
+
*/
|
|
34
|
+
export declare function FlowShared({ part, travel, children, }: {
|
|
35
|
+
part: string;
|
|
36
|
+
travel?: boolean;
|
|
37
|
+
children: ReactNode;
|
|
38
|
+
}): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|