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