@puzzle-ui/theme 0.4.0 → 0.5.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 (62) hide show
  1. package/README.md +58 -4
  2. package/dist/cli.cjs +96 -0
  3. package/dist/cli.cjs.map +1 -0
  4. package/dist/cli.d.cts +1 -0
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.js +97 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/constants.cjs +21 -21
  9. package/dist/constants.cjs.map +1 -1
  10. package/dist/constants.d.cts +8 -8
  11. package/dist/constants.d.ts +8 -8
  12. package/dist/constants.js +21 -21
  13. package/dist/constants.js.map +1 -1
  14. package/dist/fonts/constants.cjs +3 -3
  15. package/dist/fonts/constants.cjs.map +1 -1
  16. package/dist/fonts/constants.js +3 -3
  17. package/dist/fonts/constants.js.map +1 -1
  18. package/dist/fonts/create-font-preload-filename.cjs +9 -0
  19. package/dist/fonts/create-font-preload-filename.cjs.map +1 -0
  20. package/dist/fonts/create-font-preload-filename.js +9 -0
  21. package/dist/fonts/create-font-preload-filename.js.map +1 -0
  22. package/dist/fonts/create-google-font-url.cjs +3 -2
  23. package/dist/fonts/create-google-font-url.cjs.map +1 -1
  24. package/dist/fonts/create-google-font-url.js +3 -2
  25. package/dist/fonts/create-google-font-url.js.map +1 -1
  26. package/dist/fonts/create-local-font-stylesheet-url.cjs +10 -0
  27. package/dist/fonts/create-local-font-stylesheet-url.cjs.map +1 -0
  28. package/dist/fonts/create-local-font-stylesheet-url.js +10 -0
  29. package/dist/fonts/create-local-font-stylesheet-url.js.map +1 -0
  30. package/dist/fonts/download-google-fonts.cjs +138 -0
  31. package/dist/fonts/download-google-fonts.cjs.map +1 -0
  32. package/dist/fonts/download-google-fonts.js +138 -0
  33. package/dist/fonts/download-google-fonts.js.map +1 -0
  34. package/dist/fonts/google-font.cjs +18 -8
  35. package/dist/fonts/google-font.cjs.map +1 -1
  36. package/dist/fonts/google-font.d.cts +11 -3
  37. package/dist/fonts/google-font.d.ts +11 -3
  38. package/dist/fonts/google-font.js +18 -8
  39. package/dist/fonts/google-font.js.map +1 -1
  40. package/dist/fonts/index.d.cts +2 -2
  41. package/dist/fonts/resolve-font-config.cjs +4 -1
  42. package/dist/fonts/resolve-font-config.cjs.map +1 -1
  43. package/dist/fonts/resolve-font-config.js +4 -1
  44. package/dist/fonts/resolve-font-config.js.map +1 -1
  45. package/dist/fonts/resolve-font-stylesheets.cjs +7 -1
  46. package/dist/fonts/resolve-font-stylesheets.cjs.map +1 -1
  47. package/dist/fonts/resolve-font-stylesheets.js +7 -1
  48. package/dist/fonts/resolve-font-stylesheets.js.map +1 -1
  49. package/dist/fonts/types.d.cts +12 -1
  50. package/dist/fonts/types.d.ts +12 -1
  51. package/dist/global.css +24 -24
  52. package/dist/index.d.cts +2 -2
  53. package/dist/index.d.ts +2 -2
  54. package/dist/theme-scopes.css +3 -3
  55. package/dist/theme.cjs +26 -4
  56. package/dist/theme.cjs.map +1 -1
  57. package/dist/theme.css +16 -16
  58. package/dist/theme.d.cts +27 -3
  59. package/dist/theme.d.ts +27 -3
  60. package/dist/theme.js +26 -4
  61. package/dist/theme.js.map +1 -1
  62. package/package.json +10 -4
