@fluid-app/rep-core 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.
Files changed (45) hide show
  1. package/dist/chunk-6QLUUNJL.cjs +153 -0
  2. package/dist/chunk-6QLUUNJL.cjs.map +1 -0
  3. package/dist/chunk-EWR5EIBP.js +136 -0
  4. package/dist/chunk-EWR5EIBP.js.map +1 -0
  5. package/dist/data-sources/context.cjs +26 -0
  6. package/dist/data-sources/context.cjs.map +1 -0
  7. package/dist/data-sources/context.d.cts +16 -0
  8. package/dist/data-sources/context.d.ts +16 -0
  9. package/dist/data-sources/context.js +23 -0
  10. package/dist/data-sources/context.js.map +1 -0
  11. package/dist/data-sources/types.cjs +4 -0
  12. package/dist/data-sources/types.cjs.map +1 -0
  13. package/dist/data-sources/types.d.cts +122 -0
  14. package/dist/data-sources/types.d.ts +122 -0
  15. package/dist/data-sources/types.js +3 -0
  16. package/dist/data-sources/types.js.map +1 -0
  17. package/dist/registries/index.cjs +156 -0
  18. package/dist/registries/index.cjs.map +1 -0
  19. package/dist/registries/index.d.cts +303 -0
  20. package/dist/registries/index.d.ts +303 -0
  21. package/dist/registries/index.js +143 -0
  22. package/dist/registries/index.js.map +1 -0
  23. package/dist/shareable-item-DPmNZkE1.d.cts +138 -0
  24. package/dist/shareable-item-DPmNZkE1.d.ts +138 -0
  25. package/dist/theme/index.cjs +1013 -0
  26. package/dist/theme/index.cjs.map +1 -0
  27. package/dist/theme/index.d.cts +2680 -0
  28. package/dist/theme/index.d.ts +2680 -0
  29. package/dist/theme/index.js +956 -0
  30. package/dist/theme/index.js.map +1 -0
  31. package/dist/theme-DrMUYZTO.d.cts +22 -0
  32. package/dist/theme-DrMUYZTO.d.ts +22 -0
  33. package/dist/types/index.cjs +72 -0
  34. package/dist/types/index.cjs.map +1 -0
  35. package/dist/types/index.d.cts +227 -0
  36. package/dist/types/index.d.ts +227 -0
  37. package/dist/types/index.js +3 -0
  38. package/dist/types/index.js.map +1 -0
  39. package/dist/widget-utils/index.cjs +123 -0
  40. package/dist/widget-utils/index.cjs.map +1 -0
  41. package/dist/widget-utils/index.d.cts +43 -0
  42. package/dist/widget-utils/index.d.ts +43 -0
  43. package/dist/widget-utils/index.js +111 -0
  44. package/dist/widget-utils/index.js.map +1 -0
  45. package/package.json +99 -0
