@astryxdesign/theme-gothic 0.0.0-bootstrap.0 → 0.0.15

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/source.js ADDED
@@ -0,0 +1,676 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
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
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/source.ts
21
+ var source_exports = {};
22
+ __export(source_exports, {
23
+ gothicIconRegistry: () => gothicIconRegistry,
24
+ gothicPalettes: () => gothicPalettes,
25
+ gothicTheme: () => gothicTheme
26
+ });
27
+ module.exports = __toCommonJS(source_exports);
28
+
29
+ // src/gothicTheme.ts
30
+ var import_theme = require("@astryxdesign/core/theme");
31
+
32
+ // src/icons.tsx
33
+ var import_lucide_react = require("lucide-react");
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var iconProps = {
36
+ size: "1em",
37
+ "aria-hidden": true
38
+ };
39
+ var gothicIconRegistry = {
40
+ close: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.X, { ...iconProps }),
41
+ chevronDown: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, { ...iconProps }),
42
+ chevronLeft: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronLeft, { ...iconProps }),
43
+ chevronRight: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronRight, { ...iconProps }),
44
+ check: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { ...iconProps }),
45
+ success: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.CheckCircle, { ...iconProps }),
46
+ error: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.XCircle, { ...iconProps }),
47
+ warning: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.AlertTriangle, { ...iconProps }),
48
+ info: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Info, { ...iconProps }),
49
+ calendar: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Calendar, { ...iconProps }),
50
+ clock: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Clock, { ...iconProps }),
51
+ externalLink: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ExternalLink, { ...iconProps }),
52
+ menu: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Menu, { ...iconProps }),
53
+ moreHorizontal: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.MoreHorizontal, { ...iconProps }),
54
+ search: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Search, { ...iconProps }),
55
+ arrowUp: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowUp, { ...iconProps }),
56
+ arrowDown: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowDown, { ...iconProps }),
57
+ arrowsUpDown: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowUpDown, { ...iconProps }),
58
+ funnel: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Filter, { ...iconProps }),
59
+ eyeSlash: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.EyeOff, { ...iconProps }),
60
+ viewColumns: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Columns, { ...iconProps }),
61
+ copy: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Copy, { ...iconProps }),
62
+ checkDouble: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.CheckCheck, { ...iconProps }),
63
+ wrench: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Wrench, { ...iconProps }),
64
+ stop: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Square, { ...iconProps }),
65
+ microphone: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Mic, { ...iconProps })
66
+ };
67
+
68
+ // src/gothicTheme.ts
69
+ var gothicSyntax = (0, import_theme.defineSyntaxTheme)({
70
+ name: "xds-gothic",
71
+ tokens: {
72
+ keyword: "#c39adb",
73
+ // Cathedral plum
74
+ string: "#a3c987",
75
+ // Forest moss
76
+ comment: "#6b7079",
77
+ // Faded ink
78
+ number: "#dec074",
79
+ // Aged gold
80
+ function: "#8aa1d8",
81
+ // Midnight indigo
82
+ type: "#c39adb",
83
+ // Cathedral plum
84
+ variable: "#E8F1F6",
85
+ // Parchment
86
+ operator: "#96A0AB",
87
+ // Mid neutral
88
+ constant: "#e6b85e",
89
+ // Candlelight amber
90
+ tag: "#d97580",
91
+ // Blood crimson
92
+ attribute: "#dec074",
93
+ // Aged gold
94
+ property: "#7cc5b3",
95
+ // Verdigris
96
+ punctuation: "#7a8290",
97
+ // Mid neutral
98
+ background: "#101314"
99
+ }
100
+ });
101
+ var gothicTheme = (0, import_theme.defineTheme)({
102
+ name: "gothic",
103
+ typography: {
104
+ // base 16 / ratio 1.25 — larger scale so the (optically small) blackletter
105
+ // display sizes read large enough to carry the theme.
106
+ scale: { base: 16, ratio: 1.25 },
107
+ body: {
108
+ family: "Fustat",
109
+ fallbacks: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'
110
+ },
111
+ // Headings (h1-h6) use Fustat to match the body — Manufacturing Consent
112
+ // is reserved for display sizes only (see component overrides below).
113
+ heading: {
114
+ family: "Fustat",
115
+ fallbacks: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
116
+ weights: { 3: "bold", 4: "bold" }
117
+ },
118
+ code: {
119
+ family: "JetBrains Mono",
120
+ fallbacks: '"SF Mono", Monaco, Consolas, monospace'
121
+ }
122
+ },
123
+ // Slower, theatrical motion — gothic doesn't rush.
124
+ motion: { fast: 150, medium: 350, slow: 800, ratio: 0.75 },
125
+ syntax: gothicSyntax,
126
+ tokens: {
127
+ // =========================================================================
128
+ // Colors — gothic dark palette (single values, dark-only)
129
+ // Core: #E8F1F6, #96A0AB, #495056, #24292D, #101314
130
+ // =========================================================================
131
+ // Core semantic
132
+ "--color-accent": "#E8F1F6",
133
+ "--color-accent-muted": "#E8F1F620",
134
+ "--color-neutral": "#E8F1F61A",
135
+ "--color-background-surface": "#101314",
136
+ "--color-background-body": "#101314",
137
+ "--color-overlay": "#101314CC",
138
+ "--color-overlay-hover": "#E8F1F60D",
139
+ "--color-overlay-pressed": "#E8F1F61A",
140
+ "--color-background-muted": "#24292D",
141
+ // Text
142
+ "--color-text-primary": "#E8F1F6",
143
+ "--color-text-secondary": "#96A0AB",
144
+ "--color-text-disabled": "#495056",
145
+ "--color-text-accent": "#E8F1F6",
146
+ "--color-on-dark": "#E8F1F6",
147
+ "--color-on-light": "#101314",
148
+ "--color-on-accent": "#101314",
149
+ "--color-on-success": "#101314",
150
+ "--color-on-error": "#101314",
151
+ "--color-on-warning": "#101314",
152
+ // Icon
153
+ "--color-icon-accent": "#E8F1F6",
154
+ "--color-icon-primary": "#E8F1F6",
155
+ "--color-icon-secondary": "#96A0AB",
156
+ "--color-icon-disabled": "#495056",
157
+ // Surface variants
158
+ "--color-background-card": "#1a1d20",
159
+ "--color-background-popover": "#24292D",
160
+ "--color-background-inverted": "#E8F1F6",
161
+ // Status / Sentiment — dusty pastels matching the categorical
162
+ // pattern. Used for status surfaces, destructive button bg, etc.
163
+ "--color-success": "#b3c79a",
164
+ // sage moss
165
+ "--color-success-muted": "#b3c79a",
166
+ "--color-error": "#c6a6a2",
167
+ // dusty rose
168
+ "--color-error-muted": "#c6a6a2",
169
+ "--color-warning": "#d3c490",
170
+ // aged gold
171
+ "--color-warning-muted": "#d3c490",
172
+ // Border
173
+ "--color-border": "#E8F1F61A",
174
+ "--color-border-emphasized": "#495056",
175
+ // Effects
176
+ "--color-skeleton": "#495056",
177
+ "--color-shadow": "#0000004D",
178
+ "--color-tint-hover": "white",
179
+ // =========================================================================
180
+ // Categorical — dusty pastel-on-dark pattern
181
+ // Hand-tuned dusty pastels (T75 with reduced chroma) — confident
182
+ // but never bright. Neutral is a dark slate with white text — the
183
+ // "no-color" variant earns its hierarchy by matching the page mood.
184
+ // =========================================================================
185
+ // Blue (periwinkle midnight)
186
+ "--color-background-blue": "#a3b5d6",
187
+ "--color-border-blue": "#8696b8",
188
+ "--color-icon-blue": "#2a3b6e",
189
+ "--color-text-blue": "#1f2c54",
190
+ // Cyan (cathedral mist)
191
+ "--color-background-cyan": "#a3c2cf",
192
+ "--color-border-cyan": "#86a4b1",
193
+ "--color-icon-cyan": "#2a5e75",
194
+ "--color-text-cyan": "#204858",
195
+ // Gray (dark slate — special: dark bg + light text)
196
+ "--color-background-gray": "#3d4248",
197
+ "--color-border-gray": "#5d646b",
198
+ "--color-icon-gray": "#E8F1F6",
199
+ "--color-text-gray": "#E8F1F6",
200
+ // Green (sage moss)
201
+ "--color-background-green": "#b3c79a",
202
+ "--color-border-green": "#96a880",
203
+ "--color-icon-green": "#3a5e2c",
204
+ "--color-text-green": "#244023",
205
+ // Orange (warm tan)
206
+ "--color-background-orange": "#d3b89a",
207
+ "--color-border-orange": "#b6987d",
208
+ "--color-icon-orange": "#8a4818",
209
+ "--color-text-orange": "#6e3812",
210
+ // Pink (dusty rose)
211
+ "--color-background-pink": "#c89aab",
212
+ "--color-border-pink": "#aa7d8e",
213
+ "--color-icon-pink": "#8d2d4c",
214
+ "--color-text-pink": "#71223c",
215
+ // Purple (muted plum)
216
+ "--color-background-purple": "#b29bc4",
217
+ "--color-border-purple": "#947da6",
218
+ "--color-icon-purple": "#5a2370",
219
+ "--color-text-purple": "#481b58",
220
+ // Red (dusty rose)
221
+ "--color-background-red": "#c6a6a2",
222
+ "--color-border-red": "#a48581",
223
+ "--color-icon-red": "#5e3a35",
224
+ "--color-text-red": "#4a2520",
225
+ // Teal (sage verdigris)
226
+ "--color-background-teal": "#a3c2b6",
227
+ "--color-border-teal": "#86a499",
228
+ "--color-icon-teal": "#1f5e52",
229
+ "--color-text-teal": "#174a40",
230
+ // Yellow (aged gold)
231
+ "--color-background-yellow": "#d3c490",
232
+ "--color-border-yellow": "#b6a775",
233
+ "--color-icon-yellow": "#876515",
234
+ "--color-text-yellow": "#6c5010",
235
+ // =========================================================================
236
+ // Radius — subtle rounding (original gothic)
237
+ // =========================================================================
238
+ "--radius-none": "0.125rem",
239
+ "--radius-inner": "0.25rem",
240
+ "--radius-element": "0.5rem",
241
+ "--radius-container": "0.75rem",
242
+ "--radius-page": "1.5rem",
243
+ "--radius-full": "9999px",
244
+ // =========================================================================
245
+ // Shadows — restrained, atmospheric
246
+ // =========================================================================
247
+ "--shadow-low": "0 2px 4px #00000033, 0 4px 8px #00000040",
248
+ "--shadow-med": "0 2px 4px #00000033, 0 4px 12px #00000040",
249
+ "--shadow-high": "0 4px 6px #00000040, 0 12px 24px #0000004D",
250
+ "--shadow-inset-hover": "inset 0px 0px 0px 1px #96A0AB30",
251
+ "--shadow-inset-selected": "inset 0px 0px 0px 2px #96A0AB50",
252
+ "--shadow-inset-success": "inset 0px 0px 0px 1px #87b06a50",
253
+ "--shadow-inset-warning": "inset 0px 0px 0px 1px #d6b56a50",
254
+ "--shadow-inset-error": "inset 0px 0px 0px 1px #d4485150"
255
+ },
256
+ components: {
257
+ button: {
258
+ // Primary inherits default — light pill with dark text via
259
+ // --color-accent / --color-on-accent (matches the cream badge).
260
+ // Secondary uses the dark-slate "neutral" badge treatment.
261
+ "variant:secondary": {
262
+ backgroundColor: "var(--color-background-gray)",
263
+ color: "var(--color-text-gray)",
264
+ borderColor: "transparent",
265
+ borderWidth: "0"
266
+ },
267
+ "variant:ghost": {
268
+ ":hover": {
269
+ backgroundColor: "var(--color-overlay-hover)"
270
+ }
271
+ },
272
+ // Destructive uses the dusty rose bg with dark warm-brown text
273
+ // (matches the red badge).
274
+ "variant:destructive": {
275
+ backgroundColor: "var(--color-error)",
276
+ color: "var(--color-text-red)"
277
+ }
278
+ },
279
+ badge: {
280
+ base: {
281
+ borderRadius: "var(--radius-element)",
282
+ fontWeight: "var(--font-weight-medium)"
283
+ },
284
+ "variant:info": {
285
+ backgroundColor: "var(--color-background-blue)",
286
+ color: "var(--color-text-blue)"
287
+ },
288
+ "variant:neutral": {
289
+ backgroundColor: "var(--color-background-gray)",
290
+ color: "var(--color-text-gray)"
291
+ },
292
+ "variant:success": {
293
+ backgroundColor: "var(--color-background-green)",
294
+ color: "var(--color-text-green)"
295
+ },
296
+ "variant:warning": {
297
+ backgroundColor: "var(--color-background-yellow)",
298
+ color: "var(--color-text-yellow)"
299
+ },
300
+ "variant:error": {
301
+ backgroundColor: "var(--color-background-red)",
302
+ color: "var(--color-text-red)"
303
+ }
304
+ },
305
+ banner: {
306
+ base: {
307
+ borderRadius: "var(--radius-element)"
308
+ },
309
+ "status:info": {
310
+ backgroundColor: "var(--color-background-blue)",
311
+ "--color-text-primary": "var(--color-text-blue)",
312
+ "--color-text-secondary": "var(--color-text-blue)",
313
+ "--color-accent": "var(--color-text-blue)"
314
+ },
315
+ "status:success": {
316
+ backgroundColor: "var(--color-background-green)",
317
+ "--color-text-primary": "var(--color-text-green)",
318
+ "--color-text-secondary": "var(--color-text-green)",
319
+ "--color-success": "var(--color-text-green)"
320
+ },
321
+ "status:warning": {
322
+ backgroundColor: "var(--color-background-yellow)",
323
+ "--color-text-primary": "var(--color-text-yellow)",
324
+ "--color-text-secondary": "var(--color-text-yellow)",
325
+ "--color-warning": "var(--color-text-yellow)"
326
+ },
327
+ "status:error": {
328
+ backgroundColor: "var(--color-background-red)",
329
+ "--color-text-primary": "var(--color-text-red)",
330
+ "--color-text-secondary": "var(--color-text-red)",
331
+ "--color-error": "var(--color-text-red)"
332
+ }
333
+ },
334
+ card: {
335
+ base: {
336
+ padding: "var(--spacing-3)",
337
+ borderRadius: "var(--radius-container)"
338
+ },
339
+ // Categorical variants — flip --color-text-primary so child
340
+ // XDSText labels stay readable against the dusty pastel bg.
341
+ "variant:blue": {
342
+ "--color-text-primary": "var(--color-text-blue)",
343
+ "--color-text-secondary": "var(--color-text-blue)"
344
+ },
345
+ "variant:cyan": {
346
+ "--color-text-primary": "var(--color-text-cyan)",
347
+ "--color-text-secondary": "var(--color-text-cyan)"
348
+ },
349
+ "variant:gray": {
350
+ "--color-text-primary": "var(--color-text-gray)",
351
+ "--color-text-secondary": "var(--color-text-gray)"
352
+ },
353
+ "variant:green": {
354
+ "--color-text-primary": "var(--color-text-green)",
355
+ "--color-text-secondary": "var(--color-text-green)"
356
+ },
357
+ "variant:orange": {
358
+ "--color-text-primary": "var(--color-text-orange)",
359
+ "--color-text-secondary": "var(--color-text-orange)"
360
+ },
361
+ "variant:pink": {
362
+ "--color-text-primary": "var(--color-text-pink)",
363
+ "--color-text-secondary": "var(--color-text-pink)"
364
+ },
365
+ "variant:purple": {
366
+ "--color-text-primary": "var(--color-text-purple)",
367
+ "--color-text-secondary": "var(--color-text-purple)"
368
+ },
369
+ "variant:red": {
370
+ "--color-text-primary": "var(--color-text-red)",
371
+ "--color-text-secondary": "var(--color-text-red)"
372
+ },
373
+ "variant:teal": {
374
+ "--color-text-primary": "var(--color-text-teal)",
375
+ "--color-text-secondary": "var(--color-text-teal)"
376
+ },
377
+ "variant:yellow": {
378
+ "--color-text-primary": "var(--color-text-yellow)",
379
+ "--color-text-secondary": "var(--color-text-yellow)"
380
+ }
381
+ },
382
+ section: {
383
+ base: {
384
+ padding: "var(--spacing-3)"
385
+ }
386
+ },
387
+ field: {
388
+ base: {
389
+ borderRadius: "var(--radius-element)"
390
+ }
391
+ },
392
+ // Display sizes use Manufacturing Consent — the signature gothic
393
+ // display font, reserved for hero/marketing-scale text only.
394
+ text: {
395
+ "type:display-1": {
396
+ fontFamily: '"Manufacturing Consent", "UnifrakturMaguntia", "Old English Text MT", serif'
397
+ },
398
+ "type:display-2": {
399
+ fontFamily: '"Manufacturing Consent", "UnifrakturMaguntia", "Old English Text MT", serif'
400
+ },
401
+ "type:display-3": {
402
+ fontFamily: '"Manufacturing Consent", "UnifrakturMaguntia", "Old English Text MT", serif'
403
+ }
404
+ }
405
+ },
406
+ icons: gothicIconRegistry
407
+ });
408
+ var gothicPalettes = {
409
+ // Neutral — H=210 C=4 (cool blue-gray, original gothic)
410
+ neutral: {
411
+ hue: 210,
412
+ chroma: 4,
413
+ 0: "#000000",
414
+ 5: "#0a0d0f",
415
+ 10: "#101314",
416
+ 15: "#181c1f",
417
+ 20: "#24292D",
418
+ 25: "#2c3236",
419
+ 30: "#363c40",
420
+ 35: "#40464b",
421
+ 40: "#495056",
422
+ 45: "#535a61",
423
+ 50: "#5d646b",
424
+ 55: "#676f76",
425
+ 60: "#727a82",
426
+ 65: "#7e8690",
427
+ 70: "#8a929c",
428
+ 75: "#96A0AB",
429
+ 80: "#a8b1bb",
430
+ 85: "#bbc3cb",
431
+ 90: "#cdd5db",
432
+ 95: "#E8F1F6",
433
+ 100: "#ffffff"
434
+ },
435
+ // Blue — H=255 C=20 (midnight indigo)
436
+ blue: {
437
+ hue: 255,
438
+ chroma: 20,
439
+ 0: "#000000",
440
+ 5: "#050930",
441
+ 10: "#0c143f",
442
+ 15: "#161e4d",
443
+ 20: "#1f2c54",
444
+ 25: "#2a3565",
445
+ 30: "#2a3b6e",
446
+ 35: "#3a4783",
447
+ 40: "#475497",
448
+ 45: "#5462ab",
449
+ 50: "#6170bf",
450
+ 55: "#6a85cf",
451
+ 60: "#7793d6",
452
+ 65: "#8aa1d8",
453
+ 70: "#a3b5e0",
454
+ 75: "#b6c5e7",
455
+ 80: "#c4d1ec",
456
+ 85: "#d2dcef",
457
+ 90: "#dde2f1",
458
+ 95: "#e8ecf6",
459
+ 100: "#ffffff"
460
+ },
461
+ // Cyan — H=200 C=25 (cathedral mist)
462
+ cyan: {
463
+ hue: 200,
464
+ chroma: 25,
465
+ 0: "#000000",
466
+ 5: "#001724",
467
+ 10: "#062436",
468
+ 15: "#0d3046",
469
+ 20: "#204858",
470
+ 25: "#1c4a66",
471
+ 30: "#2a5e75",
472
+ 35: "#3a6e85",
473
+ 40: "#487d94",
474
+ 45: "#598ea3",
475
+ 50: "#6a9eb1",
476
+ 55: "#7ab0c0",
477
+ 60: "#8cc3d8",
478
+ 65: "#a0cce0",
479
+ 70: "#b1d3e5",
480
+ 75: "#bcdaeb",
481
+ 80: "#c5dfee",
482
+ 85: "#cbe4f0",
483
+ 90: "#d6e6ee",
484
+ 95: "#e3eef3",
485
+ 100: "#ffffff"
486
+ },
487
+ // Green — H=140 C=18 (forest moss)
488
+ green: {
489
+ hue: 140,
490
+ chroma: 18,
491
+ 0: "#000000",
492
+ 5: "#0c1a08",
493
+ 10: "#152511",
494
+ 15: "#1c321a",
495
+ 20: "#2c4a20",
496
+ 25: "#2c4d2a",
497
+ 30: "#3a5e2c",
498
+ 35: "#446a39",
499
+ 40: "#557c44",
500
+ 45: "#658d50",
501
+ 50: "#779e5d",
502
+ 55: "#87b06a",
503
+ 60: "#96bd76",
504
+ 65: "#a3c987",
505
+ 70: "#b5d397",
506
+ 75: "#bdd99e",
507
+ 80: "#c8e0ad",
508
+ 85: "#d4e6bd",
509
+ 90: "#dde6d4",
510
+ 95: "#eaf3df",
511
+ 100: "#ffffff"
512
+ },
513
+ // Orange — H=40 C=35 (rust copper)
514
+ orange: {
515
+ hue: 40,
516
+ chroma: 35,
517
+ 0: "#000000",
518
+ 5: "#1f0d00",
519
+ 10: "#2c1606",
520
+ 15: "#3a200d",
521
+ 20: "#6e3812",
522
+ 25: "#5a371a",
523
+ 30: "#8a4818",
524
+ 35: "#9a5824",
525
+ 40: "#a05728",
526
+ 45: "#b66839",
527
+ 50: "#c87a4a",
528
+ 55: "#d6905a",
529
+ 60: "#dca275",
530
+ 65: "#e1b288",
531
+ 70: "#e8b894",
532
+ 75: "#ebbf9d",
533
+ 80: "#eecfb5",
534
+ 85: "#efddcd",
535
+ 90: "#f3e5d8",
536
+ 95: "#f9eee5",
537
+ 100: "#ffffff"
538
+ },
539
+ // Pink — H=345 C=22 (rose madder)
540
+ pink: {
541
+ hue: 345,
542
+ chroma: 22,
543
+ 0: "#000000",
544
+ 5: "#22060e",
545
+ 10: "#2e0c16",
546
+ 15: "#3a131e",
547
+ 20: "#71223c",
548
+ 25: "#572235",
549
+ 30: "#8d2d4c",
550
+ 35: "#9b3358",
551
+ 40: "#a04563",
552
+ 45: "#a04a6e",
553
+ 50: "#b15876",
554
+ 55: "#c26988",
555
+ 60: "#cf7593",
556
+ 65: "#d56891",
557
+ 70: "#dc82a4",
558
+ 75: "#e094b1",
559
+ 80: "#e7a5be",
560
+ 85: "#ebb6ca",
561
+ 90: "#eed6df",
562
+ 95: "#f5e3eb",
563
+ 100: "#ffffff"
564
+ },
565
+ // Purple — H=290 C=30 (cathedral plum)
566
+ purple: {
567
+ hue: 290,
568
+ chroma: 30,
569
+ 0: "#000000",
570
+ 5: "#1e0c25",
571
+ 10: "#2a1334",
572
+ 15: "#371b43",
573
+ 20: "#481b58",
574
+ 25: "#502163",
575
+ 30: "#5a2370",
576
+ 35: "#6e3088",
577
+ 40: "#82409c",
578
+ 45: "#9352ad",
579
+ 50: "#a363bd",
580
+ 55: "#b06ec9",
581
+ 60: "#bb7cd1",
582
+ 65: "#c084d6",
583
+ 70: "#c692db",
584
+ 75: "#cd9be0",
585
+ 80: "#d2a3df",
586
+ 85: "#dab3e6",
587
+ 90: "#e6daee",
588
+ 95: "#f0e6f4",
589
+ 100: "#ffffff"
590
+ },
591
+ // Red — H=15 C=12 (dusty rose) — gothic uses a desaturated rose
592
+ // family rather than vibrant crimson; #c6a6a2 sits near T80.
593
+ red: {
594
+ hue: 15,
595
+ chroma: 12,
596
+ 0: "#000000",
597
+ 5: "#1c0d09",
598
+ 10: "#26140f",
599
+ 15: "#301b16",
600
+ 20: "#3a231d",
601
+ 25: "#452c25",
602
+ 30: "#50352d",
603
+ 35: "#5b3e36",
604
+ 40: "#66483e",
605
+ 45: "#725347",
606
+ 50: "#7d5e51",
607
+ 55: "#896a5b",
608
+ 60: "#957565",
609
+ 65: "#a18170",
610
+ 70: "#ad8d7b",
611
+ 75: "#b99a87",
612
+ 80: "#c6a6a2",
613
+ 85: "#d2b4af",
614
+ 90: "#dec2bc",
615
+ 95: "#ebd0ca",
616
+ 100: "#ffffff"
617
+ },
618
+ // Teal — H=170 C=20 (verdigris)
619
+ teal: {
620
+ hue: 170,
621
+ chroma: 20,
622
+ 0: "#000000",
623
+ 5: "#001b14",
624
+ 10: "#062821",
625
+ 15: "#0d3530",
626
+ 20: "#174a40",
627
+ 25: "#194e44",
628
+ 30: "#1f5e52",
629
+ 35: "#2c6c5f",
630
+ 40: "#3a7b6c",
631
+ 45: "#498a7a",
632
+ 50: "#5aa091",
633
+ 55: "#5db5a3",
634
+ 60: "#6cbeab",
635
+ 65: "#7cc5b3",
636
+ 70: "#90d0c0",
637
+ 75: "#9fd4c5",
638
+ 80: "#b1ddcf",
639
+ 85: "#c0e1d6",
640
+ 90: "#d4e7e2",
641
+ 95: "#e1efe9",
642
+ 100: "#ffffff"
643
+ },
644
+ // Yellow — H=80 C=40 (aged gold)
645
+ yellow: {
646
+ hue: 80,
647
+ chroma: 40,
648
+ 0: "#000000",
649
+ 5: "#2c1d00",
650
+ 10: "#3a2900",
651
+ 15: "#4a3500",
652
+ 20: "#6c5010",
653
+ 25: "#6c5010",
654
+ 30: "#876515",
655
+ 35: "#9c7b1f",
656
+ 40: "#b18e2f",
657
+ 45: "#c39e3e",
658
+ 50: "#cca74c",
659
+ 55: "#d6b56a",
660
+ 60: "#dec074",
661
+ 65: "#e2c884",
662
+ 70: "#e6d091",
663
+ 75: "#e9d29a",
664
+ 80: "#ebd9a7",
665
+ 85: "#ebe1c4",
666
+ 90: "#f0e8d6",
667
+ 95: "#f7f1e3",
668
+ 100: "#ffffff"
669
+ }
670
+ };
671
+ // Annotate the CommonJS export names for ESM import in node:
672
+ 0 && (module.exports = {
673
+ gothicIconRegistry,
674
+ gothicPalettes,
675
+ gothicTheme
676
+ });