@quilltap/theme-storybook 1.0.97 → 1.0.100

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.
@@ -1,2800 +0,0 @@
1
- // src/stories/components/ColorPalette.tsx
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- var ColorSwatch = ({ name, variable, description }) => /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "1rem", padding: "0.5rem" }, children: [
4
- /* @__PURE__ */ jsx(
5
- "div",
6
- {
7
- style: {
8
- width: "4rem",
9
- height: "4rem",
10
- borderRadius: "0.5rem",
11
- border: "1px solid var(--color-border)",
12
- boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1)",
13
- backgroundColor: `var(${variable})`
14
- }
15
- }
16
- ),
17
- /* @__PURE__ */ jsxs("div", { children: [
18
- /* @__PURE__ */ jsx("div", { style: { fontWeight: 600, fontSize: "0.875rem" }, children: name }),
19
- /* @__PURE__ */ jsx("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: variable }),
20
- description && /* @__PURE__ */ jsx("div", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginTop: "0.25rem" }, children: description })
21
- ] })
22
- ] });
23
- var ColorGroup = ({ title, colors }) => /* @__PURE__ */ jsxs("div", { style: { marginBottom: "2rem" }, children: [
24
- /* @__PURE__ */ jsx("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: title }),
25
- /* @__PURE__ */ jsx("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(280px, 1fr))", gap: "1rem" }, children: colors.map((color) => /* @__PURE__ */ jsx(ColorSwatch, { ...color }, color.variable)) })
26
- ] });
27
- var ColorPalette = () => {
28
- const baseColors = [
29
- { name: "Background", variable: "--color-background", description: "Page background" },
30
- { name: "Foreground", variable: "--color-foreground", description: "Primary text" },
31
- { name: "Card", variable: "--color-card", description: "Card backgrounds" },
32
- { name: "Card Foreground", variable: "--color-card-foreground", description: "Text on cards" },
33
- { name: "Muted", variable: "--color-muted", description: "Subtle backgrounds" },
34
- { name: "Muted Foreground", variable: "--color-muted-foreground", description: "Secondary text" },
35
- { name: "Border", variable: "--color-border", description: "Default borders" },
36
- { name: "Input", variable: "--color-input", description: "Input borders" },
37
- { name: "Ring", variable: "--color-ring", description: "Focus rings" }
38
- ];
39
- const semanticColors = [
40
- { name: "Primary", variable: "--color-primary", description: "Primary actions" },
41
- { name: "Primary Foreground", variable: "--color-primary-foreground", description: "Text on primary" },
42
- { name: "Secondary", variable: "--color-secondary", description: "Secondary actions" },
43
- { name: "Secondary Foreground", variable: "--color-secondary-foreground", description: "Text on secondary" },
44
- { name: "Destructive", variable: "--color-destructive", description: "Dangerous actions" },
45
- { name: "Destructive Foreground", variable: "--color-destructive-foreground", description: "Text on destructive" }
46
- ];
47
- const statusColors = [
48
- { name: "Success", variable: "--color-success", description: "Success states" },
49
- { name: "Warning", variable: "--color-warning", description: "Warning states" },
50
- { name: "Info", variable: "--color-info", description: "Informational" }
51
- ];
52
- const chatColors = [
53
- { name: "Chat User", variable: "--color-chat-user", description: "User message background" },
54
- { name: "Chat User Foreground", variable: "--color-chat-user-foreground", description: "User message text" }
55
- ];
56
- const componentTokens = [
57
- { name: "Button Primary BG", variable: "--qt-button-primary-bg", description: "Primary button background" },
58
- { name: "Button Primary Hover", variable: "--qt-button-primary-hover-bg", description: "Primary button hover" },
59
- { name: "Card BG", variable: "--qt-card-bg", description: "Card background" },
60
- { name: "Card Border", variable: "--qt-card-border", description: "Card border" },
61
- { name: "Input BG", variable: "--qt-input-bg", description: "Input background" },
62
- { name: "Input Border", variable: "--qt-input-border", description: "Input border" }
63
- ];
64
- return /* @__PURE__ */ jsxs("div", { style: { padding: "1.5rem" }, children: [
65
- /* @__PURE__ */ jsx("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Color Palette" }),
66
- /* @__PURE__ */ jsx("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "2rem" }, children: "These colors are defined by the current theme. Switch themes using the toolbar to see how they change." }),
67
- /* @__PURE__ */ jsx(ColorGroup, { title: "Base Colors", colors: baseColors }),
68
- /* @__PURE__ */ jsx(ColorGroup, { title: "Semantic Colors", colors: semanticColors }),
69
- /* @__PURE__ */ jsx(ColorGroup, { title: "Status Colors", colors: statusColors }),
70
- /* @__PURE__ */ jsx(ColorGroup, { title: "Chat Colors", colors: chatColors }),
71
- /* @__PURE__ */ jsx(ColorGroup, { title: "Component Tokens", colors: componentTokens })
72
- ] });
73
- };
74
-
75
- // src/stories/components/Icons.tsx
76
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
77
- var ICON_GROUPS = [
78
- {
79
- category: "General UI",
80
- names: [
81
- "close",
82
- "pencil",
83
- "refresh",
84
- "check",
85
- "check-circle",
86
- "chat",
87
- "info",
88
- "trash",
89
- "copy",
90
- "plus",
91
- "minus",
92
- "search",
93
- "download",
94
- "upload",
95
- "cloud-upload",
96
- "external-link",
97
- "link",
98
- "send",
99
- "paperclip",
100
- "eye",
101
- "eye-off",
102
- "star",
103
- "bookmark",
104
- "tag",
105
- "expand",
106
- "compress"
107
- ]
108
- },
109
- {
110
- category: "Navigation arrows",
111
- names: [
112
- "chevron-down",
113
- "chevron-right",
114
- "chevron-left",
115
- "arrow-left",
116
- "arrow-right",
117
- "arrow-up",
118
- "arrow-down",
119
- "sort"
120
- ]
121
- },
122
- {
123
- category: "Status & alerts",
124
- names: ["alert-triangle", "alert-circle", "shield", "ban", "clock", "calendar"]
125
- },
126
- {
127
- category: "Media",
128
- names: ["image", "camera", "play", "pause", "stop", "stop-sign", "hand-raised", "zoom-in", "zoom-out"]
129
- },
130
- {
131
- category: "Content & sidebar navigation",
132
- names: [
133
- "projects",
134
- "files",
135
- "file",
136
- "file-plus",
137
- "folder",
138
- "folder-plus",
139
- "book",
140
- "characters",
141
- "scriptorium",
142
- "photos",
143
- "scenarios"
144
- ]
145
- },
146
- {
147
- category: "People",
148
- names: ["profile", "user", "user-plus", "users", "megaphone", "dice", "inventory"]
149
- },
150
- {
151
- category: "System & tooling",
152
- names: ["sparkles", "wand", "thinking", "wrench", "code", "cpu", "database", "layers", "zap", "swap", "log-out"]
153
- },
154
- {
155
- category: "Appearance & system",
156
- names: ["settings", "themes", "wardrobe", "help", "sun", "moon", "monitor"]
157
- },
158
- {
159
- category: "Brand",
160
- names: ["brand"]
161
- }
162
- ];
163
- var sectionHeading = {
164
- fontSize: "1.125rem",
165
- fontWeight: 700,
166
- marginBottom: "1rem",
167
- borderBottom: "1px solid var(--color-border)",
168
- paddingBottom: "0.5rem"
169
- };
170
- var chip = {
171
- fontFamily: "var(--theme-font-mono, ui-monospace, monospace)",
172
- fontSize: "0.8125rem",
173
- padding: "0.25rem 0.6rem",
174
- borderRadius: "var(--radius-md, 0.375rem)",
175
- border: "1px solid var(--color-border)",
176
- background: "var(--color-muted)",
177
- color: "var(--color-foreground)"
178
- };
179
- var codeBlock = {
180
- fontFamily: "var(--theme-font-mono, ui-monospace, monospace)",
181
- fontSize: "0.8125rem",
182
- background: "var(--color-muted)",
183
- color: "var(--color-foreground)",
184
- border: "1px solid var(--color-border)",
185
- borderRadius: "var(--radius-md, 0.375rem)",
186
- padding: "1rem",
187
- overflowX: "auto",
188
- lineHeight: 1.6
189
- };
190
- var Icons = () => {
191
- return /* @__PURE__ */ jsxs2("div", { style: { padding: "1.5rem" }, children: [
192
- /* @__PURE__ */ jsx2("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "0.5rem" }, children: "Icons" }),
193
- /* @__PURE__ */ jsx2("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "2rem", maxWidth: "46rem" }, children: "Quilltap renders its UI icons through a central registry, so a theme can replace any of them. The default icons are monochrome and follow the current text color; a theme overrides an icon by mapping its name to a bundled asset." }),
194
- /* @__PURE__ */ jsxs2("section", { style: { marginBottom: "2.5rem" }, children: [
195
- /* @__PURE__ */ jsx2("h3", { style: sectionHeading, children: "Overriding an icon" }),
196
- /* @__PURE__ */ jsxs2("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem", maxWidth: "46rem" }, children: [
197
- "Drop replacement assets into your bundle's ",
198
- /* @__PURE__ */ jsx2("code", { children: "icons/" }),
199
- " folder and add an",
200
- " ",
201
- /* @__PURE__ */ jsx2("code", { children: "icons" }),
202
- " map to ",
203
- /* @__PURE__ */ jsx2("code", { children: "theme.json" }),
204
- ", keyed by the built-in icon name:"
205
- ] }),
206
- /* @__PURE__ */ jsx2("pre", { style: codeBlock, children: `{
207
- "icons": {
208
- "settings": "icons/settings.svg",
209
- "brand": "icons/brand.webp"
210
- }
211
- }` }),
212
- /* @__PURE__ */ jsxs2("ul", { style: { color: "var(--color-muted-foreground)", marginTop: "1rem", maxWidth: "46rem", lineHeight: 1.7 }, children: [
213
- /* @__PURE__ */ jsxs2("li", { children: [
214
- /* @__PURE__ */ jsx2("strong", { style: { color: "var(--color-foreground)" }, children: ".svg overrides" }),
215
- " are tinted by the current text color, exactly like the built-in icons \u2014 best for monochrome glyphs that should follow the theme."
216
- ] }),
217
- /* @__PURE__ */ jsxs2("li", { children: [
218
- /* @__PURE__ */ jsx2("strong", { style: { color: "var(--color-foreground)" }, children: ".webp overrides" }),
219
- " are drawn in full color \u2014 best for textured or multi-color marks."
220
- ] }),
221
- /* @__PURE__ */ jsxs2("li", { children: [
222
- "The ",
223
- /* @__PURE__ */ jsx2("code", { children: "brand" }),
224
- " mark follows the same rule: an ",
225
- /* @__PURE__ */ jsx2("code", { children: ".svg" }),
226
- " override is tinted like any other icon, so ship it as ",
227
- /* @__PURE__ */ jsx2("code", { children: ".webp" }),
228
- " if it should keep its own colors."
229
- ] }),
230
- /* @__PURE__ */ jsxs2("li", { children: [
231
- "Names must match the built-in names below; unknown names are ignored. Run",
232
- " ",
233
- /* @__PURE__ */ jsx2("code", { children: "quilltap themes validate" }),
234
- " to catch typos and bad asset paths."
235
- ] })
236
- ] })
237
- ] }),
238
- /* @__PURE__ */ jsxs2("section", { children: [
239
- /* @__PURE__ */ jsx2("h3", { style: sectionHeading, children: "Override-able icon names" }),
240
- /* @__PURE__ */ jsx2("div", { style: { display: "flex", flexDirection: "column", gap: "1.5rem" }, children: ICON_GROUPS.map((group) => /* @__PURE__ */ jsxs2("div", { children: [
241
- /* @__PURE__ */ jsx2("p", { style: { fontWeight: 600, marginBottom: "0.6rem", fontSize: "0.9375rem" }, children: group.category }),
242
- /* @__PURE__ */ jsx2("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: group.names.map((name) => /* @__PURE__ */ jsx2("code", { style: chip, children: name }, name)) })
243
- ] }, group.category)) })
244
- ] })
245
- ] });
246
- };
247
-
248
- // src/stories/components/Typography.tsx
249
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
250
- var Typography = () => {
251
- return /* @__PURE__ */ jsxs3("div", { style: { padding: "1.5rem" }, children: [
252
- /* @__PURE__ */ jsx3("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Typography" }),
253
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
254
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Headings (qt-heading-*)" }),
255
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
256
- /* @__PURE__ */ jsxs3("div", { children: [
257
- /* @__PURE__ */ jsx3("h1", { className: "qt-heading-1", children: "Heading 1 - The quick brown fox" }),
258
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-heading-1" })
259
- ] }),
260
- /* @__PURE__ */ jsxs3("div", { children: [
261
- /* @__PURE__ */ jsx3("h2", { className: "qt-heading-2", children: "Heading 2 - The quick brown fox" }),
262
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-heading-2" })
263
- ] }),
264
- /* @__PURE__ */ jsxs3("div", { children: [
265
- /* @__PURE__ */ jsx3("h3", { className: "qt-heading-3", children: "Heading 3 - The quick brown fox" }),
266
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-heading-3" })
267
- ] }),
268
- /* @__PURE__ */ jsxs3("div", { children: [
269
- /* @__PURE__ */ jsx3("h4", { className: "qt-heading-4", children: "Heading 4 - The quick brown fox" }),
270
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-heading-4" })
271
- ] })
272
- ] })
273
- ] }),
274
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
275
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Body Text" }),
276
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "40rem" }, children: [
277
- /* @__PURE__ */ jsxs3("div", { children: [
278
- /* @__PURE__ */ jsx3("p", { className: "qt-text-lead", children: "Lead text - Used for introductory paragraphs that need more emphasis. The quick brown fox jumps over the lazy dog." }),
279
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-lead" })
280
- ] }),
281
- /* @__PURE__ */ jsxs3("div", { children: [
282
- /* @__PURE__ */ jsx3("p", { className: "qt-text-large", children: "Large text - Slightly larger than body text for emphasis. The quick brown fox jumps over the lazy dog." }),
283
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-large" })
284
- ] }),
285
- /* @__PURE__ */ jsxs3("div", { children: [
286
- /* @__PURE__ */ jsx3("p", { children: "Default body text - The standard text size for most content. The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs." }),
287
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "default / no class" })
288
- ] }),
289
- /* @__PURE__ */ jsxs3("div", { children: [
290
- /* @__PURE__ */ jsx3("p", { className: "qt-text-small", children: "Small text - For less important or supplementary information. The quick brown fox jumps over the lazy dog." }),
291
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-small" })
292
- ] }),
293
- /* @__PURE__ */ jsxs3("div", { children: [
294
- /* @__PURE__ */ jsx3("p", { className: "qt-text-xs", children: "Extra small text - For fine print, captions, or metadata. The quick brown fox jumps over the lazy dog." }),
295
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-xs" })
296
- ] })
297
- ] })
298
- ] }),
299
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
300
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Text Colors" }),
301
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
302
- /* @__PURE__ */ jsxs3("div", { children: [
303
- /* @__PURE__ */ jsx3("p", { children: "Default text color" }),
304
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "default" })
305
- ] }),
306
- /* @__PURE__ */ jsxs3("div", { children: [
307
- /* @__PURE__ */ jsx3("p", { className: "qt-text-muted", children: "Muted text - For secondary content" }),
308
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-muted" })
309
- ] }),
310
- /* @__PURE__ */ jsxs3("div", { children: [
311
- /* @__PURE__ */ jsx3("p", { className: "qt-text-primary", children: "Primary text - For emphasis and links" }),
312
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-primary" })
313
- ] }),
314
- /* @__PURE__ */ jsxs3("div", { children: [
315
- /* @__PURE__ */ jsx3("p", { className: "qt-text-success", children: "Success text - For positive messages" }),
316
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-success" })
317
- ] }),
318
- /* @__PURE__ */ jsxs3("div", { children: [
319
- /* @__PURE__ */ jsx3("p", { className: "qt-text-warning", children: "Warning text - For caution messages" }),
320
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-warning" })
321
- ] }),
322
- /* @__PURE__ */ jsxs3("div", { children: [
323
- /* @__PURE__ */ jsx3("p", { className: "qt-text-destructive", children: "Destructive text - For error messages" }),
324
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-destructive" })
325
- ] }),
326
- /* @__PURE__ */ jsxs3("div", { children: [
327
- /* @__PURE__ */ jsx3("p", { className: "qt-text-info", children: "Info text - For informational messages" }),
328
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-text-info" })
329
- ] })
330
- ] })
331
- ] }),
332
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
333
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Labels & UI Text" }),
334
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
335
- /* @__PURE__ */ jsxs3("div", { children: [
336
- /* @__PURE__ */ jsx3("span", { className: "qt-label", children: "Form Label" }),
337
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginLeft: "1rem" }, children: ".qt-label" })
338
- ] }),
339
- /* @__PURE__ */ jsxs3("div", { children: [
340
- /* @__PURE__ */ jsx3("span", { className: "qt-hint", children: "Hint text for form fields" }),
341
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginLeft: "1rem" }, children: ".qt-hint" })
342
- ] }),
343
- /* @__PURE__ */ jsxs3("div", { children: [
344
- /* @__PURE__ */ jsx3("span", { className: "qt-text-label", children: "UI Label Text" }),
345
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginLeft: "1rem" }, children: ".qt-text-label" })
346
- ] }),
347
- /* @__PURE__ */ jsxs3("div", { children: [
348
- /* @__PURE__ */ jsx3("span", { className: "qt-text-section", children: "Section Header" }),
349
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginLeft: "1rem" }, children: ".qt-text-section" })
350
- ] })
351
- ] })
352
- ] }),
353
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
354
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Code & Monospace" }),
355
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
356
- /* @__PURE__ */ jsxs3("div", { children: [
357
- /* @__PURE__ */ jsx3("code", { className: "qt-code-inline", children: "inline code example" }),
358
- /* @__PURE__ */ jsx3("span", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginLeft: "1rem" }, children: ".qt-code-inline" })
359
- ] }),
360
- /* @__PURE__ */ jsxs3("div", { children: [
361
- /* @__PURE__ */ jsx3("pre", { className: "qt-code-block", children: `function greet(name: string): string {
362
- return \`Hello, \${name}!\`;
363
- }
364
-
365
- console.log(greet('World'));` }),
366
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-code-block" })
367
- ] })
368
- ] })
369
- ] }),
370
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
371
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Prose (Long-form Content)" }),
372
- /* @__PURE__ */ jsxs3("div", { className: "qt-prose", style: { maxWidth: "40rem" }, children: [
373
- /* @__PURE__ */ jsx3("h3", { children: "Article Title" }),
374
- /* @__PURE__ */ jsxs3("p", { children: [
375
- "This is an example of the ",
376
- /* @__PURE__ */ jsx3("code", { children: ".qt-prose" }),
377
- " class applied to a container. It provides sensible defaults for long-form content like articles, documentation, and chat messages."
378
- ] }),
379
- /* @__PURE__ */ jsx3("p", { children: "The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. How vexingly quick daft zebras jump! The five boxing wizards jump quickly." }),
380
- /* @__PURE__ */ jsx3("h4", { children: "Subsection" }),
381
- /* @__PURE__ */ jsx3("p", { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris." })
382
- ] }),
383
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: ".qt-prose" })
384
- ] }),
385
- /* @__PURE__ */ jsxs3("section", { style: { marginBottom: "2rem" }, children: [
386
- /* @__PURE__ */ jsx3("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Font Families" }),
387
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
388
- /* @__PURE__ */ jsxs3("div", { children: [
389
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--font-sans" }),
390
- /* @__PURE__ */ jsx3("p", { style: { fontFamily: "var(--font-sans)", fontSize: "1.125rem", marginTop: "0.25rem" }, children: "The quick brown fox jumps over the lazy dog." })
391
- ] }),
392
- /* @__PURE__ */ jsxs3("div", { children: [
393
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--font-serif" }),
394
- /* @__PURE__ */ jsx3("p", { style: { fontFamily: "var(--font-serif)", fontSize: "1.125rem", marginTop: "0.25rem" }, children: "The quick brown fox jumps over the lazy dog." })
395
- ] }),
396
- /* @__PURE__ */ jsxs3("div", { children: [
397
- /* @__PURE__ */ jsx3("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--font-mono" }),
398
- /* @__PURE__ */ jsx3("p", { style: { fontFamily: "var(--font-mono)", fontSize: "1.125rem", marginTop: "0.25rem" }, children: "The quick brown fox jumps over the lazy dog." })
399
- ] })
400
- ] })
401
- ] })
402
- ] });
403
- };
404
-
405
- // src/stories/components/Spacing.tsx
406
- import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
407
- var Spacing = () => {
408
- const radiusTokens = [
409
- { name: "None", variable: "0", value: "0" },
410
- { name: "Small", variable: "--radius-sm", value: "var(--radius-sm)" },
411
- { name: "Medium", variable: "--radius-md", value: "var(--radius-md)" },
412
- { name: "Large", variable: "--radius-lg", value: "var(--radius-lg)" },
413
- { name: "Extra Large", variable: "--radius-xl", value: "var(--radius-xl)" },
414
- { name: "Full", variable: "9999px", value: "9999px" }
415
- ];
416
- const componentRadii = [
417
- { name: "Button", variable: "--qt-button-radius" },
418
- { name: "Card", variable: "--qt-card-radius" },
419
- { name: "Input", variable: "--qt-input-radius" },
420
- { name: "Dialog", variable: "--qt-dialog-radius" },
421
- { name: "Badge", variable: "--qt-badge-radius" },
422
- { name: "Avatar", variable: "--qt-avatar-radius" },
423
- { name: "Chat Message", variable: "--qt-chat-message-radius" }
424
- ];
425
- const shadowTokens = [
426
- { name: "Card Shadow", variable: "--qt-card-shadow" },
427
- { name: "Card Hover Shadow", variable: "--qt-card-shadow-hover" },
428
- { name: "Panel Shadow", variable: "--qt-panel-shadow" },
429
- { name: "Dialog Shadow", variable: "--qt-dialog-shadow" },
430
- { name: "Popover Shadow", variable: "--qt-popover-shadow" },
431
- { name: "Button Primary Shadow", variable: "--qt-button-primary-shadow" },
432
- { name: "Chat Message Shadow", variable: "--qt-chat-message-shadow" }
433
- ];
434
- return /* @__PURE__ */ jsxs4("div", { style: { padding: "1.5rem" }, children: [
435
- /* @__PURE__ */ jsx4("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Spacing & Borders" }),
436
- /* @__PURE__ */ jsxs4("section", { style: { marginBottom: "2rem" }, children: [
437
- /* @__PURE__ */ jsx4("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Border Radius Scale" }),
438
- /* @__PURE__ */ jsx4("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(6rem, 1fr))", gap: "1.5rem" }, children: radiusTokens.map(({ name, variable, value }) => /* @__PURE__ */ jsxs4("div", { style: { textAlign: "center" }, children: [
439
- /* @__PURE__ */ jsx4(
440
- "div",
441
- {
442
- style: {
443
- width: "5rem",
444
- height: "5rem",
445
- backgroundColor: "var(--color-primary)",
446
- borderRadius: value,
447
- margin: "0 auto 0.5rem"
448
- }
449
- }
450
- ),
451
- /* @__PURE__ */ jsx4("div", { style: { fontWeight: 500, fontSize: "0.875rem" }, children: name }),
452
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: variable })
453
- ] }, variable)) })
454
- ] }),
455
- /* @__PURE__ */ jsxs4("section", { style: { marginBottom: "2rem" }, children: [
456
- /* @__PURE__ */ jsx4("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Component Border Radii" }),
457
- /* @__PURE__ */ jsx4("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(8rem, 1fr))", gap: "1.5rem" }, children: componentRadii.map(({ name, variable }) => /* @__PURE__ */ jsxs4("div", { style: { textAlign: "center" }, children: [
458
- /* @__PURE__ */ jsx4(
459
- "div",
460
- {
461
- style: {
462
- width: "6rem",
463
- height: "4rem",
464
- backgroundColor: "var(--color-muted)",
465
- border: "1px solid var(--color-border)",
466
- borderRadius: `var(${variable})`,
467
- margin: "0 auto 0.5rem"
468
- }
469
- }
470
- ),
471
- /* @__PURE__ */ jsx4("div", { style: { fontWeight: 500, fontSize: "0.875rem" }, children: name }),
472
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: variable })
473
- ] }, variable)) })
474
- ] }),
475
- /* @__PURE__ */ jsxs4("section", { style: { marginBottom: "2rem" }, children: [
476
- /* @__PURE__ */ jsx4("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Shadows" }),
477
- /* @__PURE__ */ jsx4("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(10rem, 1fr))", gap: "1.5rem" }, children: shadowTokens.map(({ name, variable }) => /* @__PURE__ */ jsxs4("div", { style: { padding: "1rem" }, children: [
478
- /* @__PURE__ */ jsx4(
479
- "div",
480
- {
481
- style: {
482
- width: "100%",
483
- height: "6rem",
484
- backgroundColor: "var(--color-background)",
485
- borderRadius: "var(--radius-lg)",
486
- boxShadow: `var(${variable})`,
487
- marginBottom: "0.5rem"
488
- }
489
- }
490
- ),
491
- /* @__PURE__ */ jsx4("div", { style: { fontWeight: 500, fontSize: "0.875rem" }, children: name }),
492
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: variable })
493
- ] }, variable)) })
494
- ] }),
495
- /* @__PURE__ */ jsxs4("section", { style: { marginBottom: "2rem" }, children: [
496
- /* @__PURE__ */ jsx4("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Padding Tokens" }),
497
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
498
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
499
- /* @__PURE__ */ jsx4(
500
- "div",
501
- {
502
- style: {
503
- backgroundColor: "var(--color-primary)",
504
- color: "var(--color-background)",
505
- padding: "var(--qt-button-padding-y) var(--qt-button-padding-x)",
506
- borderRadius: "var(--radius-md)"
507
- },
508
- children: "Button padding"
509
- }
510
- ),
511
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-button-padding-x, --qt-button-padding-y" })
512
- ] }),
513
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
514
- /* @__PURE__ */ jsx4(
515
- "div",
516
- {
517
- style: {
518
- backgroundColor: "var(--color-muted)",
519
- padding: "var(--qt-card-padding)",
520
- border: "1px solid var(--color-border)",
521
- borderRadius: "var(--radius-md)"
522
- },
523
- children: "Card padding"
524
- }
525
- ),
526
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-card-padding" })
527
- ] }),
528
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
529
- /* @__PURE__ */ jsx4(
530
- "div",
531
- {
532
- style: {
533
- backgroundColor: "var(--color-muted)",
534
- padding: "var(--qt-input-padding-y) var(--qt-input-padding-x)",
535
- border: "1px solid var(--color-border)",
536
- borderRadius: "var(--radius-md)"
537
- },
538
- children: "Input padding"
539
- }
540
- ),
541
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-input-padding-x, --qt-input-padding-y" })
542
- ] }),
543
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
544
- /* @__PURE__ */ jsx4(
545
- "div",
546
- {
547
- style: {
548
- backgroundColor: "var(--color-muted)",
549
- padding: "var(--qt-chat-message-padding)",
550
- border: "1px solid var(--color-border)",
551
- borderRadius: "var(--radius-md)"
552
- },
553
- children: "Chat message padding"
554
- }
555
- ),
556
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-chat-message-padding" })
557
- ] })
558
- ] })
559
- ] }),
560
- /* @__PURE__ */ jsxs4("section", { children: [
561
- /* @__PURE__ */ jsx4("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Layout Dimensions" }),
562
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
563
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
564
- /* @__PURE__ */ jsx4(
565
- "div",
566
- {
567
- style: {
568
- backgroundColor: "var(--color-muted)",
569
- display: "flex",
570
- alignItems: "center",
571
- justifyContent: "center",
572
- height: "var(--qt-navbar-height)",
573
- width: "200px",
574
- border: "1px solid var(--color-border)"
575
- },
576
- children: "Navbar height"
577
- }
578
- ),
579
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-navbar-height" })
580
- ] }),
581
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
582
- /* @__PURE__ */ jsx4(
583
- "div",
584
- {
585
- style: {
586
- backgroundColor: "var(--color-muted)",
587
- display: "flex",
588
- alignItems: "center",
589
- justifyContent: "center",
590
- width: "var(--qt-sidebar-width)",
591
- height: "100px",
592
- border: "1px solid var(--color-border)"
593
- },
594
- children: "Sidebar width"
595
- }
596
- ),
597
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-sidebar-width" })
598
- ] }),
599
- /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
600
- /* @__PURE__ */ jsx4(
601
- "div",
602
- {
603
- style: {
604
- backgroundColor: "var(--color-muted)",
605
- display: "flex",
606
- alignItems: "center",
607
- justifyContent: "center",
608
- width: "var(--qt-chat-sidebar-width)",
609
- height: "100px",
610
- border: "1px solid var(--color-border)"
611
- },
612
- children: "Chat sidebar width"
613
- }
614
- ),
615
- /* @__PURE__ */ jsx4("code", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "--qt-chat-sidebar-width" })
616
- ] })
617
- ] })
618
- ] })
619
- ] });
620
- };
621
-
622
- // src/stories/components/Buttons.tsx
623
- import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
624
- var Buttons = () => {
625
- return /* @__PURE__ */ jsxs5("div", { style: { padding: "1.5rem" }, children: [
626
- /* @__PURE__ */ jsx5("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Buttons" }),
627
- /* @__PURE__ */ jsxs5("section", { style: { marginBottom: "2rem" }, children: [
628
- /* @__PURE__ */ jsx5("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Button Variants" }),
629
- /* @__PURE__ */ jsxs5("div", { style: { display: "flex", flexWrap: "wrap", gap: "1rem" }, children: [
630
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-primary", children: "Primary" }),
631
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-secondary", children: "Secondary" }),
632
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-ghost", children: "Ghost" }),
633
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-destructive", children: "Destructive" })
634
- ] })
635
- ] }),
636
- /* @__PURE__ */ jsxs5("section", { style: { marginBottom: "2rem" }, children: [
637
- /* @__PURE__ */ jsx5("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Button Sizes" }),
638
- /* @__PURE__ */ jsxs5("div", { style: { display: "flex", flexWrap: "wrap", alignItems: "center", gap: "1rem" }, children: [
639
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-primary qt-button-sm", children: "Small" }),
640
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-primary", children: "Default" }),
641
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-primary qt-button-lg", children: "Large" })
642
- ] })
643
- ] }),
644
- /* @__PURE__ */ jsxs5("section", { style: { marginBottom: "2rem" }, children: [
645
- /* @__PURE__ */ jsx5("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Disabled States" }),
646
- /* @__PURE__ */ jsxs5("div", { style: { display: "flex", flexWrap: "wrap", gap: "1rem" }, children: [
647
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-primary", disabled: true, children: "Primary" }),
648
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-secondary", disabled: true, children: "Secondary" }),
649
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-ghost", disabled: true, children: "Ghost" }),
650
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-destructive", disabled: true, children: "Destructive" })
651
- ] })
652
- ] }),
653
- /* @__PURE__ */ jsxs5("section", { style: { marginBottom: "2rem" }, children: [
654
- /* @__PURE__ */ jsx5("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Icon Buttons" }),
655
- /* @__PURE__ */ jsxs5("div", { style: { display: "flex", gap: "0.5rem" }, children: [
656
- /* @__PURE__ */ jsx5("button", { className: "qt-button-icon", "aria-label": "Settings", children: /* @__PURE__ */ jsxs5("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
657
- /* @__PURE__ */ jsx5("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" }),
658
- /* @__PURE__ */ jsx5("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })
659
- ] }) }),
660
- /* @__PURE__ */ jsx5("button", { className: "qt-button-icon", "aria-label": "Close", children: /* @__PURE__ */ jsx5("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx5("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) }),
661
- /* @__PURE__ */ jsx5("button", { className: "qt-button-icon", "aria-label": "Add", children: /* @__PURE__ */ jsx5("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx5("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" }) }) }),
662
- /* @__PURE__ */ jsx5("button", { className: "qt-button-icon", "aria-label": "More", children: /* @__PURE__ */ jsx5("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx5("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z" }) }) })
663
- ] })
664
- ] }),
665
- /* @__PURE__ */ jsxs5("section", { children: [
666
- /* @__PURE__ */ jsx5("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Button Groups" }),
667
- /* @__PURE__ */ jsxs5("div", { style: { display: "flex", gap: "0.5rem" }, children: [
668
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-ghost", children: "Cancel" }),
669
- /* @__PURE__ */ jsx5("button", { className: "qt-button qt-button-primary", children: "Save Changes" })
670
- ] })
671
- ] })
672
- ] });
673
- };
674
-
675
- // src/stories/components/Cards.tsx
676
- import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
677
- var Cards = () => {
678
- return /* @__PURE__ */ jsxs6("div", { style: { padding: "1.5rem" }, children: [
679
- /* @__PURE__ */ jsx6("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Cards" }),
680
- /* @__PURE__ */ jsxs6("section", { style: { marginBottom: "2rem" }, children: [
681
- /* @__PURE__ */ jsx6("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Basic Card" }),
682
- /* @__PURE__ */ jsxs6("div", { className: "qt-card", style: { maxWidth: "24rem" }, children: [
683
- /* @__PURE__ */ jsxs6("div", { className: "qt-card-header", children: [
684
- /* @__PURE__ */ jsx6("h4", { className: "qt-card-title", children: "Card Title" }),
685
- /* @__PURE__ */ jsx6("p", { className: "qt-card-description", children: "Card description goes here." })
686
- ] }),
687
- /* @__PURE__ */ jsx6("div", { className: "qt-card-body", children: /* @__PURE__ */ jsx6("p", { children: "This is the card body content. It can contain any content you want." }) }),
688
- /* @__PURE__ */ jsxs6("div", { className: "qt-card-footer", children: [
689
- /* @__PURE__ */ jsx6("button", { className: "qt-button qt-button-ghost", children: "Cancel" }),
690
- /* @__PURE__ */ jsx6("button", { className: "qt-button qt-button-primary", children: "Save" })
691
- ] })
692
- ] })
693
- ] }),
694
- /* @__PURE__ */ jsxs6("section", { style: { marginBottom: "2rem" }, children: [
695
- /* @__PURE__ */ jsx6("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Interactive Card" }),
696
- /* @__PURE__ */ jsxs6("div", { className: "qt-card qt-card-interactive", style: { maxWidth: "24rem", cursor: "pointer" }, children: [
697
- /* @__PURE__ */ jsxs6("div", { className: "qt-card-header", children: [
698
- /* @__PURE__ */ jsx6("h4", { className: "qt-card-title", children: "Clickable Card" }),
699
- /* @__PURE__ */ jsx6("p", { className: "qt-card-description", children: "Hover over me to see the effect." })
700
- ] }),
701
- /* @__PURE__ */ jsx6("div", { className: "qt-card-body", children: /* @__PURE__ */ jsx6("p", { children: "This card has hover states and can be clicked." }) })
702
- ] })
703
- ] }),
704
- /* @__PURE__ */ jsxs6("section", { style: { marginBottom: "2rem" }, children: [
705
- /* @__PURE__ */ jsx6("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Entity Cards" }),
706
- /* @__PURE__ */ jsx6("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Used for characters, chats, and other list items." }),
707
- /* @__PURE__ */ jsx6("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(16rem, 1fr))", gap: "1rem" }, children: ["Alice", "Bob", "Carol"].map((name) => /* @__PURE__ */ jsx6("div", { className: "qt-entity-card", children: /* @__PURE__ */ jsxs6("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem", padding: "1rem" }, children: [
708
- /* @__PURE__ */ jsx6("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx6("div", { className: "qt-avatar-fallback", children: name[0] }) }),
709
- /* @__PURE__ */ jsxs6("div", { children: [
710
- /* @__PURE__ */ jsxs6("h4", { style: { fontWeight: 600 }, children: [
711
- name,
712
- " Character"
713
- ] }),
714
- /* @__PURE__ */ jsx6("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: "A friendly character" })
715
- ] })
716
- ] }) }, name)) })
717
- ] }),
718
- /* @__PURE__ */ jsxs6("section", { style: { marginBottom: "2rem" }, children: [
719
- /* @__PURE__ */ jsx6("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Character Cards" }),
720
- /* @__PURE__ */ jsx6("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Compact cards used on the homepage grid. Centered layout with avatar, name, title, provider badge, and action." }),
721
- /* @__PURE__ */ jsx6("div", { style: { display: "grid", gridTemplateColumns: "repeat(3, minmax(0, 140px))", gap: "0.75rem" }, children: [
722
- { name: "Alice", title: "The Adventurer", provider: "Claude Sonnet" },
723
- { name: "Bob", title: "The Keeper of Many Long Titles", provider: "GPT-4o" },
724
- { name: "Carol", title: "Scribe", provider: "Gemini Pro" }
725
- ].map((char) => /* @__PURE__ */ jsxs6("div", { className: "qt-character-card", children: [
726
- /* @__PURE__ */ jsx6("div", { className: "qt-avatar", style: { width: "3rem", height: "3rem" }, children: /* @__PURE__ */ jsx6("div", { className: "qt-avatar-fallback", children: char.name[0] }) }),
727
- /* @__PURE__ */ jsxs6("div", { style: { textAlign: "center", width: "100%", minWidth: 0 }, children: [
728
- /* @__PURE__ */ jsx6("p", { className: "qt-card-title", style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: char.name }),
729
- /* @__PURE__ */ jsx6("p", { className: "qt-card-subtitle", style: { fontStyle: "italic", minHeight: "2.5rem" }, children: char.title }),
730
- /* @__PURE__ */ jsx6("span", { style: { fontSize: "0.75rem", opacity: 0.6 }, children: char.provider })
731
- ] }),
732
- /* @__PURE__ */ jsx6("button", { className: "qt-button-success qt-button-sm", style: { marginTop: "auto", width: "100%" }, children: "Chat" })
733
- ] }, char.name)) })
734
- ] }),
735
- /* @__PURE__ */ jsxs6("section", { style: { marginBottom: "2rem" }, children: [
736
- /* @__PURE__ */ jsx6("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Card Grid" }),
737
- /* @__PURE__ */ jsxs6("div", { className: "qt-card-grid-3", children: [
738
- /* @__PURE__ */ jsxs6("div", { className: "qt-card", style: { padding: "1rem" }, children: [
739
- /* @__PURE__ */ jsx6("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Card 1" }),
740
- /* @__PURE__ */ jsx6("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: "Grid card content" })
741
- ] }),
742
- /* @__PURE__ */ jsxs6("div", { className: "qt-card", style: { padding: "1rem" }, children: [
743
- /* @__PURE__ */ jsx6("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Card 2" }),
744
- /* @__PURE__ */ jsx6("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: "Grid card content" })
745
- ] }),
746
- /* @__PURE__ */ jsxs6("div", { className: "qt-card", style: { padding: "1rem" }, children: [
747
- /* @__PURE__ */ jsx6("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Card 3" }),
748
- /* @__PURE__ */ jsx6("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: "Grid card content" })
749
- ] })
750
- ] })
751
- ] }),
752
- /* @__PURE__ */ jsxs6("section", { style: { marginBottom: "2rem" }, children: [
753
- /* @__PURE__ */ jsx6("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Panels" }),
754
- /* @__PURE__ */ jsxs6("div", { style: { display: "flex", gap: "1rem", flexWrap: "wrap" }, children: [
755
- /* @__PURE__ */ jsxs6("div", { className: "qt-panel", style: { padding: "1.5rem", maxWidth: "20rem" }, children: [
756
- /* @__PURE__ */ jsx6("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Basic Panel" }),
757
- /* @__PURE__ */ jsx6("p", { style: { color: "var(--color-muted-foreground)" }, children: "Panels are similar to cards but often used for larger content areas." })
758
- ] }),
759
- /* @__PURE__ */ jsxs6("div", { className: "qt-panel qt-panel-elevated", style: { padding: "1.5rem", maxWidth: "20rem" }, children: [
760
- /* @__PURE__ */ jsx6("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Elevated Panel" }),
761
- /* @__PURE__ */ jsx6("p", { style: { color: "var(--color-muted-foreground)" }, children: "This panel has additional shadow for emphasis." })
762
- ] })
763
- ] })
764
- ] })
765
- ] });
766
- };
767
-
768
- // src/stories/components/Inputs.tsx
769
- import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
770
- var Inputs = () => {
771
- return /* @__PURE__ */ jsxs7("div", { style: { padding: "1.5rem" }, children: [
772
- /* @__PURE__ */ jsx7("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Inputs" }),
773
- /* @__PURE__ */ jsxs7("section", { style: { marginBottom: "2rem" }, children: [
774
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Text Inputs" }),
775
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "24rem" }, children: [
776
- /* @__PURE__ */ jsxs7("div", { children: [
777
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Default" }),
778
- /* @__PURE__ */ jsx7("input", { className: "qt-input", type: "text", placeholder: "Enter text..." })
779
- ] }),
780
- /* @__PURE__ */ jsxs7("div", { children: [
781
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "With Hint" }),
782
- /* @__PURE__ */ jsx7("input", { className: "qt-input", type: "text", placeholder: "Enter email..." }),
783
- /* @__PURE__ */ jsx7("span", { className: "qt-hint", children: "We'll never share your email." })
784
- ] }),
785
- /* @__PURE__ */ jsxs7("div", { children: [
786
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "With Value" }),
787
- /* @__PURE__ */ jsx7("input", { className: "qt-input", type: "text", defaultValue: "Sample text" })
788
- ] }),
789
- /* @__PURE__ */ jsxs7("div", { children: [
790
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Disabled" }),
791
- /* @__PURE__ */ jsx7("input", { className: "qt-input", type: "text", placeholder: "Disabled input", disabled: true })
792
- ] }),
793
- /* @__PURE__ */ jsxs7("div", { children: [
794
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "With Error" }),
795
- /* @__PURE__ */ jsx7("input", { className: "qt-input qt-input-error", type: "text", placeholder: "Invalid input" }),
796
- /* @__PURE__ */ jsx7("span", { className: "qt-hint", style: { color: "var(--color-destructive)" }, children: "This field is required." })
797
- ] })
798
- ] })
799
- ] }),
800
- /* @__PURE__ */ jsxs7("section", { style: { marginBottom: "2rem" }, children: [
801
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Textarea" }),
802
- /* @__PURE__ */ jsxs7("div", { style: { maxWidth: "24rem" }, children: [
803
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Message" }),
804
- /* @__PURE__ */ jsx7(
805
- "textarea",
806
- {
807
- className: "qt-input qt-textarea",
808
- placeholder: "Enter your message...",
809
- style: { minHeight: "6rem" }
810
- }
811
- )
812
- ] })
813
- ] }),
814
- /* @__PURE__ */ jsxs7("section", { style: { marginBottom: "2rem" }, children: [
815
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Select" }),
816
- /* @__PURE__ */ jsxs7("div", { style: { maxWidth: "24rem" }, children: [
817
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Choose an option" }),
818
- /* @__PURE__ */ jsxs7("select", { className: "qt-input qt-select", children: [
819
- /* @__PURE__ */ jsx7("option", { value: "", children: "Select an option..." }),
820
- /* @__PURE__ */ jsx7("option", { value: "1", children: "Option 1" }),
821
- /* @__PURE__ */ jsx7("option", { value: "2", children: "Option 2" }),
822
- /* @__PURE__ */ jsx7("option", { value: "3", children: "Option 3" })
823
- ] })
824
- ] })
825
- ] }),
826
- /* @__PURE__ */ jsxs7("section", { style: { marginBottom: "2rem" }, children: [
827
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Checkboxes & Radios" }),
828
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem", maxWidth: "24rem" }, children: [
829
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
830
- /* @__PURE__ */ jsx7("input", { type: "checkbox", id: "check1", className: "qt-checkbox" }),
831
- /* @__PURE__ */ jsx7("label", { htmlFor: "check1", style: { margin: 0 }, children: "Checkbox option" })
832
- ] }),
833
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
834
- /* @__PURE__ */ jsx7("input", { type: "checkbox", id: "check2", className: "qt-checkbox", defaultChecked: true }),
835
- /* @__PURE__ */ jsx7("label", { htmlFor: "check2", style: { margin: 0 }, children: "Checked checkbox" })
836
- ] }),
837
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
838
- /* @__PURE__ */ jsx7("input", { type: "checkbox", id: "check3", className: "qt-checkbox", disabled: true }),
839
- /* @__PURE__ */ jsx7("label", { htmlFor: "check3", style: { margin: 0, color: "var(--color-muted-foreground)" }, children: "Disabled checkbox" })
840
- ] }),
841
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem", marginTop: "0.5rem" }, children: [
842
- /* @__PURE__ */ jsx7("input", { type: "radio", name: "radio", id: "radio1", className: "qt-radio" }),
843
- /* @__PURE__ */ jsx7("label", { htmlFor: "radio1", style: { margin: 0 }, children: "Radio option 1" })
844
- ] }),
845
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
846
- /* @__PURE__ */ jsx7("input", { type: "radio", name: "radio", id: "radio2", className: "qt-radio", defaultChecked: true }),
847
- /* @__PURE__ */ jsx7("label", { htmlFor: "radio2", style: { margin: 0 }, children: "Radio option 2" })
848
- ] })
849
- ] })
850
- ] }),
851
- /* @__PURE__ */ jsxs7("section", { style: { marginBottom: "2rem" }, children: [
852
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Range Sliders" }),
853
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "24rem" }, children: [
854
- /* @__PURE__ */ jsxs7("div", { children: [
855
- /* @__PURE__ */ jsx7("label", { className: "qt-label", htmlFor: "range1", children: "Temperature" }),
856
- /* @__PURE__ */ jsx7("input", { type: "range", id: "range1", className: "qt-range", style: { width: "100%" }, min: 0, max: 100, defaultValue: 65 })
857
- ] }),
858
- /* @__PURE__ */ jsxs7("div", { children: [
859
- /* @__PURE__ */ jsx7("label", { className: "qt-label", htmlFor: "range2", style: { color: "var(--color-muted-foreground)" }, children: "Disabled slider" }),
860
- /* @__PURE__ */ jsx7("input", { type: "range", id: "range2", className: "qt-range", style: { width: "100%" }, min: 0, max: 100, defaultValue: 35, disabled: true })
861
- ] })
862
- ] }),
863
- /* @__PURE__ */ jsxs7("p", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginTop: "0.75rem", maxWidth: "32rem" }, children: [
864
- "Sliders render natively; ",
865
- /* @__PURE__ */ jsx7("code", { children: "--qt-range-accent" }),
866
- " colours both the filled portion of the track and the thumb. Overriding ",
867
- /* @__PURE__ */ jsx7("code", { children: ".qt-range" }),
868
- " with",
869
- /* @__PURE__ */ jsx7("code", { children: " appearance: none" }),
870
- " gives a theme full control of the track, but drops the filled bar in Chrome and Safari."
871
- ] })
872
- ] }),
873
- /* @__PURE__ */ jsxs7("section", { style: { marginBottom: "2rem" }, children: [
874
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Links" }),
875
- /* @__PURE__ */ jsxs7("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
876
- /* @__PURE__ */ jsx7("div", { children: /* @__PURE__ */ jsx7("a", { href: "#", className: "qt-link", children: "Default link" }) }),
877
- /* @__PURE__ */ jsx7("div", { children: /* @__PURE__ */ jsx7("a", { href: "#", className: "qt-link-subtle", children: "Subtle link" }) })
878
- ] })
879
- ] }),
880
- /* @__PURE__ */ jsxs7("section", { children: [
881
- /* @__PURE__ */ jsx7("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Form Example" }),
882
- /* @__PURE__ */ jsxs7("div", { className: "qt-card", style: { maxWidth: "24rem" }, children: [
883
- /* @__PURE__ */ jsxs7("div", { className: "qt-card-header", children: [
884
- /* @__PURE__ */ jsx7("h4", { className: "qt-card-title", children: "Contact Form" }),
885
- /* @__PURE__ */ jsx7("p", { className: "qt-card-description", children: "Fill out the form below." })
886
- ] }),
887
- /* @__PURE__ */ jsxs7("div", { className: "qt-card-body", style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
888
- /* @__PURE__ */ jsxs7("div", { children: [
889
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Name" }),
890
- /* @__PURE__ */ jsx7("input", { className: "qt-input", type: "text", placeholder: "Your name" })
891
- ] }),
892
- /* @__PURE__ */ jsxs7("div", { children: [
893
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Email" }),
894
- /* @__PURE__ */ jsx7("input", { className: "qt-input", type: "email", placeholder: "you@example.com" })
895
- ] }),
896
- /* @__PURE__ */ jsxs7("div", { children: [
897
- /* @__PURE__ */ jsx7("label", { className: "qt-label", children: "Message" }),
898
- /* @__PURE__ */ jsx7("textarea", { className: "qt-input qt-textarea", placeholder: "Your message...", style: { minHeight: "5rem" } })
899
- ] })
900
- ] }),
901
- /* @__PURE__ */ jsxs7("div", { className: "qt-card-footer", children: [
902
- /* @__PURE__ */ jsx7("button", { className: "qt-button qt-button-ghost", children: "Cancel" }),
903
- /* @__PURE__ */ jsx7("button", { className: "qt-button qt-button-primary", children: "Send" })
904
- ] })
905
- ] })
906
- ] })
907
- ] });
908
- };
909
-
910
- // src/stories/components/Badges.tsx
911
- import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
912
- var Badges = () => {
913
- return /* @__PURE__ */ jsxs8("div", { style: { padding: "1.5rem" }, children: [
914
- /* @__PURE__ */ jsx8("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Badges" }),
915
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
916
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Badge Variants" }),
917
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
918
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-default", children: "Default" }),
919
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-primary", children: "Primary" }),
920
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-secondary", children: "Secondary" }),
921
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-success", children: "Success" }),
922
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-warning", children: "Warning" }),
923
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-destructive", children: "Destructive" })
924
- ] })
925
- ] }),
926
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
927
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Outline Badges" }),
928
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
929
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-outline", children: "Outline" }),
930
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-outline-primary", children: "Primary" }),
931
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-outline-success", children: "Success" }),
932
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-outline-warning", children: "Warning" }),
933
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-outline-destructive", children: "Destructive" })
934
- ] })
935
- ] }),
936
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
937
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Provider Badges" }),
938
- /* @__PURE__ */ jsx8("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Used to identify AI provider sources." }),
939
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
940
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-provider-openai", children: "OpenAI" }),
941
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-provider-anthropic", children: "Anthropic" }),
942
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-provider-google", children: "Google" }),
943
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-provider-openrouter", children: "OpenRouter" })
944
- ] })
945
- ] }),
946
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
947
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Badges with Icons" }),
948
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
949
- /* @__PURE__ */ jsxs8("span", { className: "qt-badge qt-badge-success", style: { display: "inline-flex", alignItems: "center", gap: "0.25rem" }, children: [
950
- /* @__PURE__ */ jsx8("svg", { width: "12", height: "12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx8("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }),
951
- "Complete"
952
- ] }),
953
- /* @__PURE__ */ jsxs8("span", { className: "qt-badge qt-badge-warning", style: { display: "inline-flex", alignItems: "center", gap: "0.25rem" }, children: [
954
- /* @__PURE__ */ jsx8("svg", { width: "12", height: "12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx8("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }),
955
- "Warning"
956
- ] }),
957
- /* @__PURE__ */ jsxs8("span", { className: "qt-badge qt-badge-destructive", style: { display: "inline-flex", alignItems: "center", gap: "0.25rem" }, children: [
958
- /* @__PURE__ */ jsx8("svg", { width: "12", height: "12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx8("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }),
959
- "Error"
960
- ] })
961
- ] })
962
- ] }),
963
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
964
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Entity Type Badges" }),
965
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
966
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-character", children: "Character" }),
967
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-user-character", children: "User Character" }),
968
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-chat", children: "Chat" }),
969
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-tag", children: "Tag" }),
970
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-memory", children: "Memory" })
971
- ] })
972
- ] }),
973
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
974
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "State Badges" }),
975
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
976
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-enabled", children: "Enabled" }),
977
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-disabled", children: "Disabled" }),
978
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-related", children: "Related" }),
979
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-manual", children: "Manual" }),
980
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-auto", children: "Auto" })
981
- ] })
982
- ] }),
983
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
984
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Plugin Source Badges" }),
985
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
986
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-source-included", children: "Included" }),
987
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-source-npm", children: "NPM" }),
988
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-source-git", children: "Git" }),
989
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-source-manual", children: "Manual" })
990
- ] })
991
- ] }),
992
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
993
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Tag Badges" }),
994
- /* @__PURE__ */ jsxs8("div", { style: { marginBottom: "1.5rem" }, children: [
995
- /* @__PURE__ */ jsx8("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem", fontSize: "0.875rem" }, children: "Basic tags" }),
996
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
997
- /* @__PURE__ */ jsx8("span", { className: "qt-tag-badge", children: "Fantasy" }),
998
- /* @__PURE__ */ jsx8("span", { className: "qt-tag-badge", children: "Sci-Fi" }),
999
- /* @__PURE__ */ jsx8("span", { className: "qt-tag-badge", children: "Romance" })
1000
- ] })
1001
- ] }),
1002
- /* @__PURE__ */ jsxs8("div", { style: { marginBottom: "1.5rem" }, children: [
1003
- /* @__PURE__ */ jsx8("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem", fontSize: "0.875rem" }, children: "Emoji tag" }),
1004
- /* @__PURE__ */ jsx8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: /* @__PURE__ */ jsx8("span", { className: "qt-tag-badge qt-tag-badge-emoji", children: "Adventure" }) })
1005
- ] }),
1006
- /* @__PURE__ */ jsxs8("div", { style: { marginBottom: "1.5rem" }, children: [
1007
- /* @__PURE__ */ jsx8("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem", fontSize: "0.875rem" }, children: "Removable tag" }),
1008
- /* @__PURE__ */ jsx8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: /* @__PURE__ */ jsxs8("span", { className: "qt-tag-badge", children: [
1009
- "Fantasy",
1010
- /* @__PURE__ */ jsx8("button", { className: "qt-tag-badge-remove", children: "\xD7" })
1011
- ] }) })
1012
- ] }),
1013
- /* @__PURE__ */ jsxs8("div", { children: [
1014
- /* @__PURE__ */ jsx8("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem", fontSize: "0.875rem" }, children: "Small tags in card context" }),
1015
- /* @__PURE__ */ jsx8("div", { className: "qt-card", style: { maxWidth: "24rem" }, children: /* @__PURE__ */ jsx8("div", { className: "qt-card-body", children: /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
1016
- /* @__PURE__ */ jsx8("span", { className: "qt-tag-badge qt-tag-badge-sm", children: "Fantasy" }),
1017
- /* @__PURE__ */ jsx8("span", { className: "qt-tag-badge qt-tag-badge-sm", children: "Sci-Fi" })
1018
- ] }) }) })
1019
- ] })
1020
- ] }),
1021
- /* @__PURE__ */ jsxs8("section", { style: { marginBottom: "2rem" }, children: [
1022
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Participant Status Badges" }),
1023
- /* @__PURE__ */ jsx8("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem", fontSize: "0.875rem" }, children: "Status indicators shown on participant cards for silent and absent characters." }),
1024
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
1025
- /* @__PURE__ */ jsx8("span", { className: "qt-badge-silent", children: "Silent" }),
1026
- /* @__PURE__ */ jsx8("span", { className: "qt-badge-absent", children: "Absent" })
1027
- ] })
1028
- ] }),
1029
- /* @__PURE__ */ jsxs8("section", { children: [
1030
- /* @__PURE__ */ jsx8("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Usage Examples" }),
1031
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
1032
- /* @__PURE__ */ jsx8("div", { className: "qt-card", style: { maxWidth: "24rem" }, children: /* @__PURE__ */ jsxs8("div", { className: "qt-card-header", children: [
1033
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
1034
- /* @__PURE__ */ jsx8("h4", { className: "qt-card-title", children: "Feature Name" }),
1035
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-success", children: "Active" })
1036
- ] }),
1037
- /* @__PURE__ */ jsx8("p", { className: "qt-card-description", children: "With status badge" })
1038
- ] }) }),
1039
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
1040
- /* @__PURE__ */ jsx8("span", { style: { fontWeight: 500 }, children: "Notifications" }),
1041
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-primary", style: { borderRadius: "9999px", minWidth: "1.25rem", textAlign: "center" }, children: "5" })
1042
- ] }),
1043
- /* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
1044
- /* @__PURE__ */ jsx8("span", { style: { fontWeight: 500 }, children: "Version" }),
1045
- /* @__PURE__ */ jsx8("span", { className: "qt-badge qt-badge-outline", children: "v2.5.0" })
1046
- ] })
1047
- ] })
1048
- ] })
1049
- ] });
1050
- };
1051
-
1052
- // src/stories/components/Surfaces.tsx
1053
- import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
1054
- var sectionHeading2 = {
1055
- fontSize: "1.125rem",
1056
- fontWeight: 700,
1057
- marginBottom: "1rem",
1058
- borderBottom: "1px solid var(--color-border)",
1059
- paddingBottom: "0.5rem"
1060
- };
1061
- var note = {
1062
- color: "var(--color-muted-foreground)",
1063
- marginBottom: "1rem",
1064
- fontSize: "0.875rem"
1065
- };
1066
- var Surfaces = () => {
1067
- return /* @__PURE__ */ jsxs9("div", { style: { padding: "1.5rem" }, children: [
1068
- /* @__PURE__ */ jsx9("style", { children: `
1069
- .surfaces-demo-fill-primary:hover { background-color: var(--color-primary); }
1070
- .surfaces-demo-fill-success:hover { background-color: var(--color-success); }
1071
- .surfaces-demo-fill-destructive:hover { background-color: var(--color-destructive); }
1072
- ` }),
1073
- /* @__PURE__ */ jsx9("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "0.5rem" }, children: "Surfaces" }),
1074
- /* @__PURE__ */ jsxs9("p", { style: { ...note, maxWidth: "44rem" }, children: [
1075
- "How accent-coloured surfaces stay legible no matter how bold a theme makes its ",
1076
- /* @__PURE__ */ jsx9("code", { children: "accent" }),
1077
- " token. Filled surfaces pair the background with",
1078
- " ",
1079
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-accent" }),
1080
- "; hover rows use ",
1081
- /* @__PURE__ */ jsx9("code", { children: "qt-hover-accent" }),
1082
- "; quiet selected/panel surfaces lean on ",
1083
- /* @__PURE__ */ jsx9("code", { children: "muted" }),
1084
- " and faint",
1085
- " ",
1086
- /* @__PURE__ */ jsx9("code", { children: "primary" }),
1087
- " instead of the accent."
1088
- ] }),
1089
- /* @__PURE__ */ jsxs9("section", { style: { marginBottom: "2rem" }, children: [
1090
- /* @__PURE__ */ jsx9("h3", { style: sectionHeading2, children: "Filled accent surfaces" }),
1091
- /* @__PURE__ */ jsxs9("p", { style: note, children: [
1092
- "A solid ",
1093
- /* @__PURE__ */ jsx9("code", { children: "qt-bg-accent" }),
1094
- " fill ",
1095
- /* @__PURE__ */ jsx9("strong", { children: "must" }),
1096
- " be paired with",
1097
- " ",
1098
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-accent" }),
1099
- " (the theme's ",
1100
- /* @__PURE__ */ jsx9("code", { children: "accentForeground" }),
1101
- "). A fill without it falls back to the page foreground and washes out on bold accents."
1102
- ] }),
1103
- /* @__PURE__ */ jsxs9("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
1104
- /* @__PURE__ */ jsx9("span", { className: "qt-bg-accent qt-text-on-accent", style: { padding: "0.125rem 0.5rem", borderRadius: "0.25rem", fontSize: "0.75rem" }, children: "keyword" }),
1105
- /* @__PURE__ */ jsx9("span", { className: "qt-bg-accent qt-text-on-accent", style: { padding: "0.125rem 0.5rem", borderRadius: "0.25rem", fontSize: "0.75rem" }, children: "another keyword" }),
1106
- /* @__PURE__ */ jsx9("kbd", { className: "qt-bg-accent qt-text-on-accent", style: { padding: "0.125rem 0.375rem", borderRadius: "0.25rem", fontSize: "0.75rem" }, children: "\u21B5" })
1107
- ] })
1108
- ] }),
1109
- /* @__PURE__ */ jsxs9("section", { style: { marginBottom: "2rem" }, children: [
1110
- /* @__PURE__ */ jsxs9("h3", { style: sectionHeading2, children: [
1111
- "Foregrounds on filled surfaces \u2014 the ",
1112
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-*" }),
1113
- " family"
1114
- ] }),
1115
- /* @__PURE__ */ jsxs9("p", { style: note, children: [
1116
- "The same contract, extended to every filled surface the app paints:",
1117
- " ",
1118
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-accent" }),
1119
- ", ",
1120
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-primary" }),
1121
- ",",
1122
- " ",
1123
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-success" }),
1124
- ", and ",
1125
- /* @__PURE__ */ jsx9("code", { children: "qt-text-on-destructive" }),
1126
- ", each mapping to the theme's matching ",
1127
- /* @__PURE__ */ jsx9("code", { children: "*Foreground" }),
1128
- " token. Note the naming \u2014 ",
1129
- /* @__PURE__ */ jsxs9("code", { children: [
1130
- "-on-",
1131
- /* @__PURE__ */ jsx9("em", { children: "fill" })
1132
- ] }),
1133
- ", never ",
1134
- /* @__PURE__ */ jsxs9("code", { children: [
1135
- "-",
1136
- /* @__PURE__ */ jsx9("em", { children: "fill" }),
1137
- "-foreground"
1138
- ] }),
1139
- ", which is the Tailwind spelling and is not a ",
1140
- /* @__PURE__ */ jsx9("code", { children: "qt-" }),
1141
- " class at all."
1142
- ] }),
1143
- /* @__PURE__ */ jsxs9("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
1144
- /* @__PURE__ */ jsx9("span", { className: "qt-bg-accent qt-text-on-accent", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600 }, children: "on accent" }),
1145
- /* @__PURE__ */ jsx9("span", { className: "qt-bg-primary qt-text-on-primary", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600 }, children: "on primary" }),
1146
- /* @__PURE__ */ jsx9("span", { className: "qt-bg-success qt-text-on-success", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600 }, children: "on success" }),
1147
- /* @__PURE__ */ jsx9("span", { className: "qt-bg-destructive qt-text-on-destructive", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600 }, children: "on destructive" })
1148
- ] }),
1149
- /* @__PURE__ */ jsx9("p", { style: { ...note, marginTop: "1rem" }, children: "Each has a hover partner for controls that stay quiet at rest and take the fill on hover. Tailwind generates no variants for these classes, so the hover forms are written out by hand \u2014 reach for one that was never written and it is simply inert. Hover the buttons below." }),
1150
- /* @__PURE__ */ jsxs9("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.75rem", alignItems: "center" }, children: [
1151
- /* @__PURE__ */ jsx9("button", { className: "qt-bg-card qt-text-secondary surfaces-demo-fill-primary hover:qt-text-on-primary", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600, border: "1px solid var(--color-border)", cursor: "pointer" }, children: "hover:qt-text-on-primary" }),
1152
- /* @__PURE__ */ jsx9("button", { className: "qt-bg-card qt-text-secondary surfaces-demo-fill-success hover:qt-text-on-success", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600, border: "1px solid var(--color-border)", cursor: "pointer" }, children: "hover:qt-text-on-success" }),
1153
- /* @__PURE__ */ jsx9("button", { className: "qt-bg-card qt-text-secondary surfaces-demo-fill-destructive hover:qt-text-on-destructive", style: { padding: "0.25rem 0.625rem", borderRadius: "0.375rem", fontSize: "0.8125rem", fontWeight: 600, border: "1px solid var(--color-border)", cursor: "pointer" }, children: "hover:qt-text-on-destructive" })
1154
- ] })
1155
- ] }),
1156
- /* @__PURE__ */ jsxs9("section", { style: { marginBottom: "2rem" }, children: [
1157
- /* @__PURE__ */ jsxs9("h3", { style: sectionHeading2, children: [
1158
- "Hover-highlight rows \u2014 ",
1159
- /* @__PURE__ */ jsx9("code", { children: "qt-hover-accent" })
1160
- ] }),
1161
- /* @__PURE__ */ jsxs9("p", { style: note, children: [
1162
- "For list rows, menu items, and option cards. On hover it paints the accent background and forces the accent foreground onto the row ",
1163
- /* @__PURE__ */ jsx9("em", { children: "and every descendant" }),
1164
- " \u2014 so children that carry their own colour (the title and the muted subtitle below) flip too, instead of washing out (or, when their colour matches the accent, vanishing). Hover the rows to see it."
1165
- ] }),
1166
- /* @__PURE__ */ jsxs9("div", { style: { display: "flex", flexDirection: "column", gap: "0.25rem", maxWidth: "24rem", border: "1px solid var(--color-border)", borderRadius: "0.5rem", padding: "0.375rem" }, children: [
1167
- /* @__PURE__ */ jsxs9("div", { className: "qt-hover-accent", style: { display: "flex", flexDirection: "column", padding: "0.5rem 0.75rem", borderRadius: "0.375rem", cursor: "pointer" }, children: [
1168
- /* @__PURE__ */ jsx9("span", { className: "qt-text-primary", children: "Compose a reply" }),
1169
- /* @__PURE__ */ jsx9("span", { className: "qt-text-secondary", style: { fontSize: "0.8125rem" }, children: "Draft a response in this thread" })
1170
- ] }),
1171
- /* @__PURE__ */ jsxs9("div", { className: "qt-hover-accent", style: { display: "flex", flexDirection: "column", padding: "0.5rem 0.75rem", borderRadius: "0.375rem", cursor: "pointer" }, children: [
1172
- /* @__PURE__ */ jsx9("span", { className: "qt-text-primary", children: "Mark as resolved" }),
1173
- /* @__PURE__ */ jsx9("span", { className: "qt-text-secondary", style: { fontSize: "0.8125rem" }, children: "Close and archive this item" })
1174
- ] }),
1175
- /* @__PURE__ */ jsxs9("div", { className: "qt-hover-accent", style: { display: "flex", flexDirection: "column", padding: "0.5rem 0.75rem", borderRadius: "0.375rem", cursor: "pointer" }, children: [
1176
- /* @__PURE__ */ jsx9("span", { className: "qt-text-primary", children: "Delete" }),
1177
- /* @__PURE__ */ jsx9("span", { className: "qt-text-secondary", style: { fontSize: "0.8125rem" }, children: "Remove permanently" })
1178
- ] })
1179
- ] })
1180
- ] }),
1181
- /* @__PURE__ */ jsxs9("section", { children: [
1182
- /* @__PURE__ */ jsx9("h3", { style: sectionHeading2, children: "Quiet selected & panel surfaces" }),
1183
- /* @__PURE__ */ jsxs9("p", { style: note, children: [
1184
- "Persistent surfaces (selected cards, informational panels) deliberately avoid the bold accent. Selected states use a faint ",
1185
- /* @__PURE__ */ jsx9("code", { children: "qt-bg-primary/10" }),
1186
- " tint; informational panels use the neutral ",
1187
- /* @__PURE__ */ jsx9("code", { children: "qt-bg-muted" }),
1188
- " surface."
1189
- ] }),
1190
- /* @__PURE__ */ jsxs9("div", { style: { display: "flex", flexWrap: "wrap", gap: "1rem" }, children: [
1191
- /* @__PURE__ */ jsxs9("div", { className: "qt-bg-primary/10", style: { padding: "0.75rem 1rem", borderRadius: "0.5rem", border: "1px solid var(--color-primary)", maxWidth: "16rem" }, children: [
1192
- /* @__PURE__ */ jsx9("div", { className: "qt-text-primary", style: { fontWeight: 600 }, children: "Selected option" }),
1193
- /* @__PURE__ */ jsx9("div", { className: "qt-text-secondary", style: { fontSize: "0.8125rem" }, children: "Faint primary tint marks the choice." })
1194
- ] }),
1195
- /* @__PURE__ */ jsxs9("div", { className: "qt-bg-muted", style: { padding: "0.75rem 1rem", borderRadius: "0.5rem", border: "1px solid var(--color-border)", maxWidth: "16rem" }, children: [
1196
- /* @__PURE__ */ jsx9("div", { style: { fontWeight: 600 }, children: "Informational panel" }),
1197
- /* @__PURE__ */ jsx9("div", { className: "qt-text-secondary", style: { fontSize: "0.8125rem" }, children: "Neutral muted surface, never the accent." })
1198
- ] })
1199
- ] })
1200
- ] })
1201
- ] });
1202
- };
1203
-
1204
- // src/stories/components/Avatars.tsx
1205
- import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
1206
- var Avatars = () => {
1207
- return /* @__PURE__ */ jsxs10("div", { style: { padding: "1.5rem" }, children: [
1208
- /* @__PURE__ */ jsx10("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Avatars" }),
1209
- /* @__PURE__ */ jsxs10("section", { style: { marginBottom: "2rem" }, children: [
1210
- /* @__PURE__ */ jsx10("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Avatar Sizes" }),
1211
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
1212
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "SM" }) }),
1213
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "MD" }) }),
1214
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar qt-avatar-lg", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "LG" }) }),
1215
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar qt-avatar-xl", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "XL" }) })
1216
- ] })
1217
- ] }),
1218
- /* @__PURE__ */ jsxs10("section", { style: { marginBottom: "2rem" }, children: [
1219
- /* @__PURE__ */ jsx10("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Avatar with Images" }),
1220
- /* @__PURE__ */ jsx10("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Avatars gracefully fall back to initials when image is unavailable." }),
1221
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
1222
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "AB" }) }),
1223
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "CD" }) }),
1224
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "EF" }) })
1225
- ] })
1226
- ] }),
1227
- /* @__PURE__ */ jsxs10("section", { style: { marginBottom: "2rem" }, children: [
1228
- /* @__PURE__ */ jsx10("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Avatar Shapes" }),
1229
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
1230
- /* @__PURE__ */ jsxs10("div", { children: [
1231
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", style: { borderRadius: "9999px" }, children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "CR" }) }),
1232
- /* @__PURE__ */ jsx10("p", { style: { marginTop: "0.5rem", fontSize: "0.75rem", color: "var(--color-muted-foreground)", textAlign: "center" }, children: "Circle" })
1233
- ] }),
1234
- /* @__PURE__ */ jsxs10("div", { children: [
1235
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", style: { borderRadius: "var(--radius-lg)" }, children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "RD" }) }),
1236
- /* @__PURE__ */ jsx10("p", { style: { marginTop: "0.5rem", fontSize: "0.75rem", color: "var(--color-muted-foreground)", textAlign: "center" }, children: "Rounded" })
1237
- ] }),
1238
- /* @__PURE__ */ jsxs10("div", { children: [
1239
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", style: { borderRadius: "var(--radius-sm)" }, children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "SQ" }) }),
1240
- /* @__PURE__ */ jsx10("p", { style: { marginTop: "0.5rem", fontSize: "0.75rem", color: "var(--color-muted-foreground)", textAlign: "center" }, children: "Square" })
1241
- ] })
1242
- ] })
1243
- ] }),
1244
- /* @__PURE__ */ jsxs10("section", { style: { marginBottom: "2rem" }, children: [
1245
- /* @__PURE__ */ jsx10("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Avatar Groups" }),
1246
- /* @__PURE__ */ jsxs10("div", { className: "qt-avatar-group", children: [
1247
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "A" }) }),
1248
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "B" }) }),
1249
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "C" }) }),
1250
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "D" }) }),
1251
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "+3" }) })
1252
- ] })
1253
- ] }),
1254
- /* @__PURE__ */ jsxs10("section", { children: [
1255
- /* @__PURE__ */ jsx10("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Usage in Context" }),
1256
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
1257
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem", padding: "0.75rem", backgroundColor: "var(--color-muted)", borderRadius: "var(--radius-lg)" }, children: [
1258
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "JD" }) }),
1259
- /* @__PURE__ */ jsxs10("div", { style: { flex: 1 }, children: [
1260
- /* @__PURE__ */ jsx10("div", { style: { fontWeight: 600 }, children: "John Doe" }),
1261
- /* @__PURE__ */ jsx10("div", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: "john@example.com" })
1262
- ] }),
1263
- /* @__PURE__ */ jsx10("span", { className: "qt-badge qt-badge-success", children: "Active" })
1264
- ] }),
1265
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", gap: "0.75rem" }, children: [
1266
- /* @__PURE__ */ jsx10("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx10("div", { className: "qt-avatar-fallback", children: "SM" }) }),
1267
- /* @__PURE__ */ jsxs10("div", { style: { flex: 1 }, children: [
1268
- /* @__PURE__ */ jsxs10("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
1269
- /* @__PURE__ */ jsx10("span", { style: { fontWeight: 600, fontSize: "0.875rem" }, children: "Sarah Miller" }),
1270
- /* @__PURE__ */ jsx10("span", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "2 hours ago" })
1271
- ] }),
1272
- /* @__PURE__ */ jsx10("p", { style: { fontSize: "0.875rem", marginTop: "0.25rem" }, children: "This is a sample comment with an avatar." })
1273
- ] })
1274
- ] })
1275
- ] })
1276
- ] })
1277
- ] });
1278
- };
1279
-
1280
- // src/stories/components/Dialogs.tsx
1281
- import { useState } from "react";
1282
- import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
1283
- var Dialogs = () => {
1284
- const [basicOpen, setBasicOpen] = useState(false);
1285
- const [confirmOpen, setConfirmOpen] = useState(false);
1286
- const [formOpen, setFormOpen] = useState(false);
1287
- return /* @__PURE__ */ jsxs11("div", { style: { padding: "1.5rem" }, children: [
1288
- /* @__PURE__ */ jsx11("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Dialogs & Modals" }),
1289
- /* @__PURE__ */ jsxs11("section", { style: { marginBottom: "2rem" }, children: [
1290
- /* @__PURE__ */ jsx11("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Dialog Examples" }),
1291
- /* @__PURE__ */ jsx11("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Click the buttons below to open different dialog types." }),
1292
- /* @__PURE__ */ jsxs11("div", { style: { display: "flex", flexWrap: "wrap", gap: "1rem" }, children: [
1293
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-secondary", onClick: () => setBasicOpen(true), children: "Basic Dialog" }),
1294
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-destructive", onClick: () => setConfirmOpen(true), children: "Confirmation Dialog" }),
1295
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-primary", onClick: () => setFormOpen(true), children: "Form Dialog" })
1296
- ] })
1297
- ] }),
1298
- basicOpen && /* @__PURE__ */ jsx11("div", { className: "qt-dialog-overlay", onClick: () => setBasicOpen(false), children: /* @__PURE__ */ jsxs11("div", { className: "qt-dialog", onClick: (e) => e.stopPropagation(), children: [
1299
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-header", children: [
1300
- /* @__PURE__ */ jsx11("h3", { className: "qt-dialog-title", children: "Basic Dialog" }),
1301
- /* @__PURE__ */ jsx11("p", { className: "qt-dialog-description", children: "This is a basic dialog with some content. Dialogs are used to show important information or gather user input." }),
1302
- /* @__PURE__ */ jsx11("button", { className: "qt-button-icon", onClick: () => setBasicOpen(false), "aria-label": "Close", children: /* @__PURE__ */ jsx11("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx11("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })
1303
- ] }),
1304
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-body", children: /* @__PURE__ */ jsx11("p", { children: "Dialog content area with additional details and information." }) }),
1305
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-footer", children: /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-primary", onClick: () => setBasicOpen(false), children: "Got it" }) })
1306
- ] }) }),
1307
- confirmOpen && /* @__PURE__ */ jsx11("div", { className: "qt-dialog-overlay", onClick: () => setConfirmOpen(false), children: /* @__PURE__ */ jsxs11("div", { className: "qt-dialog", onClick: (e) => e.stopPropagation(), children: [
1308
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-header", children: [
1309
- /* @__PURE__ */ jsx11("h3", { className: "qt-dialog-title", children: "Delete Item?" }),
1310
- /* @__PURE__ */ jsx11("p", { className: "qt-dialog-description", children: "Are you sure you want to delete this item? This action cannot be undone." }),
1311
- /* @__PURE__ */ jsx11("button", { className: "qt-button-icon", onClick: () => setConfirmOpen(false), "aria-label": "Close", children: /* @__PURE__ */ jsx11("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx11("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })
1312
- ] }),
1313
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-body", children: /* @__PURE__ */ jsx11("p", { children: "This will remove the item from your collection permanently." }) }),
1314
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-footer", children: [
1315
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-ghost", onClick: () => setConfirmOpen(false), children: "Cancel" }),
1316
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-destructive", onClick: () => setConfirmOpen(false), children: "Delete" })
1317
- ] })
1318
- ] }) }),
1319
- formOpen && /* @__PURE__ */ jsx11("div", { className: "qt-dialog-overlay", onClick: () => setFormOpen(false), children: /* @__PURE__ */ jsxs11("div", { className: "qt-dialog", onClick: (e) => e.stopPropagation(), style: { maxWidth: "28rem" }, children: [
1320
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-header", children: [
1321
- /* @__PURE__ */ jsx11("h3", { className: "qt-dialog-title", children: "Create New Item" }),
1322
- /* @__PURE__ */ jsx11("p", { className: "qt-dialog-description", children: "Fill in the details below to create a new item." }),
1323
- /* @__PURE__ */ jsx11("button", { className: "qt-button-icon", onClick: () => setFormOpen(false), "aria-label": "Close", children: /* @__PURE__ */ jsx11("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx11("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })
1324
- ] }),
1325
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-body", children: /* @__PURE__ */ jsxs11("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
1326
- /* @__PURE__ */ jsxs11("div", { children: [
1327
- /* @__PURE__ */ jsx11("label", { style: { display: "block", marginBottom: "0.25rem", fontSize: "0.875rem", fontWeight: 500 }, children: "Name" }),
1328
- /* @__PURE__ */ jsx11("input", { className: "qt-input", type: "text", placeholder: "Enter name..." })
1329
- ] }),
1330
- /* @__PURE__ */ jsxs11("div", { children: [
1331
- /* @__PURE__ */ jsx11("label", { style: { display: "block", marginBottom: "0.25rem", fontSize: "0.875rem", fontWeight: 500 }, children: "Description" }),
1332
- /* @__PURE__ */ jsx11("textarea", { className: "qt-input qt-textarea", placeholder: "Enter description...", style: { minHeight: "5rem" } })
1333
- ] }),
1334
- /* @__PURE__ */ jsxs11("div", { children: [
1335
- /* @__PURE__ */ jsx11("label", { style: { display: "block", marginBottom: "0.25rem", fontSize: "0.875rem", fontWeight: 500 }, children: "Category" }),
1336
- /* @__PURE__ */ jsxs11("select", { className: "qt-input qt-select", children: [
1337
- /* @__PURE__ */ jsx11("option", { value: "", children: "Select category..." }),
1338
- /* @__PURE__ */ jsx11("option", { value: "1", children: "Category 1" }),
1339
- /* @__PURE__ */ jsx11("option", { value: "2", children: "Category 2" }),
1340
- /* @__PURE__ */ jsx11("option", { value: "3", children: "Category 3" })
1341
- ] })
1342
- ] })
1343
- ] }) }),
1344
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-footer", children: [
1345
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-ghost", onClick: () => setFormOpen(false), children: "Cancel" }),
1346
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-primary", onClick: () => setFormOpen(false), children: "Create" })
1347
- ] })
1348
- ] }) }),
1349
- /* @__PURE__ */ jsxs11("section", { style: { marginBottom: "2rem" }, children: [
1350
- /* @__PURE__ */ jsx11("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Dialog Structure (Static Preview)" }),
1351
- /* @__PURE__ */ jsx11("div", { style: { backgroundColor: "var(--color-muted)", padding: "2rem", borderRadius: "var(--radius-lg)" }, children: /* @__PURE__ */ jsxs11("div", { className: "qt-dialog", style: { position: "relative", transform: "none", margin: "0 auto" }, children: [
1352
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-header", children: [
1353
- /* @__PURE__ */ jsx11("h3", { className: "qt-dialog-title", children: "Dialog Title" }),
1354
- /* @__PURE__ */ jsx11("p", { className: "qt-dialog-description", children: "This is a dialog with a title and description." }),
1355
- /* @__PURE__ */ jsx11("button", { className: "qt-button-icon", "aria-label": "Close", children: /* @__PURE__ */ jsx11("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx11("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })
1356
- ] }),
1357
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-body", children: /* @__PURE__ */ jsx11("p", { children: "Dialog content area. This can contain text, forms, or any other content." }) }),
1358
- /* @__PURE__ */ jsxs11("div", { className: "qt-dialog-footer", children: [
1359
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-ghost", children: "Secondary Action" }),
1360
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-primary", children: "Primary Action" })
1361
- ] })
1362
- ] }) })
1363
- ] }),
1364
- /* @__PURE__ */ jsxs11("section", { children: [
1365
- /* @__PURE__ */ jsx11("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Dialog Sizes" }),
1366
- /* @__PURE__ */ jsxs11("div", { style: { display: "flex", flexDirection: "column", gap: "1rem" }, children: [
1367
- /* @__PURE__ */ jsxs11("div", { children: [
1368
- /* @__PURE__ */ jsx11("span", { style: { fontSize: "0.875rem", fontWeight: 500, color: "var(--color-muted-foreground)" }, children: "Small (max-width: 24rem)" }),
1369
- /* @__PURE__ */ jsx11("div", { style: { backgroundColor: "var(--color-muted)", padding: "1rem", borderRadius: "var(--radius-lg)", marginTop: "0.5rem" }, children: /* @__PURE__ */ jsxs11("div", { className: "qt-dialog", style: { position: "relative", transform: "none", margin: 0, maxWidth: "24rem" }, children: [
1370
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-header", children: /* @__PURE__ */ jsx11("h3", { className: "qt-dialog-title", children: "Small Dialog" }) }),
1371
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-body", children: /* @__PURE__ */ jsx11("p", { children: "Compact dialog for simple confirmations." }) })
1372
- ] }) })
1373
- ] }),
1374
- /* @__PURE__ */ jsxs11("div", { children: [
1375
- /* @__PURE__ */ jsx11("span", { style: { fontSize: "0.875rem", fontWeight: 500, color: "var(--color-muted-foreground)" }, children: "Large (max-width: 42rem)" }),
1376
- /* @__PURE__ */ jsx11("div", { style: { backgroundColor: "var(--color-muted)", padding: "1rem", borderRadius: "var(--radius-lg)", marginTop: "0.5rem" }, children: /* @__PURE__ */ jsxs11("div", { className: "qt-dialog qt-dialog-wide", style: { position: "relative", transform: "none", margin: 0, maxWidth: "42rem" }, children: [
1377
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-header", children: /* @__PURE__ */ jsx11("h3", { className: "qt-dialog-title", children: "Large Dialog" }) }),
1378
- /* @__PURE__ */ jsx11("div", { className: "qt-dialog-body", children: /* @__PURE__ */ jsx11("p", { children: "Larger dialog for complex forms or detailed content that needs more space." }) })
1379
- ] }) })
1380
- ] })
1381
- ] })
1382
- ] }),
1383
- /* @__PURE__ */ jsxs11("section", { style: { marginBottom: "2rem" }, children: [
1384
- /* @__PURE__ */ jsx11("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Popover" }),
1385
- /* @__PURE__ */ jsxs11("div", { style: { position: "relative", display: "inline-block", marginTop: "2rem" }, children: [
1386
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-secondary", children: "Hover for popover" }),
1387
- /* @__PURE__ */ jsx11("div", { className: "qt-popover", style: { position: "absolute", left: 0, top: "100%", marginTop: "0.5rem", display: "block" }, children: /* @__PURE__ */ jsxs11("div", { style: { padding: "0.75rem" }, children: [
1388
- /* @__PURE__ */ jsx11("p", { style: { fontWeight: 600, marginBottom: "0.25rem" }, children: "Popover Title" }),
1389
- /* @__PURE__ */ jsx11("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: "This is popover content that provides additional context." })
1390
- ] }) })
1391
- ] })
1392
- ] }),
1393
- /* @__PURE__ */ jsxs11("section", { style: { marginBottom: "2rem" }, children: [
1394
- /* @__PURE__ */ jsx11("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Dropdown Menu" }),
1395
- /* @__PURE__ */ jsxs11("div", { className: "qt-dropdown", style: { display: "inline-block", position: "relative" }, children: [
1396
- /* @__PURE__ */ jsx11("div", { className: "qt-dropdown-item", children: "Profile" }),
1397
- /* @__PURE__ */ jsx11("div", { className: "qt-dropdown-item", children: "Settings" }),
1398
- /* @__PURE__ */ jsx11("div", { className: "qt-dropdown-separator" }),
1399
- /* @__PURE__ */ jsx11("div", { className: "qt-dropdown-item", style: { color: "var(--color-destructive)" }, children: "Sign Out" })
1400
- ] })
1401
- ] }),
1402
- /* @__PURE__ */ jsxs11("section", { children: [
1403
- /* @__PURE__ */ jsx11("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Tooltip" }),
1404
- /* @__PURE__ */ jsxs11("div", { style: { display: "flex", alignItems: "flex-end", gap: "4rem", flexWrap: "wrap" }, children: [
1405
- /* @__PURE__ */ jsxs11("div", { style: { position: "relative", display: "inline-block", marginTop: "2rem" }, children: [
1406
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-secondary", children: "Hover me" }),
1407
- /* @__PURE__ */ jsx11("div", { className: "qt-tooltip", style: { position: "absolute", left: "50%", transform: "translateX(-50%)", bottom: "100%", marginBottom: "0.5rem", display: "block" }, children: "Helpful tooltip text" })
1408
- ] }),
1409
- /* @__PURE__ */ jsxs11("div", { style: { position: "relative", display: "inline-block", marginTop: "14rem" }, children: [
1410
- /* @__PURE__ */ jsx11("button", { className: "qt-button qt-button-secondary", children: "Pinned, with detail" }),
1411
- /* @__PURE__ */ jsx11(
1412
- "div",
1413
- {
1414
- className: "qt-tooltip",
1415
- "data-interactive": "true",
1416
- "data-pinned": "true",
1417
- style: { position: "absolute", left: "50%", transform: "translateX(-50%)", bottom: "100%", marginBottom: "0.5rem", display: "block", width: "20rem" },
1418
- children: /* @__PURE__ */ jsxs11("div", { className: "qt-tooltip-body", children: [
1419
- /* @__PURE__ */ jsx11("p", { className: "qt-tooltip-title", children: "Amended" }),
1420
- /* @__PURE__ */ jsx11("p", { children: "On reflection the author corrected this reply to match the record." }),
1421
- /* @__PURE__ */ jsxs11("div", { className: "qt-tooltip-section", children: [
1422
- /* @__PURE__ */ jsx11("p", { className: "qt-tooltip-section-label", children: "What looked off" }),
1423
- /* @__PURE__ */ jsx11("p", { className: "qt-tooltip-quote", children: "The ledger excerpt returned by the document read shows a metric column." })
1424
- ] }),
1425
- /* @__PURE__ */ jsx11("p", { className: "qt-tooltip-hint", children: "Click the badge to pin this note; Esc dismisses it." })
1426
- ] })
1427
- }
1428
- )
1429
- ] })
1430
- ] })
1431
- ] })
1432
- ] });
1433
- };
1434
-
1435
- // src/stories/components/Tabs.tsx
1436
- import { useState as useState2 } from "react";
1437
- import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
1438
- var Tabs = () => {
1439
- const [activeTab, setActiveTab] = useState2("tab1");
1440
- return /* @__PURE__ */ jsxs12("div", { style: { padding: "1.5rem" }, children: [
1441
- /* @__PURE__ */ jsx12("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Tabs & Navigation" }),
1442
- /* @__PURE__ */ jsxs12("section", { style: { marginBottom: "2rem" }, children: [
1443
- /* @__PURE__ */ jsx12("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Basic Tabs" }),
1444
- /* @__PURE__ */ jsxs12("div", { className: "qt-tab-group", children: [
1445
- /* @__PURE__ */ jsx12(
1446
- "button",
1447
- {
1448
- className: `qt-tab ${activeTab === "tab1" ? "qt-tab-active" : ""}`,
1449
- onClick: () => setActiveTab("tab1"),
1450
- children: "Account"
1451
- }
1452
- ),
1453
- /* @__PURE__ */ jsx12(
1454
- "button",
1455
- {
1456
- className: `qt-tab ${activeTab === "tab2" ? "qt-tab-active" : ""}`,
1457
- onClick: () => setActiveTab("tab2"),
1458
- children: "Settings"
1459
- }
1460
- ),
1461
- /* @__PURE__ */ jsx12(
1462
- "button",
1463
- {
1464
- className: `qt-tab ${activeTab === "tab3" ? "qt-tab-active" : ""}`,
1465
- onClick: () => setActiveTab("tab3"),
1466
- children: "Notifications"
1467
- }
1468
- )
1469
- ] }),
1470
- /* @__PURE__ */ jsxs12("div", { children: [
1471
- activeTab === "tab1" && /* @__PURE__ */ jsxs12("div", { className: "qt-tab-content", children: [
1472
- /* @__PURE__ */ jsx12("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Account Settings" }),
1473
- /* @__PURE__ */ jsx12("p", { style: { color: "var(--color-muted-foreground)" }, children: "Manage your account settings and preferences." })
1474
- ] }),
1475
- activeTab === "tab2" && /* @__PURE__ */ jsxs12("div", { className: "qt-tab-content", children: [
1476
- /* @__PURE__ */ jsx12("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "General Settings" }),
1477
- /* @__PURE__ */ jsx12("p", { style: { color: "var(--color-muted-foreground)" }, children: "Configure general application settings." })
1478
- ] }),
1479
- activeTab === "tab3" && /* @__PURE__ */ jsxs12("div", { className: "qt-tab-content", children: [
1480
- /* @__PURE__ */ jsx12("h4", { style: { fontWeight: 600, marginBottom: "0.5rem" }, children: "Notification Preferences" }),
1481
- /* @__PURE__ */ jsx12("p", { style: { color: "var(--color-muted-foreground)" }, children: "Choose how you want to receive notifications." })
1482
- ] })
1483
- ] })
1484
- ] }),
1485
- /* @__PURE__ */ jsxs12("section", { style: { marginBottom: "2rem" }, children: [
1486
- /* @__PURE__ */ jsx12("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Tabs with Icons" }),
1487
- /* @__PURE__ */ jsxs12("div", { className: "qt-tab-group", children: [
1488
- /* @__PURE__ */ jsxs12("button", { className: "qt-tab qt-tab-active", style: { display: "inline-flex", alignItems: "center", gap: "0.5rem" }, children: [
1489
- /* @__PURE__ */ jsx12("svg", { width: "16", height: "16", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx12("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" }) }),
1490
- "Home"
1491
- ] }),
1492
- /* @__PURE__ */ jsxs12("button", { className: "qt-tab", style: { display: "inline-flex", alignItems: "center", gap: "0.5rem" }, children: [
1493
- /* @__PURE__ */ jsx12("svg", { width: "16", height: "16", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx12("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" }) }),
1494
- "Profile"
1495
- ] }),
1496
- /* @__PURE__ */ jsxs12("button", { className: "qt-tab", style: { display: "inline-flex", alignItems: "center", gap: "0.5rem" }, children: [
1497
- /* @__PURE__ */ jsxs12("svg", { width: "16", height: "16", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
1498
- /* @__PURE__ */ jsx12("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" }),
1499
- /* @__PURE__ */ jsx12("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })
1500
- ] }),
1501
- "Settings"
1502
- ] })
1503
- ] })
1504
- ] }),
1505
- /* @__PURE__ */ jsxs12("section", { children: [
1506
- /* @__PURE__ */ jsx12("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Navigation Bar" }),
1507
- /* @__PURE__ */ jsxs12("div", { className: "qt-navbar", children: [
1508
- /* @__PURE__ */ jsxs12("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
1509
- /* @__PURE__ */ jsx12("div", { style: { fontWeight: 700, fontSize: "1.125rem" }, children: "Quilltap" }),
1510
- /* @__PURE__ */ jsxs12("nav", { style: { display: "flex", gap: "0.25rem" }, children: [
1511
- /* @__PURE__ */ jsx12("a", { href: "#", className: "qt-navbar-link qt-navbar-link-active", children: "Dashboard" }),
1512
- /* @__PURE__ */ jsx12("a", { href: "#", className: "qt-navbar-link", children: "Characters" }),
1513
- /* @__PURE__ */ jsx12("a", { href: "#", className: "qt-navbar-link", children: "Chats" }),
1514
- /* @__PURE__ */ jsx12("a", { href: "#", className: "qt-navbar-link", children: "Settings" })
1515
- ] })
1516
- ] }),
1517
- /* @__PURE__ */ jsxs12("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
1518
- /* @__PURE__ */ jsx12("button", { className: "qt-button-icon", "aria-label": "Notifications", children: /* @__PURE__ */ jsx12("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx12("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" }) }) }),
1519
- /* @__PURE__ */ jsx12("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx12("div", { className: "qt-avatar-fallback", children: "U" }) })
1520
- ] })
1521
- ] })
1522
- ] })
1523
- ] });
1524
- };
1525
-
1526
- // src/stories/components/Workspace.tsx
1527
- import { useState as useState3 } from "react";
1528
- import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
1529
- var SectionHeading = ({ children }) => /* @__PURE__ */ jsx13(
1530
- "h3",
1531
- {
1532
- style: {
1533
- fontSize: "1.125rem",
1534
- fontWeight: 700,
1535
- marginBottom: "1rem",
1536
- borderBottom: "1px solid var(--color-border)",
1537
- paddingBottom: "0.5rem"
1538
- },
1539
- children
1540
- }
1541
- );
1542
- var CloseGlyph = () => /* @__PURE__ */ jsx13("svg", { className: "qt-tab-close-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: /* @__PURE__ */ jsx13("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) });
1543
- var WorkspaceTab = ({ label, active, closeable = true }) => /* @__PURE__ */ jsxs13(
1544
- "div",
1545
- {
1546
- className: `qt-tab ${active ? "qt-tab-active" : ""}`,
1547
- style: { display: "inline-flex", alignItems: "center", gap: "0.5rem", cursor: "pointer" },
1548
- children: [
1549
- /* @__PURE__ */ jsx13("span", { className: "qt-tab-label", children: label }),
1550
- closeable && /* @__PURE__ */ jsx13("span", { className: "qt-tab-close", role: "button", "aria-label": `Close ${label}`, children: /* @__PURE__ */ jsx13(CloseGlyph, {}) })
1551
- ]
1552
- }
1553
- );
1554
- var Workspace = () => {
1555
- const [active, setActive] = useState3("salon");
1556
- return /* @__PURE__ */ jsxs13("div", { style: { padding: "1.5rem" }, children: [
1557
- /* @__PURE__ */ jsx13("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "0.5rem" }, children: "Workspace" }),
1558
- /* @__PURE__ */ jsxs13("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1.5rem", maxWidth: "46rem" }, children: [
1559
- "The tabbed two-pane shell. Set ",
1560
- /* @__PURE__ */ jsx13("code", { children: "--qt-workspace-accent" }),
1561
- " in your theme to re-tint the active tab, the pane divider, and the split drop-zone in one move."
1562
- ] }),
1563
- /* @__PURE__ */ jsxs13("section", { style: { marginBottom: "2rem" }, children: [
1564
- /* @__PURE__ */ jsx13(SectionHeading, { children: "Tab strip \u2014 active & inactive" }),
1565
- /* @__PURE__ */ jsx13("div", { className: "qt-tab-strip", role: "tablist", style: { borderRadius: "0.5rem 0.5rem 0 0" }, children: [
1566
- { id: "home", label: "Home" },
1567
- { id: "salon", label: "The Salon \u2014 Bertie" },
1568
- { id: "aurora", label: "Aurora" },
1569
- { id: "scriptorium", label: "The Scriptorium" }
1570
- ].map((t) => /* @__PURE__ */ jsx13("div", { onClick: () => setActive(t.id), children: /* @__PURE__ */ jsx13(WorkspaceTab, { label: t.label, active: active === t.id, closeable: t.id !== "home" }) }, t.id)) })
1571
- ] }),
1572
- /* @__PURE__ */ jsxs13("section", { style: { marginBottom: "2rem" }, children: [
1573
- /* @__PURE__ */ jsx13(SectionHeading, { children: "Pane divider" }),
1574
- /* @__PURE__ */ jsx13("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem" }, children: "Resizable split between the two panes. Hover (or focus) to see the accent." }),
1575
- /* @__PURE__ */ jsxs13(
1576
- "div",
1577
- {
1578
- style: {
1579
- display: "grid",
1580
- gridTemplateColumns: "1fr 8px 1fr",
1581
- height: "120px",
1582
- border: "1px solid var(--color-border)",
1583
- borderRadius: "0.5rem",
1584
- overflow: "hidden"
1585
- },
1586
- children: [
1587
- /* @__PURE__ */ jsx13("div", { className: "qt-panel", style: { display: "grid", placeItems: "center" }, children: "Left pane" }),
1588
- /* @__PURE__ */ jsx13("div", { className: "qt-workspace-divider", tabIndex: 0, role: "separator", "aria-label": "Resize panes", children: /* @__PURE__ */ jsx13("div", { className: "qt-workspace-divider-grip" }) }),
1589
- /* @__PURE__ */ jsx13("div", { className: "qt-panel", style: { display: "grid", placeItems: "center" }, children: "Right pane" })
1590
- ]
1591
- }
1592
- )
1593
- ] }),
1594
- /* @__PURE__ */ jsxs13("section", { children: [
1595
- /* @__PURE__ */ jsx13(SectionHeading, { children: "Split drop-zone" }),
1596
- /* @__PURE__ */ jsx13("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "0.75rem" }, children: "Shown while a tab is dragged toward a pane edge to create the split." }),
1597
- /* @__PURE__ */ jsxs13(
1598
- "div",
1599
- {
1600
- style: {
1601
- position: "relative",
1602
- height: "120px",
1603
- border: "1px solid var(--color-border)",
1604
- borderRadius: "0.5rem",
1605
- overflow: "hidden"
1606
- },
1607
- children: [
1608
- /* @__PURE__ */ jsx13("div", { className: "qt-panel", style: { height: "100%", display: "grid", placeItems: "center" }, children: "Pane" }),
1609
- /* @__PURE__ */ jsx13("div", { className: "qt-tab-drop-zone", children: /* @__PURE__ */ jsx13("span", { className: "qt-tab-drop-zone-hint", children: "Drop to split" }) })
1610
- ]
1611
- }
1612
- )
1613
- ] })
1614
- ] });
1615
- };
1616
-
1617
- // src/stories/components/Chat.tsx
1618
- import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
1619
- var Chat = () => {
1620
- return /* @__PURE__ */ jsxs14("div", { style: { padding: "1.5rem" }, children: [
1621
- /* @__PURE__ */ jsx14("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Chat Components" }),
1622
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1623
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Message Bubbles" }),
1624
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1625
- /* @__PURE__ */ jsx14("div", { style: { display: "flex", justifyContent: "flex-end" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-user", children: [
1626
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-header", children: [
1627
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "You" }),
1628
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-time", children: "2:30 PM" })
1629
- ] }),
1630
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsx14("p", { children: "Hello! How are you today?" }) })
1631
- ] }) }),
1632
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1633
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "AI" }) }),
1634
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-assistant", children: [
1635
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-header", children: [
1636
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "Assistant" }),
1637
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-time", children: "2:30 PM" })
1638
- ] }),
1639
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsx14("p", { children: "Hello! I'm doing well, thank you for asking. How can I help you today?" }) })
1640
- ] })
1641
- ] }),
1642
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1643
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "AI" }) }),
1644
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-assistant", children: [
1645
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-header", children: [
1646
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "Assistant" }),
1647
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-time", children: "2:31 PM" })
1648
- ] }),
1649
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-content", children: [
1650
- /* @__PURE__ */ jsx14("p", { children: "Here's some information you might find helpful:" }),
1651
- /* @__PURE__ */ jsxs14("ul", { style: { marginTop: "0.5rem", paddingLeft: "1.25rem" }, children: [
1652
- /* @__PURE__ */ jsx14("li", { children: "First point of interest" }),
1653
- /* @__PURE__ */ jsx14("li", { children: "Second important detail" }),
1654
- /* @__PURE__ */ jsx14("li", { children: "Third relevant fact" })
1655
- ] }),
1656
- /* @__PURE__ */ jsx14("p", { style: { marginTop: "0.5rem" }, children: "Let me know if you'd like more details about any of these!" })
1657
- ] }),
1658
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-actions", children: [
1659
- /* @__PURE__ */ jsx14("button", { className: "qt-button-icon", title: "Edit", children: /* @__PURE__ */ jsx14("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" }) }) }),
1660
- /* @__PURE__ */ jsx14("button", { className: "qt-button-icon", title: "Copy", children: /* @__PURE__ */ jsx14("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" }) }) })
1661
- ] })
1662
- ] })
1663
- ] }),
1664
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message qt-chat-message-system", children: /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsx14("p", { children: "Alice has joined the conversation." }) }) }),
1665
- /* @__PURE__ */ jsx14("div", { style: { display: "flex", justifyContent: "flex-end" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-user", children: [
1666
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-header", children: /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "You" }) }),
1667
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsx14("p", { children: "That's exactly what I needed, thanks!" }) })
1668
- ] }) })
1669
- ] })
1670
- ] }),
1671
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1672
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Character Messages" }),
1673
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages from different characters with their avatars." }),
1674
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1675
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1676
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "A" }) }),
1677
- /* @__PURE__ */ jsxs14("div", { children: [
1678
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-author", style: { fontSize: "0.75rem", fontWeight: 600, marginBottom: "0.25rem" }, children: "Alice" }),
1679
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message qt-chat-message-assistant", children: /* @__PURE__ */ jsx14("p", { children: "*waves cheerfully* Hi there! I'm so glad to meet you!" }) })
1680
- ] })
1681
- ] }),
1682
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1683
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "B" }) }),
1684
- /* @__PURE__ */ jsxs14("div", { children: [
1685
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-author", style: { fontSize: "0.75rem", fontWeight: 600, marginBottom: "0.25rem" }, children: "Bob" }),
1686
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message qt-chat-message-assistant", children: /* @__PURE__ */ jsx14("p", { children: "*nods thoughtfully* Interesting point. Let me think about that..." }) })
1687
- ] })
1688
- ] })
1689
- ] })
1690
- ] }),
1691
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1692
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Roleplay Annotations" }),
1693
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Special text formatting for roleplay-style messages with narration, inner thoughts, and out-of-character text." }),
1694
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1695
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1696
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "A" }) }),
1697
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-assistant", children: [
1698
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-header", children: /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "Alice" }) }),
1699
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsxs14("p", { children: [
1700
- '"Hello there!" ',
1701
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-narration", children: "she said with a warm smile, stepping forward to greet you." })
1702
- ] }) })
1703
- ] })
1704
- ] }),
1705
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1706
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "A" }) }),
1707
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-assistant", children: [
1708
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-header", children: /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "Alice" }) }),
1709
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsxs14("p", { children: [
1710
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-narration", children: "She paused for a moment, considering her words carefully." }),
1711
- " ",
1712
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-inner-monologue", children: "I wonder if they noticed..." })
1713
- ] }) })
1714
- ] })
1715
- ] }),
1716
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
1717
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "A" }) }),
1718
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message qt-chat-message-assistant", children: [
1719
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-header", children: /* @__PURE__ */ jsx14("span", { className: "qt-chat-message-author", children: "Alice" }) }),
1720
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-content", children: /* @__PURE__ */ jsx14("p", { children: /* @__PURE__ */ jsx14("span", { className: "qt-chat-ooc", children: "((OOC: Should we continue the scene or take a break?))" }) }) })
1721
- ] })
1722
- ] })
1723
- ] })
1724
- ] }),
1725
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1726
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Roleplay-Template Styles" }),
1727
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Style classes a roleplay-template delimiter can be assigned: four high-contrast chips (each theme picks its own four hues) plus a semantic set. Add-on flourishes (bold, italic, reverse, underline, border, font) compose on top." }),
1728
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-content", style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "36rem" }, children: [
1729
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem", alignItems: "center" }, children: [
1730
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-1", children: "Style 1" }),
1731
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-2", children: "Style 2" }),
1732
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-3", children: "Style 3" }),
1733
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-4", children: "Style 4" })
1734
- ] }),
1735
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem", alignItems: "center" }, children: [
1736
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-danger", children: "Danger" }),
1737
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-warning", children: "Warning" }),
1738
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-success", children: "Success" }),
1739
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-info", children: "Info" }),
1740
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-muted", children: "Muted" }),
1741
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-code", children: "code" })
1742
- ] }),
1743
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem", alignItems: "center" }, children: [
1744
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-2 qt-rp-bold", children: "Bold" }),
1745
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-3 qt-rp-italic", children: "Italic" }),
1746
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-1 qt-rp-reverse", children: "Reverse" }),
1747
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-4 qt-rp-underline-double", children: "Underline" }),
1748
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-info qt-rp-border-dashed", children: "Dashed border" }),
1749
- /* @__PURE__ */ jsx14("span", { className: "qt-roleplay-muted qt-rp-font-serif", children: "Serif font" })
1750
- ] })
1751
- ] })
1752
- ] }),
1753
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1754
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Whisper Messages" }),
1755
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Private messages visible only to sender and recipient. Overheard whispers have a faded style." }),
1756
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1757
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-row qt-chat-message-row-assistant", style: { marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-body qt-chat-message-assistant qt-chat-message-whisper", children: [
1758
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-whisper-label", children: "whispered to Elena" }),
1759
- /* @__PURE__ */ jsx14("p", { children: "I don't trust the merchant. Meet me at the tavern tonight\u2014alone." })
1760
- ] }) }),
1761
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-row qt-chat-message-row-assistant", style: { marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-body qt-chat-message-assistant qt-chat-message-whisper qt-chat-message-whisper-overheard", children: [
1762
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-whisper-label", children: "whispered to Marcus" }),
1763
- /* @__PURE__ */ jsx14("p", { children: "Keep an eye on the door. We may need a quick exit." })
1764
- ] }) })
1765
- ] })
1766
- ] }),
1767
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1768
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Silent Messages" }),
1769
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Inner thoughts and actions from characters in silent mode. They can think and act physically, but cannot speak aloud. Distinguished from whispers by dotted borders and sage/teal tones." }),
1770
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1771
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-row qt-chat-message-row-assistant", style: { marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-body qt-chat-message-assistant qt-chat-message-silent", children: [
1772
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-silent-label", children: "silent \u2014 inner thoughts and actions only" }),
1773
- /* @__PURE__ */ jsx14("p", { children: "*glances at the door, weighing whether to follow or stay behind*" })
1774
- ] }) }),
1775
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message-row qt-chat-message-row-assistant", style: { marginBottom: "0.5rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-message-body qt-chat-message-assistant qt-chat-message-silent", children: [
1776
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-silent-label", children: "silent \u2014 inner thoughts and actions only" }),
1777
- /* @__PURE__ */ jsx14("p", { children: "*quietly pockets the letter before anyone notices, mind racing with questions about its contents*" })
1778
- ] }) })
1779
- ] })
1780
- ] }),
1781
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1782
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Staff Announcements" }),
1783
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls. An announcement whispered to named participants carries the whisper\u2019s border colour and names its audience, so a private aside is distinguishable from a public one without expanding it." }),
1784
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1785
- /* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-system-bar", children: [
1786
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-high", "aria-hidden": "true" }),
1787
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Librarian" }),
1788
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "edited by character" }),
1789
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:12 PM" }),
1790
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
1791
- ] }),
1792
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-announcement-group", style: { width: "100%", margin: 0 }, children: [
1793
- /* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-announcement-chip", children: [
1794
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-high", "aria-hidden": "true" }),
1795
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
1796
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "status change" }),
1797
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:13 PM" }),
1798
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
1799
- ] }),
1800
- /* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-announcement-chip", children: [
1801
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
1802
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Lantern" }),
1803
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "background" }),
1804
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:14 PM" }),
1805
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
1806
- ] }),
1807
- /* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-announcement-chip", children: [
1808
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-low", "aria-hidden": "true" }),
1809
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "Prospero" }),
1810
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "project information" }),
1811
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:14 PM" }),
1812
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
1813
- ] }),
1814
- /* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-announcement-chip qt-chat-announcement-chip-whisper", children: [
1815
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
1816
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
1817
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
1818
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-whisper", children: "to Amy" }),
1819
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
1820
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
1821
- ] })
1822
- ] }),
1823
- /* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-system-bar qt-chat-system-bar-expanded", children: [
1824
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
1825
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
1826
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
1827
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-whisper", children: "to Amy, Bartholomew" }),
1828
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
1829
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron qt-chat-system-bar-chevron-down", "aria-hidden": "true", children: "\u203A" })
1830
- ] })
1831
- ] })
1832
- ] }),
1833
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1834
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Pascal Roll Outcomes" }),
1835
- /* @__PURE__ */ jsxs14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
1836
- "The outcome of a custom tool (pseudo-tool) roll, announced by Pascal the Croupier. The tool's author assigns each outcome a semantic state \u2014 success, partial, failure, info \u2014 and the accent follows it, on the bubble and on the announcement bar above it alike. The bar swaps its importance dot for the outcome's own state, since a success has no business wearing the red dot a high tier would give it. Built on the ",
1837
- /* @__PURE__ */ jsx14("code", { children: "--qt-alert-*" }),
1838
- " families: the alpha-thin",
1839
- /* @__PURE__ */ jsx14("code", { children: " -border" }),
1840
- " tints for the leading edge, the solid ",
1841
- /* @__PURE__ */ jsx14("code", { children: "-fg" }),
1842
- " for the dot."
1843
- ] }),
1844
- /* @__PURE__ */ jsx14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1845
- ["success", "Pick the Lock", "The lock clicks open."],
1846
- ["partial", "Pick the Lock", "The lock is giving way, but not yet."],
1847
- ["failure", "Pick the Lock", "Still locked, and the corridor is no longer empty."],
1848
- ["info", "Scan Hawking Radiation", "The detector reads 41 \xB5K."]
1849
- ].map(([state, tool, message]) => /* @__PURE__ */ jsxs14("div", { children: [
1850
- /* @__PURE__ */ jsxs14("button", { type: "button", className: `qt-chat-system-bar qt-chat-system-bar-expanded qt-pascal-result qt-pascal-result--${state}`, children: [
1851
- /* @__PURE__ */ jsx14("span", { className: `qt-chat-announcement-dot qt-chat-announcement-dot-outcome-${state}`, "aria-hidden": "true" }),
1852
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "Pascal" }),
1853
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: tool }),
1854
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
1855
- /* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u2227" })
1856
- ] }),
1857
- /* @__PURE__ */ jsx14("div", { className: `qt-chat-message-body qt-chat-message-assistant qt-pascal-result qt-pascal-result--${state}`, children: /* @__PURE__ */ jsxs14("p", { children: [
1858
- "\u{1F3B2} ",
1859
- /* @__PURE__ */ jsx14("strong", { children: tool }),
1860
- " \u2014 ",
1861
- message
1862
- ] }) })
1863
- ] }, state)) })
1864
- ] }),
1865
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1866
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Wardrobe Action Notices" }),
1867
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Inline summaries of outfit changes (equip, unequip, gift). Distinguished from whispers (dashed purple) and silent messages (dotted teal) by a double border and warm amber/gold tones." }),
1868
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
1869
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-wardrobe-notice", children: [
1870
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-wardrobe-label", children: "Wardrobe" }),
1871
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-wardrobe-summary", children: [
1872
- /* @__PURE__ */ jsx14("div", { children: "Equipped \u201CCrimson Evening Gown\u201D in the top slot." }),
1873
- /* @__PURE__ */ jsx14("div", { children: "Wearing: Crimson Evening Gown (top, bottom), Glass Slippers (footwear), Marcel Waves (hair)" })
1874
- ] })
1875
- ] }),
1876
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-wardrobe-notice", children: [
1877
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-wardrobe-label", children: "Wardrobe" }),
1878
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-wardrobe-summary", children: [
1879
- /* @__PURE__ */ jsx14("div", { children: "Removed item from the footwear slot." }),
1880
- /* @__PURE__ */ jsx14("div", { children: "Wearing: Crimson Evening Gown (top, bottom), barefoot" })
1881
- ] })
1882
- ] }),
1883
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-wardrobe-notice", children: [
1884
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-wardrobe-label", children: "Wardrobe" }),
1885
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-wardrobe-summary", children: [
1886
- /* @__PURE__ */ jsx14("div", { children: "Gifted \u201CSilver Pocket Watch\u201D to Marcus." }),
1887
- /* @__PURE__ */ jsx14("div", { children: "Marcus put it on immediately." })
1888
- ] })
1889
- ] })
1890
- ] })
1891
- ] }),
1892
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1893
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Chat Toolbar" }),
1894
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Formatting and action buttons for chat composition." }),
1895
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-toolbar", style: { maxWidth: "32rem", display: "flex", gap: "0.5rem", flexWrap: "wrap" }, children: [
1896
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-toolbar-button", title: "Bold", children: /* @__PURE__ */ jsx14("svg", { width: "18", height: "18", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 4h8a4 4 0 014 4v2M6 4v16M6 4h8a2 2 0 012 2v2M6 12h12" }) }) }),
1897
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-toolbar-button", title: "Italic", children: /* @__PURE__ */ jsx14("svg", { width: "18", height: "18", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 5h4m-4 14h4M9 5h6M9 19H3" }) }) }),
1898
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-toolbar-button", title: "Underline", children: /* @__PURE__ */ jsx14("svg", { width: "18", height: "18", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 5v10a4 4 0 008 0V5m0 14H7" }) }) }),
1899
- /* @__PURE__ */ jsx14("div", { style: { flex: 1 } }),
1900
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-toolbar-button", title: "Settings", children: /* @__PURE__ */ jsxs14("svg", { width: "18", height: "18", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
1901
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" }),
1902
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })
1903
- ] }) })
1904
- ] })
1905
- ] }),
1906
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1907
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "RP Annotation Buttons" }),
1908
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Quick-insert buttons for roleplay annotation types." }),
1909
- /* @__PURE__ */ jsxs14("div", { className: "qt-rp-annotation-toolbar", style: { maxWidth: "32rem", display: "flex", gap: "0.5rem", flexWrap: "wrap" }, children: [
1910
- /* @__PURE__ */ jsxs14("button", { className: "qt-rp-annotation-button-narration", title: "Narration", children: [
1911
- /* @__PURE__ */ jsx14("svg", { className: "w-4 h-4 mr-1", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h7" }) }),
1912
- "Narration"
1913
- ] }),
1914
- /* @__PURE__ */ jsxs14("button", { className: "qt-rp-annotation-button-internal", title: "Inner Monologue", children: [
1915
- /* @__PURE__ */ jsx14("svg", { className: "w-4 h-4 mr-1", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" }) }),
1916
- "Internal"
1917
- ] }),
1918
- /* @__PURE__ */ jsxs14("button", { className: "qt-rp-annotation-button-ooc", title: "Out of Character", children: [
1919
- /* @__PURE__ */ jsx14("svg", { className: "w-4 h-4 mr-1", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" }) }),
1920
- "OOC"
1921
- ] })
1922
- ] })
1923
- ] }),
1924
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1925
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Attachments" }),
1926
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "File attachment chips and attachment button." }),
1927
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-composer", style: { maxWidth: "32rem" }, children: [
1928
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-attachment-list", style: { display: "flex", gap: "0.5rem", marginBottom: "0.75rem", flexWrap: "wrap" }, children: [
1929
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-attachment-chip", children: [
1930
- /* @__PURE__ */ jsx14("span", { children: "document.pdf" }),
1931
- /* @__PURE__ */ jsx14("button", { className: "ml-2 text-gray-400 hover:text-gray-600", style: { marginLeft: "0.5rem" }, children: "\xD7" })
1932
- ] }),
1933
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-attachment-chip", children: [
1934
- /* @__PURE__ */ jsx14("span", { children: "image.png" }),
1935
- /* @__PURE__ */ jsx14("button", { className: "ml-2 text-gray-400 hover:text-gray-600", style: { marginLeft: "0.5rem" }, children: "\xD7" })
1936
- ] })
1937
- ] }),
1938
- /* @__PURE__ */ jsx14(
1939
- "textarea",
1940
- {
1941
- className: "qt-chat-composer-input",
1942
- placeholder: "Add a message about your files...",
1943
- rows: 1,
1944
- style: { width: "100%", padding: "0.5rem", marginBottom: "0.5rem" }
1945
- }
1946
- ),
1947
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-composer-actions", style: { display: "flex", gap: "0.5rem" }, children: [
1948
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-attachment-button", children: /* @__PURE__ */ jsx14("svg", { width: "18", height: "18", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" }) }) }),
1949
- /* @__PURE__ */ jsx14("button", { className: "qt-button qt-button-primary", children: "Send" })
1950
- ] })
1951
- ] })
1952
- ] }),
1953
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1954
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Chat Input" }),
1955
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-composer", style: { maxWidth: "32rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-chat-composer-inner", style: { display: "flex", alignItems: "flex-end", gap: "0.5rem", flex: 1 }, children: [
1956
- /* @__PURE__ */ jsx14("button", { className: "qt-button-icon", "aria-label": "Attach file", children: /* @__PURE__ */ jsx14("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13" }) }) }),
1957
- /* @__PURE__ */ jsx14(
1958
- "textarea",
1959
- {
1960
- className: "qt-chat-composer-input qt-input",
1961
- placeholder: "Type a message...",
1962
- rows: 1
1963
- }
1964
- ),
1965
- /* @__PURE__ */ jsx14("button", { className: "qt-button qt-button-primary qt-chat-composer-send", style: { height: "auto", padding: "0.5rem 1rem" }, children: /* @__PURE__ */ jsx14("svg", { width: "16", height: "16", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 19l9 2-9-18-9 18 9-2zm0 0v-8" }) }) })
1966
- ] }) })
1967
- ] }),
1968
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1969
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Typing Indicator" }),
1970
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem", maxWidth: "32rem" }, children: [
1971
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "AI" }) }),
1972
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message qt-chat-message-assistant", children: /* @__PURE__ */ jsxs14("div", { className: "qt-typing-indicator", children: [
1973
- /* @__PURE__ */ jsx14("span", {}),
1974
- /* @__PURE__ */ jsx14("span", {}),
1975
- /* @__PURE__ */ jsx14("span", {})
1976
- ] }) })
1977
- ] })
1978
- ] }),
1979
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
1980
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Chat Control Buttons" }),
1981
- /* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Continue and stop buttons for controlling AI response generation." }),
1982
- /* @__PURE__ */ jsxs14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem", fontSize: "0.875rem" }, children: [
1983
- "The composer's action trio while a character is speaking: Send (disabled), the soft interrupt ",
1984
- /* @__PURE__ */ jsx14("code", { children: ".qt-chat-interrupt-button" }),
1985
- " (shown idle, then raised with",
1986
- /* @__PURE__ */ jsx14("code", { children: ".qt-chat-interrupt-button-raised" }),
1987
- "), and the hard ",
1988
- /* @__PURE__ */ jsx14("code", { children: ".qt-chat-stop-button" }),
1989
- "."
1990
- ] }),
1991
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-composer-actions", style: { marginBottom: "1.5rem" }, children: [
1992
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-composer-send", "aria-label": "Send message", disabled: true, children: /* @__PURE__ */ jsxs14("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", viewBox: "0 0 24 24", children: [
1993
- /* @__PURE__ */ jsx14("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
1994
- /* @__PURE__ */ jsx14("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
1995
- ] }) }),
1996
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-composer-send qt-chat-interrupt-button", "aria-label": "Raise your hand to interrupt", children: /* @__PURE__ */ jsxs14("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", viewBox: "0 0 24 24", children: [
1997
- /* @__PURE__ */ jsx14("path", { d: "M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2" }),
1998
- /* @__PURE__ */ jsx14("path", { d: "M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2" }),
1999
- /* @__PURE__ */ jsx14("path", { d: "M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8" }),
2000
- /* @__PURE__ */ jsx14("path", { d: "M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15" })
2001
- ] }) }),
2002
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-composer-send qt-chat-interrupt-button qt-chat-interrupt-button-raised", "aria-label": "Lower your hand", "aria-pressed": true, children: /* @__PURE__ */ jsxs14("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", viewBox: "0 0 24 24", children: [
2003
- /* @__PURE__ */ jsx14("path", { d: "M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2" }),
2004
- /* @__PURE__ */ jsx14("path", { d: "M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2" }),
2005
- /* @__PURE__ */ jsx14("path", { d: "M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8" }),
2006
- /* @__PURE__ */ jsx14("path", { d: "M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15" })
2007
- ] }) }),
2008
- /* @__PURE__ */ jsx14("button", { className: "qt-chat-composer-send qt-chat-stop-button", "aria-label": "Stop", children: /* @__PURE__ */ jsx14("svg", { width: "20", height: "20", fill: "currentColor", stroke: "currentColor", strokeWidth: 1.5, strokeLinejoin: "round", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx14("polygon", { points: "8.36 3.22 15.64 3.22 20.78 8.36 20.78 15.64 15.64 20.78 8.36 20.78 3.22 15.64 3.22 8.36" }) }) })
2009
- ] }),
2010
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "1rem", maxWidth: "32rem" }, children: [
2011
- /* @__PURE__ */ jsxs14("button", { className: "qt-chat-continue-button", children: [
2012
- /* @__PURE__ */ jsxs14("svg", { className: "w-4 h-4 mr-2", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
2013
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z" }),
2014
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })
2015
- ] }),
2016
- "Continue"
2017
- ] }),
2018
- /* @__PURE__ */ jsxs14("button", { className: "qt-chat-stop-button", children: [
2019
- /* @__PURE__ */ jsxs14("svg", { className: "w-4 h-4 mr-2", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
2020
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }),
2021
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z" })
2022
- ] }),
2023
- "Stop"
2024
- ] })
2025
- ] })
2026
- ] }),
2027
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
2028
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Composer Typeahead Menu" }),
2029
- /* @__PURE__ */ jsxs14("p", { style: { marginBottom: "1rem", color: "var(--color-muted-foreground)", fontSize: "0.875rem" }, children: [
2030
- "The inline `:name` emoji menu. The composer keeps focus throughout, so the highlighted row is marked by ",
2031
- /* @__PURE__ */ jsx14("code", { children: ".qt-typeahead-option-active" }),
2032
- " rather than by ",
2033
- /* @__PURE__ */ jsx14("code", { children: ":focus" }),
2034
- "."
2035
- ] }),
2036
- /* @__PURE__ */ jsxs14("p", { style: { marginBottom: "1rem", color: "var(--color-muted-foreground)", fontSize: "0.875rem" }, children: [
2037
- "The menu positions itself against the caret element Lexical creates, so it is",
2038
- /* @__PURE__ */ jsx14("code", { children: "position: absolute" }),
2039
- " \u2014 these samples sit in a relatively-positioned host to stand in for that anchor."
2040
- ] }),
2041
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "1rem", flexWrap: "wrap" }, children: [
2042
- /* @__PURE__ */ jsx14("div", { style: { position: "relative", width: "22rem", height: "9rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-typeahead-menu", style: { top: 0 }, children: [
2043
- /* @__PURE__ */ jsxs14("div", { className: "qt-typeahead-option qt-typeahead-option-active", children: [
2044
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-glyph", children: "\u{1F604}" }),
2045
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-label", children: "grinning face with smiling eyes" }),
2046
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-detail", children: ":smile:" })
2047
- ] }),
2048
- /* @__PURE__ */ jsxs14("div", { className: "qt-typeahead-option", children: [
2049
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-glyph", children: "\u{1F603}" }),
2050
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-label", children: "grinning face with big eyes" }),
2051
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-detail", children: ":smiley:" })
2052
- ] }),
2053
- /* @__PURE__ */ jsxs14("div", { className: "qt-typeahead-option", children: [
2054
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-glyph", children: "\u{1F63A}" }),
2055
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-label", children: "grinning cat" }),
2056
- /* @__PURE__ */ jsx14("span", { className: "qt-typeahead-option-detail", children: ":smile_cat:" })
2057
- ] })
2058
- ] }) }),
2059
- /* @__PURE__ */ jsx14("div", { style: { position: "relative", width: "15rem", height: "9rem" }, children: /* @__PURE__ */ jsx14("div", { className: "qt-typeahead-menu", style: { top: 0 }, children: /* @__PURE__ */ jsx14("div", { className: "qt-typeahead-empty", children: "No emoji found" }) }) })
2060
- ] })
2061
- ] }),
2062
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
2063
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Emoji Picker" }),
2064
- /* @__PURE__ */ jsxs14("p", { style: { marginBottom: "1rem", color: "var(--color-muted-foreground)", fontSize: "0.875rem" }, children: [
2065
- "Opened from the formatting toolbar's ",
2066
- /* @__PURE__ */ jsx14("code", { children: ".qt-formatting-button-emoji" }),
2067
- ". The shell is ",
2068
- /* @__PURE__ */ jsx14("code", { children: ".qt-popover" }),
2069
- "; group headers stick while the grid scrolls."
2070
- ] }),
2071
- /* @__PURE__ */ jsxs14("div", { className: "qt-popover qt-emoji-picker", children: [
2072
- /* @__PURE__ */ jsx14("input", { className: "qt-input qt-emoji-picker-search", placeholder: "Search emoji\u2026", readOnly: true }),
2073
- /* @__PURE__ */ jsxs14("div", { className: "qt-emoji-picker-grid", children: [
2074
- /* @__PURE__ */ jsxs14("div", { children: [
2075
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-group-header", children: "Recently used" }),
2076
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-row", children: ["\u{1F604}", "\u{1F389}", "\u{1F680}", "\u{1F44D}\uFE0F"].map((char) => /* @__PURE__ */ jsx14("button", { type: "button", className: "qt-emoji-picker-cell", children: char }, char)) })
2077
- ] }),
2078
- /* @__PURE__ */ jsxs14("div", { children: [
2079
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-group-header", children: "Smileys & Emotion" }),
2080
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-row", children: ["\u{1F600}", "\u{1F603}", "\u{1F604}", "\u{1F601}", "\u{1F606}", "\u{1F605}", "\u{1F923}", "\u{1F602}"].map((char) => /* @__PURE__ */ jsx14("button", { type: "button", className: "qt-emoji-picker-cell", children: char }, char)) }),
2081
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-row", children: ["\u{1F642}", "\u{1F643}", "\u{1F609}", "\u{1F60A}", "\u{1F607}", "\u{1F970}", "\u{1F60D}", "\u{1F929}"].map((char) => /* @__PURE__ */ jsx14("button", { type: "button", className: "qt-emoji-picker-cell", children: char }, char)) })
2082
- ] }),
2083
- /* @__PURE__ */ jsxs14("div", { children: [
2084
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-group-header", children: "Animals & Nature" }),
2085
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-row", children: ["\u{1F436}", "\u{1F431}", "\u{1F42D}", "\u{1F439}", "\u{1F430}", "\u{1F98A}", "\u{1F43B}", "\u{1F43C}"].map((char) => /* @__PURE__ */ jsx14("button", { type: "button", className: "qt-emoji-picker-cell", children: char }, char)) })
2086
- ] })
2087
- ] })
2088
- ] }),
2089
- /* @__PURE__ */ jsx14("div", { style: { marginTop: "1rem" }, children: /* @__PURE__ */ jsxs14("div", { className: "qt-popover qt-emoji-picker", children: [
2090
- /* @__PURE__ */ jsx14("input", { className: "qt-input qt-emoji-picker-search", placeholder: "Search emoji\u2026", readOnly: true }),
2091
- /* @__PURE__ */ jsx14("div", { className: "qt-emoji-picker-message", children: "Couldn't load emoji" })
2092
- ] }) })
2093
- ] }),
2094
- /* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
2095
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Answer-Confirmation Badges" }),
2096
- /* @__PURE__ */ jsx14("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "The fact-checker's verdict on a message, shown among the message action icons. Quiet by design; the discrepancy notes live in a tooltip. Hover one to see its hover state." }),
2097
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem", flexWrap: "wrap" }, children: [
2098
- /* @__PURE__ */ jsxs14("button", { className: "qt-confirmation-badge", "data-confirmation-state": "vouched", children: [
2099
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-glyph", children: "\u2713" }),
2100
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-label", children: "Vouched" })
2101
- ] }),
2102
- /* @__PURE__ */ jsxs14("button", { className: "qt-confirmation-badge", "data-confirmation-state": "amended", children: [
2103
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-glyph", children: "\u270E" }),
2104
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-label", children: "Amended" })
2105
- ] }),
2106
- /* @__PURE__ */ jsxs14("button", { className: "qt-confirmation-badge", "data-confirmation-state": "stood-by", children: [
2107
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-glyph", children: "!" }),
2108
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-label", children: "Stood by" })
2109
- ] }),
2110
- /* @__PURE__ */ jsxs14("button", { className: "qt-confirmation-badge", "data-confirmation-state": "unvetted", children: [
2111
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-glyph", children: "\u2014" }),
2112
- /* @__PURE__ */ jsx14("span", { className: "qt-confirmation-badge-label", children: "Unvetted" })
2113
- ] })
2114
- ] })
2115
- ] }),
2116
- /* @__PURE__ */ jsxs14("section", { children: [
2117
- /* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Full Chat Layout" }),
2118
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-layout", style: { height: "24rem", border: "1px solid var(--color-border)", borderRadius: "var(--radius-lg)", display: "flex", flexDirection: "column" }, children: [
2119
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", padding: "0.75rem 1rem", borderBottom: "1px solid var(--color-border)" }, children: [
2120
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem" }, children: [
2121
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "AI" }) }),
2122
- /* @__PURE__ */ jsxs14("div", { children: [
2123
- /* @__PURE__ */ jsx14("div", { style: { fontWeight: 600 }, children: "Assistant" }),
2124
- /* @__PURE__ */ jsx14("div", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: "Online" })
2125
- ] })
2126
- ] }),
2127
- /* @__PURE__ */ jsx14("div", { style: { display: "flex", gap: "0.5rem" }, children: /* @__PURE__ */ jsx14("button", { className: "qt-button-icon", "aria-label": "Settings", children: /* @__PURE__ */ jsxs14("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
2128
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" }),
2129
- /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })
2130
- ] }) }) })
2131
- ] }),
2132
- /* @__PURE__ */ jsxs14("div", { style: { flex: 1, overflow: "auto", padding: "1rem", display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
2133
- /* @__PURE__ */ jsxs14("div", { style: { display: "flex", gap: "0.5rem" }, children: [
2134
- /* @__PURE__ */ jsx14("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx14("div", { className: "qt-avatar-fallback", children: "AI" }) }),
2135
- /* @__PURE__ */ jsx14("div", { className: "qt-chat-message qt-chat-message-assistant", children: /* @__PURE__ */ jsx14("p", { children: "Hello! How can I help you today?" }) })
2136
- ] }),
2137
- /* @__PURE__ */ jsx14("div", { style: { display: "flex", justifyContent: "flex-end" }, children: /* @__PURE__ */ jsx14("div", { className: "qt-chat-message qt-chat-message-user", children: /* @__PURE__ */ jsx14("p", { children: "I'd like to know more about theming." }) }) })
2138
- ] }),
2139
- /* @__PURE__ */ jsxs14("div", { className: "qt-chat-composer", style: { margin: "0.5rem", borderRadius: "var(--radius-lg)" }, children: [
2140
- /* @__PURE__ */ jsx14(
2141
- "textarea",
2142
- {
2143
- className: "qt-chat-composer-input qt-input",
2144
- placeholder: "Type a message...",
2145
- rows: 1
2146
- }
2147
- ),
2148
- /* @__PURE__ */ jsx14("button", { className: "qt-button qt-button-primary qt-button-sm", children: "Send" })
2149
- ] })
2150
- ] })
2151
- ] })
2152
- ] });
2153
- };
2154
-
2155
- // src/stories/components/Terminal.tsx
2156
- import { jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
2157
- var sampleOutput = `$ git status
2158
- On branch main
2159
- Your branch is up to date with 'origin/main'.
2160
-
2161
- nothing to commit, working tree clean
2162
- $ npm run dev
2163
- > next dev
2164
- \u25B2 Next.js 16.0.0
2165
- - Local: http://localhost:3000
2166
- - ready started server on 0.0.0.0:3000`;
2167
- var Terminal = () => {
2168
- return /* @__PURE__ */ jsxs15("div", { style: { padding: "1.5rem" }, children: [
2169
- /* @__PURE__ */ jsx15("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Terminal Components" }),
2170
- /* @__PURE__ */ jsxs15("p", { style: { marginBottom: "1.5rem", color: "var(--color-muted-foreground)" }, children: [
2171
- "The terminal carries its own identity. By default it stays dark in both light and dark themes \u2014 but a theme can override",
2172
- " ",
2173
- /* @__PURE__ */ jsx15("code", { children: "--qt-terminal-bg" }),
2174
- ", ",
2175
- /* @__PURE__ */ jsx15("code", { children: "--qt-terminal-fg" }),
2176
- ", and the",
2177
- /* @__PURE__ */ jsx15("code", { children: "--qt-terminal-chrome-*" }),
2178
- " tokens to reskin every surface below."
2179
- ] }),
2180
- /* @__PURE__ */ jsxs15("section", { style: { marginBottom: "2rem" }, children: [
2181
- /* @__PURE__ */ jsx15("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "In-chat embed" }),
2182
- /* @__PURE__ */ jsxs15("p", { style: { marginBottom: "0.75rem", fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: [
2183
- /* @__PURE__ */ jsx15("code", { children: ".qt-terminal-embed" }),
2184
- " wraps the embed card; the header and footer strips inherit the surrounding theme so they nest cleanly with chat bubbles."
2185
- ] }),
2186
- /* @__PURE__ */ jsxs15("div", { className: "qt-terminal-embed", style: { maxWidth: "36rem" }, children: [
2187
- /* @__PURE__ */ jsxs15("div", { className: "qt-terminal-embed-header", children: [
2188
- /* @__PURE__ */ jsx15("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: /* @__PURE__ */ jsx15("h4", { style: { fontSize: "0.875rem", fontWeight: 500, margin: 0 }, children: "Terminal \u2014 zsh" }) }),
2189
- /* @__PURE__ */ jsxs15("div", { style: { display: "flex", gap: "0.5rem" }, children: [
2190
- /* @__PURE__ */ jsx15("button", { className: "qt-button-icon", type: "button", children: "Pop out" }),
2191
- /* @__PURE__ */ jsx15("button", { className: "qt-button-icon qt-text-destructive", type: "button", children: "Kill" })
2192
- ] })
2193
- ] }),
2194
- /* @__PURE__ */ jsx15("div", { className: "qt-terminal-surface", style: { padding: "0.75rem", fontFamily: "var(--qt-font-mono, monospace)", color: "var(--qt-terminal-fg)", fontSize: "0.8125rem", whiteSpace: "pre-wrap" }, children: sampleOutput })
2195
- ] })
2196
- ] }),
2197
- /* @__PURE__ */ jsxs15("section", { style: { marginBottom: "2rem" }, children: [
2198
- /* @__PURE__ */ jsx15("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Embed footer (handed off to Terminal Mode pane)" }),
2199
- /* @__PURE__ */ jsxs15("div", { className: "qt-terminal-embed", style: { maxWidth: "36rem" }, children: [
2200
- /* @__PURE__ */ jsx15("div", { className: "qt-terminal-embed-header", children: /* @__PURE__ */ jsx15("h4", { style: { fontSize: "0.875rem", fontWeight: 500, margin: 0 }, children: "Terminal \u2014 zsh" }) }),
2201
- /* @__PURE__ */ jsxs15("div", { className: "qt-terminal-embed-footer", children: [
2202
- /* @__PURE__ */ jsx15("span", { className: "qt-text-secondary", children: "Showing in Terminal Mode pane." }),
2203
- /* @__PURE__ */ jsx15("button", { className: "qt-button-secondary", type: "button", style: { fontSize: "0.75rem", padding: "0.25rem 0.5rem" }, children: "Go to pane \u2192" })
2204
- ] })
2205
- ] })
2206
- ] }),
2207
- /* @__PURE__ */ jsxs15("section", { style: { marginBottom: "2rem" }, children: [
2208
- /* @__PURE__ */ jsx15("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Pop-out page chrome" }),
2209
- /* @__PURE__ */ jsxs15("p", { style: { marginBottom: "0.75rem", fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: [
2210
- "The full-screen pop-out page uses",
2211
- " ",
2212
- /* @__PURE__ */ jsx15("code", { children: ".qt-terminal-popout-page" }),
2213
- " as the outer canvas and",
2214
- " ",
2215
- /* @__PURE__ */ jsx15("code", { children: ".qt-terminal-popout-header" }),
2216
- " for the breadcrumb bar."
2217
- ] }),
2218
- /* @__PURE__ */ jsxs15("div", { className: "qt-terminal-popout-page", style: { borderRadius: "0.5rem", overflow: "hidden", border: "1px solid var(--color-border)", height: "240px", display: "flex", flexDirection: "column" }, children: [
2219
- /* @__PURE__ */ jsxs15("div", { className: "qt-terminal-popout-header", children: [
2220
- /* @__PURE__ */ jsxs15("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem" }, children: [
2221
- /* @__PURE__ */ jsx15("button", { className: "qt-button-icon", type: "button", style: { color: "inherit" }, children: "\u2190" }),
2222
- /* @__PURE__ */ jsx15("a", { href: "#", className: "qt-terminal-popout-link", style: { fontSize: "0.875rem" }, children: "Chat" }),
2223
- /* @__PURE__ */ jsx15("span", { className: "qt-terminal-popout-separator", children: "/" }),
2224
- /* @__PURE__ */ jsx15("h1", { className: "qt-terminal-popout-title", style: { fontSize: "1rem", margin: 0 }, children: "Terminal \u2014 zsh" })
2225
- ] }),
2226
- /* @__PURE__ */ jsx15("button", { className: "qt-button-destructive", type: "button", style: { fontSize: "0.875rem" }, children: "Kill Session" })
2227
- ] }),
2228
- /* @__PURE__ */ jsx15("div", { style: { flex: 1, padding: "0.75rem", fontFamily: "var(--qt-font-mono, monospace)", color: "var(--qt-terminal-fg)", fontSize: "0.8125rem", whiteSpace: "pre-wrap" }, children: sampleOutput })
2229
- ] })
2230
- ] }),
2231
- /* @__PURE__ */ jsxs15("section", { children: [
2232
- /* @__PURE__ */ jsx15("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Session-exited overlay" }),
2233
- /* @__PURE__ */ jsxs15("p", { style: { marginBottom: "0.75rem", fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: [
2234
- "When the PTY exits but the terminal stays mounted, the",
2235
- " ",
2236
- /* @__PURE__ */ jsx15("code", { children: ".qt-terminal-closed-badge" }),
2237
- " overlay marks it."
2238
- ] }),
2239
- /* @__PURE__ */ jsx15("div", { className: "qt-terminal-surface", style: { position: "relative", height: "120px", borderRadius: "0.5rem" }, children: /* @__PURE__ */ jsx15("span", { className: "qt-terminal-closed-badge", children: "Closed" }) })
2240
- ] })
2241
- ] });
2242
- };
2243
-
2244
- // src/stories/components/FilePreview.tsx
2245
- import { jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
2246
- var FilePreview = () => {
2247
- return /* @__PURE__ */ jsxs16("div", { style: { padding: "1.5rem" }, children: [
2248
- /* @__PURE__ */ jsx16("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "File Preview Components" }),
2249
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2250
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Scroll Container" }),
2251
- /* @__PURE__ */ jsxs16("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
2252
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-scroll" }),
2253
- " - Scrollable container for file content with configurable max height."
2254
- ] }),
2255
- /* @__PURE__ */ jsx16("div", { className: "qt-file-preview-scroll", style: { height: "150px", border: "1px solid var(--color-border)", borderRadius: "var(--radius-lg)" }, children: /* @__PURE__ */ jsx16("div", { style: { padding: "1rem" }, children: Array.from({ length: 20 }, (_, i) => /* @__PURE__ */ jsxs16("p", { style: { margin: "0.5rem 0" }, children: [
2256
- "Line ",
2257
- i + 1,
2258
- ": Lorem ipsum dolor sit amet, consectetur adipiscing elit."
2259
- ] }, i)) }) })
2260
- ] }),
2261
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2262
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Content Panel" }),
2263
- /* @__PURE__ */ jsxs16("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
2264
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-panel" }),
2265
- " - Background panel for rendered markdown content."
2266
- ] }),
2267
- /* @__PURE__ */ jsxs16("div", { className: "qt-file-preview-panel", children: [
2268
- /* @__PURE__ */ jsx16("h4", { style: { margin: "0 0 0.5rem 0" }, children: "Document Title" }),
2269
- /* @__PURE__ */ jsx16("p", { style: { margin: 0 }, children: "This is a content panel used for displaying rendered markdown files with a subtle background." })
2270
- ] })
2271
- ] }),
2272
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2273
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Code Block" }),
2274
- /* @__PURE__ */ jsxs16("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
2275
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-code" }),
2276
- " - Styled code block for plain text and source files with word wrap."
2277
- ] }),
2278
- /* @__PURE__ */ jsx16("pre", { className: "qt-file-preview-code", children: `function greet(name: string): string {
2279
- return \`Hello, \${name}!\`;
2280
- }
2281
-
2282
- // Call the function
2283
- const message = greet("World");
2284
- console.log(message);` })
2285
- ] }),
2286
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2287
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Loading State" }),
2288
- /* @__PURE__ */ jsxs16("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
2289
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-loading" }),
2290
- " + ",
2291
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-loading-text" }),
2292
- " - Loading indicator."
2293
- ] }),
2294
- /* @__PURE__ */ jsx16("div", { style: { border: "1px solid var(--color-border)", borderRadius: "var(--radius-lg)" }, children: /* @__PURE__ */ jsx16("div", { className: "qt-file-preview-loading", style: { minHeight: "150px" }, children: /* @__PURE__ */ jsx16("div", { className: "qt-file-preview-loading-text", children: "Loading file..." }) }) })
2295
- ] }),
2296
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2297
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Empty / Error State" }),
2298
- /* @__PURE__ */ jsxs16("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
2299
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-empty" }),
2300
- " + ",
2301
- /* @__PURE__ */ jsx16("code", { children: ".qt-file-preview-empty-icon" }),
2302
- " - Empty or error state display."
2303
- ] }),
2304
- /* @__PURE__ */ jsxs16("div", { style: { display: "grid", gridTemplateColumns: "repeat(2, 1fr)", gap: "1rem" }, children: [
2305
- /* @__PURE__ */ jsx16("div", { style: { border: "1px solid var(--color-border)", borderRadius: "var(--radius-lg)" }, children: /* @__PURE__ */ jsxs16("div", { className: "qt-file-preview-empty", style: { minHeight: "150px" }, children: [
2306
- /* @__PURE__ */ jsx16("div", { className: "qt-file-preview-empty-icon", children: "\u{1F4C4}" }),
2307
- /* @__PURE__ */ jsx16("p", { children: "No content available" })
2308
- ] }) }),
2309
- /* @__PURE__ */ jsx16("div", { style: { border: "1px solid var(--color-border)", borderRadius: "var(--radius-lg)" }, children: /* @__PURE__ */ jsxs16("div", { className: "qt-file-preview-empty", style: { minHeight: "150px" }, children: [
2310
- /* @__PURE__ */ jsx16("div", { className: "qt-file-preview-empty-icon", children: "\u26A0\uFE0F" }),
2311
- /* @__PURE__ */ jsx16("p", { children: "Failed to load file" })
2312
- ] }) })
2313
- ] })
2314
- ] }),
2315
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2316
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Wikilinks" }),
2317
- /* @__PURE__ */ jsxs16("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: [
2318
- /* @__PURE__ */ jsx16("code", { children: ".qt-wikilink" }),
2319
- " + ",
2320
- /* @__PURE__ */ jsx16("code", { children: ".qt-wikilink-broken" }),
2321
- " - Internal document links in markdown."
2322
- ] }),
2323
- /* @__PURE__ */ jsx16("div", { className: "qt-file-preview-panel", children: /* @__PURE__ */ jsxs16("p", { style: { margin: 0, lineHeight: 2 }, children: [
2324
- "This document references ",
2325
- /* @__PURE__ */ jsx16("button", { type: "button", className: "qt-wikilink", children: "Character Profile" }),
2326
- " and links to ",
2327
- /* @__PURE__ */ jsx16("button", { type: "button", className: "qt-wikilink", children: "World Building \u2192 Geography" }),
2328
- ". There's also a ",
2329
- /* @__PURE__ */ jsx16("button", { type: "button", className: "qt-wikilink-broken", children: "Missing Document" }),
2330
- " that doesn't exist yet."
2331
- ] }) })
2332
- ] }),
2333
- /* @__PURE__ */ jsxs16("section", { style: { marginBottom: "2rem" }, children: [
2334
- /* @__PURE__ */ jsx16("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "CSS Variables" }),
2335
- /* @__PURE__ */ jsx16("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))", gap: "0.5rem" }, children: [
2336
- { name: "--qt-file-preview-max-height", value: "70vh", desc: "Max height of scroll container" },
2337
- { name: "--qt-file-preview-min-height", value: "300px", desc: "Min height of loading/empty states" },
2338
- { name: "--qt-file-preview-panel-bg", value: "muted/30%", desc: "Content panel background" },
2339
- { name: "--qt-code-bg", value: "muted", desc: "Code block background" },
2340
- { name: "--qt-code-fg", value: "foreground", desc: "Code block text color" },
2341
- { name: "--qt-code-font", value: "monospace", desc: "Code block font family" }
2342
- ].map(({ name, value, desc }) => /* @__PURE__ */ jsxs16("div", { style: { padding: "0.75rem", background: "var(--color-muted)", borderRadius: "var(--radius-md)" }, children: [
2343
- /* @__PURE__ */ jsx16("code", { style: { fontSize: "0.75rem", fontWeight: 600 }, children: name }),
2344
- /* @__PURE__ */ jsxs16("div", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)", marginTop: "0.25rem" }, children: [
2345
- "Default: ",
2346
- value
2347
- ] }),
2348
- /* @__PURE__ */ jsx16("div", { style: { fontSize: "0.75rem", color: "var(--color-muted-foreground)" }, children: desc })
2349
- ] }, name)) })
2350
- ] })
2351
- ] });
2352
- };
2353
-
2354
- // src/stories/components/ThemeComparison.tsx
2355
- import { jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
2356
- var ThemePanel = ({ title, description }) => {
2357
- return /* @__PURE__ */ jsxs17("div", { style: { flex: 1, minWidth: "20rem" }, children: [
2358
- /* @__PURE__ */ jsxs17("div", { style: { marginBottom: "1rem" }, children: [
2359
- /* @__PURE__ */ jsx17("h4", { style: { fontWeight: 600 }, children: title }),
2360
- /* @__PURE__ */ jsx17("p", { style: { fontSize: "0.875rem", color: "var(--color-muted-foreground)" }, children: description })
2361
- ] }),
2362
- /* @__PURE__ */ jsxs17("div", { className: "qt-card", style: { marginBottom: "1rem" }, children: [
2363
- /* @__PURE__ */ jsxs17("div", { className: "qt-card-header", children: [
2364
- /* @__PURE__ */ jsx17("h5", { className: "qt-card-title", children: "Sample Card" }),
2365
- /* @__PURE__ */ jsx17("p", { className: "qt-card-description", children: "This is how cards look in this theme." })
2366
- ] }),
2367
- /* @__PURE__ */ jsxs17("div", { className: "qt-card-body", children: [
2368
- /* @__PURE__ */ jsx17("p", { style: { marginBottom: "1rem" }, children: "Cards are used throughout the application for grouping content." }),
2369
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", gap: "0.5rem", flexWrap: "wrap" }, children: [
2370
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-primary", children: "Primary" }),
2371
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-secondary", children: "Secondary" }),
2372
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-success", children: "Success" })
2373
- ] })
2374
- ] }),
2375
- /* @__PURE__ */ jsxs17("div", { className: "qt-card-footer", children: [
2376
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-ghost", children: "Cancel" }),
2377
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-primary", children: "Save" })
2378
- ] })
2379
- ] }),
2380
- /* @__PURE__ */ jsxs17("div", { className: "qt-panel", style: { padding: "1rem", marginBottom: "1rem" }, children: [
2381
- /* @__PURE__ */ jsxs17("div", { style: { marginBottom: "0.75rem" }, children: [
2382
- /* @__PURE__ */ jsx17("label", { style: { display: "block", marginBottom: "0.25rem", fontSize: "0.875rem", fontWeight: 500 }, children: "Text Input" }),
2383
- /* @__PURE__ */ jsx17("input", { className: "qt-input", type: "text", placeholder: "Enter text..." })
2384
- ] }),
2385
- /* @__PURE__ */ jsxs17("div", { style: { marginBottom: "0.75rem" }, children: [
2386
- /* @__PURE__ */ jsx17("label", { style: { display: "block", marginBottom: "0.25rem", fontSize: "0.875rem", fontWeight: 500 }, children: "Select" }),
2387
- /* @__PURE__ */ jsxs17("select", { className: "qt-input qt-select", children: [
2388
- /* @__PURE__ */ jsx17("option", { children: "Option 1" }),
2389
- /* @__PURE__ */ jsx17("option", { children: "Option 2" })
2390
- ] })
2391
- ] }),
2392
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", gap: "0.5rem" }, children: [
2393
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-secondary qt-button-sm", children: "Secondary" }),
2394
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-primary qt-button-sm", children: "Primary" })
2395
- ] })
2396
- ] }),
2397
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2398
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", gap: "0.5rem" }, children: [
2399
- /* @__PURE__ */ jsx17("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx17("div", { className: "qt-avatar-fallback", children: "AI" }) }),
2400
- /* @__PURE__ */ jsx17("div", { className: "qt-chat-message qt-chat-message-assistant", style: { maxWidth: "100%" }, children: /* @__PURE__ */ jsx17("p", { style: { fontSize: "0.875rem" }, children: "Hello! This is a chat message." }) })
2401
- ] }),
2402
- /* @__PURE__ */ jsx17("div", { style: { display: "flex", justifyContent: "flex-end" }, children: /* @__PURE__ */ jsx17("div", { className: "qt-chat-message qt-chat-message-user", style: { maxWidth: "100%" }, children: /* @__PURE__ */ jsx17("p", { style: { fontSize: "0.875rem" }, children: "Great, thanks!" }) }) })
2403
- ] })
2404
- ] });
2405
- };
2406
- var ThemeComparison = () => {
2407
- return /* @__PURE__ */ jsxs17("div", { style: { padding: "1.5rem" }, children: [
2408
- /* @__PURE__ */ jsx17("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "0.5rem" }, children: "Theme Comparison" }),
2409
- /* @__PURE__ */ jsx17("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1.5rem" }, children: "Compare your custom theme against the default Quilltap theme. Use the theme toggle above to switch between themes." }),
2410
- /* @__PURE__ */ jsxs17("section", { style: { marginBottom: "2rem" }, children: [
2411
- /* @__PURE__ */ jsx17("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Current Theme Preview" }),
2412
- /* @__PURE__ */ jsx17(
2413
- ThemePanel,
2414
- {
2415
- title: "Active Theme",
2416
- description: "This panel shows how components look with the currently active theme."
2417
- }
2418
- )
2419
- ] }),
2420
- /* @__PURE__ */ jsxs17("section", { style: { marginBottom: "2rem" }, children: [
2421
- /* @__PURE__ */ jsx17("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Key Theme Colors" }),
2422
- /* @__PURE__ */ jsx17("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(8rem, 1fr))", gap: "0.75rem" }, children: [
2423
- { name: "Background", var: "--color-background" },
2424
- { name: "Foreground", var: "--color-foreground" },
2425
- { name: "Card", var: "--color-card" },
2426
- { name: "Primary", var: "--color-primary" },
2427
- { name: "Secondary", var: "--color-secondary" },
2428
- { name: "Muted", var: "--color-muted" },
2429
- { name: "Accent", var: "--color-accent" },
2430
- { name: "Border", var: "--color-border" }
2431
- ].map(({ name, var: cssVar }) => /* @__PURE__ */ jsxs17("div", { style: { textAlign: "center" }, children: [
2432
- /* @__PURE__ */ jsx17(
2433
- "div",
2434
- {
2435
- style: {
2436
- width: "100%",
2437
- height: "3rem",
2438
- backgroundColor: `var(${cssVar})`,
2439
- borderRadius: "var(--radius-md)",
2440
- border: "1px solid var(--color-border)"
2441
- }
2442
- }
2443
- ),
2444
- /* @__PURE__ */ jsx17("div", { style: { marginTop: "0.25rem", fontSize: "0.75rem", fontWeight: 500 }, children: name })
2445
- ] }, cssVar)) })
2446
- ] }),
2447
- /* @__PURE__ */ jsxs17("section", { style: { marginBottom: "2rem" }, children: [
2448
- /* @__PURE__ */ jsx17("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Semantic Colors" }),
2449
- /* @__PURE__ */ jsx17("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(8rem, 1fr))", gap: "0.75rem" }, children: [
2450
- { name: "Destructive", var: "--color-destructive" },
2451
- { name: "Success", var: "--color-success" },
2452
- { name: "Warning", var: "--color-warning" }
2453
- ].map(({ name, var: cssVar }) => /* @__PURE__ */ jsxs17("div", { style: { textAlign: "center" }, children: [
2454
- /* @__PURE__ */ jsx17(
2455
- "div",
2456
- {
2457
- style: {
2458
- width: "100%",
2459
- height: "3rem",
2460
- backgroundColor: `var(${cssVar})`,
2461
- borderRadius: "var(--radius-md)",
2462
- border: "1px solid var(--color-border)"
2463
- }
2464
- }
2465
- ),
2466
- /* @__PURE__ */ jsx17("div", { style: { marginTop: "0.25rem", fontSize: "0.75rem", fontWeight: 500 }, children: name })
2467
- ] }, cssVar)) })
2468
- ] }),
2469
- /* @__PURE__ */ jsxs17("section", { children: [
2470
- /* @__PURE__ */ jsx17("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Component Showcase" }),
2471
- /* @__PURE__ */ jsxs17("div", { style: { marginBottom: "1.5rem" }, children: [
2472
- /* @__PURE__ */ jsx17("h4", { style: { fontSize: "0.875rem", fontWeight: 600, marginBottom: "0.75rem", color: "var(--color-muted-foreground)" }, children: "Buttons" }),
2473
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
2474
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-primary", children: "Primary" }),
2475
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-secondary", children: "Secondary" }),
2476
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-ghost", children: "Ghost" }),
2477
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-destructive", children: "Destructive" }),
2478
- /* @__PURE__ */ jsx17("button", { className: "qt-button qt-button-primary", disabled: true, children: "Disabled" })
2479
- ] })
2480
- ] }),
2481
- /* @__PURE__ */ jsxs17("div", { style: { marginBottom: "1.5rem" }, children: [
2482
- /* @__PURE__ */ jsx17("h4", { style: { fontSize: "0.875rem", fontWeight: 600, marginBottom: "0.75rem", color: "var(--color-muted-foreground)" }, children: "Badges" }),
2483
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
2484
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-default", children: "Default" }),
2485
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-primary", children: "Primary" }),
2486
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-secondary", children: "Secondary" }),
2487
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-success", children: "Success" }),
2488
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-warning", children: "Warning" }),
2489
- /* @__PURE__ */ jsx17("span", { className: "qt-badge qt-badge-destructive", children: "Destructive" })
2490
- ] })
2491
- ] }),
2492
- /* @__PURE__ */ jsxs17("div", { style: { marginBottom: "1.5rem" }, children: [
2493
- /* @__PURE__ */ jsx17("h4", { style: { fontSize: "0.875rem", fontWeight: 600, marginBottom: "0.75rem", color: "var(--color-muted-foreground)" }, children: "Interactive Card" }),
2494
- /* @__PURE__ */ jsx17("div", { className: "qt-card qt-card-interactive", style: { maxWidth: "20rem", cursor: "pointer" }, children: /* @__PURE__ */ jsx17("div", { className: "qt-card-header", children: /* @__PURE__ */ jsxs17("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem" }, children: [
2495
- /* @__PURE__ */ jsx17("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx17("div", { className: "qt-avatar-fallback", children: "A" }) }),
2496
- /* @__PURE__ */ jsxs17("div", { children: [
2497
- /* @__PURE__ */ jsx17("h5", { className: "qt-card-title", children: "Character Name" }),
2498
- /* @__PURE__ */ jsx17("p", { className: "qt-card-description", children: "Click to interact" })
2499
- ] })
2500
- ] }) }) })
2501
- ] }),
2502
- /* @__PURE__ */ jsxs17("div", { children: [
2503
- /* @__PURE__ */ jsx17("h4", { style: { fontSize: "0.875rem", fontWeight: 600, marginBottom: "0.75rem", color: "var(--color-muted-foreground)" }, children: "Form Elements" }),
2504
- /* @__PURE__ */ jsxs17("div", { style: { display: "flex", gap: "1rem", flexWrap: "wrap", maxWidth: "32rem" }, children: [
2505
- /* @__PURE__ */ jsx17("input", { className: "qt-input", type: "text", placeholder: "Text input", style: { flex: "1 1 10rem" } }),
2506
- /* @__PURE__ */ jsxs17("select", { className: "qt-input qt-select", style: { flex: "1 1 10rem" }, children: [
2507
- /* @__PURE__ */ jsx17("option", { children: "Select option" }),
2508
- /* @__PURE__ */ jsx17("option", { children: "Option 1" }),
2509
- /* @__PURE__ */ jsx17("option", { children: "Option 2" })
2510
- ] })
2511
- ] })
2512
- ] })
2513
- ] })
2514
- ] });
2515
- };
2516
-
2517
- // src/stories/components/EmptyState.tsx
2518
- import { jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
2519
- var EmptyState = () => {
2520
- return /* @__PURE__ */ jsxs18("div", { style: { padding: "1.5rem" }, children: [
2521
- /* @__PURE__ */ jsx18("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Empty States" }),
2522
- /* @__PURE__ */ jsxs18("section", { style: { marginBottom: "2rem" }, children: [
2523
- /* @__PURE__ */ jsx18("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Basic Empty State" }),
2524
- /* @__PURE__ */ jsxs18("div", { className: "qt-empty-state", children: [
2525
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-icon", children: /* @__PURE__ */ jsx18("svg", { className: "w-12 h-12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx18("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4" }) }) }),
2526
- /* @__PURE__ */ jsx18("h4", { className: "qt-empty-state-title", children: "No messages yet" }),
2527
- /* @__PURE__ */ jsx18("p", { className: "qt-empty-state-description", children: "Start a conversation to see messages appear here." })
2528
- ] })
2529
- ] }),
2530
- /* @__PURE__ */ jsxs18("section", { style: { marginBottom: "2rem" }, children: [
2531
- /* @__PURE__ */ jsx18("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Empty State with Action" }),
2532
- /* @__PURE__ */ jsxs18("div", { className: "qt-empty-state", children: [
2533
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-icon", children: /* @__PURE__ */ jsx18("svg", { className: "w-12 h-12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx18("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z" }) }) }),
2534
- /* @__PURE__ */ jsx18("h4", { className: "qt-empty-state-title", children: "No characters" }),
2535
- /* @__PURE__ */ jsx18("p", { className: "qt-empty-state-description", children: "You haven't created any characters yet. Create your first character to get started." }),
2536
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-action", children: /* @__PURE__ */ jsx18("button", { className: "qt-button qt-button-primary", children: "Create Character" }) })
2537
- ] })
2538
- ] }),
2539
- /* @__PURE__ */ jsxs18("section", { style: { marginBottom: "2rem" }, children: [
2540
- /* @__PURE__ */ jsx18("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Search Empty State" }),
2541
- /* @__PURE__ */ jsxs18("div", { className: "qt-empty-state", children: [
2542
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-icon", children: /* @__PURE__ */ jsx18("svg", { className: "w-12 h-12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx18("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }) }),
2543
- /* @__PURE__ */ jsx18("h4", { className: "qt-empty-state-title", children: "No results found" }),
2544
- /* @__PURE__ */ jsx18("p", { className: "qt-empty-state-description", children: "Try adjusting your search or filters to find what you're looking for." }),
2545
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-action", children: /* @__PURE__ */ jsx18("button", { className: "qt-button qt-button-secondary", children: "Clear Filters" }) })
2546
- ] })
2547
- ] }),
2548
- /* @__PURE__ */ jsxs18("section", { children: [
2549
- /* @__PURE__ */ jsx18("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Error Empty State" }),
2550
- /* @__PURE__ */ jsxs18("div", { className: "qt-empty-state", children: [
2551
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-icon text-red-500", children: /* @__PURE__ */ jsx18("svg", { className: "w-12 h-12", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx18("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }),
2552
- /* @__PURE__ */ jsx18("h4", { className: "qt-empty-state-title", children: "Something went wrong" }),
2553
- /* @__PURE__ */ jsx18("p", { className: "qt-empty-state-description", children: "We couldn't load the content. Please try again." }),
2554
- /* @__PURE__ */ jsx18("div", { className: "qt-empty-state-action", children: /* @__PURE__ */ jsx18("button", { className: "qt-button qt-button-primary", children: "Try Again" }) })
2555
- ] })
2556
- ] })
2557
- ] });
2558
- };
2559
-
2560
- // src/stories/components/Loading.tsx
2561
- import { jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
2562
- var Loading = () => {
2563
- return /* @__PURE__ */ jsxs19("div", { style: { padding: "1.5rem" }, children: [
2564
- /* @__PURE__ */ jsx19("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Loading States" }),
2565
- /* @__PURE__ */ jsxs19("section", { style: { marginBottom: "2rem" }, children: [
2566
- /* @__PURE__ */ jsx19("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Spinners" }),
2567
- /* @__PURE__ */ jsxs19("div", { style: { display: "flex", gap: "2rem", alignItems: "center" }, children: [
2568
- /* @__PURE__ */ jsxs19("div", { style: { textAlign: "center" }, children: [
2569
- /* @__PURE__ */ jsx19("div", { className: "qt-spinner qt-spinner-sm", style: { margin: "0 auto" } }),
2570
- /* @__PURE__ */ jsx19("p", { style: { fontSize: "0.75rem", marginTop: "0.5rem" }, children: "Small" })
2571
- ] }),
2572
- /* @__PURE__ */ jsxs19("div", { style: { textAlign: "center" }, children: [
2573
- /* @__PURE__ */ jsx19("div", { className: "qt-spinner", style: { margin: "0 auto" } }),
2574
- /* @__PURE__ */ jsx19("p", { style: { fontSize: "0.75rem", marginTop: "0.5rem" }, children: "Default" })
2575
- ] }),
2576
- /* @__PURE__ */ jsxs19("div", { style: { textAlign: "center" }, children: [
2577
- /* @__PURE__ */ jsx19("div", { className: "qt-spinner qt-spinner-lg", style: { margin: "0 auto" } }),
2578
- /* @__PURE__ */ jsx19("p", { style: { fontSize: "0.75rem", marginTop: "0.5rem" }, children: "Large" })
2579
- ] })
2580
- ] })
2581
- ] }),
2582
- /* @__PURE__ */ jsxs19("section", { style: { marginBottom: "2rem" }, children: [
2583
- /* @__PURE__ */ jsx19("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Skeleton Text" }),
2584
- /* @__PURE__ */ jsxs19("div", { style: { maxWidth: "28rem", display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2585
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "100%" } }),
2586
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "80%" } }),
2587
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "60%" } })
2588
- ] })
2589
- ] }),
2590
- /* @__PURE__ */ jsxs19("section", { style: { marginBottom: "2rem" }, children: [
2591
- /* @__PURE__ */ jsx19("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Skeleton Card" }),
2592
- /* @__PURE__ */ jsxs19("div", { className: "qt-card", style: { maxWidth: "24rem", padding: "1rem" }, children: [
2593
- /* @__PURE__ */ jsxs19("div", { style: { display: "flex", gap: "0.75rem", marginBottom: "1rem", alignItems: "flex-start" }, children: [
2594
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-circle", style: { width: "40px", height: "40px", flexShrink: 0 } }),
2595
- /* @__PURE__ */ jsxs19("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2596
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "60%" } }),
2597
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "40%" } })
2598
- ] })
2599
- ] }),
2600
- /* @__PURE__ */ jsxs19("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2601
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text" }),
2602
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text" }),
2603
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "75%" } })
2604
- ] })
2605
- ] })
2606
- ] }),
2607
- /* @__PURE__ */ jsxs19("section", { style: { marginBottom: "2rem" }, children: [
2608
- /* @__PURE__ */ jsx19("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Skeleton Message" }),
2609
- /* @__PURE__ */ jsx19("div", { style: { maxWidth: "42rem", display: "flex", flexDirection: "column", gap: "1rem" }, children: /* @__PURE__ */ jsxs19("div", { style: { display: "flex", gap: "0.75rem" }, children: [
2610
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-circle", style: { width: "32px", height: "32px", flexShrink: 0 } }),
2611
- /* @__PURE__ */ jsxs19("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2612
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "120px" } }),
2613
- /* @__PURE__ */ jsx19("div", { className: "qt-card", style: { padding: "1rem" }, children: /* @__PURE__ */ jsxs19("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2614
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text" }),
2615
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text" }),
2616
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "60%" } })
2617
- ] }) })
2618
- ] })
2619
- ] }) })
2620
- ] }),
2621
- /* @__PURE__ */ jsxs19("section", { style: { marginBottom: "2rem" }, children: [
2622
- /* @__PURE__ */ jsx19("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Skeleton List" }),
2623
- /* @__PURE__ */ jsx19("div", { style: { maxWidth: "24rem", display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs19("div", { className: "qt-card", style: { padding: "0.75rem", display: "flex", gap: "0.75rem", alignItems: "center" }, children: [
2624
- /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-circle", style: { width: "32px", height: "32px", flexShrink: 0 } }),
2625
- /* @__PURE__ */ jsx19("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsx19("div", { className: "qt-skeleton qt-skeleton-text", style: { width: "70%" } }) })
2626
- ] }, i)) })
2627
- ] }),
2628
- /* @__PURE__ */ jsxs19("section", { children: [
2629
- /* @__PURE__ */ jsx19("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Loading Button" }),
2630
- /* @__PURE__ */ jsxs19("div", { style: { display: "flex", gap: "1rem" }, children: [
2631
- /* @__PURE__ */ jsxs19("button", { className: "qt-button qt-button-primary", disabled: true, style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2632
- /* @__PURE__ */ jsx19("div", { className: "qt-spinner qt-spinner-sm" }),
2633
- "Loading..."
2634
- ] }),
2635
- /* @__PURE__ */ jsxs19("button", { className: "qt-button qt-button-secondary", disabled: true, style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2636
- /* @__PURE__ */ jsx19("div", { className: "qt-spinner qt-spinner-sm" }),
2637
- "Saving..."
2638
- ] })
2639
- ] })
2640
- ] })
2641
- ] });
2642
- };
2643
-
2644
- // src/stories/components/Participant.tsx
2645
- import { jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
2646
- var Participant = () => {
2647
- return /* @__PURE__ */ jsxs20("div", { style: { padding: "1.5rem" }, children: [
2648
- /* @__PURE__ */ jsx20("h2", { style: { fontSize: "1.5rem", fontWeight: 700, marginBottom: "1.5rem" }, children: "Participants" }),
2649
- /* @__PURE__ */ jsxs20("section", { style: { marginBottom: "2rem" }, children: [
2650
- /* @__PURE__ */ jsx20("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Participant Cards" }),
2651
- /* @__PURE__ */ jsxs20("div", { style: { maxWidth: "20rem", display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2652
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2653
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "AC" }) }) }),
2654
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2655
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Alice Character" }),
2656
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "AI Assistant" })
2657
- ] })
2658
- ] }) }),
2659
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card qt-participant-card-active", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2660
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "BC" }) }) }),
2661
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2662
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Bob Character" }),
2663
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "Currently Speaking" })
2664
- ] })
2665
- ] }) }),
2666
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2667
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "YO" }) }) }),
2668
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2669
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "You" }),
2670
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "Human" })
2671
- ] })
2672
- ] }) })
2673
- ] })
2674
- ] }),
2675
- /* @__PURE__ */ jsxs20("section", { style: { marginBottom: "2rem" }, children: [
2676
- /* @__PURE__ */ jsx20("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Participant Status States" }),
2677
- /* @__PURE__ */ jsx20("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Characters can be active, silent (thinking but not speaking), absent (away from the scene), or removed." }),
2678
- /* @__PURE__ */ jsxs20("div", { style: { maxWidth: "20rem", display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2679
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card qt-participant-card-active", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2680
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "AC" }) }) }),
2681
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2682
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Alice Character" }),
2683
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "Currently Speaking" })
2684
- ] })
2685
- ] }) }),
2686
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card qt-participant-card-silent", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2687
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-avatar", style: { position: "relative" }, children: [
2688
- /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "BC" }) }),
2689
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-status-overlay qt-participant-status-overlay-silent", children: /* @__PURE__ */ jsx20("svg", { width: "10", height: "10", fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx20("path", { d: "M16.5 12A4.5 4.5 0 0 0 12 7.5v4.09l3.13 3.13A4.46 4.46 0 0 0 16.5 12ZM19 12c0 1.68-.59 3.22-1.57 4.43L21 20l-1.41 1.41-18-18L3 2l4.57 4.57A7.97 7.97 0 0 1 12 4c4.42 0 8 3.58 8 8Zm-7-8a6 6 0 0 0-6 6c0 1.33.44 2.56 1.17 3.56L5 11.44A7.94 7.94 0 0 1 4 8" }) }) })
2690
- ] }),
2691
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2692
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2693
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Bob Character" }),
2694
- /* @__PURE__ */ jsx20("span", { className: "qt-badge-silent", style: { fontSize: "0.625rem" }, children: "Silent" })
2695
- ] }),
2696
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "Inner thoughts only" })
2697
- ] })
2698
- ] }) }),
2699
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", style: { opacity: 0.7 }, children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2700
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-avatar", style: { position: "relative" }, children: [
2701
- /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "CC" }) }),
2702
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-status-overlay qt-participant-status-overlay-absent", children: /* @__PURE__ */ jsx20("svg", { width: "10", height: "10", fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx20("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) }) })
2703
- ] }),
2704
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2705
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2706
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Clara Character" }),
2707
- /* @__PURE__ */ jsx20("span", { className: "qt-badge-absent", style: { fontSize: "0.625rem" }, children: "Absent" })
2708
- ] }),
2709
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "Away from the scene" })
2710
- ] })
2711
- ] }) }),
2712
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2713
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "YO" }) }) }),
2714
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2715
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "You" }),
2716
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "Human" })
2717
- ] })
2718
- ] }) })
2719
- ] })
2720
- ] }),
2721
- /* @__PURE__ */ jsxs20("section", { style: { marginBottom: "2rem" }, children: [
2722
- /* @__PURE__ */ jsx20("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Chat Sidebar Layout" }),
2723
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", gap: "1rem" }, children: [
2724
- /* @__PURE__ */ jsx20("div", { className: "qt-card", style: { flex: 1, padding: "1rem" }, children: /* @__PURE__ */ jsx20("p", { style: { color: "var(--color-text-muted)" }, children: "Chat messages area" }) }),
2725
- /* @__PURE__ */ jsxs20("div", { className: "qt-chat-sidebar", style: { width: "16rem" }, children: [
2726
- /* @__PURE__ */ jsx20("div", { style: { padding: "1rem", borderBottom: "1px solid var(--qt-chat-sidebar-header-border)" }, children: /* @__PURE__ */ jsx20("h4", { style: { fontWeight: 600, color: "var(--qt-chat-sidebar-heading)" }, children: "Participants" }) }),
2727
- /* @__PURE__ */ jsxs20("div", { style: { padding: "0.5rem", display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
2728
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card qt-participant-card-active", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2729
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "AC" }) }) }),
2730
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-info", children: /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", style: { fontSize: "0.875rem" }, children: "Alice" }) })
2731
- ] }) }),
2732
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2733
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar qt-avatar-sm", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "YO" }) }) }),
2734
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-info", children: /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", style: { fontSize: "0.875rem" }, children: "You" }) })
2735
- ] }) })
2736
- ] })
2737
- ] })
2738
- ] })
2739
- ] }),
2740
- /* @__PURE__ */ jsxs20("section", { children: [
2741
- /* @__PURE__ */ jsx20("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Connection Profile Dropdown" }),
2742
- /* @__PURE__ */ jsxs20("div", { style: { maxWidth: "20rem", display: "flex", flexDirection: "column", gap: "1rem" }, children: [
2743
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2744
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "AC" }) }) }),
2745
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2746
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Alice Character" }),
2747
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-status", children: "AI Assistant" }),
2748
- /* @__PURE__ */ jsx20("div", { style: { marginTop: "0.25rem" }, children: /* @__PURE__ */ jsxs20("select", { className: "qt-select qt-select-sm", style: { width: "100%" }, defaultValue: "gpt-4", children: [
2749
- /* @__PURE__ */ jsx20("option", { value: "", children: "Select a provider..." }),
2750
- /* @__PURE__ */ jsx20("option", { value: "__user__", children: "User (you type)" }),
2751
- /* @__PURE__ */ jsx20("option", { value: "gpt-4", children: "gpt-4-turbo" }),
2752
- /* @__PURE__ */ jsx20("option", { value: "claude", children: "claude-3-opus" }),
2753
- /* @__PURE__ */ jsx20("option", { value: "gemini", children: "gemini-pro" })
2754
- ] }) })
2755
- ] })
2756
- ] }) }),
2757
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card", children: /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-header", children: [
2758
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar", children: /* @__PURE__ */ jsx20("div", { className: "qt-avatar-fallback", children: "BC" }) }) }),
2759
- /* @__PURE__ */ jsxs20("div", { className: "qt-participant-card-info", children: [
2760
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2761
- /* @__PURE__ */ jsx20("div", { className: "qt-participant-card-name", children: "Bob Character" }),
2762
- /* @__PURE__ */ jsx20("span", { className: "qt-badge-secondary", style: { fontSize: "0.75rem" }, children: "You" })
2763
- ] }),
2764
- /* @__PURE__ */ jsx20("div", { style: { marginTop: "0.25rem" }, children: /* @__PURE__ */ jsxs20("select", { className: "qt-select qt-select-sm", style: { width: "100%" }, defaultValue: "__user__", children: [
2765
- /* @__PURE__ */ jsx20("option", { value: "", children: "Select a provider..." }),
2766
- /* @__PURE__ */ jsx20("option", { value: "__user__", children: "User (you type)" }),
2767
- /* @__PURE__ */ jsx20("option", { value: "gpt-4", children: "gpt-4-turbo" }),
2768
- /* @__PURE__ */ jsx20("option", { value: "claude", children: "claude-3-opus" })
2769
- ] }) })
2770
- ] })
2771
- ] }) })
2772
- ] })
2773
- ] })
2774
- ] });
2775
- };
2776
-
2777
- export {
2778
- ColorSwatch,
2779
- ColorGroup,
2780
- ColorPalette,
2781
- Icons,
2782
- Typography,
2783
- Spacing,
2784
- Buttons,
2785
- Cards,
2786
- Inputs,
2787
- Badges,
2788
- Surfaces,
2789
- Avatars,
2790
- Dialogs,
2791
- Tabs,
2792
- Workspace,
2793
- Chat,
2794
- Terminal,
2795
- FilePreview,
2796
- ThemeComparison,
2797
- EmptyState,
2798
- Loading,
2799
- Participant
2800
- };