@@ -0,0 +1,956 @@
1
+ // src/theme/theme-engine.ts
2
+ var oklchString = (c) => `oklch(${c.l.toFixed(3)} ${c.c.toFixed(3)} ${c.h.toFixed(1)})`;
3
+ var parseOklch = (oklchStr) => {
4
+ const match = oklchStr.match(/oklch\(([\d.]+)\s+([\d.]+)\s+([\d.]+)\)/);
5
+ if (!match) {
6
+ return { l: 0, c: 0, h: 0 };
7
+ }
8
+ return {
9
+ l: parseFloat(match[1] || "0"),
10
+ c: parseFloat(match[2] || "0"),
11
+ h: parseFloat(match[3] || "0")
12
+ };
13
+ };
14
+ var mod = (c, dl = 0, dc = 0, dh = 0) => ({
15
+ l: Math.max(0, Math.min(1, c.l + dl)),
16
+ c: Math.max(0, c.c + dc),
17
+ h: (c.h + dh + 360) % 360
18
+ });
19
+ var rotateHue = (c, degrees) => mod(c, 0, 0, degrees);
20
+ var clampChroma = (c, maxC = 0.15) => ({
21
+ ...c,
22
+ c: Math.min(c.c, maxC)
23
+ });
24
+ var rotateSoft = (c, deg, maxC = 0.15) => clampChroma(rotateHue(c, deg), maxC);
25
+ var getForegroundColor = (foreground, color) => {
26
+ const contrast = Math.abs(foreground.l - color.l);
27
+ if (contrast < 0.7) {
28
+ foreground.l = 1 - foreground.l;
29
+ return oklchString(foreground);
30
+ }
31
+ return oklchString(foreground);
32
+ };
33
+ var shadeColor = (color, lightnessShift, chromaShift) => {
34
+ return oklchString({
35
+ l: color.l + lightnessShift,
36
+ c: color.c > 3e-3 ? color.c + chromaShift : color.c,
37
+ h: color.h
38
+ });
39
+ };
40
+ function generateColorSwatches(oklchString2) {
41
+ try {
42
+ const color = parseOklch(oklchString2);
43
+ const safeMax = color.l >= 0.885 ? 0.995 : 0.97;
44
+ const safeMin = color.l <= 0.33 ? 0 : 0.21;
45
+ const lightBase = (safeMax - color.l) / 5;
46
+ const darkBase = -(color.l - safeMin) / 8;
47
+ return [
48
+ // Light shades
49
+ shadeColor(color, 5 * lightBase, -375e-5),
50
+ shadeColor(color, 4 * lightBase, -375e-5),
51
+ shadeColor(color, 3 * lightBase, -375e-5),
52
+ shadeColor(color, 2 * lightBase, -375e-5),
53
+ shadeColor(color, lightBase, -375e-5),
54
+ // Dark shades
55
+ shadeColor(color, 1.6 * darkBase, 0.025),
56
+ shadeColor(color, 1.875 * 2 * darkBase, 0.05),
57
+ shadeColor(color, 3 * 2 * darkBase, 0.075),
58
+ shadeColor(color, 4 * 2 * darkBase, 0.1)
59
+ ];
60
+ } catch (error) {
61
+ console.error(`Failed to generate swatches for ${oklchString2}:`, error);
62
+ return [
63
+ "#f5f5f5",
64
+ "#e0e0e0",
65
+ "#cccccc",
66
+ "#b3b3b3",
67
+ "#999999",
68
+ "#666666",
69
+ "#4d4d4d",
70
+ "#333333",
71
+ "#1a1a1a"
72
+ ];
73
+ }
74
+ }
75
+ var CORE_COLOR_KEYS = [
76
+ "base",
77
+ "text",
78
+ "body",
79
+ "muted",
80
+ "mutedForeground",
81
+ "primary",
82
+ "primaryForeground",
83
+ "secondary",
84
+ "secondaryForeground",
85
+ "accent",
86
+ "accentForeground",
87
+ "destructive",
88
+ "destructiveForeground"
89
+ ];
90
+ var DEFAULT_CORE_COLORS = {
91
+ base: { l: 1, c: 0, h: 0 },
92
+ text: { l: 0, c: 0, h: 0 },
93
+ body: { l: 0.2046, c: 0, h: 0 },
94
+ muted: { l: 0.94, c: 0, h: 0 },
95
+ mutedForeground: { l: 0.4997, c: 0, h: 0 },
96
+ primary: { l: 0.6231, c: 0.188, h: 259.81 },
97
+ primaryForeground: { l: 1, c: 0, h: 0 },
98
+ secondary: { l: 0.6056, c: 0.2189, h: 292.72 },
99
+ secondaryForeground: { l: 1, c: 0, h: 0 },
100
+ accent: { l: 0.6959, c: 0.1491, h: 162.48 },
101
+ accentForeground: { l: 1, c: 0, h: 0 },
102
+ destructive: { l: 0.6368, c: 0.2078, h: 25.33 },
103
+ destructiveForeground: { l: 1, c: 0, h: 0 }
104
+ };
105
+ var themeConfigToCoreColors = (config) => ({
106
+ base: parseOklch(
107
+ config.background || config.base || oklchString(DEFAULT_CORE_COLORS.base)
108
+ ),
109
+ text: parseOklch(
110
+ config.foreground || config.text || oklchString(DEFAULT_CORE_COLORS.text)
111
+ ),
112
+ body: parseOklch(config.body || oklchString(DEFAULT_CORE_COLORS.body)),
113
+ muted: parseOklch(config.muted || oklchString(DEFAULT_CORE_COLORS.muted)),
114
+ mutedForeground: parseOklch(
115
+ config.mutedForeground || config.muted_foreground || oklchString(DEFAULT_CORE_COLORS.mutedForeground)
116
+ ),
117
+ primary: parseOklch(
118
+ config.primary || oklchString(DEFAULT_CORE_COLORS.primary)
119
+ ),
120
+ primaryForeground: parseOklch(
121
+ config.primaryForeground || config.primary_foreground || oklchString(DEFAULT_CORE_COLORS.primaryForeground)
122
+ ),
123
+ secondary: parseOklch(
124
+ config.secondary || oklchString(DEFAULT_CORE_COLORS.secondary)
125
+ ),
126
+ secondaryForeground: parseOklch(
127
+ config.secondaryForeground || config.secondary_foreground || oklchString(DEFAULT_CORE_COLORS.secondaryForeground)
128
+ ),
129
+ accent: parseOklch(config.accent || oklchString(DEFAULT_CORE_COLORS.accent)),
130
+ accentForeground: parseOklch(
131
+ config.accentForeground || config.accent_foreground || oklchString(DEFAULT_CORE_COLORS.accentForeground)
132
+ ),
133
+ destructive: parseOklch(
134
+ config.destructive || oklchString(DEFAULT_CORE_COLORS.destructive)
135
+ ),
136
+ destructiveForeground: parseOklch(
137
+ config.destructiveForeground || config.destructive_foreground || oklchString(DEFAULT_CORE_COLORS.destructiveForeground)
138
+ )
139
+ });
140
+ var coreColorsToConfig = (colors) => {
141
+ const config = {};
142
+ for (const key of CORE_COLOR_KEYS) {
143
+ config[key] = oklchString(colors[key]);
144
+ }
145
+ return config;
146
+ };
147
+ var DEFAULT_CORE_COLORS_CONFIG = coreColorsToConfig(DEFAULT_CORE_COLORS);
148
+ var THEME_MODES = {
149
+ light: "light",
150
+ dark: "dark"
151
+ };
152
+ var detectThemeMode = (core) => {
153
+ return core.base.l < 0.5 ? THEME_MODES.dark : THEME_MODES.light;
154
+ };
155
+ var toDarkMode = (core) => {
156
+ const isDark = core.base.l < 0.5;
157
+ if (isDark) return core;
158
+ return {
159
+ // Base
160
+ base: mod(core.base, 1 - core.base.l * 2),
161
+ // Make base dark
162
+ text: mod(core.text, core.text.l > 0.5 ? 0 : 0.5),
163
+ // Ensure text is light
164
+ body: mod(core.body, core.body.l > 0.5 ? 0 : 0.5),
165
+ muted: mod(core.muted, 1 - core.muted.l * 2),
166
+ mutedForeground: mod(
167
+ core.mutedForeground,
168
+ core.mutedForeground.l > 0.5 ? 0 : 0.4
169
+ ),
170
+ // Color
171
+ primary: core.primary,
172
+ primaryForeground: core.primaryForeground,
173
+ secondary: core.secondary,
174
+ secondaryForeground: core.secondaryForeground,
175
+ accent: core.accent,
176
+ accentForeground: core.accentForeground,
177
+ destructive: core.destructive,
178
+ destructiveForeground: core.destructiveForeground
179
+ };
180
+ };
181
+ var toLightMode = (core) => {
182
+ const isLight = core.base.l > 0.5;
183
+ if (isLight) return core;
184
+ return {
185
+ // Base
186
+ base: mod(core.base, 1 - core.base.l * 2),
187
+ // Make base light
188
+ text: mod(core.text, core.text.l < 0.5 ? 0.5 : -0.5),
189
+ // Ensure text is dark
190
+ body: mod(core.body, core.body.l < 0.5 ? 0.5 : -0.5),
191
+ muted: mod(core.muted, 1 - core.muted.l * 2),
192
+ mutedForeground: mod(
193
+ core.mutedForeground,
194
+ core.mutedForeground.l < 0.5 ? 0.5 : -0.4
195
+ ),
196
+ // Color
197
+ primary: core.primary,
198
+ primaryForeground: core.primaryForeground,
199
+ secondary: core.secondary,
200
+ secondaryForeground: core.secondaryForeground,
201
+ accent: core.accent,
202
+ accentForeground: core.accentForeground,
203
+ destructive: core.destructive,
204
+ destructiveForeground: core.destructiveForeground
205
+ };
206
+ };
207
+ var FONT_OPTIONS = {
208
+ Inter: "var(--font-inter)",
209
+ Eina: "var(--font-eina)"
210
+ };
211
+ var CORE_FONT_KEYS = [
212
+ "headerFont",
213
+ "bodyFont",
214
+ "extraSmall",
215
+ "small",
216
+ "regular",
217
+ "large",
218
+ "extraLarge",
219
+ "giant"
220
+ ];
221
+ var DEFAULT_FONT = {
222
+ headerFont: FONT_OPTIONS.Inter,
223
+ bodyFont: FONT_OPTIONS.Inter,
224
+ extraSmall: "0.75rem",
225
+ small: "0.875rem",
226
+ regular: "1rem",
227
+ large: "1.125rem",
228
+ extraLarge: "1.25rem",
229
+ giant: "1.5rem"
230
+ };
231
+ var fontConfigToCoreFont = (config) => {
232
+ return {
233
+ headerFont: config.headerFont || DEFAULT_FONT.headerFont,
234
+ bodyFont: config.bodyFont || DEFAULT_FONT.bodyFont,
235
+ extraSmall: config.extraSmall || DEFAULT_FONT.extraSmall,
236
+ small: config.small || DEFAULT_FONT.small,
237
+ regular: config.regular || DEFAULT_FONT.regular,
238
+ large: config.large || DEFAULT_FONT.large,
239
+ extraLarge: config.extraLarge || DEFAULT_FONT.extraLarge,
240
+ giant: config.giant || DEFAULT_FONT.giant
241
+ };
242
+ };
243
+ var CORE_SPACING_KEYS = [
244
+ "globalSpacing",
245
+ "radiusSmall",
246
+ "radiusMedium",
247
+ "radiusLarge",
248
+ "radiusExtraLarge"
249
+ ];
250
+ var DEFAULT_SPACING = {
251
+ globalSpacing: "0.25rem",
252
+ radiusSmall: "0.25rem",
253
+ radiusMedium: "0.375rem",
254
+ radiusLarge: "0.5rem",
255
+ radiusExtraLarge: "0.75rem"
256
+ };
257
+ var spacingConfigToCoreSpacing = (config) => {
258
+ return {
259
+ globalSpacing: config.globalSpacing || DEFAULT_SPACING.globalSpacing,
260
+ radiusSmall: config.radiusSmall || DEFAULT_SPACING.radiusSmall,
261
+ radiusMedium: config.radiusMedium || DEFAULT_SPACING.radiusMedium,
262
+ radiusLarge: config.radiusLarge || DEFAULT_SPACING.radiusLarge,
263
+ radiusExtraLarge: config.radiusExtraLarge || DEFAULT_SPACING.radiusExtraLarge
264
+ };
265
+ };
266
+ var CORE_NON_COLOR_KEYS = [
267
+ ...CORE_FONT_KEYS,
268
+ ...CORE_SPACING_KEYS
269
+ ];
270
+ var separatedThemeConfig = (config) => {
271
+ const ensuredConfig = [
272
+ ...CORE_NON_COLOR_KEYS,
273
+ ...CORE_COLOR_KEYS
274
+ ].reduce((acc, key) => {
275
+ acc[key] = config[key] || DEFAULT_CORE_COLORS_CONFIG[key] || DEFAULT_FONT[key] || DEFAULT_SPACING[key];
276
+ return acc;
277
+ }, {});
278
+ const colorConfig = Object.fromEntries(
279
+ Object.entries(ensuredConfig).filter(
280
+ ([key]) => CORE_COLOR_KEYS.includes(key)
281
+ )
282
+ );
283
+ const otherConfig = Object.fromEntries(
284
+ Object.entries(ensuredConfig).filter(
285
+ ([key]) => CORE_NON_COLOR_KEYS.includes(key)
286
+ )
287
+ );
288
+ return {
289
+ colorConfig,
290
+ otherConfig
291
+ };
292
+ };
293
+ var themeConfigToCoreNonColorFields = (config) => {
294
+ return {
295
+ ...fontConfigToCoreFont(config),
296
+ ...spacingConfigToCoreSpacing(config)
297
+ };
298
+ };
299
+ var globalCSSOverride = {
300
+ "--color-background-foreground": "var(--color-foreground)",
301
+ "--color-foreground-foreground": "var(--color-background)",
302
+ "--sidebar-ring": "var(--color-primary)",
303
+ "--sidebar-border": "var(--color-border)",
304
+ "--sidebar-accent-foreground": "var(--color-accent-foreground)",
305
+ "--sidebar-accent": "var(--color-accent)",
306
+ "--sidebar-primary-foreground": "var(--color-primary-foreground)",
307
+ "--sidebar-primary": "var(--color-primary)",
308
+ "--sidebar-foreground": "var(--color-muted-foreground)",
309
+ "--sidebar": "var(--color-muted)",
310
+ "--ring": "var(--color-primary)",
311
+ "--popover": "var(--color-background)",
312
+ "--popover-foreground": "var(--color-foreground)",
313
+ "--card": "var(--color-muted)",
314
+ "--card-foreground": "var(--color-muted-foreground)",
315
+ "--spacing": "var(--global-spacing)",
316
+ "--radius-sm": "var(--radius-small)",
317
+ "--radius-md": "var(--radius-medium)",
318
+ "--radius-lg": "var(--radius-large)",
319
+ "--radius-xl": "var(--radius-extra-large)",
320
+ "--text-xs": "var(--text-extra-small)",
321
+ "--text-sm": "var(--text-small)",
322
+ "--text-base": "var(--text-regular)",
323
+ "--text-lg": "var(--text-large)",
324
+ "--text-xl": "var(--text-extra-large)",
325
+ "--text-2xl": "var(--text-giant)",
326
+ "--font-sans": "var(--font-body)",
327
+ "--font-mono": "var(--font-header)"
328
+ };
329
+ function generateThemeCssVars(config, mode) {
330
+ const coreColors = themeConfigToCoreColors(config);
331
+ const coreOther = themeConfigToCoreNonColorFields(config);
332
+ const theme = generateTheme("preview", coreColors, mode, coreOther);
333
+ const cssVars = { ...globalCSSOverride };
334
+ Object.entries(theme.config).forEach(([key, value]) => {
335
+ const cssKey = `--${key.replace(/_/g, "-")}`;
336
+ cssVars[cssKey] = String(value);
337
+ if (value.startsWith("oklch(")) {
338
+ const colorVariable = cssKey.replace(/^--/, "--color-");
339
+ cssVars[colorVariable] = String(value);
340
+ const swatches = generateColorSwatches(value);
341
+ swatches.forEach((swatch, index) => {
342
+ const swatchKey = `--color-${key.replace(/_/g, "-")}-${index + 1}00`;
343
+ cssVars[swatchKey] = String(swatch);
344
+ });
345
+ }
346
+ });
347
+ return cssVars;
348
+ }
349
+ var generateTheme = (name, colorFields, mode = THEME_MODES.dark, otherFields) => {
350
+ const modeCore = mode === "dark" ? toDarkMode(colorFields) : toLightMode(colorFields);
351
+ const surface = mod(modeCore.base, (1 - modeCore.base.l) * 0.1);
352
+ const normalize = (c) => c;
353
+ const base = normalize(modeCore.base);
354
+ const text = normalize(modeCore.text);
355
+ const body = normalize(modeCore.body);
356
+ const muted = normalize(modeCore.muted);
357
+ const mutedForeground = normalize(modeCore.mutedForeground);
358
+ const primary = normalize(modeCore.primary);
359
+ const primaryForeground = normalize(modeCore.primaryForeground);
360
+ const secondary = normalize(modeCore.secondary);
361
+ const secondaryForeground = normalize(modeCore.secondaryForeground);
362
+ const accent = normalize(modeCore.accent);
363
+ const accentForeground = normalize(modeCore.accentForeground);
364
+ const destructive = normalize(modeCore.destructive);
365
+ const destructiveForeground = normalize(modeCore.destructiveForeground);
366
+ const chart1 = accent;
367
+ const chart2 = primary;
368
+ const chart3 = secondary;
369
+ const chart4 = rotateSoft(primary, 60);
370
+ const chart5 = rotateSoft(primary, 120);
371
+ const otherConfig = otherFields ?? {
372
+ ...DEFAULT_FONT,
373
+ ...DEFAULT_SPACING
374
+ };
375
+ return {
376
+ name,
377
+ mode,
378
+ config: {
379
+ // Base
380
+ background: oklchString(base),
381
+ foreground: oklchString(text),
382
+ // Body
383
+ body: oklchString(body),
384
+ // Popover
385
+ popover: oklchString(base),
386
+ popover_foreground: oklchString(text),
387
+ // Primary
388
+ primary: oklchString(primary),
389
+ primary_foreground: oklchString(primaryForeground),
390
+ // Secondary
391
+ secondary: oklchString(secondary),
392
+ secondary_foreground: oklchString(secondaryForeground),
393
+ // muted
394
+ muted: oklchString(muted),
395
+ muted_foreground: oklchString(mutedForeground),
396
+ // Accent
397
+ accent: oklchString(accent),
398
+ accent_foreground: oklchString(accentForeground),
399
+ // Destructive
400
+ destructive: oklchString(destructive),
401
+ destructive_foreground: oklchString(destructiveForeground),
402
+ // Border / input / ring
403
+ border: oklchString(surface),
404
+ input: oklchString(surface),
405
+ // Charts
406
+ chart_1: oklchString(chart1),
407
+ chart_2: oklchString(chart2),
408
+ chart_3: oklchString(chart3),
409
+ chart_4: oklchString(chart4),
410
+ chart_5: oklchString(chart5),
411
+ // Font
412
+ font_header: otherConfig.headerFont || DEFAULT_FONT.headerFont,
413
+ font_body: otherConfig.bodyFont || DEFAULT_FONT.bodyFont,
414
+ text_extra_small: otherConfig.extraSmall || DEFAULT_FONT.extraSmall,
415
+ text_small: otherConfig.small || DEFAULT_FONT.small,
416
+ text_regular: otherConfig.regular || DEFAULT_FONT.regular,
417
+ text_large: otherConfig.large || DEFAULT_FONT.large,
418
+ text_extra_large: otherConfig.extraLarge || DEFAULT_FONT.extraLarge,
419
+ text_giant: otherConfig.giant || DEFAULT_FONT.giant,
420
+ // Spacing
421
+ global_spacing: otherConfig.globalSpacing || DEFAULT_SPACING.globalSpacing,
422
+ radius_small: otherConfig.radiusSmall || DEFAULT_SPACING.radiusSmall,
423
+ radius_medium: otherConfig.radiusMedium || DEFAULT_SPACING.radiusMedium,
424
+ radius_large: otherConfig.radiusLarge || DEFAULT_SPACING.radiusLarge,
425
+ radius_extra_large: otherConfig.radiusExtraLarge || DEFAULT_SPACING.radiusExtraLarge
426
+ },
427
+ default: false
428
+ };
429
+ };
430
+ var generateDualTheme = (name, core) => {
431
+ return {
432
+ light: generateTheme(name, core, "light"),
433
+ dark: generateTheme(name, core, "dark")
434
+ };
435
+ };
436
+ var generateSmartDualTheme = (name, core) => {
437
+ const detectedMode = detectThemeMode(core);
438
+ return {
439
+ light: generateTheme(name, core, "light"),
440
+ dark: generateTheme(name, core, "dark"),
441
+ detectedMode
442
+ // Returns which mode the original core colors represent
443
+ };
444
+ };
445
+ var getThemeIdentifier = (theme) => {
446
+ return theme.id !== void 0 ? theme.id.toString() : theme.name;
447
+ };
448
+ var findThemeByIdentifier = (themes, identifier) => {
449
+ if (typeof identifier === "number") {
450
+ return themes.find((t) => t.id === identifier);
451
+ }
452
+ const numericId = parseInt(identifier, 10);
453
+ if (!isNaN(numericId)) {
454
+ const byId = themes.find((t) => t.id === numericId);
455
+ if (byId) return byId;
456
+ }
457
+ return themes.find((t) => t.name === identifier);
458
+ };
459
+ var isSameTheme = (theme1, theme2) => {
460
+ if (!theme1) return false;
461
+ if (theme1.id !== void 0 && theme2.id !== void 0) {
462
+ return theme1.id === theme2.id;
463
+ }
464
+ return theme1.name === theme2.name;
465
+ };
466
+
467
+ // src/theme/index.ts
468
+ var dracula = generateTheme("Dracula", {
469
+ // Base - Official: draculatheme.com/spec
470
+ base: { l: 0.2882, c: 0.0221, h: 277.51 },
471
+ // Official: #282A36 (Background)
472
+ text: { l: 0.9775, c: 79e-4, h: 106.55 },
473
+ // Official: #F8F8F2 (Foreground)
474
+ body: { l: 0.75, c: 0.02, h: 300 },
475
+ // Body text
476
+ muted: { l: 0.4028, c: 0.0322, h: 277.83 },
477
+ // Surface/Card bg - Official: #44475A (Current Line)
478
+ mutedForeground: { l: 0.5598, c: 0.0803, h: 270.09 },
479
+ // Official: #6272A4 (Comment)
480
+ // Color
481
+ primary: { l: 0.742, c: 0.1485, h: 301.88 },
482
+ // Official: #BD93F9 (Purple)
483
+ primaryForeground: { l: 0.15, c: 0.01, h: 275 },
484
+ secondary: { l: 0.5598, c: 0.0803, h: 270.09 },
485
+ // Official: #6272A4 (Comment)
486
+ secondaryForeground: { l: 0.15, c: 0.01, h: 245 },
487
+ accent: { l: 0.871, c: 0.2195, h: 148.02 },
488
+ // Official: #50FA7B (Green)
489
+ accentForeground: { l: 0.15, c: 0.01, h: 110 },
490
+ destructive: { l: 0.6822, c: 0.2063, h: 24.43 },
491
+ // Official: #FF5555 (Red)
492
+ destructiveForeground: { l: 0.15, c: 0.01, h: 30 }
493
+ });
494
+ var solarized = generateTheme(
495
+ "Solarized",
496
+ {
497
+ // Base - Official: ethanschoonover.com/solarized
498
+ base: { l: 0.9735, c: 0.0261, h: 90.1 },
499
+ // Official: #fdf6e3 (base3)
500
+ text: { l: 0.3092, c: 0.0518, h: 219.65 },
501
+ // Official: #073642 (base02)
502
+ body: { l: 0.523, c: 0.0283, h: 219.14 },
503
+ // Official: #586e75 (base01)
504
+ muted: { l: 0.9306, c: 0.026, h: 92.4 },
505
+ // Surface/Card bg - Official: #eee8d5 (base2)
506
+ mutedForeground: { l: 0.5682, c: 0.0285, h: 221.9 },
507
+ // Official: #657b83 (base00)
508
+ // Color
509
+ primary: { l: 0.6437, c: 0.1019, h: 187.38 },
510
+ // Official: #2aa198 (cyan)
511
+ primaryForeground: { l: 0.98, c: 0.01, h: 180 },
512
+ secondary: { l: 0.6444, c: 0.1508, h: 118.6 },
513
+ // Official: #859900 (green)
514
+ secondaryForeground: { l: 0.15, c: 0.01, h: 145 },
515
+ accent: { l: 0.6545, c: 0.134, h: 85.72 },
516
+ // Official: #b58900 (yellow)
517
+ accentForeground: { l: 0.15, c: 0.01, h: 85 },
518
+ destructive: { l: 0.5863, c: 0.2064, h: 27.12 },
519
+ // Official: #dc322f (red)
520
+ destructiveForeground: { l: 0.98, c: 0.01, h: 30 }
521
+ },
522
+ "light"
523
+ );
524
+ var gruvbox = generateTheme(
525
+ "Gruvbox",
526
+ {
527
+ // Base - Official: github.com/morhetz/gruvbox (Light mode)
528
+ base: { l: 0.9555, c: 0.0555, h: 96.15 },
529
+ // Official: #fbf1c7 (bg0 light)
530
+ text: { l: 0.3441, c: 66e-4, h: 48.52 },
531
+ // Official: #3c3836 (fg1 light)
532
+ body: { l: 0.411, c: 0.0115, h: 51.87 },
533
+ // Official: #504945 (fg2 light)
534
+ muted: { l: 0.8941, c: 0.0566, h: 89.24 },
535
+ // Surface/Card bg - Official: #ebdbb2 (bg1 light)
536
+ mutedForeground: { l: 0.5505, c: 0.0234, h: 62.57 },
537
+ // Official: #7c6f64 (gray)
538
+ // Color
539
+ primary: { l: 0.7251, c: 0.1429, h: 77.71 },
540
+ // Official: #d79921 (yellow)
541
+ primaryForeground: { l: 0.15, c: 0.01, h: 80 },
542
+ secondary: { l: 0.6564, c: 0.1354, h: 109.12 },
543
+ // Official: #98971a (green)
544
+ secondaryForeground: { l: 0.15, c: 0.01, h: 145 },
545
+ accent: { l: 0.6217, c: 0.1707, h: 45.81 },
546
+ // Official: #d65d0e (orange)
547
+ accentForeground: { l: 0.15, c: 0.01, h: 35 },
548
+ destructive: { l: 0.5458, c: 0.203, h: 28.66 },
549
+ // Official: #cc241d (red)
550
+ destructiveForeground: { l: 0.98, c: 0.01, h: 30 }
551
+ },
552
+ "light"
553
+ );
554
+ var monokai = generateTheme("Monokai", {
555
+ // Base - Official: Sublime Text Monokai
556
+ base: { l: 0.2737, c: 0.0109, h: 114.8 },
557
+ // Official: #272822 (Background)
558
+ text: { l: 0.9775, c: 79e-4, h: 106.55 },
559
+ // Official: #F8F8F2 (Foreground)
560
+ body: { l: 0.75, c: 0.04, h: 90 },
561
+ // Body text
562
+ muted: { l: 0.3574, c: 0.0184, h: 103 },
563
+ // Surface/Card bg - Official: #3E3D32 (Line hig
564
+ mutedForeground: { l: 0.5467, c: 0.0288, h: 97.39 },
565
+ // Official: #75715E (Comment)
566
+ // Color
567
+ primary: { l: 0.8792, c: 0.1255, h: 103.18 },
568
+ // Official: #E6DB74 (Yellow)
569
+ primaryForeground: { l: 0.15, c: 0.01, h: 60 },
570
+ secondary: { l: 0.6416, c: 0.24, h: 7.47 },
571
+ // Official: #F92672 (Pink)
572
+ secondaryForeground: { l: 0.15, c: 0.01, h: 300 },
573
+ accent: { l: 0.8414, c: 0.2044, h: 127.29 },
574
+ // Official: #A6E22E (Green)
575
+ accentForeground: { l: 0.15, c: 0.01, h: 110 },
576
+ destructive: { l: 0.6416, c: 0.24, h: 7.47 },
577
+ // Official: #F92672 (Red/Pink)
578
+ destructiveForeground: { l: 0.98, c: 0.01, h: 20 }
579
+ });
580
+ var tokyoNight = generateTheme("Tokyo Night", {
581
+ // Base - Official: github.com/folke/tokyonight.nvim
582
+ base: { l: 0.2263, c: 0.0214, h: 280.49 },
583
+ // Official: #1a1b26 (bg)
584
+ text: { l: 0.8456, c: 0.0611, h: 274.76 },
585
+ // Official: #c0caf5 (fg)
586
+ body: { l: 0.7666, c: 0.0537, h: 275.49 },
587
+ // Official: #a9b1d6 (fg_dark)
588
+ muted: { l: 0.2819, c: 0.0355, h: 274.75 },
589
+ // Surface/Card bg - Official: #24283b (bg_highlight)
590
+ mutedForeground: { l: 0.4955, c: 0.0682, h: 274.37 },
591
+ // Official: #565f89 (comment)
592
+ // Color
593
+ primary: { l: 0.719, c: 0.1322, h: 264.2 },
594
+ // Official: #7aa2f7 (blue)
595
+ primaryForeground: { l: 0.15, c: 0.01, h: 260 },
596
+ secondary: { l: 0.7515, c: 0.1344, h: 299.5 },
597
+ // Official: #bb9af7 (magenta)
598
+ secondaryForeground: { l: 0.15, c: 0.01, h: 295 },
599
+ accent: { l: 0.7839, c: 0.1057, h: 75.43 },
600
+ // Official: #e0af68 (yellow)
601
+ accentForeground: { l: 0.15, c: 0.01, h: 80 },
602
+ destructive: { l: 0.7227, c: 0.1589, h: 10.28 },
603
+ // Official: #f7768e (red)
604
+ destructiveForeground: { l: 0.15, c: 0.01, h: 20 }
605
+ });
606
+ var rosePine = generateTheme("Rose Pine", {
607
+ // Base - Official: rosepinetheme.com/palette
608
+ base: { l: 0.2134, c: 0.0255, h: 291.13 },
609
+ // Official: #191724 (Base)
610
+ text: { l: 0.9088, c: 0.0299, h: 289.97 },
611
+ // Official: #e0def4 (Text)
612
+ body: { l: 0.6539, c: 0.0444, h: 291.23 },
613
+ // Official: #908caa (Subtle)
614
+ muted: { l: 0.2413, c: 0.0322, h: 289.14 },
615
+ // Surface/Card bg - Official: #1f1d2e (Surface)
616
+ mutedForeground: { l: 0.5383, c: 0.0435, h: 291.41 },
617
+ // Official: #6e6a86 (Muted)
618
+ // Color
619
+ primary: { l: 0.8363, c: 0.0544, h: 21.14 },
620
+ // Official: #ebbcba (Rose)
621
+ primaryForeground: { l: 0.15, c: 0.01, h: 345 },
622
+ secondary: { l: 0.5277, c: 0.0793, h: 227.72 },
623
+ // Official: #31748f (Pine)
624
+ secondaryForeground: { l: 0.15, c: 0.01, h: 155 },
625
+ accent: { l: 0.776, c: 0.0945, h: 304.99 },
626
+ // Official: #c4a7e7 (Iris)
627
+ accentForeground: { l: 0.15, c: 0.01, h: 270 },
628
+ destructive: { l: 0.6977, c: 0.1565, h: 4.22 },
629
+ // Official: #eb6f92 (Love)
630
+ destructiveForeground: { l: 0.15, c: 0.01, h: 25 }
631
+ });
632
+ var everforest = generateTheme(
633
+ "Everforest",
634
+ {
635
+ // Base - Official: github.com/sainnhe/everforest (Light mode)
636
+ base: { l: 0.9735, c: 0.0261, h: 90.1 },
637
+ // Official: #fdf6e3 (bg0 light medium)
638
+ text: { l: 0.5154, c: 0.0212, h: 232.87 },
639
+ // Official: #5c6a72 (fg)
640
+ body: { l: 0.6398, c: 0.0292, h: 143.51 },
641
+ // Official: #829181 (grey2)
642
+ muted: { l: 0.9522, c: 0.0306, h: 98.86 },
643
+ // Surface/Card bg - Official: #f4f0d9 (bg1 light)
644
+ mutedForeground: { l: 0.6888, c: 0.0243, h: 141.21 },
645
+ // Official: #939f91 (grey1)
646
+ // Color
647
+ primary: { l: 0.6697, c: 0.156, h: 118.23 },
648
+ // Official: #8da101 (green)
649
+ primaryForeground: { l: 0.98, c: 0.01, h: 140 },
650
+ secondary: { l: 0.7466, c: 0.1545, h: 80.27 },
651
+ // Official: #dfa000 (yellow)
652
+ secondaryForeground: { l: 0.15, c: 0.01, h: 60 },
653
+ accent: { l: 0.7147, c: 0.1729, h: 50.75 },
654
+ // Official: #f57d26 (orange)
655
+ accentForeground: { l: 0.15, c: 0.01, h: 30 },
656
+ destructive: { l: 0.6707, c: 0.1996, h: 25.2 },
657
+ // Official: #f85552 (red)
658
+ destructiveForeground: { l: 0.98, c: 0.01, h: 20 }
659
+ },
660
+ "light"
661
+ );
662
+ var nord = generateTheme("Nord", {
663
+ // Base - Official: nordtheme.com
664
+ base: { l: 0.3244, c: 0.0229, h: 264.18 },
665
+ // Official: #2e3440 (nord0 - Polar Night)
666
+ text: { l: 0.9513, c: 74e-4, h: 260.73 },
667
+ // Official: #eceff4 (nord6 - Snow Storm)
668
+ body: { l: 0.8993, c: 0.0164, h: 262.75 },
669
+ // Official: #d8dee9 (nord4 - Snow Storm)
670
+ muted: { l: 0.3792, c: 0.029, h: 266.47 },
671
+ // Surface/Card bg - Official: #3b4252 (nord1)
672
+ mutedForeground: { l: 0.4523, c: 0.0352, h: 264.13 },
673
+ // Official: #4c566a (nord3)
674
+ // Color
675
+ primary: { l: 0.7746, c: 0.0622, h: 217.47 },
676
+ // Official: #88c0d0 (nord8 - Frost)
677
+ primaryForeground: { l: 0.15, c: 0.01, h: 210 },
678
+ secondary: { l: 0.7629, c: 0.0477, h: 194.49 },
679
+ // Official: #8fbcbb (nord7 - Frost)
680
+ secondaryForeground: { l: 0.15, c: 0.01, h: 190 },
681
+ accent: { l: 0.6921, c: 0.0625, h: 332.66 },
682
+ // Official: #b48ead (nord15 - Aurora)
683
+ accentForeground: { l: 0.15, c: 0.01, h: 250 },
684
+ destructive: { l: 0.6061, c: 0.1206, h: 15.34 },
685
+ // Official: #bf616a (nord11 - Aurora)
686
+ destructiveForeground: { l: 0.98, c: 0.01, h: 25 }
687
+ });
688
+ var catppuccinMocha = generateTheme("Catppuccin Mocha", {
689
+ // Base - Official: catppuccin.com/palette (Mocha variant)
690
+ base: { l: 0.2429, c: 0.0304, h: 283.91 },
691
+ // Official: #1e1e2e (Base)
692
+ text: { l: 0.8787, c: 0.0426, h: 272.28 },
693
+ // Official: #cdd6f4 (Text)
694
+ body: { l: 0.8168, c: 0.0403, h: 272.86 },
695
+ // Official: #bac2de (Subtext 1)
696
+ muted: { l: 0.2155, c: 0.0254, h: 284.06 },
697
+ // Surface/Card bg - Official: #181825 (Mantle)
698
+ mutedForeground: { l: 0.751, c: 0.0396, h: 273.93 },
699
+ // Official: #a6adc8 (Subtext 0)
700
+ // Color
701
+ primary: { l: 0.7664, c: 0.1113, h: 259.88 },
702
+ // Official: #89b4fa (Blue)
703
+ primaryForeground: { l: 0.15, c: 0.01, h: 255 },
704
+ secondary: { l: 0.7871, c: 0.1187, h: 304.77 },
705
+ // Official: #cba6f7 (Mauve)
706
+ secondaryForeground: { l: 0.15, c: 0.01, h: 294 },
707
+ accent: { l: 0.9193, c: 0.0704, h: 86.53 },
708
+ // Official: #f9e2af (Yellow)
709
+ accentForeground: { l: 0.15, c: 0.01, h: 72 },
710
+ destructive: { l: 0.7556, c: 0.1297, h: 2.76 },
711
+ // Official: #f38ba8 (Red)
712
+ destructiveForeground: { l: 0.15, c: 0.01, h: 22 }
713
+ });
714
+ var nordifiedCatppuccin = generateTheme("Nordified Catppuccin", {
715
+ // Base - Custom hybrid: Nord backgrounds + Catppuccin accents
716
+ base: parseOklch(nord.config.background),
717
+ text: parseOklch(nord.config.foreground),
718
+ body: parseOklch(nord.config.body),
719
+ muted: parseOklch(nord.config.muted),
720
+ mutedForeground: parseOklch(nord.config.muted_foreground),
721
+ // Color - Catppuccin accent colors
722
+ primary: parseOklch(catppuccinMocha.config.primary),
723
+ primaryForeground: parseOklch(catppuccinMocha.config.primary_foreground),
724
+ secondary: parseOklch(catppuccinMocha.config.secondary),
725
+ secondaryForeground: parseOklch(catppuccinMocha.config.secondary_foreground),
726
+ accent: parseOklch(catppuccinMocha.config.accent),
727
+ accentForeground: parseOklch(catppuccinMocha.config.accent_foreground),
728
+ destructive: parseOklch(catppuccinMocha.config.destructive),
729
+ destructiveForeground: parseOklch(
730
+ catppuccinMocha.config.destructive_foreground
731
+ )
732
+ });
733
+ var christmas = generateTheme("Christmas", {
734
+ // Base - Custom holiday theme
735
+ base: { l: 0.22, c: 0.04, h: 150 },
736
+ // Dark forest green
737
+ text: { l: 0.95, c: 0.02, h: 100 },
738
+ // Snow white
739
+ body: { l: 0.85, c: 0.02, h: 100 },
740
+ // Body text
741
+ muted: { l: 0.15, c: 0.04, h: 150 },
742
+ // Surface/Card bg - Darker green
743
+ mutedForeground: { l: 0.65, c: 0.02, h: 100 },
744
+ // Muted snow
745
+ // Color
746
+ primary: { l: 0.6, c: 0.15, h: 30 },
747
+ // Christmas red
748
+ primaryForeground: { l: 0.98, c: 0.01, h: 30 },
749
+ secondary: { l: 0.7, c: 0.12, h: 140 },
750
+ // Bright holiday green
751
+ secondaryForeground: { l: 0.15, c: 0.01, h: 140 },
752
+ accent: { l: 0.85, c: 0.12, h: 90 },
753
+ // Warm gold highlight
754
+ accentForeground: { l: 0.15, c: 0.01, h: 90 },
755
+ destructive: { l: 0.55, c: 0.18, h: 25 },
756
+ // Stronger red
757
+ destructiveForeground: { l: 0.98, c: 0.01, h: 25 }
758
+ });
759
+ var pastel = generateTheme("Pastel", {
760
+ // Base - Custom soft pastel theme
761
+ base: { l: 0.95, c: 0.03, h: 210 },
762
+ // Soft light blue-tinted base
763
+ text: { l: 0.25, c: 0.03, h: 210 },
764
+ // Soft dark text
765
+ body: { l: 0.35, c: 0.03, h: 210 },
766
+ // Body text
767
+ muted: { l: 0.89, c: 0.03, h: 210 },
768
+ // Surface/Card bg - Slightly darker
769
+ mutedForeground: { l: 0.5, c: 0.03, h: 210 },
770
+ // Muted foreground
771
+ // Color
772
+ primary: { l: 0.55, c: 0.12, h: 200 },
773
+ // Pastel blue
774
+ primaryForeground: { l: 0.98, c: 0.01, h: 200 },
775
+ secondary: { l: 0.55, c: 0.12, h: 320 },
776
+ // Pastel pink
777
+ secondaryForeground: { l: 0.98, c: 0.01, h: 320 },
778
+ accent: { l: 0.6, c: 0.13, h: 80 },
779
+ // Pastel yellow
780
+ accentForeground: { l: 0.98, c: 0.01, h: 80 },
781
+ destructive: { l: 0.5, c: 0.15, h: 25 },
782
+ // Pastel red
783
+ destructiveForeground: { l: 0.98, c: 0.01, h: 25 }
784
+ });
785
+ var neon = generateTheme("Neon", {
786
+ // Base - Custom vibrant neon theme
787
+ base: { l: 0.1, c: 0.03, h: 260 },
788
+ // Deep dark purple-tinted base
789
+ text: { l: 0.9, c: 0.05, h: 260 },
790
+ // Bright neon text
791
+ body: { l: 0.8, c: 0.04, h: 260 },
792
+ // Body text
793
+ muted: { l: 0.18, c: 0.02, h: 260 },
794
+ // Surface/Card bg - Slightly lighter
795
+ mutedForeground: { l: 0.55, c: 0.04, h: 260 },
796
+ // Muted foreground
797
+ // Color - High saturation neon accents
798
+ primary: { l: 0.6, c: 0.2, h: 180 },
799
+ // Neon cyan
800
+ primaryForeground: { l: 0.1, c: 0.01, h: 180 },
801
+ secondary: { l: 0.6, c: 0.2, h: 300 },
802
+ // Neon magenta
803
+ secondaryForeground: { l: 0.1, c: 0.01, h: 300 },
804
+ accent: { l: 0.55, c: 0.2, h: 90 },
805
+ // Neon green
806
+ accentForeground: { l: 0.1, c: 0.01, h: 90 },
807
+ destructive: { l: 0.55, c: 0.22, h: 20 },
808
+ // Neon red
809
+ destructiveForeground: { l: 0.1, c: 0.01, h: 20 }
810
+ });
811
+ var highContrast = generateTheme("High Contrast", {
812
+ // Base - Custom accessibility theme (max contrast)
813
+ base: { l: 0, c: 0, h: 0 },
814
+ // Pure black #000000
815
+ text: { l: 1, c: 0, h: 0 },
816
+ // Pure white #ffffff
817
+ body: { l: 0.9, c: 0, h: 0 },
818
+ // Body text
819
+ muted: { l: 0.12, c: 0, h: 0 },
820
+ // Surface/Card bg - Near black
821
+ mutedForeground: { l: 0.6, c: 0, h: 0 },
822
+ // Muted gray
823
+ // Color - Maximum saturation for visibility
824
+ primary: { l: 0.5, c: 0.25, h: 260 },
825
+ // Saturated blue
826
+ primaryForeground: { l: 1, c: 0, h: 0 },
827
+ secondary: { l: 0.5, c: 0.25, h: 120 },
828
+ // Saturated green
829
+ secondaryForeground: { l: 1, c: 0, h: 0 },
830
+ accent: { l: 0.5, c: 0.25, h: 60 },
831
+ // Saturated yellow
832
+ accentForeground: { l: 0, c: 0, h: 0 },
833
+ destructive: { l: 0.5, c: 0.25, h: 0 },
834
+ // Saturated red
835
+ destructiveForeground: { l: 1, c: 0, h: 0 }
836
+ });
837
+ var ocean = generateTheme(
838
+ "Ocean",
839
+ {
840
+ // Base - Custom blue ocean theme
841
+ base: { l: 0.25, c: 0.03, h: 220 },
842
+ // Deep ocean blue
843
+ text: { l: 0.85, c: 0.02, h: 220 },
844
+ // Light seafoam text
845
+ body: { l: 0.75, c: 0.02, h: 220 },
846
+ // Body text
847
+ muted: { l: 0.33, c: 0.02, h: 220 },
848
+ // Surface/Card bg - Lighter ocean
849
+ mutedForeground: { l: 0.55, c: 0.02, h: 220 },
850
+ // Muted foreground
851
+ // Color
852
+ primary: { l: 0.65, c: 0.12, h: 200 },
853
+ // Ocean blue
854
+ primaryForeground: { l: 0.15, c: 0.01, h: 200 },
855
+ secondary: { l: 0.7, c: 0.1, h: 180 },
856
+ // Teal
857
+ secondaryForeground: { l: 0.15, c: 0.01, h: 180 },
858
+ accent: { l: 0.75, c: 0.08, h: 160 },
859
+ // Aqua
860
+ accentForeground: { l: 0.15, c: 0.01, h: 160 },
861
+ destructive: { l: 0.6, c: 0.14, h: 25 },
862
+ // Coral red
863
+ destructiveForeground: { l: 0.98, c: 0.01, h: 25 }
864
+ },
865
+ "light"
866
+ );
867
+ var forest = generateTheme(
868
+ "Forest",
869
+ {
870
+ // Base - Custom nature green theme
871
+ base: { l: 0.28, c: 0.04, h: 140 },
872
+ // Deep forest green
873
+ text: { l: 0.88, c: 0.03, h: 100 },
874
+ // Light cream text
875
+ body: { l: 0.78, c: 0.03, h: 100 },
876
+ // Body text
877
+ muted: { l: 0.36, c: 0.03, h: 140 },
878
+ // Surface/Card bg - Lighter forest
879
+ mutedForeground: { l: 0.58, c: 0.03, h: 100 },
880
+ // Muted foreground
881
+ // Color
882
+ primary: { l: 0.65, c: 0.12, h: 145 },
883
+ // Forest green
884
+ primaryForeground: { l: 0.15, c: 0.01, h: 145 },
885
+ secondary: { l: 0.7, c: 0.1, h: 80 },
886
+ // Olive
887
+ secondaryForeground: { l: 0.15, c: 0.01, h: 80 },
888
+ accent: { l: 0.8, c: 0.1, h: 60 },
889
+ // Golden
890
+ accentForeground: { l: 0.15, c: 0.01, h: 60 },
891
+ destructive: { l: 0.6, c: 0.14, h: 30 },
892
+ // Burnt orange
893
+ destructiveForeground: { l: 0.98, c: 0.01, h: 30 }
894
+ },
895
+ "light"
896
+ );
897
+ var sunset = generateTheme(
898
+ "Sunset",
899
+ {
900
+ // Base - Custom warm sunset theme
901
+ base: { l: 0.26, c: 0.04, h: 30 },
902
+ // Deep warm brown
903
+ text: { l: 0.9, c: 0.03, h: 60 },
904
+ // Warm cream text
905
+ body: { l: 0.8, c: 0.03, h: 60 },
906
+ // Body text
907
+ muted: { l: 0.34, c: 0.03, h: 30 },
908
+ // Surface/Card bg - Lighter warm brown
909
+ mutedForeground: { l: 0.58, c: 0.03, h: 60 },
910
+ // Muted foreground
911
+ // Color
912
+ primary: { l: 0.7, c: 0.15, h: 25 },
913
+ // Warm orange
914
+ primaryForeground: { l: 0.15, c: 0.01, h: 25 },
915
+ secondary: { l: 0.68, c: 0.16, h: 350 },
916
+ // Pink
917
+ secondaryForeground: { l: 0.15, c: 0.01, h: 350 },
918
+ accent: { l: 0.75, c: 0.14, h: 50 },
919
+ // Yellow-orange
920
+ accentForeground: { l: 0.15, c: 0.01, h: 50 },
921
+ destructive: { l: 0.6, c: 0.18, h: 20 },
922
+ // Red
923
+ destructiveForeground: { l: 0.98, c: 0.01, h: 20 }
924
+ },
925
+ "light"
926
+ );
927
+ var defaultTheme = generateTheme(
928
+ "Default",
929
+ DEFAULT_CORE_COLORS,
930
+ "light"
931
+ );
932
+ var BUILT_IN_THEMES = {
933
+ Default: defaultTheme,
934
+ Dracula: dracula,
935
+ Solarized: solarized,
936
+ Gruvbox: gruvbox,
937
+ Monokai: monokai,
938
+ "Tokyo Night": tokyoNight,
939
+ "Rose Pine": rosePine,
940
+ Everforest: everforest,
941
+ Nord: nord,
942
+ "Catppuccin Mocha": catppuccinMocha,
943
+ "Nordified Catppuccin": nordifiedCatppuccin,
944
+ Christmas: christmas,
945
+ Pastel: pastel,
946
+ Neon: neon,
947
+ "High Contrast": highContrast,
948
+ Ocean: ocean,
949
+ Forest: forest,
950
+ Sunset: sunset
951
+ };
952
+ var allThemes = BUILT_IN_THEMES;
953
+
954
+ export { BUILT_IN_THEMES, CORE_COLOR_KEYS, CORE_FONT_KEYS, CORE_NON_COLOR_KEYS, CORE_SPACING_KEYS, DEFAULT_CORE_COLORS, DEFAULT_CORE_COLORS_CONFIG, DEFAULT_FONT, DEFAULT_SPACING, FONT_OPTIONS, THEME_MODES, allThemes, catppuccinMocha, christmas, clampChroma, coreColorsToConfig, defaultTheme, detectThemeMode, dracula, everforest, findThemeByIdentifier, fontConfigToCoreFont, forest, generateColorSwatches, generateDualTheme, generateSmartDualTheme, generateTheme, generateThemeCssVars, getForegroundColor, getThemeIdentifier, globalCSSOverride, gruvbox, highContrast, isSameTheme, mod, monokai, neon, nord, nordifiedCatppuccin, ocean, oklchString, parseOklch, pastel, rosePine, rotateHue, rotateSoft, separatedThemeConfig, shadeColor, solarized, spacingConfigToCoreSpacing, sunset, themeConfigToCoreColors, themeConfigToCoreNonColorFields, toDarkMode, toLightMode, tokyoNight };
955
+ //# sourceMappingURL=index.js.map
956
+ //# sourceMappingURL=index.js.map