@@ -56,7 +56,7 @@ export declare const COLOR_THEMES: {
56
56
  readonly ring: "#C4B5FD";
57
57
  readonly success: "#15803D";
58
58
  readonly successForeground: "#FFFFFF";
59
- readonly warning: "#A16207";
59
+ readonly warning: "#FABC0A";
60
60
  readonly warningForeground: "#FFFFFF";
61
61
  readonly danger: "#BE123C";
62
62
  readonly dangerForeground: "#FFFFFF";
@@ -92,7 +92,7 @@ export declare const COLOR_THEMES: {
92
92
  readonly ring: "#6EE7B7";
93
93
  readonly success: "#15803D";
94
94
  readonly successForeground: "#FFFFFF";
95
- readonly warning: "#A16207";
95
+ readonly warning: "#FABC0A";
96
96
  readonly warningForeground: "#FFFFFF";
97
97
  readonly danger: "#B91C1C";
98
98
  readonly dangerForeground: "#FFFFFF";
@@ -128,7 +128,7 @@ export declare const COLOR_THEMES: {
128
128
  readonly ring: "#FDBA74";
129
129
  readonly success: "#15803D";
130
130
  readonly successForeground: "#FFFFFF";
131
- readonly warning: "#A16207";
131
+ readonly warning: "#FABC0A";
132
132
  readonly warningForeground: "#FFFFFF";
133
133
  readonly danger: "#B91C1C";
134
134
  readonly dangerForeground: "#FFFFFF";
@@ -200,7 +200,7 @@ export declare const COLOR_THEMES: {
200
200
  readonly ring: "#5EEAD4";
201
201
  readonly success: "#15803D";
202
202
  readonly successForeground: "#FFFFFF";
203
- readonly warning: "#A16207";
203
+ readonly warning: "#FABC0A";
204
204
  readonly warningForeground: "#FFFFFF";
205
205
  readonly danger: "#B91C1C";
206
206
  readonly dangerForeground: "#FFFFFF";
@@ -236,7 +236,7 @@ export declare const COLOR_THEMES: {
236
236
  readonly ring: "#D8B4FE";
237
237
  readonly success: "#15803D";
238
238
  readonly successForeground: "#FFFFFF";
239
- readonly warning: "#A16207";
239
+ readonly warning: "#FABC0A";
240
240
  readonly warningForeground: "#FFFFFF";
241
241
  readonly danger: "#B91C1C";
242
242
  readonly dangerForeground: "#FFFFFF";
@@ -272,7 +272,7 @@ export declare const COLOR_THEMES: {
272
272
  readonly ring: "#67E8F9";
273
273
  readonly success: "#15803D";
274
274
  readonly successForeground: "#FFFFFF";
275
- readonly warning: "#A16207";
275
+ readonly warning: "#FABC0A";
276
276
  readonly warningForeground: "#FFFFFF";
277
277
  readonly danger: "#B91C1C";
278
278
  readonly dangerForeground: "#FFFFFF";
@@ -308,7 +308,7 @@ export declare const COLOR_THEMES: {
308
308
  readonly ring: "#FDBA74";
309
309
  readonly success: "#15803D";
310
310
  readonly successForeground: "#FFFFFF";
311
- readonly warning: "#A16207";
311
+ readonly warning: "#FABC0A";
312
312
  readonly warningForeground: "#FFFFFF";
313
313
  readonly danger: "#B91C1C";
314
314
  readonly dangerForeground: "#FFFFFF";
@@ -344,7 +344,7 @@ export declare const COLOR_THEMES: {
344
344
  readonly ring: "#A5B4FC";
345
345
  readonly success: "#15803D";
346
346
  readonly successForeground: "#FFFFFF";
347
- readonly warning: "#A16207";
347
+ readonly warning: "#FABC0A";
348
348
  readonly warningForeground: "#FFFFFF";
349
349
  readonly danger: "#B91C1C";
350
350
  readonly dangerForeground: "#FFFFFF";
package/dist/constants.js CHANGED
@@ -20,26 +20,26 @@ const DEFAULT_TOKENS = {
20
20
  background: "#FCFCFC",
21
21
  surface: "#FFFFFF",
22
22
  surfaceElevated: "#FFFFFF",
23
- surfaceSunken: "#F7F7F7",
23
+ surfaceSunken: "#F0F0F0",
24
24
  text: "#171A35",
25
25
  textMuted: "#5F6485",
26
26
  textSubtle: "#8B91B3",
27
27
  border: "#E0E5F5",
28
28
  borderStrong: "#C4CBE6",
29
- primary: "#0284C7",
29
+ primary: "#0277B5",
30
30
  primaryForeground: "#FFFFFF",
31
- secondary: "#075985",
31
+ secondary: "#475569",
32
32
  secondaryForeground: "#FFFFFF",
33
- accent: "#06B6D4",
33
+ accent: "#6D28D9",
34
34
  accentForeground: "#FFFFFF",
35
35
  ring: "#A5B4FC",
36
36
  success: "#15803D",
37
37
  successForeground: "#FFFFFF",
38
- warning: "#A16207",
38
+ warning: "#FABC0A",
39
39
  warningForeground: "#FFFFFF",
40
40
  danger: "#B91C1C",
41
41
  dangerForeground: "#FFFFFF",
42
- info: "#0369A1",
42
+ info: "#1D4ED8",
43
43
  infoForeground: "#FFFFFF"
44
44
  },
45
45
  dark: {
@@ -54,10 +54,10 @@ const DEFAULT_TOKENS = {
54
54
  borderStrong: "#4a555d",
55
55
  primary: "#38BDF8",
56
56
  primaryForeground: "#082F49",
57
- secondary: "#7DD3FC",
58
- secondaryForeground: "#082F49",
59
- accent: "#22D3EE",
60
- accentForeground: "#083344",
57
+ secondary: "#94A3B8",
58
+ secondaryForeground: "#0F172A",
59
+ accent: "#C4B5FD",
60
+ accentForeground: "#1E1B4B",
61
61
  ring: "#93c5fd",
62
62
  success: "#4ade80",
63
63
  successForeground: "#052e16",
@@ -65,8 +65,8 @@ const DEFAULT_TOKENS = {
65
65
  warningForeground: "#422006",
66
66
  danger: "#f87171",
67
67
  dangerForeground: "#450a0a",
68
- info: "#38bdf8",
69
- infoForeground: "#082f49"
68
+ info: "#818CF8",
69
+ infoForeground: "#1E1B4B"
70
70
  }
71
71
  },
72
72
  typography: {
@@ -176,7 +176,7 @@ const DEFAULT_TOKENS = {
176
176
  8: "0 25px 50px -12px rgb(0 0 0 / 0.20)",
177
177
  12: "0 35px 60px -15px rgb(0 0 0 / 0.22)",
178
178
  16: "0 45px 80px -20px rgb(0 0 0 / 0.25)",
179
- 24: "0 60px 100px -25px rgb(0 0 0 / 0.30)"
179
+ 24: "0 60px 100px -20px rgb(0 0 0 / 0.40), 0 24px 40px -12px rgb(0 0 0 / 0.25)"
180
180
  },
181
181
  motion: {
182
182
  fast: "120ms",
@@ -255,7 +255,7 @@ const COLOR_THEMES = {
255
255
  ring: "#C4B5FD",
256
256
  success: "#15803D",
257
257
  successForeground: "#FFFFFF",
258
- warning: "#A16207",
258
+ warning: "#FABC0A",
259
259
  warningForeground: "#FFFFFF",
260
260
  danger: "#BE123C",
261
261
  dangerForeground: "#FFFFFF",
@@ -291,7 +291,7 @@ const COLOR_THEMES = {
291
291
  ring: "#6EE7B7",
292
292
  success: "#15803D",
293
293
  successForeground: "#FFFFFF",
294
- warning: "#A16207",
294
+ warning: "#FABC0A",
295
295
  warningForeground: "#FFFFFF",
296
296
  danger: "#B91C1C",
297
297
  dangerForeground: "#FFFFFF",
@@ -327,7 +327,7 @@ const COLOR_THEMES = {
327
327
  ring: "#FDBA74",
328
328
  success: "#15803D",
329
329
  successForeground: "#FFFFFF",
330
- warning: "#A16207",
330
+ warning: "#FABC0A",
331
331
  warningForeground: "#FFFFFF",
332
332
  danger: "#B91C1C",
333
333
  dangerForeground: "#FFFFFF",
@@ -399,7 +399,7 @@ const COLOR_THEMES = {
399
399
  ring: "#5EEAD4",
400
400
  success: "#15803D",
401
401
  successForeground: "#FFFFFF",
402
- warning: "#A16207",
402
+ warning: "#FABC0A",
403
403
  warningForeground: "#FFFFFF",
404
404
  danger: "#B91C1C",
405
405
  dangerForeground: "#FFFFFF",
@@ -435,7 +435,7 @@ const COLOR_THEMES = {
435
435
  ring: "#D8B4FE",
436
436
  success: "#15803D",
437
437
  successForeground: "#FFFFFF",
438
- warning: "#A16207",
438
+ warning: "#FABC0A",
439
439
  warningForeground: "#FFFFFF",
440
440
  danger: "#B91C1C",
441
441
  dangerForeground: "#FFFFFF",
@@ -471,7 +471,7 @@ const COLOR_THEMES = {
471
471
  ring: "#67E8F9",
472
472
  success: "#15803D",
473
473
  successForeground: "#FFFFFF",
474
- warning: "#A16207",
474
+ warning: "#FABC0A",
475
475
  warningForeground: "#FFFFFF",
476
476
  danger: "#B91C1C",
477
477
  dangerForeground: "#FFFFFF",
@@ -507,7 +507,7 @@ const COLOR_THEMES = {
507
507
  ring: "#FDBA74",
508
508
  success: "#15803D",
509
509
  successForeground: "#FFFFFF",
510
- warning: "#A16207",
510
+ warning: "#FABC0A",
511
511
  warningForeground: "#FFFFFF",
512
512
  danger: "#B91C1C",
513
513
  dangerForeground: "#FFFFFF",
@@ -543,7 +543,7 @@ const COLOR_THEMES = {
543
543
  ring: "#A5B4FC",
544
544
  success: "#15803D",
545
545
  successForeground: "#FFFFFF",
546
- warning: "#A16207",
546
+ warning: "#FABC0A",
547
547
  warningForeground: "#FFFFFF",
548
548
  danger: "#B91C1C",
549
549
  dangerForeground: "#FFFFFF",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["../src/constants.ts"],"sourcesContent":["import type { ColorTheme, ThemeTokens } from \"./types\";\n\nexport const GENERIC_FAMILIES = new Set([\n \"serif\",\n \"sans-serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"system-ui\",\n \"ui-serif\",\n \"ui-sans-serif\",\n \"ui-monospace\",\n \"ui-rounded\",\n \"math\",\n \"fangsong\",\n \"emoji\",\n]);\n\nexport const DEFAULT_TOKENS: ThemeTokens = {\n colorSchemes: {\n light: {\n background: \"#FCFCFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F7F7F7\",\n text: \"#171A35\",\n textMuted: \"#5F6485\",\n textSubtle: \"#8B91B3\",\n border: \"#E0E5F5\",\n borderStrong: \"#C4CBE6\",\n primary: \"#0284C7\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#075985\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#06B6D4\",\n accentForeground: \"#FFFFFF\",\n ring: \"#A5B4FC\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n\n dark: {\n background: \"#111518\",\n surface: \"#1c2226\",\n surfaceElevated: \"#242c31\",\n surfaceSunken: \"#0d1113\",\n text: \"#f5f5f5\",\n textMuted: \"#a4adb3\",\n textSubtle: \"#8c969d\",\n border: \"#343c42\",\n borderStrong: \"#4a555d\",\n primary: \"#38BDF8\",\n primaryForeground: \"#082F49\",\n secondary: \"#7DD3FC\",\n secondaryForeground: \"#082F49\",\n accent: \"#22D3EE\",\n accentForeground: \"#083344\",\n ring: \"#93c5fd\",\n success: \"#4ade80\",\n successForeground: \"#052e16\",\n warning: \"#fbbf24\",\n warningForeground: \"#422006\",\n danger: \"#f87171\",\n dangerForeground: \"#450a0a\",\n info: \"#38bdf8\",\n infoForeground: \"#082f49\",\n },\n },\n typography: {\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n },\n fontWeight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n },\n lineHeight: {\n none: \"1\",\n tight: \"1.15\",\n snug: \"1.3\",\n normal: \"1.5\",\n relaxed: \"1.625\",\n loose: \"2\",\n },\n letterSpacing: {\n tighter: \"-0.05em\",\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\",\n widest: \"0.1em\",\n },\n fontGap: {\n headingStackGap: \"0.3em\",\n headingParagraphGap: \"0.65em\",\n paragraphGap: \"1em\",\n sectionGap: \"1.5em\",\n },\n },\n spacing: {\n 0: \"0\",\n px: \"1px\",\n \"0.5\": \"0.125rem\",\n 1: \"0.25rem\",\n \"1.5\": \"0.375rem\",\n 2: \"0.5rem\",\n 3: \"0.75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 8: \"2rem\",\n 10: \"2.5rem\",\n 12: \"3rem\",\n 16: \"4rem\",\n 20: \"5rem\",\n 24: \"6rem\",\n },\n radius: {\n none: \"0\",\n sm: \"0.125rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\",\n },\n shadows: {\n none: \"none\",\n xs: \"0 1px 2px 0 rgb(15 23 42 / 0.05)\",\n sm: \"0 1px 3px 0 rgb(15 23 42 / 0.1), 0 1px 2px -1px rgb(15 23 42 / 0.1)\",\n md: \"0 4px 6px -1px rgb(15 23 42 / 0.1), 0 2px 4px -2px rgb(15 23 42 / 0.1)\",\n lg: \"0 10px 15px -3px rgb(15 23 42 / 0.1), 0 4px 6px -4px rgb(15 23 42 / 0.1)\",\n xl: \"0 20px 25px -5px rgb(15 23 42 / 0.1), 0 8px 10px -6px rgb(15 23 42 / 0.1)\",\n },\n borders: {\n width: \"1px\",\n widthStrong: \"2px\",\n style: \"solid\",\n },\n breakpoints: {\n tablet: \"768px\",\n desktop: \"1024px\",\n hd: \"1440px\",\n },\n layout: {\n container: \"80rem\",\n content: \"64rem\",\n prose: \"65ch\",\n },\n overlays: {\n backdrop: \"rgb(0 0 0 / 0.35)\",\n backdropBlur: \"2px\",\n },\n elevation: {\n 1: \"0 1px 2px rgb(0 0 0 / 0.05)\",\n 2: \"0 1px 3px rgb(0 0 0 / 0.10), 0 1px 2px rgb(0 0 0 / 0.06)\",\n 3: \"0 4px 6px -1px rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.10)\",\n 4: \"0 10px 15px -3px rgb(0 0 0 / 0.10), 0 4px 6px -4px rgb(0 0 0 / 0.10)\",\n 6: \"0 20px 25px -5px rgb(0 0 0 / 0.12), 0 8px 10px -6px rgb(0 0 0 / 0.10)\",\n 8: \"0 25px 50px -12px rgb(0 0 0 / 0.20)\",\n 12: \"0 35px 60px -15px rgb(0 0 0 / 0.22)\",\n 16: \"0 45px 80px -20px rgb(0 0 0 / 0.25)\",\n 24: \"0 60px 100px -25px rgb(0 0 0 / 0.30)\",\n },\n motion: {\n fast: \"120ms\",\n normal: \"200ms\",\n slow: \"320ms\",\n easingStandard: \"cubic-bezier(0.2, 0, 0, 1)\",\n easingIn: \"cubic-bezier(0.4, 0, 1, 1)\",\n easingOut: \"cubic-bezier(0, 0, 0.2, 1)\",\n },\n zIndex: {\n base: \"0\",\n dropdown: \"100\",\n sticky: \"200\",\n navigation: \"250\",\n overlay: \"300\",\n modal: \"400\",\n popover: \"500\",\n toast: \"600\",\n tooltip: \"700\",\n },\n};\n\nexport const COLOR_THEMES = {\n \"cobalt-sky\": {\n light: {\n background: \"#F8FAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F1F5F9\",\n text: \"#0F172A\",\n textMuted: \"#64748B\",\n textSubtle: \"#94A3B8\",\n border: \"#E2E8F0\",\n borderStrong: \"#CBD5E1\",\n primary: \"#2563EB\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#1E3A8A\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#0EA5E9\",\n accentForeground: \"#FFFFFF\",\n ring: \"#93C5FD\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#B45309\",\n warningForeground: \"#FFFFFF\",\n danger: \"#DC2626\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#60A5FA\",\n primaryForeground: \"#0F172A\",\n secondary: \"#93C5FD\",\n secondaryForeground: \"#0F172A\",\n accent: \"#38BDF8\",\n accentForeground: \"#082F49\",\n },\n },\n \"violet-dream\": {\n light: {\n background: \"#FAF9FF\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F3EEFF\",\n text: \"#1E1B4B\",\n textMuted: \"#6D688A\",\n textSubtle: \"#9691B5\",\n border: \"#E7E2F5\",\n borderStrong: \"#C9C0E8\",\n primary: \"#6D28D9\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#5B21B6\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#A855F7\",\n accentForeground: \"#FFFFFF\",\n ring: \"#C4B5FD\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#BE123C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#2563EB\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#A78BFA\",\n primaryForeground: \"#1E1B4B\",\n secondary: \"#C4B5FD\",\n secondaryForeground: \"#1E1B4B\",\n accent: \"#D8B4FE\",\n accentForeground: \"#2E1065\",\n },\n },\n \"emerald-forest\": {\n light: {\n background: \"#F7FCF9\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EAF7F0\",\n text: \"#102A22\",\n textMuted: \"#527568\",\n textSubtle: \"#829F93\",\n border: \"#D7EDE2\",\n borderStrong: \"#A8D8C1\",\n primary: \"#047857\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#065F46\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#10B981\",\n accentForeground: \"#FFFFFF\",\n ring: \"#6EE7B7\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#34D399\",\n primaryForeground: \"#052E22\",\n secondary: \"#6EE7B7\",\n secondaryForeground: \"#064E3B\",\n accent: \"#6EE7B7\",\n accentForeground: \"#064E3B\",\n },\n },\n \"coral-navy\": {\n light: {\n background: \"#FAFAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F3F1F5\",\n text: \"#1C2333\",\n textMuted: \"#667085\",\n textSubtle: \"#9299A8\",\n border: \"#E5E7EB\",\n borderStrong: \"#C7CDD6\",\n primary: \"#F97316\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#334155\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#E11D48\",\n accentForeground: \"#FFFFFF\",\n ring: \"#FDBA74\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#FB923C\",\n primaryForeground: \"#431407\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#FB7185\",\n accentForeground: \"#4C0519\",\n },\n },\n \"ocean-blue\": {\n light: {\n background: \"#F6FAFF\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EAF3FC\",\n text: \"#102A43\",\n textMuted: \"#526D82\",\n textSubtle: \"#8299AC\",\n border: \"#D8E7F4\",\n borderStrong: \"#B7D1E7\",\n primary: \"#0284C7\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#075985\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#06B6D4\",\n accentForeground: \"#FFFFFF\",\n ring: \"#7DD3FC\",\n success: \"#0F9D75\",\n successForeground: \"#FFFFFF\",\n warning: \"#B45309\",\n warningForeground: \"#FFFFFF\",\n danger: \"#DC2626\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#38BDF8\",\n primaryForeground: \"#082F49\",\n secondary: \"#7DD3FC\",\n secondaryForeground: \"#082F49\",\n accent: \"#22D3EE\",\n accentForeground: \"#083344\",\n },\n },\n \"mint-graphite\": {\n light: {\n background: \"#F8FBFA\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EEF5F3\",\n text: \"#172321\",\n textMuted: \"#5D716D\",\n textSubtle: \"#8A9D99\",\n border: \"#DCE8E5\",\n borderStrong: \"#B9D0CA\",\n primary: \"#0D9488\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#334155\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#84CC16\",\n accentForeground: \"#1A2E05\",\n ring: \"#5EEAD4\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#2DD4BF\",\n primaryForeground: \"#042F2E\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#A3E635\",\n accentForeground: \"#1A2E05\",\n },\n },\n \"plum-rose\": {\n light: {\n background: \"#FFFAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F9EEF4\",\n text: \"#2B1D2A\",\n textMuted: \"#795F73\",\n textSubtle: \"#A18A9B\",\n border: \"#EEDDE7\",\n borderStrong: \"#D8BCCD\",\n primary: \"#9333EA\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#6B214F\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#E11D48\",\n accentForeground: \"#FFFFFF\",\n ring: \"#D8B4FE\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#C084FC\",\n primaryForeground: \"#3B0764\",\n secondary: \"#E9A8D4\",\n secondaryForeground: \"#500724\",\n accent: \"#FB7185\",\n accentForeground: \"#4C0519\",\n },\n },\n \"graphite-cyan\": {\n light: {\n background: \"#F7FAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EDF2F7\",\n text: \"#1A202C\",\n textMuted: \"#4A5568\",\n textSubtle: \"#718096\",\n border: \"#E2E8F0\",\n borderStrong: \"#CBD5E0\",\n primary: \"#0F766E\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#334155\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#0891B2\",\n accentForeground: \"#FFFFFF\",\n ring: \"#67E8F9\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#2DD4BF\",\n primaryForeground: \"#042F2E\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#22D3EE\",\n accentForeground: \"#083344\",\n },\n },\n \"soft-white-terracotta\": {\n light: {\n background: \"#FCFCFB\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F4F3F1\",\n text: \"#242321\",\n textMuted: \"#686662\",\n textSubtle: \"#92908A\",\n border: \"#E7E5E1\",\n borderStrong: \"#D0CCC5\",\n primary: \"#C2410C\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#44403C\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#0F766E\",\n accentForeground: \"#FFFFFF\",\n ring: \"#FDBA74\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#FB923C\",\n primaryForeground: \"#431407\",\n secondary: \"#A8A29E\",\n secondaryForeground: \"#1C1917\",\n accent: \"#2DD4BF\",\n accentForeground: \"#042F2E\",\n },\n },\n \"electric-indigo\": {\n light: {\n background: \"#F8FAFF\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EEF2FF\",\n text: \"#171A35\",\n textMuted: \"#5F6485\",\n textSubtle: \"#8B91B3\",\n border: \"#E0E5F5\",\n borderStrong: \"#C4CBE6\",\n primary: \"#4F46E5\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#3730A3\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#DB2777\",\n accentForeground: \"#FFFFFF\",\n ring: \"#A5B4FC\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#A16207\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#818CF8\",\n primaryForeground: \"#1E1B4B\",\n secondary: \"#A5B4FC\",\n secondaryForeground: \"#1E1B4B\",\n accent: \"#F472B6\",\n accentForeground: \"#500724\",\n },\n },\n} as const satisfies Record<string, ColorTheme>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../src/constants.ts"],"sourcesContent":["import type { ColorTheme, ThemeTokens } from \"./types\";\n\nexport const GENERIC_FAMILIES = new Set([\n \"serif\",\n \"sans-serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"system-ui\",\n \"ui-serif\",\n \"ui-sans-serif\",\n \"ui-monospace\",\n \"ui-rounded\",\n \"math\",\n \"fangsong\",\n \"emoji\",\n]);\n\nexport const DEFAULT_TOKENS: ThemeTokens = {\n colorSchemes: {\n light: {\n background: \"#FCFCFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F0F0F0\",\n text: \"#171A35\",\n textMuted: \"#5F6485\",\n textSubtle: \"#8B91B3\",\n border: \"#E0E5F5\",\n borderStrong: \"#C4CBE6\",\n primary: \"#0277B5\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#475569\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#6D28D9\",\n accentForeground: \"#FFFFFF\",\n ring: \"#A5B4FC\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#1D4ED8\",\n infoForeground: \"#FFFFFF\",\n },\n\n dark: {\n background: \"#111518\",\n surface: \"#1c2226\",\n surfaceElevated: \"#242c31\",\n surfaceSunken: \"#0d1113\",\n text: \"#f5f5f5\",\n textMuted: \"#a4adb3\",\n textSubtle: \"#8c969d\",\n border: \"#343c42\",\n borderStrong: \"#4a555d\",\n primary: \"#38BDF8\",\n primaryForeground: \"#082F49\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#C4B5FD\",\n accentForeground: \"#1E1B4B\",\n ring: \"#93c5fd\",\n success: \"#4ade80\",\n successForeground: \"#052e16\",\n warning: \"#fbbf24\",\n warningForeground: \"#422006\",\n danger: \"#f87171\",\n dangerForeground: \"#450a0a\",\n info: \"#818CF8\",\n infoForeground: \"#1E1B4B\",\n },\n },\n typography: {\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n },\n fontWeight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n },\n lineHeight: {\n none: \"1\",\n tight: \"1.15\",\n snug: \"1.3\",\n normal: \"1.5\",\n relaxed: \"1.625\",\n loose: \"2\",\n },\n letterSpacing: {\n tighter: \"-0.05em\",\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\",\n widest: \"0.1em\",\n },\n fontGap: {\n headingStackGap: \"0.3em\",\n headingParagraphGap: \"0.65em\",\n paragraphGap: \"1em\",\n sectionGap: \"1.5em\",\n },\n },\n spacing: {\n 0: \"0\",\n px: \"1px\",\n \"0.5\": \"0.125rem\",\n 1: \"0.25rem\",\n \"1.5\": \"0.375rem\",\n 2: \"0.5rem\",\n 3: \"0.75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 8: \"2rem\",\n 10: \"2.5rem\",\n 12: \"3rem\",\n 16: \"4rem\",\n 20: \"5rem\",\n 24: \"6rem\",\n },\n radius: {\n none: \"0\",\n sm: \"0.125rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\",\n },\n shadows: {\n none: \"none\",\n xs: \"0 1px 2px 0 rgb(15 23 42 / 0.05)\",\n sm: \"0 1px 3px 0 rgb(15 23 42 / 0.1), 0 1px 2px -1px rgb(15 23 42 / 0.1)\",\n md: \"0 4px 6px -1px rgb(15 23 42 / 0.1), 0 2px 4px -2px rgb(15 23 42 / 0.1)\",\n lg: \"0 10px 15px -3px rgb(15 23 42 / 0.1), 0 4px 6px -4px rgb(15 23 42 / 0.1)\",\n xl: \"0 20px 25px -5px rgb(15 23 42 / 0.1), 0 8px 10px -6px rgb(15 23 42 / 0.1)\",\n },\n borders: {\n width: \"1px\",\n widthStrong: \"2px\",\n style: \"solid\",\n },\n breakpoints: {\n tablet: \"768px\",\n desktop: \"1024px\",\n hd: \"1440px\",\n },\n layout: {\n container: \"80rem\",\n content: \"64rem\",\n prose: \"65ch\",\n },\n overlays: {\n backdrop: \"rgb(0 0 0 / 0.35)\",\n backdropBlur: \"2px\",\n },\n elevation: {\n 1: \"0 1px 2px rgb(0 0 0 / 0.05)\",\n 2: \"0 1px 3px rgb(0 0 0 / 0.10), 0 1px 2px rgb(0 0 0 / 0.06)\",\n 3: \"0 4px 6px -1px rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.10)\",\n 4: \"0 10px 15px -3px rgb(0 0 0 / 0.10), 0 4px 6px -4px rgb(0 0 0 / 0.10)\",\n 6: \"0 20px 25px -5px rgb(0 0 0 / 0.12), 0 8px 10px -6px rgb(0 0 0 / 0.10)\",\n 8: \"0 25px 50px -12px rgb(0 0 0 / 0.20)\",\n 12: \"0 35px 60px -15px rgb(0 0 0 / 0.22)\",\n 16: \"0 45px 80px -20px rgb(0 0 0 / 0.25)\",\n 24: \"0 60px 100px -20px rgb(0 0 0 / 0.40), 0 24px 40px -12px rgb(0 0 0 / 0.25)\",\n },\n motion: {\n fast: \"120ms\",\n normal: \"200ms\",\n slow: \"320ms\",\n easingStandard: \"cubic-bezier(0.2, 0, 0, 1)\",\n easingIn: \"cubic-bezier(0.4, 0, 1, 1)\",\n easingOut: \"cubic-bezier(0, 0, 0.2, 1)\",\n },\n zIndex: {\n base: \"0\",\n dropdown: \"100\",\n sticky: \"200\",\n navigation: \"250\",\n overlay: \"300\",\n modal: \"400\",\n popover: \"500\",\n toast: \"600\",\n tooltip: \"700\",\n },\n};\n\nexport const COLOR_THEMES = {\n \"cobalt-sky\": {\n light: {\n background: \"#F8FAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F1F5F9\",\n text: \"#0F172A\",\n textMuted: \"#64748B\",\n textSubtle: \"#94A3B8\",\n border: \"#E2E8F0\",\n borderStrong: \"#CBD5E1\",\n primary: \"#2563EB\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#1E3A8A\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#0EA5E9\",\n accentForeground: \"#FFFFFF\",\n ring: \"#93C5FD\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#B45309\",\n warningForeground: \"#FFFFFF\",\n danger: \"#DC2626\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#60A5FA\",\n primaryForeground: \"#0F172A\",\n secondary: \"#93C5FD\",\n secondaryForeground: \"#0F172A\",\n accent: \"#38BDF8\",\n accentForeground: \"#082F49\",\n },\n },\n \"violet-dream\": {\n light: {\n background: \"#FAF9FF\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F3EEFF\",\n text: \"#1E1B4B\",\n textMuted: \"#6D688A\",\n textSubtle: \"#9691B5\",\n border: \"#E7E2F5\",\n borderStrong: \"#C9C0E8\",\n primary: \"#6D28D9\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#5B21B6\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#A855F7\",\n accentForeground: \"#FFFFFF\",\n ring: \"#C4B5FD\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#BE123C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#2563EB\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#A78BFA\",\n primaryForeground: \"#1E1B4B\",\n secondary: \"#C4B5FD\",\n secondaryForeground: \"#1E1B4B\",\n accent: \"#D8B4FE\",\n accentForeground: \"#2E1065\",\n },\n },\n \"emerald-forest\": {\n light: {\n background: \"#F7FCF9\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EAF7F0\",\n text: \"#102A22\",\n textMuted: \"#527568\",\n textSubtle: \"#829F93\",\n border: \"#D7EDE2\",\n borderStrong: \"#A8D8C1\",\n primary: \"#047857\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#065F46\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#10B981\",\n accentForeground: \"#FFFFFF\",\n ring: \"#6EE7B7\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#34D399\",\n primaryForeground: \"#052E22\",\n secondary: \"#6EE7B7\",\n secondaryForeground: \"#064E3B\",\n accent: \"#6EE7B7\",\n accentForeground: \"#064E3B\",\n },\n },\n \"coral-navy\": {\n light: {\n background: \"#FAFAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F3F1F5\",\n text: \"#1C2333\",\n textMuted: \"#667085\",\n textSubtle: \"#9299A8\",\n border: \"#E5E7EB\",\n borderStrong: \"#C7CDD6\",\n primary: \"#F97316\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#334155\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#E11D48\",\n accentForeground: \"#FFFFFF\",\n ring: \"#FDBA74\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#FB923C\",\n primaryForeground: \"#431407\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#FB7185\",\n accentForeground: \"#4C0519\",\n },\n },\n \"ocean-blue\": {\n light: {\n background: \"#F6FAFF\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EAF3FC\",\n text: \"#102A43\",\n textMuted: \"#526D82\",\n textSubtle: \"#8299AC\",\n border: \"#D8E7F4\",\n borderStrong: \"#B7D1E7\",\n primary: \"#0284C7\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#075985\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#06B6D4\",\n accentForeground: \"#FFFFFF\",\n ring: \"#7DD3FC\",\n success: \"#0F9D75\",\n successForeground: \"#FFFFFF\",\n warning: \"#B45309\",\n warningForeground: \"#FFFFFF\",\n danger: \"#DC2626\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#38BDF8\",\n primaryForeground: \"#082F49\",\n secondary: \"#7DD3FC\",\n secondaryForeground: \"#082F49\",\n accent: \"#22D3EE\",\n accentForeground: \"#083344\",\n },\n },\n \"mint-graphite\": {\n light: {\n background: \"#F8FBFA\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EEF5F3\",\n text: \"#172321\",\n textMuted: \"#5D716D\",\n textSubtle: \"#8A9D99\",\n border: \"#DCE8E5\",\n borderStrong: \"#B9D0CA\",\n primary: \"#0D9488\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#334155\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#84CC16\",\n accentForeground: \"#1A2E05\",\n ring: \"#5EEAD4\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#2DD4BF\",\n primaryForeground: \"#042F2E\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#A3E635\",\n accentForeground: \"#1A2E05\",\n },\n },\n \"plum-rose\": {\n light: {\n background: \"#FFFAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F9EEF4\",\n text: \"#2B1D2A\",\n textMuted: \"#795F73\",\n textSubtle: \"#A18A9B\",\n border: \"#EEDDE7\",\n borderStrong: \"#D8BCCD\",\n primary: \"#9333EA\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#6B214F\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#E11D48\",\n accentForeground: \"#FFFFFF\",\n ring: \"#D8B4FE\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#C084FC\",\n primaryForeground: \"#3B0764\",\n secondary: \"#E9A8D4\",\n secondaryForeground: \"#500724\",\n accent: \"#FB7185\",\n accentForeground: \"#4C0519\",\n },\n },\n \"graphite-cyan\": {\n light: {\n background: \"#F7FAFC\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EDF2F7\",\n text: \"#1A202C\",\n textMuted: \"#4A5568\",\n textSubtle: \"#718096\",\n border: \"#E2E8F0\",\n borderStrong: \"#CBD5E0\",\n primary: \"#0F766E\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#334155\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#0891B2\",\n accentForeground: \"#FFFFFF\",\n ring: \"#67E8F9\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#2DD4BF\",\n primaryForeground: \"#042F2E\",\n secondary: \"#94A3B8\",\n secondaryForeground: \"#0F172A\",\n accent: \"#22D3EE\",\n accentForeground: \"#083344\",\n },\n },\n \"soft-white-terracotta\": {\n light: {\n background: \"#FCFCFB\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#F4F3F1\",\n text: \"#242321\",\n textMuted: \"#686662\",\n textSubtle: \"#92908A\",\n border: \"#E7E5E1\",\n borderStrong: \"#D0CCC5\",\n primary: \"#C2410C\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#44403C\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#0F766E\",\n accentForeground: \"#FFFFFF\",\n ring: \"#FDBA74\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#FB923C\",\n primaryForeground: \"#431407\",\n secondary: \"#A8A29E\",\n secondaryForeground: \"#1C1917\",\n accent: \"#2DD4BF\",\n accentForeground: \"#042F2E\",\n },\n },\n \"electric-indigo\": {\n light: {\n background: \"#F8FAFF\",\n surface: \"#FFFFFF\",\n surfaceElevated: \"#FFFFFF\",\n surfaceSunken: \"#EEF2FF\",\n text: \"#171A35\",\n textMuted: \"#5F6485\",\n textSubtle: \"#8B91B3\",\n border: \"#E0E5F5\",\n borderStrong: \"#C4CBE6\",\n primary: \"#4F46E5\",\n primaryForeground: \"#FFFFFF\",\n secondary: \"#3730A3\",\n secondaryForeground: \"#FFFFFF\",\n accent: \"#DB2777\",\n accentForeground: \"#FFFFFF\",\n ring: \"#A5B4FC\",\n success: \"#15803D\",\n successForeground: \"#FFFFFF\",\n warning: \"#FABC0A\",\n warningForeground: \"#FFFFFF\",\n danger: \"#B91C1C\",\n dangerForeground: \"#FFFFFF\",\n info: \"#0369A1\",\n infoForeground: \"#FFFFFF\",\n },\n dark: {\n primary: \"#818CF8\",\n primaryForeground: \"#1E1B4B\",\n secondary: \"#A5B4FC\",\n secondaryForeground: \"#1E1B4B\",\n accent: \"#F472B6\",\n accentForeground: \"#500724\",\n },\n },\n} as const satisfies Record<string, ColorTheme>;\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  // src/fonts/constants.ts
2
2
  const DEFAULT_FONT_FALLBACKS = {
3
- heading: ["Open Sans", "sans-serif"],
4
- body: ["Open Sans", "sans-serif"],
5
- accent: ["Open Sans", "sans-serif"]
3
+ heading: ["system-ui", "sans-serif"],
4
+ body: ["system-ui", "sans-serif"],
5
+ accent: ["system-ui", "sans-serif"]
6
6
  };
7
7
  exports.DEFAULT_FONT_FALLBACKS = DEFAULT_FONT_FALLBACKS;
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","names":[],"sources":["../../src/fonts/constants.ts"],"sourcesContent":["export const DEFAULT_FONT_FALLBACKS = {\n heading: [\"Open Sans\", \"sans-serif\"],\n body: [\"Open Sans\", \"sans-serif\"],\n accent: [\"Open Sans\", \"sans-serif\"],\n} as const;\n"],"mappings":";AAAA,MAAa,yBAAyB;CACpC,SAAS,CAAC,aAAa,YAAY;CACnC,MAAM,CAAC,aAAa,YAAY;CAChC,QAAQ,CAAC,aAAa,YAAY;AACpC"}
1
+ {"version":3,"file":"constants.cjs","names":[],"sources":["../../src/fonts/constants.ts"],"sourcesContent":["export const DEFAULT_FONT_FALLBACKS = {\n heading: [\"system-ui\", \"sans-serif\"],\n body: [\"system-ui\", \"sans-serif\"],\n accent: [\"system-ui\", \"sans-serif\"],\n} as const;\n"],"mappings":";AAAA,MAAa,yBAAyB;CACpC,SAAS,CAAC,aAAa,YAAY;CACnC,MAAM,CAAC,aAAa,YAAY;CAChC,QAAQ,CAAC,aAAa,YAAY;AACpC"}
@@ -1,8 +1,8 @@
1
1
  // src/fonts/constants.ts
2
2
  const DEFAULT_FONT_FALLBACKS = {
3
- heading: ["Open Sans", "sans-serif"],
4
- body: ["Open Sans", "sans-serif"],
5
- accent: ["Open Sans", "sans-serif"]
3
+ heading: ["system-ui", "sans-serif"],
4
+ body: ["system-ui", "sans-serif"],
5
+ accent: ["system-ui", "sans-serif"]
6
6
  };
7
7
  export { DEFAULT_FONT_FALLBACKS };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["../../src/fonts/constants.ts"],"sourcesContent":["export const DEFAULT_FONT_FALLBACKS = {\n heading: [\"Open Sans\", \"sans-serif\"],\n body: [\"Open Sans\", \"sans-serif\"],\n accent: [\"Open Sans\", \"sans-serif\"],\n} as const;\n"],"mappings":";AAAA,MAAa,yBAAyB;CACpC,SAAS,CAAC,aAAa,YAAY;CACnC,MAAM,CAAC,aAAa,YAAY;CAChC,QAAQ,CAAC,aAAa,YAAY;AACpC"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../src/fonts/constants.ts"],"sourcesContent":["export const DEFAULT_FONT_FALLBACKS = {\n heading: [\"system-ui\", \"sans-serif\"],\n body: [\"system-ui\", \"sans-serif\"],\n accent: [\"system-ui\", \"sans-serif\"],\n} as const;\n"],"mappings":";AAAA,MAAa,yBAAyB;CACpC,SAAS,CAAC,aAAa,YAAY;CACnC,MAAM,CAAC,aAAa,YAAY;CAChC,QAAQ,CAAC,aAAa,YAAY;AACpC"}
@@ -0,0 +1,9 @@
1
+ // src/fonts/create-font-preload-filename.ts
2
+ const createFontPreloadFilename = (family) => {
3
+ const normalizedFamily = family.toLowerCase().normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
4
+ if (!normalizedFamily) throw new TypeError("A valid font family is required to create a preload filename.");
5
+ return `puzzle-font-${normalizedFamily}.woff2`;
6
+ };
7
+ exports.createFontPreloadFilename = createFontPreloadFilename;
8
+
9
+ //# sourceMappingURL=create-font-preload-filename.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-font-preload-filename.cjs","names":[],"sources":["../../src/fonts/create-font-preload-filename.ts"],"sourcesContent":["export const createFontPreloadFilename = (family: string): string => {\n const normalizedFamily = family\n .toLowerCase()\n .normalize(\"NFKD\")\n .replace(/[\\u0300-\\u036f]/g, \"\")\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n\n if (!normalizedFamily) {\n throw new TypeError(\n \"A valid font family is required to create a preload filename.\",\n );\n }\n\n return `puzzle-font-${normalizedFamily}.woff2`;\n};\n"],"mappings":";AAAA,MAAa,6BAA6B,WAA2B;CACnE,MAAM,mBAAmB,OACtB,YAAY,CAAC,CACb,UAAU,MAAM,CAAC,CACjB,QAAQ,oBAAoB,EAAE,CAAC,CAC/B,QAAQ,eAAe,GAAG,CAAC,CAC3B,QAAQ,UAAU,EAAE;CAEvB,IAAI,CAAC,kBACH,MAAM,IAAI,UACR,+DACF;CAGF,OAAO,eAAe,iBAAiB;AACzC"}
@@ -0,0 +1,9 @@
1
+ // src/fonts/create-font-preload-filename.ts
2
+ const createFontPreloadFilename = (family) => {
3
+ const normalizedFamily = family.toLowerCase().normalize("NFKD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
4
+ if (!normalizedFamily) throw new TypeError("A valid font family is required to create a preload filename.");
5
+ return `puzzle-font-${normalizedFamily}.woff2`;
6
+ };
7
+ export { createFontPreloadFilename };
8
+
9
+ //# sourceMappingURL=create-font-preload-filename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-font-preload-filename.js","names":[],"sources":["../../src/fonts/create-font-preload-filename.ts"],"sourcesContent":["export const createFontPreloadFilename = (family: string): string => {\n const normalizedFamily = family\n .toLowerCase()\n .normalize(\"NFKD\")\n .replace(/[\\u0300-\\u036f]/g, \"\")\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n\n if (!normalizedFamily) {\n throw new TypeError(\n \"A valid font family is required to create a preload filename.\",\n );\n }\n\n return `puzzle-font-${normalizedFamily}.woff2`;\n};\n"],"mappings":";AAAA,MAAa,6BAA6B,WAA2B;CACnE,MAAM,mBAAmB,OACtB,YAAY,CAAC,CACb,UAAU,MAAM,CAAC,CACjB,QAAQ,oBAAoB,EAAE,CAAC,CAC/B,QAAQ,eAAe,GAAG,CAAC,CAC3B,QAAQ,UAAU,EAAE;CAEvB,IAAI,CAAC,kBACH,MAAM,IAAI,UACR,+DACF;CAGF,OAAO,eAAe,iBAAiB;AACzC"}
@@ -4,7 +4,8 @@ const GOOGLE_FONTS_CSS2_URL = "https://fonts.googleapis.com/css2";
4
4
  const createGoogleFontUrl = (options) => {
5
5
  const font = require_resolve_font_config.resolveFontConfig(options);
6
6
  const hasItalic = font.styles.includes("italic");
7
- const tuples = font.styles.flatMap((style) => font.weights.map((weight) => ({
7
+ const weights = font.weightRange ? [font.weightRange.join("..")] : font.weights.map(String);
8
+ const tuples = font.styles.flatMap((style) => weights.map((weight) => ({
8
9
  italic: style === "italic" ? 1 : 0,
9
10
  weight
10
11
  })));
@@ -15,7 +16,7 @@ const createGoogleFontUrl = (options) => {
15
16
  ].join("") : [
16
17
  font.family,
17
18
  ":wght@",
18
- font.weights.join(";")
19
+ weights.join(";")
19
20
  ].join("");
20
21
  const params = new URLSearchParams();
21
22
  params.set("family", familySpec);
@@ -1 +1 @@
1
- {"version":3,"file":"create-google-font-url.cjs","names":["resolveFontConfig"],"sources":["../../src/fonts/create-google-font-url.ts"],"sourcesContent":["import { resolveFontConfig } from \"./resolve-font-config\";\nimport type { CreateGoogleFontUrlOptions } from \"./types\";\n\nconst GOOGLE_FONTS_CSS2_URL = \"https://fonts.googleapis.com/css2\";\n\nexport const createGoogleFontUrl = (options: CreateGoogleFontUrlOptions) => {\n const font = resolveFontConfig(options);\n const hasItalic = font.styles.includes(\"italic\");\n const tuples = font.styles.flatMap((style) =>\n font.weights.map((weight) => ({\n italic: style === \"italic\" ? 1 : 0,\n weight,\n })),\n );\n\n const familySpec = hasItalic\n ? [\n font.family,\n \":ital,wght@\",\n tuples.map(({ italic, weight }) => `${italic},${weight}`).join(\";\"),\n ].join(\"\")\n : [font.family, \":wght@\", font.weights.join(\";\")].join(\"\");\n\n const params = new URLSearchParams();\n params.set(\"family\", familySpec);\n params.set(\"display\", font.display);\n\n return `${GOOGLE_FONTS_CSS2_URL}?${params.toString()}`;\n};\n"],"mappings":";;AAGA,MAAM,wBAAwB;AAE9B,MAAa,uBAAuB,YAAwC;CAC1E,MAAM,OAAOA,4BAAAA,kBAAkB,OAAO;CACtC,MAAM,YAAY,KAAK,OAAO,SAAS,QAAQ;CAC/C,MAAM,SAAS,KAAK,OAAO,SAAS,UAClC,KAAK,QAAQ,KAAK,YAAY;EAC5B,QAAQ,UAAU,WAAW,IAAI;EACjC;CACF,EAAE,CACJ;CAEA,MAAM,aAAa,YACf;EACE,KAAK;EACL;EACA,OAAO,KAAK,EAAE,QAAQ,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG;CACpE,CAAC,CAAC,KAAK,EAAE,IACT;EAAC,KAAK;EAAQ;EAAU,KAAK,QAAQ,KAAK,GAAG;CAAC,CAAC,CAAC,KAAK,EAAE;CAE3D,MAAM,SAAS,IAAI,gBAAgB;CACnC,OAAO,IAAI,UAAU,UAAU;CAC/B,OAAO,IAAI,WAAW,KAAK,OAAO;CAElC,OAAO,GAAG,sBAAsB,GAAG,OAAO,SAAS;AACrD"}
1
+ {"version":3,"file":"create-google-font-url.cjs","names":["resolveFontConfig"],"sources":["../../src/fonts/create-google-font-url.ts"],"sourcesContent":["import { resolveFontConfig } from \"./resolve-font-config\";\nimport type { CreateGoogleFontUrlOptions } from \"./types\";\n\nconst GOOGLE_FONTS_CSS2_URL = \"https://fonts.googleapis.com/css2\";\n\nexport const createGoogleFontUrl = (options: CreateGoogleFontUrlOptions) => {\n const font = resolveFontConfig(options);\n const hasItalic = font.styles.includes(\"italic\");\n const weights = font.weightRange\n ? [font.weightRange.join(\"..\")]\n : font.weights.map(String);\n const tuples = font.styles.flatMap((style) =>\n weights.map((weight) => ({\n italic: style === \"italic\" ? 1 : 0,\n weight,\n })),\n );\n\n const familySpec = hasItalic\n ? [\n font.family,\n \":ital,wght@\",\n tuples.map(({ italic, weight }) => `${italic},${weight}`).join(\";\"),\n ].join(\"\")\n : [font.family, \":wght@\", weights.join(\";\")].join(\"\");\n\n const params = new URLSearchParams();\n params.set(\"family\", familySpec);\n params.set(\"display\", font.display);\n\n return `${GOOGLE_FONTS_CSS2_URL}?${params.toString()}`;\n};\n"],"mappings":";;AAGA,MAAM,wBAAwB;AAE9B,MAAa,uBAAuB,YAAwC;CAC1E,MAAM,OAAOA,4BAAAA,kBAAkB,OAAO;CACtC,MAAM,YAAY,KAAK,OAAO,SAAS,QAAQ;CAC/C,MAAM,UAAU,KAAK,cACjB,CAAC,KAAK,YAAY,KAAK,IAAI,CAAC,IAC5B,KAAK,QAAQ,IAAI,MAAM;CAC3B,MAAM,SAAS,KAAK,OAAO,SAAS,UAClC,QAAQ,KAAK,YAAY;EACvB,QAAQ,UAAU,WAAW,IAAI;EACjC;CACF,EAAE,CACJ;CAEA,MAAM,aAAa,YACf;EACE,KAAK;EACL;EACA,OAAO,KAAK,EAAE,QAAQ,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG;CACpE,CAAC,CAAC,KAAK,EAAE,IACT;EAAC,KAAK;EAAQ;EAAU,QAAQ,KAAK,GAAG;CAAC,CAAC,CAAC,KAAK,EAAE;CAEtD,MAAM,SAAS,IAAI,gBAAgB;CACnC,OAAO,IAAI,UAAU,UAAU;CAC/B,OAAO,IAAI,WAAW,KAAK,OAAO;CAElC,OAAO,GAAG,sBAAsB,GAAG,OAAO,SAAS;AACrD"}
@@ -4,7 +4,8 @@ const GOOGLE_FONTS_CSS2_URL = "https://fonts.googleapis.com/css2";
4
4
  const createGoogleFontUrl = (options) => {
5
5
  const font = resolveFontConfig(options);
6
6
  const hasItalic = font.styles.includes("italic");
7
- const tuples = font.styles.flatMap((style) => font.weights.map((weight) => ({
7
+ const weights = font.weightRange ? [font.weightRange.join("..")] : font.weights.map(String);
8
+ const tuples = font.styles.flatMap((style) => weights.map((weight) => ({
8
9
  italic: style === "italic" ? 1 : 0,
9
10
  weight
10
11
  })));
@@ -15,7 +16,7 @@ const createGoogleFontUrl = (options) => {
15
16
  ].join("") : [
16
17
  font.family,
17
18
  ":wght@",
18
- font.weights.join(";")
19
+ weights.join(";")
19
20
  ].join("");
20
21
  const params = new URLSearchParams();
21
22
  params.set("family", familySpec);
@@ -1 +1 @@
1
- {"version":3,"file":"create-google-font-url.js","names":[],"sources":["../../src/fonts/create-google-font-url.ts"],"sourcesContent":["import { resolveFontConfig } from \"./resolve-font-config\";\nimport type { CreateGoogleFontUrlOptions } from \"./types\";\n\nconst GOOGLE_FONTS_CSS2_URL = \"https://fonts.googleapis.com/css2\";\n\nexport const createGoogleFontUrl = (options: CreateGoogleFontUrlOptions) => {\n const font = resolveFontConfig(options);\n const hasItalic = font.styles.includes(\"italic\");\n const tuples = font.styles.flatMap((style) =>\n font.weights.map((weight) => ({\n italic: style === \"italic\" ? 1 : 0,\n weight,\n })),\n );\n\n const familySpec = hasItalic\n ? [\n font.family,\n \":ital,wght@\",\n tuples.map(({ italic, weight }) => `${italic},${weight}`).join(\";\"),\n ].join(\"\")\n : [font.family, \":wght@\", font.weights.join(\";\")].join(\"\");\n\n const params = new URLSearchParams();\n params.set(\"family\", familySpec);\n params.set(\"display\", font.display);\n\n return `${GOOGLE_FONTS_CSS2_URL}?${params.toString()}`;\n};\n"],"mappings":";;AAGA,MAAM,wBAAwB;AAE9B,MAAa,uBAAuB,YAAwC;CAC1E,MAAM,OAAO,kBAAkB,OAAO;CACtC,MAAM,YAAY,KAAK,OAAO,SAAS,QAAQ;CAC/C,MAAM,SAAS,KAAK,OAAO,SAAS,UAClC,KAAK,QAAQ,KAAK,YAAY;EAC5B,QAAQ,UAAU,WAAW,IAAI;EACjC;CACF,EAAE,CACJ;CAEA,MAAM,aAAa,YACf;EACE,KAAK;EACL;EACA,OAAO,KAAK,EAAE,QAAQ,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG;CACpE,CAAC,CAAC,KAAK,EAAE,IACT;EAAC,KAAK;EAAQ;EAAU,KAAK,QAAQ,KAAK,GAAG;CAAC,CAAC,CAAC,KAAK,EAAE;CAE3D,MAAM,SAAS,IAAI,gBAAgB;CACnC,OAAO,IAAI,UAAU,UAAU;CAC/B,OAAO,IAAI,WAAW,KAAK,OAAO;CAElC,OAAO,GAAG,sBAAsB,GAAG,OAAO,SAAS;AACrD"}
1
+ {"version":3,"file":"create-google-font-url.js","names":[],"sources":["../../src/fonts/create-google-font-url.ts"],"sourcesContent":["import { resolveFontConfig } from \"./resolve-font-config\";\nimport type { CreateGoogleFontUrlOptions } from \"./types\";\n\nconst GOOGLE_FONTS_CSS2_URL = \"https://fonts.googleapis.com/css2\";\n\nexport const createGoogleFontUrl = (options: CreateGoogleFontUrlOptions) => {\n const font = resolveFontConfig(options);\n const hasItalic = font.styles.includes(\"italic\");\n const weights = font.weightRange\n ? [font.weightRange.join(\"..\")]\n : font.weights.map(String);\n const tuples = font.styles.flatMap((style) =>\n weights.map((weight) => ({\n italic: style === \"italic\" ? 1 : 0,\n weight,\n })),\n );\n\n const familySpec = hasItalic\n ? [\n font.family,\n \":ital,wght@\",\n tuples.map(({ italic, weight }) => `${italic},${weight}`).join(\";\"),\n ].join(\"\")\n : [font.family, \":wght@\", weights.join(\";\")].join(\"\");\n\n const params = new URLSearchParams();\n params.set(\"family\", familySpec);\n params.set(\"display\", font.display);\n\n return `${GOOGLE_FONTS_CSS2_URL}?${params.toString()}`;\n};\n"],"mappings":";;AAGA,MAAM,wBAAwB;AAE9B,MAAa,uBAAuB,YAAwC;CAC1E,MAAM,OAAO,kBAAkB,OAAO;CACtC,MAAM,YAAY,KAAK,OAAO,SAAS,QAAQ;CAC/C,MAAM,UAAU,KAAK,cACjB,CAAC,KAAK,YAAY,KAAK,IAAI,CAAC,IAC5B,KAAK,QAAQ,IAAI,MAAM;CAC3B,MAAM,SAAS,KAAK,OAAO,SAAS,UAClC,QAAQ,KAAK,YAAY;EACvB,QAAQ,UAAU,WAAW,IAAI;EACjC;CACF,EAAE,CACJ;CAEA,MAAM,aAAa,YACf;EACE,KAAK;EACL;EACA,OAAO,KAAK,EAAE,QAAQ,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG;CACpE,CAAC,CAAC,KAAK,EAAE,IACT;EAAC,KAAK;EAAQ;EAAU,QAAQ,KAAK,GAAG;CAAC,CAAC,CAAC,KAAK,EAAE;CAEtD,MAAM,SAAS,IAAI,gBAAgB;CACnC,OAAO,IAAI,UAAU,UAAU;CAC/B,OAAO,IAAI,WAAW,KAAK,OAAO;CAElC,OAAO,GAAG,sBAAsB,GAAG,OAAO,SAAS;AACrD"}
@@ -0,0 +1,10 @@
1
+ // src/fonts/create-local-font-stylesheet-url.ts
2
+ const LOCAL_FONT_STYLESHEET_NAME = "puzzle-fonts.css";
3
+ const createLocalFontStylesheetUrl = (basePath = "/fonts") => {
4
+ if (typeof basePath !== "string" || !basePath.startsWith("/") || basePath.startsWith("//") || /[\u0000-\u0020\u007f?#\\]/.test(basePath)) throw new TypeError("fontBasePath must be a root-relative URL path, such as \"/fonts\".");
5
+ if (basePath.split("/").filter(Boolean).some((segment) => segment === "." || segment === "..")) throw new TypeError("fontBasePath must not contain relative path segments.");
6
+ return `${basePath.replace(/\/+$/, "")}/${LOCAL_FONT_STYLESHEET_NAME}`;
7
+ };
8
+ exports.createLocalFontStylesheetUrl = createLocalFontStylesheetUrl;
9
+
10
+ //# sourceMappingURL=create-local-font-stylesheet-url.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-local-font-stylesheet-url.cjs","names":[],"sources":["../../src/fonts/create-local-font-stylesheet-url.ts"],"sourcesContent":["const LOCAL_FONT_STYLESHEET_NAME = \"puzzle-fonts.css\";\n\nexport const createLocalFontStylesheetUrl = (basePath = \"/fonts\"): string => {\n if (\n typeof basePath !== \"string\" ||\n !basePath.startsWith(\"/\") ||\n basePath.startsWith(\"//\") ||\n /[\\u0000-\\u0020\\u007f?#\\\\]/.test(basePath)\n ) {\n throw new TypeError(\n 'fontBasePath must be a root-relative URL path, such as \"/fonts\".',\n );\n }\n\n const segments = basePath.split(\"/\").filter(Boolean);\n\n if (segments.some((segment) => segment === \".\" || segment === \"..\")) {\n throw new TypeError(\n \"fontBasePath must not contain relative path segments.\",\n );\n }\n\n const normalizedBasePath = basePath.replace(/\\/+$/, \"\");\n\n return `${normalizedBasePath}/${LOCAL_FONT_STYLESHEET_NAME}`;\n};\n"],"mappings":";AAAA,MAAM,6BAA6B;AAEnC,MAAa,gCAAgC,WAAW,aAAqB;CAC3E,IACE,OAAO,aAAa,YACpB,CAAC,SAAS,WAAW,GAAG,KACxB,SAAS,WAAW,IAAI,KACxB,4BAA4B,KAAK,QAAQ,GAEzC,MAAM,IAAI,UACR,oEACF;CAKF,IAFiB,SAAS,MAAM,GAAG,CAAC,CAAC,OAAO,OAEjC,CAAC,CAAC,MAAM,YAAY,YAAY,OAAO,YAAY,IAAI,GAChE,MAAM,IAAI,UACR,uDACF;CAKF,OAAO,GAFoB,SAAS,QAAQ,QAAQ,EAEzB,EAAE,GAAG;AAClC"}
@@ -0,0 +1,10 @@
1
+ // src/fonts/create-local-font-stylesheet-url.ts
2
+ const LOCAL_FONT_STYLESHEET_NAME = "puzzle-fonts.css";
3
+ const createLocalFontStylesheetUrl = (basePath = "/fonts") => {
4
+ if (typeof basePath !== "string" || !basePath.startsWith("/") || basePath.startsWith("//") || /[\u0000-\u0020\u007f?#\\]/.test(basePath)) throw new TypeError("fontBasePath must be a root-relative URL path, such as \"/fonts\".");
5
+ if (basePath.split("/").filter(Boolean).some((segment) => segment === "." || segment === "..")) throw new TypeError("fontBasePath must not contain relative path segments.");
6
+ return `${basePath.replace(/\/+$/, "")}/${LOCAL_FONT_STYLESHEET_NAME}`;
7
+ };
8
+ export { createLocalFontStylesheetUrl };
9
+
10
+ //# sourceMappingURL=create-local-font-stylesheet-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-local-font-stylesheet-url.js","names":[],"sources":["../../src/fonts/create-local-font-stylesheet-url.ts"],"sourcesContent":["const LOCAL_FONT_STYLESHEET_NAME = \"puzzle-fonts.css\";\n\nexport const createLocalFontStylesheetUrl = (basePath = \"/fonts\"): string => {\n if (\n typeof basePath !== \"string\" ||\n !basePath.startsWith(\"/\") ||\n basePath.startsWith(\"//\") ||\n /[\\u0000-\\u0020\\u007f?#\\\\]/.test(basePath)\n ) {\n throw new TypeError(\n 'fontBasePath must be a root-relative URL path, such as \"/fonts\".',\n );\n }\n\n const segments = basePath.split(\"/\").filter(Boolean);\n\n if (segments.some((segment) => segment === \".\" || segment === \"..\")) {\n throw new TypeError(\n \"fontBasePath must not contain relative path segments.\",\n );\n }\n\n const normalizedBasePath = basePath.replace(/\\/+$/, \"\");\n\n return `${normalizedBasePath}/${LOCAL_FONT_STYLESHEET_NAME}`;\n};\n"],"mappings":";AAAA,MAAM,6BAA6B;AAEnC,MAAa,gCAAgC,WAAW,aAAqB;CAC3E,IACE,OAAO,aAAa,YACpB,CAAC,SAAS,WAAW,GAAG,KACxB,SAAS,WAAW,IAAI,KACxB,4BAA4B,KAAK,QAAQ,GAEzC,MAAM,IAAI,UACR,oEACF;CAKF,IAFiB,SAAS,MAAM,GAAG,CAAC,CAAC,OAAO,OAEjC,CAAC,CAAC,MAAM,YAAY,YAAY,OAAO,YAAY,IAAI,GAChE,MAAM,IAAI,UACR,uDACF;CAKF,OAAO,GAFoB,SAAS,QAAQ,QAAQ,EAEzB,EAAE,GAAG;AAClC"}