@adarsh_goswami/design 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,1183 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ AgMark: () => AgMark,
34
+ AgWordmark: () => AgWordmark,
35
+ DocsLayout: () => DocsLayout,
36
+ Footer: () => Footer,
37
+ ThemePage: () => ThemePage,
38
+ ThemeProvider: () => ThemeProvider,
39
+ ThemeToggle: () => ThemeToggle,
40
+ favicon: () => favicon_default,
41
+ logo: () => logo_default,
42
+ logoMark: () => logo_mark_default,
43
+ useTheme: () => useTheme
44
+ });
45
+ module.exports = __toCommonJS(index_exports);
46
+
47
+ // src/components/DocsLayout/DocsLayout.tsx
48
+ var import_themes3 = require("@radix-ui/themes");
49
+
50
+ // src/components/DocsLayout/NavSidebar.tsx
51
+ var import_themes = require("@radix-ui/themes");
52
+ var import_jsx_runtime = require("react/jsx-runtime");
53
+ function NavStatusBadge({ status }) {
54
+ if (status === "final") return null;
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Badge, { size: "1", variant: "soft", color: status === "draft" ? "yellow" : "gray", children: status });
56
+ }
57
+ function NavLeaf({
58
+ id,
59
+ label,
60
+ slug,
61
+ status,
62
+ activeSlug,
63
+ onSlugChange
64
+ }) {
65
+ const isActive = slug === activeSlug;
66
+ const isDeprecated = status === "deprecated";
67
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { mb: "1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
+ "button",
69
+ {
70
+ type: "button",
71
+ onClick: () => onSlugChange(slug),
72
+ style: { width: "100%", textAlign: "left", background: "none", border: "none", cursor: "pointer", padding: 0 },
73
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
+ import_themes.Flex,
75
+ {
76
+ align: "center",
77
+ justify: "between",
78
+ gap: "2",
79
+ px: "2",
80
+ py: "1",
81
+ className: [
82
+ "rounded-md transition-colors",
83
+ isActive ? "bg-[var(--accent-subtle)] text-accent" : "text-text-secondary hover:bg-bg-hover hover:text-text-primary"
84
+ ].join(" "),
85
+ style: { minHeight: "30px" },
86
+ children: [
87
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
+ import_themes.Text,
89
+ {
90
+ as: "span",
91
+ size: "2",
92
+ weight: isActive ? "medium" : "regular",
93
+ style: {
94
+ fontFamily: "var(--brand-font-body)",
95
+ textDecoration: isDeprecated ? "line-through" : void 0
96
+ },
97
+ children: label
98
+ }
99
+ ),
100
+ status && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NavStatusBadge, { status })
101
+ ]
102
+ }
103
+ )
104
+ }
105
+ ) }, id);
106
+ }
107
+ function NavItemRow({
108
+ item,
109
+ activeSlug,
110
+ onSlugChange
111
+ }) {
112
+ if (item.slug) {
113
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
114
+ NavLeaf,
115
+ {
116
+ id: item.id,
117
+ label: item.label,
118
+ slug: item.slug,
119
+ status: item.status,
120
+ activeSlug,
121
+ onSlugChange
122
+ }
123
+ );
124
+ }
125
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Box, { mb: "1", children: [
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { align: "center", justify: "between", gap: "2", px: "2", py: "1", children: [
127
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
128
+ import_themes.Text,
129
+ {
130
+ as: "p",
131
+ size: "2",
132
+ weight: "medium",
133
+ style: {
134
+ fontFamily: "var(--brand-font-body)",
135
+ color: "var(--text-secondary)",
136
+ textDecoration: item.status === "deprecated" ? "line-through" : void 0
137
+ },
138
+ children: item.label
139
+ }
140
+ ),
141
+ item.status && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NavStatusBadge, { status: item.status })
142
+ ] }),
143
+ item.children && item.children.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { pl: "3", children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
144
+ NavLeaf,
145
+ {
146
+ id: child.id,
147
+ label: child.label,
148
+ slug: child.slug,
149
+ status: child.status,
150
+ activeSlug,
151
+ onSlugChange
152
+ },
153
+ child.id
154
+ )) })
155
+ ] });
156
+ }
157
+ function NavSidebar({ meta, navigation, activeSlug, onSlugChange }) {
158
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
159
+ import_themes.Box,
160
+ {
161
+ style: {
162
+ width: "256px",
163
+ flexShrink: 0,
164
+ height: "100%",
165
+ borderRight: "1px solid var(--border-soft)",
166
+ backgroundColor: "var(--bg-surface)",
167
+ display: "flex",
168
+ flexDirection: "column"
169
+ },
170
+ children: [
171
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
172
+ import_themes.Box,
173
+ {
174
+ px: "4",
175
+ py: "3",
176
+ style: { borderBottom: "1px solid var(--border-subtle)", flexShrink: 0 },
177
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { align: "center", gap: "2", children: [
178
+ meta.logoUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src: meta.logoUrl, alt: meta.title, style: { height: "20px", width: "auto" } }),
179
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
180
+ import_themes.Heading,
181
+ {
182
+ as: "h2",
183
+ size: "3",
184
+ style: { fontFamily: "var(--brand-font-display)", color: "var(--text-primary)" },
185
+ children: meta.title
186
+ }
187
+ ),
188
+ meta.version && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Badge, { size: "1", variant: "soft", color: "violet", children: meta.version })
189
+ ] })
190
+ }
191
+ ),
192
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.ScrollArea, { scrollbars: "vertical", style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { p: "4", children: navigation.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Box, { mb: "4", children: [
193
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
194
+ import_themes.Text,
195
+ {
196
+ as: "p",
197
+ size: "1",
198
+ weight: "medium",
199
+ mb: "2",
200
+ style: {
201
+ fontFamily: "var(--brand-font-body)",
202
+ color: "var(--text-muted)",
203
+ textTransform: "uppercase",
204
+ letterSpacing: "var(--brand-tracking-wider)",
205
+ marginTop: sectionIndex === 0 ? 0 : void 0
206
+ },
207
+ children: section.label
208
+ }
209
+ ),
210
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Separator, { size: "4", mb: "2" }),
211
+ section.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
212
+ NavItemRow,
213
+ {
214
+ item,
215
+ activeSlug,
216
+ onSlugChange
217
+ },
218
+ item.id
219
+ ))
220
+ ] }, section.id)) }) })
221
+ ]
222
+ }
223
+ );
224
+ }
225
+
226
+ // src/components/DocsLayout/MarkdownContent.tsx
227
+ var import_react_markdown = __toESM(require("react-markdown"), 1);
228
+ var import_remark_gfm = __toESM(require("remark-gfm"), 1);
229
+ var import_rehype_highlight = __toESM(require("rehype-highlight"), 1);
230
+ var import_themes2 = require("@radix-ui/themes");
231
+ var import_jsx_runtime2 = require("react/jsx-runtime");
232
+ var markdownComponents = {
233
+ h1: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
234
+ import_themes2.Heading,
235
+ {
236
+ as: "h1",
237
+ size: "7",
238
+ mb: "4",
239
+ style: { fontFamily: "var(--brand-font-display)", color: "var(--text-primary)" },
240
+ children
241
+ }
242
+ ),
243
+ h2: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
244
+ import_themes2.Heading,
245
+ {
246
+ as: "h2",
247
+ size: "5",
248
+ mb: "3",
249
+ mt: "6",
250
+ style: { fontFamily: "var(--brand-font-display)", color: "var(--text-primary)" },
251
+ children
252
+ }
253
+ ),
254
+ h3: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
255
+ import_themes2.Heading,
256
+ {
257
+ as: "h3",
258
+ size: "4",
259
+ mb: "2",
260
+ mt: "5",
261
+ style: { fontFamily: "var(--brand-font-display)", color: "var(--text-secondary)" },
262
+ children
263
+ }
264
+ ),
265
+ p: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
266
+ import_themes2.Text,
267
+ {
268
+ as: "p",
269
+ size: "3",
270
+ mb: "4",
271
+ style: {
272
+ fontFamily: "var(--brand-font-body)",
273
+ color: "var(--text-secondary)",
274
+ lineHeight: "var(--brand-leading-relaxed)",
275
+ display: "block"
276
+ },
277
+ children
278
+ }
279
+ ),
280
+ a: ({ href, children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
281
+ "a",
282
+ {
283
+ href: href ?? "#",
284
+ style: { color: "var(--accent)", textDecoration: "underline" },
285
+ children
286
+ }
287
+ ),
288
+ code: ({ className, children }) => {
289
+ const isBlock = className?.startsWith("language-");
290
+ if (isBlock) {
291
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
292
+ import_themes2.Box,
293
+ {
294
+ mb: "4",
295
+ style: {
296
+ borderRadius: "var(--brand-radius-lg)",
297
+ border: "1px solid var(--border-soft)",
298
+ backgroundColor: "var(--bg-raised)",
299
+ overflowX: "auto"
300
+ },
301
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
302
+ "code",
303
+ {
304
+ className: className ?? "",
305
+ style: {
306
+ display: "block",
307
+ padding: "var(--sp-4)",
308
+ fontSize: "var(--brand-text-sm)",
309
+ fontFamily: "var(--brand-font-mono)",
310
+ color: "var(--text-primary)"
311
+ },
312
+ children
313
+ }
314
+ )
315
+ }
316
+ );
317
+ }
318
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
319
+ "code",
320
+ {
321
+ style: {
322
+ backgroundColor: "var(--bg-raised)",
323
+ color: "var(--accent-bright)",
324
+ borderRadius: "var(--brand-radius-sm)",
325
+ padding: "2px 6px",
326
+ fontSize: "var(--brand-text-sm)",
327
+ fontFamily: "var(--brand-font-mono)"
328
+ },
329
+ children
330
+ }
331
+ );
332
+ },
333
+ ul: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
334
+ "ul",
335
+ {
336
+ style: {
337
+ marginBottom: "var(--sp-4)",
338
+ paddingLeft: "var(--sp-4)",
339
+ listStyleType: "disc",
340
+ color: "var(--text-secondary)",
341
+ fontFamily: "var(--brand-font-body)"
342
+ },
343
+ children
344
+ }
345
+ ),
346
+ ol: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
347
+ "ol",
348
+ {
349
+ style: {
350
+ marginBottom: "var(--sp-4)",
351
+ paddingLeft: "var(--sp-4)",
352
+ listStyleType: "decimal",
353
+ color: "var(--text-secondary)",
354
+ fontFamily: "var(--brand-font-body)"
355
+ },
356
+ children
357
+ }
358
+ ),
359
+ li: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
360
+ import_themes2.Text,
361
+ {
362
+ as: "p",
363
+ size: "3",
364
+ mb: "1",
365
+ style: {
366
+ fontFamily: "var(--brand-font-body)",
367
+ color: "var(--text-secondary)",
368
+ display: "list-item"
369
+ },
370
+ children
371
+ }
372
+ ),
373
+ blockquote: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
374
+ import_themes2.Box,
375
+ {
376
+ mb: "4",
377
+ pl: "4",
378
+ py: "2",
379
+ style: {
380
+ borderLeft: "2px solid var(--accent)",
381
+ backgroundColor: "var(--accent-subtle)",
382
+ borderRadius: "0 var(--brand-radius-md) var(--brand-radius-md) 0"
383
+ },
384
+ children
385
+ }
386
+ ),
387
+ table: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes2.Box, { mb: "4", style: { overflowX: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
388
+ "table",
389
+ {
390
+ style: {
391
+ width: "100%",
392
+ borderCollapse: "collapse",
393
+ fontSize: "var(--brand-text-sm)",
394
+ fontFamily: "var(--brand-font-body)"
395
+ },
396
+ children
397
+ }
398
+ ) }),
399
+ th: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
400
+ "th",
401
+ {
402
+ style: {
403
+ textAlign: "left",
404
+ padding: "8px 12px",
405
+ borderBottom: "1px solid var(--border-mid)",
406
+ color: "var(--text-primary)",
407
+ fontWeight: 500
408
+ },
409
+ children
410
+ }
411
+ ),
412
+ td: ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
413
+ "td",
414
+ {
415
+ style: {
416
+ padding: "8px 12px",
417
+ borderBottom: "1px solid var(--border-subtle)",
418
+ color: "var(--text-secondary)"
419
+ },
420
+ children
421
+ }
422
+ ),
423
+ hr: () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes2.Flex, { my: "6", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes2.Separator, { size: "4" }) })
424
+ };
425
+ function MarkdownContent({ content }) {
426
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
427
+ import_react_markdown.default,
428
+ {
429
+ remarkPlugins: [import_remark_gfm.default],
430
+ rehypePlugins: [import_rehype_highlight.default],
431
+ components: markdownComponents,
432
+ children: content
433
+ }
434
+ );
435
+ }
436
+
437
+ // src/components/DocsLayout/DocsLayout.tsx
438
+ var import_jsx_runtime3 = require("react/jsx-runtime");
439
+ var PAGE_TYPE_COLORS = {
440
+ prd: "violet",
441
+ adr: "blue",
442
+ guide: "green",
443
+ reference: "gray"
444
+ };
445
+ function PageTypeBadge({ type }) {
446
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Badge, { size: "1", variant: "soft", color: PAGE_TYPE_COLORS[type], children: type.toUpperCase() });
447
+ }
448
+ function DocsLayout({ data, activeSlug, onSlugChange }) {
449
+ const { meta, navigation, pages } = data;
450
+ const page = pages[activeSlug];
451
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Flex, { direction: "column", style: { height: "100vh", backgroundColor: "var(--bg-base)" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_themes3.Flex, { direction: "row", style: { flex: 1, overflow: "hidden" }, children: [
452
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
453
+ NavSidebar,
454
+ {
455
+ meta,
456
+ navigation,
457
+ activeSlug,
458
+ onSlugChange
459
+ }
460
+ ),
461
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Box, { style: { flex: 1, overflow: "hidden", backgroundColor: "var(--bg-base)" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.ScrollArea, { scrollbars: "vertical", style: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Box, { p: "8", style: { maxWidth: "768px", margin: "0 auto" }, children: !page ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Flex, { align: "center", justify: "center", style: { height: "300px" }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Text, { size: "3", style: { color: "var(--text-muted)" }, children: "Page not found" }) }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
462
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_themes3.Flex, { align: "center", gap: "3", mb: "3", children: [
463
+ page.type && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PageTypeBadge, { type: page.type }),
464
+ page.lastUpdated && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
465
+ import_themes3.Text,
466
+ {
467
+ size: "1",
468
+ style: { color: "var(--text-muted)", fontFamily: "var(--brand-font-body)" },
469
+ children: [
470
+ "Updated ",
471
+ page.lastUpdated
472
+ ]
473
+ }
474
+ )
475
+ ] }),
476
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
477
+ import_themes3.Heading,
478
+ {
479
+ as: "h1",
480
+ size: "8",
481
+ mb: "4",
482
+ style: {
483
+ fontFamily: "var(--brand-font-display)",
484
+ color: "var(--text-primary)"
485
+ },
486
+ children: page.title
487
+ }
488
+ ),
489
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Separator, { size: "4", mb: "6" }),
490
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MarkdownContent, { content: page.content })
491
+ ] }) }) }) })
492
+ ] }) });
493
+ }
494
+
495
+ // src/components/Logo/Logo.tsx
496
+ var import_jsx_runtime4 = require("react/jsx-runtime");
497
+ function AgMark({ size = 64, variant = "dark" }) {
498
+ const aPrimary = variant === "light" ? "#4A3FCC" : variant === "glow" ? "#9B8FFB" : "#7C6EFA";
499
+ const gPrimary = variant === "light" ? "#0A0A0B" : "#F0EEF8";
500
+ const bgFill = variant === "light" ? "#F0EEF8" : variant === "glow" ? "url(#agGlowGrad)" : "#111113";
501
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { viewBox: "0 0 64 64", width: size, height: size, fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
502
+ variant === "glow" && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("radialGradient", { id: "agGlowGrad", cx: "30%", cy: "30%", r: "80%", children: [
503
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("stop", { offset: "0%", stopColor: "#1A1630" }),
504
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("stop", { offset: "100%", stopColor: "#0D0C1A" })
505
+ ] }) }),
506
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { width: "64", height: "64", rx: "14", fill: bgFill }),
507
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 46 L24 20 L34 46", stroke: aPrimary, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }),
508
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("line", { x1: "18", y1: "37", x2: "30", y2: "37", stroke: aPrimary, strokeWidth: "2.5", strokeLinecap: "round" }),
509
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M38 28 C38 23 42 20 47 20 C52 20 55 23 55 28 L55 32 L49 32 L49 29", stroke: gPrimary, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }),
510
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M38 28 C38 33 38 38 38 40 C38 43.5 42 46 47 46 C52 46 55 43.5 55 40 L55 32", stroke: gPrimary, strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" })
511
+ ] });
512
+ }
513
+ function AgWordmark() {
514
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 12 }, children: [
515
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { viewBox: "0 0 36 36", width: "36", height: "36", fill: "none", children: [
516
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { width: "36", height: "36", rx: "8", fill: "#18181C" }),
517
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 26 L13 10 L20 26", stroke: "#7C6EFA", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
518
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("line", { x1: "9", y1: "20.5", x2: "17", y2: "20.5", stroke: "#7C6EFA", strokeWidth: "2", strokeLinecap: "round" }),
519
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M23 16.5 C23 13.5 25.5 12 28 12 C30.5 12 32 13.5 32 16.5 L32 18.5 L28.5 18.5 L28.5 16.5", stroke: "#F0EEF8", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
520
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M23 16.5 C23 19 23 21.5 23 23 C23 25 25.5 26 28 26 C30.5 26 32 25 32 23 L32 18.5", stroke: "#F0EEF8", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
521
+ ] }),
522
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { style: { fontFamily: "var(--brand-font-display)", fontWeight: 700, fontSize: 18, color: "var(--text-primary)", letterSpacing: "-0.02em" }, children: [
523
+ "Adarsh",
524
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { style: { color: "var(--accent)" }, children: "." })
525
+ ] })
526
+ ] });
527
+ }
528
+
529
+ // src/components/Footer/Footer.tsx
530
+ var import_jsx_runtime5 = require("react/jsx-runtime");
531
+ function Footer({ year = (/* @__PURE__ */ new Date()).getFullYear() }) {
532
+ const mono = { fontFamily: "var(--brand-font-mono)" };
533
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: {
534
+ paddingTop: "var(--sp-16)",
535
+ paddingBottom: "var(--sp-8)",
536
+ borderTop: "1px solid var(--border-subtle)",
537
+ display: "flex",
538
+ justifyContent: "space-between",
539
+ alignItems: "center",
540
+ flexWrap: "wrap",
541
+ gap: "var(--sp-4)"
542
+ }, children: [
543
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AgWordmark, {}),
544
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "var(--sp-2)" }, children: [
545
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", style: { flexShrink: 0 }, children: [
546
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "6", cy: "6", r: "5.5", stroke: "var(--border-soft)" }),
547
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8 4.5A2.5 2.5 0 1 0 8 7.5", stroke: "var(--text-disabled)", strokeWidth: "1", strokeLinecap: "round" })
548
+ ] }),
549
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { style: { ...mono, fontSize: 11, color: "var(--text-disabled)" }, children: [
550
+ year,
551
+ " Adarsh Goswami. All rights reserved."
552
+ ] })
553
+ ] })
554
+ ] });
555
+ }
556
+
557
+ // src/components/Theme/ThemeProvider.tsx
558
+ var import_react2 = require("react");
559
+ var import_themes4 = require("@radix-ui/themes");
560
+
561
+ // src/components/Theme/ThemeContext.ts
562
+ var import_react = require("react");
563
+ var ThemeContext = (0, import_react.createContext)(null);
564
+ function useTheme() {
565
+ const ctx = (0, import_react.useContext)(ThemeContext);
566
+ if (ctx === null) {
567
+ throw new Error("[useTheme] must be used inside <ThemeProvider>.");
568
+ }
569
+ return ctx;
570
+ }
571
+
572
+ // src/components/Theme/ThemeProvider.tsx
573
+ var import_jsx_runtime6 = require("react/jsx-runtime");
574
+ function ThemeProvider({
575
+ children,
576
+ defaultTheme = "dark"
577
+ }) {
578
+ const [theme, setThemeState] = (0, import_react2.useState)(defaultTheme);
579
+ (0, import_react2.useEffect)(() => {
580
+ if (typeof document === "undefined") return;
581
+ document.documentElement.setAttribute("data-theme", theme);
582
+ }, [theme]);
583
+ const setTheme = (0, import_react2.useCallback)((next) => {
584
+ setThemeState(next);
585
+ }, []);
586
+ const toggleTheme = (0, import_react2.useCallback)(() => {
587
+ setThemeState((prev) => prev === "dark" ? "light" : "dark");
588
+ }, []);
589
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_themes4.Theme, { appearance: theme, children }) });
590
+ }
591
+
592
+ // src/components/Theme/ThemeToggle.tsx
593
+ var import_themes5 = require("@radix-ui/themes");
594
+ var import_jsx_runtime7 = require("react/jsx-runtime");
595
+ function ThemeToggle({ "aria-label": ariaLabel = "Toggle theme" }) {
596
+ const { theme, toggleTheme } = useTheme();
597
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
598
+ import_themes5.Switch,
599
+ {
600
+ size: "2",
601
+ className: "ag-theme-toggle",
602
+ checked: theme === "light",
603
+ onCheckedChange: () => toggleTheme(),
604
+ "aria-label": ariaLabel
605
+ }
606
+ );
607
+ }
608
+
609
+ // src/components/ThemePage/ThemePage.tsx
610
+ var import_react3 = require("react");
611
+
612
+ // package.json
613
+ var package_default = {
614
+ name: "@adarsh_goswami/design",
615
+ version: "0.1.0",
616
+ type: "module",
617
+ description: "Single source of truth for Adarsh Goswami's personal design system \u2014 pre-themed Radix UI components, CSS tokens, and Tailwind preset.",
618
+ author: "Adarsh Goswami",
619
+ license: "MIT",
620
+ exports: {
621
+ ".": {
622
+ types: "./dist/index.d.ts",
623
+ import: "./dist/index.js",
624
+ require: "./dist/index.cjs"
625
+ },
626
+ "./dist/theme.css": "./dist/theme.css",
627
+ "./dist/tailwind.config.css": "./dist/tailwind.config.css",
628
+ "./dist/assets/*": "./dist/assets/*"
629
+ },
630
+ main: "./dist/index.cjs",
631
+ module: "./dist/index.js",
632
+ types: "./dist/index.d.ts",
633
+ files: [
634
+ "dist"
635
+ ],
636
+ scripts: {
637
+ build: "tsup",
638
+ dev: "tsup --watch",
639
+ demo: "vite",
640
+ typecheck: "tsc --noEmit"
641
+ },
642
+ peerDependencies: {
643
+ "@radix-ui/themes": ">=3.0.0",
644
+ react: ">=18.0.0",
645
+ "react-dom": ">=18.0.0",
646
+ tailwindcss: "^4.2.2"
647
+ },
648
+ devDependencies: {
649
+ "@radix-ui/themes": "^3.3.0",
650
+ "@types/bun": "latest",
651
+ "@types/react": "^19.2.14",
652
+ "@types/react-dom": "^19.2.3",
653
+ "@vitejs/plugin-react": "^6.0.1",
654
+ react: "^19.2.4",
655
+ "react-dom": "^19.2.4",
656
+ tsup: "^8.5.1",
657
+ typescript: "^5.9.3",
658
+ vite: "^8.0.8"
659
+ },
660
+ engines: {
661
+ node: ">=18"
662
+ },
663
+ dependencies: {
664
+ "react-markdown": "^10.1.0",
665
+ "rehype-highlight": "^7.0.2",
666
+ "remark-gfm": "^4.0.1"
667
+ }
668
+ };
669
+
670
+ // src/components/ThemePage/ThemePage.tsx
671
+ var import_jsx_runtime8 = require("react/jsx-runtime");
672
+ function useTokenMap(tokens) {
673
+ const [map, setMap] = (0, import_react3.useState)({});
674
+ (0, import_react3.useEffect)(() => {
675
+ const style = getComputedStyle(document.documentElement);
676
+ const result = {};
677
+ for (const t of tokens) result[t] = style.getPropertyValue(t).trim();
678
+ setMap(result);
679
+ }, []);
680
+ return map;
681
+ }
682
+ function SectionLabel({ children }) {
683
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { style: {
684
+ fontFamily: "var(--brand-font-mono)",
685
+ fontSize: "var(--brand-text-xs)",
686
+ letterSpacing: "0.1em",
687
+ textTransform: "uppercase",
688
+ color: "var(--text-muted)",
689
+ margin: "var(--sp-6) 0 var(--sp-3)"
690
+ }, children });
691
+ }
692
+ function Section({ label, title, description, children, first }) {
693
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("section", { style: {
694
+ marginBottom: "var(--sp-24)",
695
+ paddingTop: first ? 0 : "var(--sp-24)",
696
+ borderTop: first ? "none" : "1px solid var(--border-subtle)"
697
+ }, children: [
698
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-mono)", fontSize: "var(--brand-text-xs)", fontWeight: 500, letterSpacing: "0.12em", textTransform: "uppercase", color: "var(--accent)", marginBottom: "var(--sp-2)" }, children: label }),
699
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-display)", fontSize: "var(--brand-text-2xl)", fontWeight: 700, color: "var(--text-primary)", marginBottom: "var(--sp-2)" }, children: title }),
700
+ description && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-sm)", color: "var(--text-secondary)", marginBottom: "var(--sp-8)", maxWidth: 480 }, children: description }),
701
+ children
702
+ ] });
703
+ }
704
+ function ColorSwatch({ token, label, values }) {
705
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { borderRadius: "var(--brand-radius-md)", overflow: "hidden", border: "1px solid var(--border-subtle)" }, children: [
706
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { height: 56, background: `var(${token})` } }),
707
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { background: "var(--bg-surface)", padding: "10px 12px 14px" }, children: [
708
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-xs)", fontWeight: 500, color: "var(--text-primary)", marginBottom: 2 }, children: label }),
709
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-mono)", fontSize: 10, color: "var(--text-muted)" }, children: token }),
710
+ values[token] && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-mono)", fontSize: 10, color: "var(--text-disabled)", marginTop: 1 }, children: values[token] })
711
+ ] })
712
+ ] });
713
+ }
714
+ function ColorGrid({ children }) {
715
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(140px, 1fr))", gap: "var(--sp-3)" }, children });
716
+ }
717
+ var COLOR_TOKENS = [
718
+ "--bg-base",
719
+ "--bg-surface",
720
+ "--bg-raised",
721
+ "--bg-overlay",
722
+ "--border-subtle",
723
+ "--border-soft",
724
+ "--border-mid",
725
+ "--text-primary",
726
+ "--text-secondary",
727
+ "--text-muted",
728
+ "--text-disabled",
729
+ "--accent",
730
+ "--accent-bright",
731
+ "--accent-dim",
732
+ "--accent-glow",
733
+ "--success",
734
+ "--warning",
735
+ "--error",
736
+ "--info"
737
+ ];
738
+ var TYPE_SCALE = [
739
+ { token: "--brand-text-5xl", label: "text-5xl", role: "display", weight: 800, family: "display" },
740
+ { token: "--brand-text-4xl", label: "text-4xl", role: "h1", weight: 700, family: "display" },
741
+ { token: "--brand-text-3xl", label: "text-3xl", role: "h2", weight: 700, family: "display" },
742
+ { token: "--brand-text-2xl", label: "text-2xl", role: "h3", weight: 700, family: "display" },
743
+ { token: "--brand-text-xl", label: "text-xl", role: "h4", weight: 600, family: "display" },
744
+ { token: "--brand-text-lg", label: "text-lg", role: "h5", weight: 600, family: "display" },
745
+ { token: "--brand-text-md", label: "text-md", role: "body-lg", weight: 400, family: "body" },
746
+ { token: "--brand-text-base", label: "text-base", role: "body", weight: 400, family: "body" },
747
+ { token: "--brand-text-sm", label: "text-sm", role: "caption", weight: 400, family: "body" },
748
+ { token: "--brand-text-xs", label: "text-xs", role: "mono", weight: 500, family: "mono" }
749
+ ];
750
+ var TYPE_SPECIMENS = {
751
+ "--brand-text-5xl": "Adarsh.",
752
+ "--brand-text-4xl": "Build fast, ship clean.",
753
+ "--brand-text-3xl": "Personal infrastructure.",
754
+ "--brand-text-2xl": "Reusable services, zero rework.",
755
+ "--brand-text-xl": "Authentication \xB7 Payments \xB7 Notifications",
756
+ "--brand-text-lg": "Dark-first design, consistent everywhere.",
757
+ "--brand-text-md": "A minimal design system that scales across projects.",
758
+ "--brand-text-base": "Built on an 8px grid with consistent tokens for color, spacing, and type.",
759
+ "--brand-text-sm": "Last updated April 2026 \xB7 Version 1.0.0",
760
+ "--brand-text-xs": "npm install @adarsh_goswami/brand"
761
+ };
762
+ var SPACING = [
763
+ { token: "--sp-1", rem: "0.25rem", px: "4px" },
764
+ { token: "--sp-2", rem: "0.5rem", px: "8px" },
765
+ { token: "--sp-3", rem: "0.75rem", px: "12px" },
766
+ { token: "--sp-4", rem: "1rem", px: "16px" },
767
+ { token: "--sp-5", rem: "1.25rem", px: "20px" },
768
+ { token: "--sp-6", rem: "1.5rem", px: "24px" },
769
+ { token: "--sp-8", rem: "2rem", px: "32px" },
770
+ { token: "--sp-10", rem: "2.5rem", px: "40px" },
771
+ { token: "--sp-12", rem: "3rem", px: "48px" },
772
+ { token: "--sp-16", rem: "4rem", px: "64px" },
773
+ { token: "--sp-20", rem: "5rem", px: "80px" },
774
+ { token: "--sp-24", rem: "6rem", px: "96px" }
775
+ ];
776
+ var RADII = [
777
+ { token: "--brand-radius-sm", label: "sm", value: "4px" },
778
+ { token: "--brand-radius-md", label: "md", value: "8px" },
779
+ { token: "--brand-radius-lg", label: "lg", value: "12px" },
780
+ { token: "--brand-radius-xl", label: "xl", value: "16px" },
781
+ { token: "--brand-radius-2xl", label: "2xl", value: "24px" },
782
+ { token: "--brand-radius-full", label: "full", value: "9999px" }
783
+ ];
784
+ var SHADOWS = [
785
+ { token: "--brand-shadow-sm", label: "shadow-sm", desc: "Subtle lift" },
786
+ { token: "--brand-shadow-md", label: "shadow-md", desc: "Card elevation" },
787
+ { token: "--brand-shadow-lg", label: "shadow-lg", desc: "Modal / overlay" },
788
+ { token: "--brand-shadow-accent", label: "shadow-accent", desc: "Accent glow" }
789
+ ];
790
+ var EASINGS = [
791
+ { token: "--brand-ease-out", label: "ease-out", value: "cubic-bezier(0.16, 1, 0.3, 1)", use: "Entrances, expansions" },
792
+ { token: "--brand-ease-in-out", label: "ease-in-out", value: "cubic-bezier(0.4, 0, 0.2, 1)", use: "State transitions" }
793
+ ];
794
+ var DURATIONS = [
795
+ { token: "--brand-duration-fast", label: "fast", value: "120ms", use: "Hover states, micro-interactions" },
796
+ { token: "--brand-duration-base", label: "base", value: "220ms", use: "Most transitions" },
797
+ { token: "--brand-duration-slow", label: "slow", value: "400ms", use: "Page-level, reveals" }
798
+ ];
799
+ var FONT_FAMILIES = [
800
+ { token: "--brand-font-display", cssFamily: "var(--brand-font-display)", weight: 700, sample: "Syne \u2014 Display" },
801
+ { token: "--brand-font-body", cssFamily: "var(--brand-font-body)", weight: 400, sample: "DM Sans \u2014 Body" },
802
+ { token: "--brand-font-mono", cssFamily: "var(--brand-font-mono)", weight: 400, sample: "DM Mono \u2014 Mono" }
803
+ ];
804
+ function fontFamilyVar(family) {
805
+ if (family === "display") return "var(--brand-font-display)";
806
+ if (family === "mono") return "var(--brand-font-mono)";
807
+ return "var(--brand-font-body)";
808
+ }
809
+ function ComponentsSection() {
810
+ const [tooltipVisible, setTooltipVisible] = (0, import_react3.useState)(false);
811
+ const mono = { fontFamily: "var(--brand-font-mono)" };
812
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-8)" }, children: [
813
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
814
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Buttons" }),
815
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexWrap: "wrap", gap: "var(--sp-3)", alignItems: "center", marginBottom: "var(--sp-3)" }, children: [
816
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: btnStyle("primary"), children: "Deploy service" }),
817
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: btnStyle("secondary"), children: "View source" }),
818
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: btnStyle("ghost"), children: "Cancel" }),
819
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: btnStyle("danger"), children: "Delete" })
820
+ ] }),
821
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexWrap: "wrap", gap: "var(--sp-3)", alignItems: "center" }, children: [
822
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: { ...btnStyle("primary"), ...btnSize("sm") }, children: "Small" }),
823
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: btnStyle("primary"), children: "Default" }),
824
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: { ...btnStyle("primary"), ...btnSize("lg") }, children: "Large" })
825
+ ] })
826
+ ] }),
827
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
828
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Badges" }),
829
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "flex", flexWrap: "wrap", gap: "var(--sp-3)", alignItems: "center" }, children: [
830
+ { label: "Default", bg: "var(--bg-overlay)", color: "var(--text-secondary)", border: "var(--border-soft)" },
831
+ { label: "\u25CF Live", bg: "var(--accent-subtle)", color: "var(--accent-bright)", border: "var(--accent-border)" },
832
+ { label: "\u25CF Active", bg: "var(--success-bg)", color: "var(--success)", border: "var(--success-border)" },
833
+ { label: "\u25CF Degraded", bg: "var(--warning-bg)", color: "var(--warning)", border: "var(--warning-border)" },
834
+ { label: "\u25CF Offline", bg: "var(--error-bg)", color: "var(--error)", border: "var(--error-border)" }
835
+ ].map((b) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { ...mono, fontSize: 10, fontWeight: 500, letterSpacing: "0.06em", textTransform: "uppercase", padding: "3px 8px", borderRadius: "var(--brand-radius-sm)", background: b.bg, color: b.color, border: `1px solid ${b.border}` }, children: b.label }, b.label)) })
836
+ ] }),
837
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
838
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Cards" }),
839
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))", gap: "var(--sp-4)" }, children: [
840
+ { icon: "\u{1F510}", title: "Auth Service", body: "JWT-based auth with refresh tokens, OAuth2, and session management." },
841
+ { icon: "\u{1F4B3}", title: "Payments", body: "Stripe-powered billing with webhooks, subscriptions, and invoicing." },
842
+ { icon: "\u{1F4E8}", title: "Notifications", body: "Email, push, and in-app notification service with templates." }
843
+ ].map((card) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { background: "var(--bg-surface)", border: "1px solid var(--border-subtle)", borderRadius: "var(--brand-radius-xl)", padding: "var(--sp-6)" }, children: [
844
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { width: 36, height: 36, borderRadius: "var(--brand-radius-md)", background: "var(--accent-subtle)", border: "1px solid var(--accent-border)", display: "flex", alignItems: "center", justifyContent: "center", marginBottom: "var(--sp-4)", fontSize: 16 }, children: card.icon }),
845
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-display)", fontSize: "var(--brand-text-md)", fontWeight: 600, color: "var(--text-primary)", marginBottom: "var(--sp-2)" }, children: card.title }),
846
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-sm)", color: "var(--text-secondary)", lineHeight: 1.6 }, children: card.body })
847
+ ] }, card.title)) })
848
+ ] }),
849
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
850
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Form Inputs" }),
851
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-3)", maxWidth: 400 }, children: [
852
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-2)" }, children: [
853
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("label", { style: labelStyle, children: "Project name" }),
854
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { readOnly: true, style: inputStyle(), placeholder: "my-awesome-app", defaultValue: "" })
855
+ ] }),
856
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-2)" }, children: [
857
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("label", { style: labelStyle, children: "API Key" }),
858
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { readOnly: true, style: { ...inputStyle(), ...mono, fontSize: 13 }, defaultValue: "ag_live_\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u20223fa2" }),
859
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { fontSize: 11, color: "var(--text-muted)" }, children: "Keep this secret. Rotate from the dashboard." })
860
+ ] }),
861
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-2)" }, children: [
862
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("label", { style: labelStyle, children: "Status" }),
863
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { readOnly: true, style: inputStyle("error"), defaultValue: "invalid-slug!" }),
864
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { fontSize: 11, color: "var(--error)" }, children: "Only lowercase letters, numbers, and hyphens." })
865
+ ] })
866
+ ] })
867
+ ] }),
868
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
869
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Code Block" }),
870
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { ...mono, background: "var(--bg-surface)", border: "1px solid var(--border-subtle)", borderRadius: "var(--brand-radius-lg)", padding: "var(--sp-5) var(--sp-6)", fontSize: "var(--brand-text-sm)", color: "var(--text-secondary)", lineHeight: 1.8, overflowX: "auto" }, children: [
871
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--text-disabled)" }, children: "// Initialize AG Auth" }),
872
+ "\n",
873
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--accent-bright)" }, children: "import" }),
874
+ " { createClient } ",
875
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--accent-bright)" }, children: "from" }),
876
+ " ",
877
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--success)" }, children: "'@ag/auth'" }),
878
+ "\n\n",
879
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--accent-bright)" }, children: "const" }),
880
+ " auth = ",
881
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--info)" }, children: "createClient" }),
882
+ "({\n",
883
+ " projectId: ",
884
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--success)" }, children: "'proj_xxxxxxxx'" }),
885
+ ",\n",
886
+ " secret: process.env.",
887
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--info)" }, children: "AG_SECRET" }),
888
+ ",\n",
889
+ " ttl: ",
890
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--warning)" }, children: "3600" }),
891
+ ",\n",
892
+ "})\n\n",
893
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--accent-bright)" }, children: "export default" }),
894
+ " auth"
895
+ ] })
896
+ ] }),
897
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
898
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Navigation" }),
899
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { background: "rgba(10,10,11,0.8)", backdropFilter: "blur(12px)", border: "1px solid var(--border-subtle)", borderRadius: "var(--brand-radius-xl)", padding: "var(--sp-3) var(--sp-5)", display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
900
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { fontFamily: "var(--brand-font-display)", fontSize: "var(--brand-text-md)", fontWeight: 700, color: "var(--text-primary)", display: "flex", alignItems: "center", gap: "var(--sp-2)" }, children: [
901
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("svg", { viewBox: "0 0 24 24", width: "20", height: "20", fill: "none", children: [
902
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M4 18 L9 6 L14 18", stroke: "#7C6EFA", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
903
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("line", { x1: "6", y1: "14", x2: "12", y2: "14", stroke: "#7C6EFA", strokeWidth: "2", strokeLinecap: "round" }),
904
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M16 10C16 8 17.5 7 19 7C20.5 7 22 8 22 10L22 12L19.5 12", stroke: "#F0EEF8", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
905
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M16 10C16 12 16 14 16 15C16 16.5 17.5 17 19 17C20.5 17 22 16.5 22 15L22 12", stroke: "#F0EEF8", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
906
+ ] }),
907
+ "Adarsh"
908
+ ] }),
909
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "flex", gap: "var(--sp-6)", listStyle: "none" }, children: ["Work", "Services", "Blog", "Contact"].map((link, i) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { fontSize: "var(--brand-text-sm)", color: i === 0 ? "var(--accent-bright)" : "var(--text-secondary)", cursor: "pointer" }, children: link }, link)) }),
910
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "var(--sp-3)" }, children: [
911
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ThemeToggle, {}),
912
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: { ...btnStyle("primary"), ...btnSize("sm") }, children: "Hire me" })
913
+ ] })
914
+ ] })
915
+ ] }),
916
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
917
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Tooltip" }),
918
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
919
+ "div",
920
+ {
921
+ style: { position: "relative", display: "inline-block" },
922
+ onMouseEnter: () => setTooltipVisible(true),
923
+ onMouseLeave: () => setTooltipVisible(false),
924
+ children: [
925
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { style: btnStyle("secondary"), children: "Hover me" }),
926
+ tooltipVisible && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { position: "absolute", bottom: "calc(100% + 8px)", left: "50%", transform: "translateX(-50%)", background: "var(--bg-overlay)", border: "1px solid var(--border-soft)", borderRadius: "var(--brand-radius-md)", padding: "var(--sp-2) var(--sp-3)", fontSize: 11, color: "var(--text-secondary)", whiteSpace: "nowrap", boxShadow: "var(--brand-shadow-md)", zIndex: 10, pointerEvents: "none" }, children: "Triggers on hover \xB7 120ms delay" })
927
+ ]
928
+ }
929
+ )
930
+ ] }),
931
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
932
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Tags" }),
933
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "flex", flexWrap: "wrap", gap: "var(--sp-2)" }, children: ["typescript", "react", "node.js", "postgres", "redis", "docker"].map((tag) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { ...mono, fontSize: 11, color: "var(--text-muted)", background: "var(--bg-overlay)", border: "1px solid var(--border-subtle)", padding: "2px 8px", borderRadius: "var(--brand-radius-sm)", display: "inline-block" }, children: tag }, tag)) })
934
+ ] })
935
+ ] });
936
+ }
937
+ function btnStyle(variant) {
938
+ const base = {
939
+ fontFamily: "var(--brand-font-body)",
940
+ fontSize: "var(--brand-text-sm)",
941
+ fontWeight: 500,
942
+ padding: "var(--sp-3) var(--sp-5)",
943
+ borderRadius: "var(--brand-radius-md)",
944
+ border: "none",
945
+ cursor: "pointer",
946
+ display: "inline-flex",
947
+ alignItems: "center",
948
+ gap: "var(--sp-2)",
949
+ letterSpacing: "0.01em",
950
+ lineHeight: 1
951
+ };
952
+ if (variant === "primary") return { ...base, background: "var(--accent)", color: "#fff" };
953
+ if (variant === "secondary") return { ...base, background: "var(--bg-raised)", color: "var(--text-primary)", border: "1px solid var(--border-soft)" };
954
+ if (variant === "ghost") return { ...base, background: "transparent", color: "var(--text-secondary)", border: "1px solid transparent" };
955
+ return { ...base, background: "var(--error-bg)", color: "var(--error)", border: "1px solid var(--error-border)" };
956
+ }
957
+ function btnSize(size) {
958
+ if (size === "sm") return { fontSize: 11, padding: "var(--sp-2) var(--sp-3)", borderRadius: "var(--brand-radius-sm)" };
959
+ return { fontSize: "var(--brand-text-base)", padding: "var(--sp-4) var(--sp-8)", borderRadius: "var(--brand-radius-lg)" };
960
+ }
961
+ var labelStyle = {
962
+ fontSize: "var(--brand-text-xs)",
963
+ fontWeight: 500,
964
+ color: "var(--text-secondary)",
965
+ letterSpacing: "0.03em"
966
+ };
967
+ function inputStyle(state) {
968
+ return {
969
+ fontFamily: "var(--brand-font-body)",
970
+ fontSize: "var(--brand-text-sm)",
971
+ color: "var(--text-primary)",
972
+ background: "var(--bg-raised)",
973
+ border: `1px solid ${state === "error" ? "var(--error)" : "var(--border-soft)"}`,
974
+ borderRadius: "var(--brand-radius-md)",
975
+ padding: "var(--sp-3) var(--sp-4)",
976
+ outline: "none",
977
+ width: "100%",
978
+ boxSizing: "border-box"
979
+ };
980
+ }
981
+ function ThemePage({ version = package_default.version }) {
982
+ const colorValues = useTokenMap(COLOR_TOKENS);
983
+ const mono = { fontFamily: "var(--brand-font-mono)" };
984
+ const dot = { width: 5, height: 5, borderRadius: "50%", background: "var(--accent)", display: "inline-block" };
985
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
986
+ background: "var(--bg-base)",
987
+ color: "var(--text-primary)",
988
+ fontFamily: "var(--brand-font-body)",
989
+ fontSize: "var(--brand-text-base)",
990
+ lineHeight: 1.6,
991
+ WebkitFontSmoothing: "antialiased",
992
+ minHeight: "100vh"
993
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { maxWidth: "var(--brand-layout-container-max)", margin: "0 auto", padding: "var(--sp-16) var(--sp-8)" }, children: [
994
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { paddingTop: "var(--sp-20)", paddingBottom: "var(--sp-16)", position: "relative", overflow: "hidden" }, children: [
995
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
996
+ position: "absolute",
997
+ top: -80,
998
+ left: -120,
999
+ width: 600,
1000
+ height: 400,
1001
+ background: "radial-gradient(ellipse, var(--accent-glow) 0%, transparent 70%)",
1002
+ pointerEvents: "none"
1003
+ } }),
1004
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { ...mono, fontSize: "var(--brand-text-xs)", letterSpacing: "0.16em", textTransform: "uppercase", color: "var(--text-muted)", marginBottom: "var(--sp-6)", display: "flex", alignItems: "center", gap: "var(--sp-3)", position: "relative" }, children: [
1005
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { width: 24, height: 1, background: "var(--border-mid)", display: "inline-block" } }),
1006
+ "@adarsh_goswami/brand",
1007
+ version && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { style: { background: "var(--accent-subtle)", color: "var(--accent)", border: "1px solid var(--accent-border)", borderRadius: "var(--brand-radius-sm)", padding: "2px 8px", fontSize: 10 }, children: [
1008
+ "v",
1009
+ version
1010
+ ] })
1011
+ ] }),
1012
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { fontFamily: "var(--brand-font-display)", fontSize: "clamp(3rem, 8vw, 5rem)", fontWeight: 800, lineHeight: 0.95, letterSpacing: "-0.03em", marginBottom: "var(--sp-6)", position: "relative" }, children: [
1013
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--text-primary)" }, children: "Design" }),
1014
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("br", {}),
1015
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--accent)" }, children: "System" })
1016
+ ] }),
1017
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-md)", color: "var(--text-secondary)", fontWeight: 300, maxWidth: 420, lineHeight: 1.7, position: "relative" }, children: "The single source of truth for all brand decisions \u2014 colors, typography, spacing, and motion." }),
1018
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, marginTop: "var(--sp-10)", display: "flex", flexWrap: "wrap", alignItems: "center", gap: "var(--sp-6)", fontSize: "var(--brand-text-xs)", color: "var(--text-muted)", letterSpacing: "0.06em", position: "relative" }, children: ["Radix UI", "Tailwind CSS", "TypeScript"].map((tech) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { style: { display: "flex", alignItems: "center", gap: "var(--sp-2)" }, children: [
1019
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: dot }),
1020
+ tech
1021
+ ] }, tech)) })
1022
+ ] }),
1023
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { label: "01 \u2014 Identity", title: "Logo & Mark", description: "The AG monogram is built from geometric forms \u2014 two interlocked letterforms on a contained grid.", first: true, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(200px, 1fr))", gap: "var(--sp-4)" }, children: [
1024
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: logoCardStyle("dark"), children: [
1025
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AgMark, { size: 64, variant: "dark" }),
1026
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: logoLabelStyle("dark"), children: "Primary \u2014 Dark" })
1027
+ ] }),
1028
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: logoCardStyle("glow"), children: [
1029
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AgMark, { size: 64, variant: "glow" }),
1030
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: logoLabelStyle("dark"), children: "Glow Variant" })
1031
+ ] }),
1032
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: logoCardStyle("light"), children: [
1033
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AgMark, { size: 64, variant: "light" }),
1034
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: logoLabelStyle("light"), children: "Light Variant" })
1035
+ ] }),
1036
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { ...logoCardStyle("dark"), justifyContent: "center" }, children: [
1037
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AgWordmark, {}),
1038
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: logoLabelStyle("dark"), children: "Wordmark" })
1039
+ ] })
1040
+ ] }) }),
1041
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Section, { label: "02 \u2014 Color", title: "Color System", description: "Dark-first palette anchored by a violet-indigo accent. All values resolve from theme.css.", children: [
1042
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Accent" }),
1043
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(ColorGrid, { children: [
1044
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--accent-bright", label: "Bright", values: colorValues }),
1045
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--accent", label: "Base", values: colorValues }),
1046
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--accent-dim", label: "Dim", values: colorValues }),
1047
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--accent-glow", label: "Glow", values: colorValues })
1048
+ ] }),
1049
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Backgrounds" }),
1050
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(ColorGrid, { children: [
1051
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--bg-base", label: "Base", values: colorValues }),
1052
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--bg-surface", label: "Surface", values: colorValues }),
1053
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--bg-raised", label: "Raised", values: colorValues }),
1054
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--bg-overlay", label: "Overlay", values: colorValues })
1055
+ ] }),
1056
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Borders" }),
1057
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(ColorGrid, { children: [
1058
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--border-subtle", label: "Subtle", values: colorValues }),
1059
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--border-soft", label: "Soft", values: colorValues }),
1060
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--border-mid", label: "Mid", values: colorValues })
1061
+ ] }),
1062
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Text" }),
1063
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(ColorGrid, { children: [
1064
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--text-primary", label: "Primary", values: colorValues }),
1065
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--text-secondary", label: "Secondary", values: colorValues }),
1066
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--text-muted", label: "Muted", values: colorValues }),
1067
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--text-disabled", label: "Disabled", values: colorValues })
1068
+ ] }),
1069
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Semantic" }),
1070
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(ColorGrid, { children: [
1071
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--success", label: "Success", values: colorValues }),
1072
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--warning", label: "Warning", values: colorValues }),
1073
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--error", label: "Error", values: colorValues }),
1074
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ColorSwatch, { token: "--info", label: "Info", values: colorValues })
1075
+ ] })
1076
+ ] }),
1077
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Section, { label: "03 \u2014 Typography", title: "Type System", description: "Syne for display and headings. DM Sans for body. DM Mono for code, labels, and data.", children: [
1078
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Families" }),
1079
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-3)", marginBottom: "var(--sp-8)" }, children: FONT_FAMILIES.map(({ token, cssFamily, weight, sample }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { padding: "var(--sp-4) var(--sp-5)", background: "var(--bg-surface)", border: "1px solid var(--border-subtle)", borderRadius: "var(--brand-radius-md)", display: "flex", justifyContent: "space-between", alignItems: "center", gap: "var(--sp-4)", flexWrap: "wrap" }, children: [
1080
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { fontFamily: cssFamily, fontWeight: weight, fontSize: "var(--brand-text-lg)", color: "var(--text-primary)" }, children: sample }),
1081
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { ...mono, fontSize: 10, color: "var(--text-muted)", flexShrink: 0 }, children: token })
1082
+ ] }, token)) }),
1083
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Scale" }),
1084
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: TYPE_SCALE.map(({ token, label, role, weight, family }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", alignItems: "baseline", gap: "var(--sp-6)", padding: "var(--sp-5) 0", borderBottom: "1px solid var(--border-subtle)" }, children: [
1085
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { minWidth: 130, flexShrink: 0 }, children: [
1086
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--accent)", letterSpacing: "0.08em" }, children: token }),
1087
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--text-muted)", marginTop: 2 }, children: label }),
1088
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--text-disabled)", marginTop: 1 }, children: role })
1089
+ ] }),
1090
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: fontFamilyVar(family), fontSize: `var(${token})`, fontWeight: weight, color: "var(--text-primary)", lineHeight: 1.2 }, children: TYPE_SPECIMENS[token] })
1091
+ ] }, token)) })
1092
+ ] }),
1093
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { label: "04 \u2014 Spacing", title: "Spacing Scale", description: "8px base grid. All values are multiples of 4px for sub-grid alignment.", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: "var(--sp-3)" }, children: SPACING.map(({ token, rem, px }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "var(--sp-4)" }, children: [
1094
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 11, color: "var(--text-muted)", minWidth: 70 }, children: token }),
1095
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { flex: 1, height: 24, display: "flex", alignItems: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { height: 8, width: `var(${token})`, background: "var(--accent)", borderRadius: 2, opacity: 0.7 } }) }),
1096
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 11, color: "var(--text-secondary)", minWidth: 50 }, children: rem }),
1097
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 11, color: "var(--text-muted)", minWidth: 40 }, children: px })
1098
+ ] }, token)) }) }),
1099
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { label: "05 \u2014 Shape", title: "Border Radius", description: "Consistent corner radii for a cohesive, modern feel across all components.", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(110px, 1fr))", gap: "var(--sp-4)" }, children: RADII.map(({ token, label, value }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "var(--sp-3)" }, children: [
1100
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { width: 64, height: 64, background: "var(--bg-raised)", border: "1px solid var(--border-soft)", borderRadius: `var(${token})` } }),
1101
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { textAlign: "center" }, children: [
1102
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--accent)" }, children: label }),
1103
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--text-muted)", marginTop: 2 }, children: value })
1104
+ ] })
1105
+ ] }, token)) }) }),
1106
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { label: "06 \u2014 Elevation", title: "Shadows", description: "Four shadow levels including an accent glow.", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(200px, 1fr))", gap: "var(--sp-6)" }, children: SHADOWS.map(({ token, label, desc }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { padding: "var(--sp-8)", background: "var(--bg-surface)", borderRadius: "var(--brand-radius-lg)", boxShadow: `var(${token})` }, children: [
1107
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--accent)", marginBottom: "var(--sp-1)" }, children: token }),
1108
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--text-secondary)", marginBottom: "var(--sp-1)" }, children: label }),
1109
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-xs)", color: "var(--text-muted)" }, children: desc })
1110
+ ] }, token)) }) }),
1111
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { label: "07 \u2014 Components", title: "UI Components", description: "Core interactive elements built from the token system above.", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ComponentsSection, {}) }),
1112
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Section, { label: "08 \u2014 Motion", title: "Animation Tokens", description: "Subtle, purposeful motion. Never decorative \u2014 always communicates state or hierarchy.", children: [
1113
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Easing" }),
1114
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(200px, 1fr))", gap: "var(--sp-4)", marginBottom: "var(--sp-6)" }, children: EASINGS.map(({ token, label, value, use }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { padding: "var(--sp-5)", background: "var(--bg-surface)", border: "1px solid var(--border-subtle)", borderRadius: "var(--brand-radius-md)" }, children: [
1115
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--accent)", marginBottom: "var(--sp-2)" }, children: token }),
1116
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-display)", fontSize: "var(--brand-text-md)", fontWeight: 700, color: "var(--text-primary)" }, children: label }),
1117
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--text-muted)", marginTop: "var(--sp-2)" }, children: value }),
1118
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-xs)", color: "var(--text-secondary)", marginTop: "var(--sp-2)" }, children: use })
1119
+ ] }, token)) }),
1120
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SectionLabel, { children: "Duration" }),
1121
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(200px, 1fr))", gap: "var(--sp-4)" }, children: DURATIONS.map(({ token, label, value, use }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { padding: "var(--sp-5)", background: "var(--bg-surface)", border: "1px solid var(--border-subtle)", borderRadius: "var(--brand-radius-md)" }, children: [
1122
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--accent)", marginBottom: "var(--sp-2)" }, children: token }),
1123
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontFamily: "var(--brand-font-display)", fontSize: "var(--brand-text-xl)", fontWeight: 700, color: "var(--text-primary)" }, children: value }),
1124
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { ...mono, fontSize: 10, color: "var(--text-muted)", marginTop: "var(--sp-2)" }, children: label }),
1125
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: "var(--brand-text-xs)", color: "var(--text-secondary)", marginTop: "var(--sp-2)" }, children: use })
1126
+ ] }, token)) })
1127
+ ] }),
1128
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Footer, {})
1129
+ ] }) });
1130
+ }
1131
+ function logoCardStyle(bg) {
1132
+ const backgrounds = {
1133
+ dark: "var(--bg-overlay)",
1134
+ glow: "#0D0C1A",
1135
+ light: "#F0EEF8"
1136
+ };
1137
+ const borders = {
1138
+ dark: "var(--border-subtle)",
1139
+ glow: "rgba(124,110,250,0.2)",
1140
+ light: "rgba(0,0,0,0.08)"
1141
+ };
1142
+ return {
1143
+ background: backgrounds[bg],
1144
+ border: `1px solid ${borders[bg]}`,
1145
+ borderRadius: "var(--brand-radius-lg)",
1146
+ padding: "var(--sp-8)",
1147
+ display: "flex",
1148
+ flexDirection: "column",
1149
+ alignItems: "center",
1150
+ gap: "var(--sp-4)"
1151
+ };
1152
+ }
1153
+ function logoLabelStyle(bg) {
1154
+ return {
1155
+ fontFamily: "var(--brand-font-mono)",
1156
+ fontSize: "var(--brand-text-xs)",
1157
+ color: bg === "light" ? "#5C5A6E" : "var(--text-muted)",
1158
+ letterSpacing: "0.08em"
1159
+ };
1160
+ }
1161
+
1162
+ // src/assets/logo.svg
1163
+ var logo_default = 'data:image/svg+xml,<svg viewBox="0 0 160 36" fill="none" xmlns="http://www.w3.org/2000/svg">%0A <!-- Icon mark -->%0A <rect width="36" height="36" rx="8" fill="%2318181C"/>%0A <!-- A -->%0A <path d="M6 26 L13 10 L20 26" stroke="%237C6EFA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>%0A <line x1="9" y1="20.5" x2="17" y2="20.5" stroke="%237C6EFA" stroke-width="2" stroke-linecap="round"/>%0A <!-- G -->%0A <path d="M23 16.5 C23 13.5 25.5 12 28 12 C30.5 12 32 13.5 32 16.5 L32 18.5 L28.5 18.5 L28.5 16.5" stroke="%23F0EEF8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>%0A <path d="M23 16.5 C23 19 23 21.5 23 23 C23 25 25.5 26 28 26 C30.5 26 32 25 32 23 L32 18.5" stroke="%23F0EEF8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>%0A <!-- Wordmark text -->%0A <text x="48" y="26" font-family="Syne, sans-serif" font-weight="700" font-size="18" letter-spacing="-0.36">%0A <tspan fill="%23F0EEF8">Adarsh</tspan><tspan fill="%237C6EFA">.</tspan>%0A </text>%0A</svg>%0A';
1164
+
1165
+ // src/assets/logo-mark.svg
1166
+ var logo_mark_default = 'data:image/svg+xml,<svg viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">%0A <rect width="64" height="64" rx="14" fill="%23111113"/>%0A <!-- A -->%0A <path d="M14 46 L24 20 L34 46" stroke="%237C6EFA" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>%0A <line x1="18" y1="37" x2="30" y2="37" stroke="%237C6EFA" stroke-width="2.5" stroke-linecap="round"/>%0A <!-- G -->%0A <path d="M38 28 C38 23 42 20 47 20 C52 20 55 23 55 28 L55 32 L49 32 L49 29" stroke="%23F0EEF8" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>%0A <path d="M38 28 C38 33 38 38 38 40 C38 43.5 42 46 47 46 C52 46 55 43.5 55 40 L55 32" stroke="%23F0EEF8" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>%0A</svg>%0A';
1167
+
1168
+ // src/assets/favicon.svg
1169
+ var favicon_default = 'data:image/svg+xml,<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">%0A <rect width="32" height="32" rx="7" fill="%23111113"/>%0A <!-- A \u2014 scaled 0.5x from 64x64 mark -->%0A <path d="M7 23 L12 10 L17 23" stroke="%237C6EFA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>%0A <line x1="9" y1="18.5" x2="15" y2="18.5" stroke="%237C6EFA" stroke-width="1.5" stroke-linecap="round"/>%0A <!-- G \u2014 scaled 0.5x from 64x64 mark -->%0A <path d="M19 14 C19 11.5 21 10 23.5 10 C26 10 27.5 11.5 27.5 14 L27.5 16 L24.5 16 L24.5 14.5" stroke="%23F0EEF8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>%0A <path d="M19 14 C19 16.5 19 19 19 20 C19 21.75 21 23 23.5 23 C26 23 27.5 21.75 27.5 20 L27.5 16" stroke="%23F0EEF8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>%0A</svg>%0A';
1170
+ // Annotate the CommonJS export names for ESM import in node:
1171
+ 0 && (module.exports = {
1172
+ AgMark,
1173
+ AgWordmark,
1174
+ DocsLayout,
1175
+ Footer,
1176
+ ThemePage,
1177
+ ThemeProvider,
1178
+ ThemeToggle,
1179
+ favicon,
1180
+ logo,
1181
+ logoMark,
1182
+ useTheme
1183
+ });