@frontlit/page-builder 0.1.0-alpha.1 → 0.1.0-alpha.3

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 (116) hide show
  1. package/README.md +38 -2
  2. package/dist/blocks/index.d.ts +35 -21
  3. package/dist/blocks/index.js +4 -3
  4. package/dist/builder/index.d.ts +8 -11
  5. package/dist/builder/index.js +7 -5
  6. package/dist/{button-C3VrMJkr.d.ts → button-OLKN3wPf.d.ts} +3 -3
  7. package/dist/{chunk-7W6Q4WA7.js → chunk-36QHCIPM.js} +252 -282
  8. package/dist/chunk-36QHCIPM.js.map +1 -0
  9. package/dist/{chunk-GTY75HW2.js → chunk-ATNM5JHI.js} +2 -2
  10. package/dist/chunk-ATNM5JHI.js.map +1 -0
  11. package/dist/chunk-BBI7UHOA.js +56 -0
  12. package/dist/chunk-BBI7UHOA.js.map +1 -0
  13. package/dist/{chunk-MO76KZY2.js → chunk-GIKTOAQS.js} +661 -423
  14. package/dist/chunk-GIKTOAQS.js.map +1 -0
  15. package/dist/chunk-HWOVSHIW.js +4 -0
  16. package/dist/{chunk-RUYOL7JZ.js.map → chunk-HWOVSHIW.js.map} +1 -1
  17. package/dist/{chunk-SSQWYMQR.js → chunk-IU4KATI2.js} +74 -129
  18. package/dist/chunk-IU4KATI2.js.map +1 -0
  19. package/dist/chunk-J7Z4UW45.js +3418 -0
  20. package/dist/chunk-J7Z4UW45.js.map +1 -0
  21. package/dist/{chunk-7KIX4WAO.js → chunk-K4WCLHMS.js} +1435 -1382
  22. package/dist/chunk-K4WCLHMS.js.map +1 -0
  23. package/dist/chunk-XU7ALPGQ.js +22 -0
  24. package/dist/chunk-XU7ALPGQ.js.map +1 -0
  25. package/dist/components/index.d.ts +33 -8
  26. package/dist/components/index.js +43 -2
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/data-slots.d.ts +3 -3
  29. package/dist/data-slots.js +1 -1
  30. package/dist/fonts/archivo/archivo-latin-variable.woff2 +0 -0
  31. package/dist/fonts/hanken-grotesk/hanken-grotesk-latin-variable.woff2 +0 -0
  32. package/dist/fonts/jetbrains-mono/jetbrains-mono-latin-variable.woff2 +0 -0
  33. package/dist/fonts/spline-sans-mono/spline-sans-mono-latin-variable.woff2 +0 -0
  34. package/dist/heading-DQCxQt38.d.ts +20 -0
  35. package/dist/image-Bk8kPXwP.d.ts +52 -0
  36. package/dist/index.d.ts +18 -11
  37. package/dist/index.js +9 -7
  38. package/dist/media-CnLImjVC.d.ts +21 -0
  39. package/dist/models/index.d.ts +6 -6
  40. package/dist/models/index.js +2 -1
  41. package/dist/{page-DfVl_aHX.d.ts → page-B5Gmm-Ys.d.ts} +2 -3
  42. package/dist/primitives/index.d.ts +287 -61
  43. package/dist/primitives/index.js +2 -1
  44. package/dist/renderer/index.d.ts +12 -8
  45. package/dist/renderer/index.js +6 -4
  46. package/dist/{section-background-BgOCp5l3.d.ts → section-background-6V_LCi5e.d.ts} +1 -1
  47. package/dist/server/index.d.ts +103 -0
  48. package/dist/server/index.js +2649 -0
  49. package/dist/server/index.js.map +1 -0
  50. package/dist/server/islands/code-snippet.d.ts +17 -0
  51. package/dist/server/islands/code-snippet.js +72 -0
  52. package/dist/server/islands/code-snippet.js.map +1 -0
  53. package/dist/server/islands/email-form.d.ts +50 -0
  54. package/dist/server/islands/email-form.js +406 -0
  55. package/dist/server/islands/email-form.js.map +1 -0
  56. package/dist/server/islands/header-mobile-menu.d.ts +22 -0
  57. package/dist/server/islands/header-mobile-menu.js +422 -0
  58. package/dist/server/islands/header-mobile-menu.js.map +1 -0
  59. package/dist/server/islands/inline-embed.d.ts +28 -0
  60. package/dist/server/islands/inline-embed.js +84 -0
  61. package/dist/server/islands/inline-embed.js.map +1 -0
  62. package/dist/server/islands/marquee-track.d.ts +18 -0
  63. package/dist/server/islands/marquee-track.js +67 -0
  64. package/dist/server/islands/marquee-track.js.map +1 -0
  65. package/dist/server/islands/nav-link.d.ts +37 -0
  66. package/dist/server/islands/nav-link.js +67 -0
  67. package/dist/server/islands/nav-link.js.map +1 -0
  68. package/dist/server/islands/support-form.d.ts +17 -0
  69. package/dist/server/islands/support-form.js +469 -0
  70. package/dist/server/islands/support-form.js.map +1 -0
  71. package/dist/server/islands/theme-mode-switcher.d.ts +38 -0
  72. package/dist/server/islands/theme-mode-switcher.js +169 -0
  73. package/dist/server/islands/theme-mode-switcher.js.map +1 -0
  74. package/dist/server/islands/video-with-preview.d.ts +13 -0
  75. package/dist/server/islands/video-with-preview.js +269 -0
  76. package/dist/server/islands/video-with-preview.js.map +1 -0
  77. package/dist/server/primitives.d.ts +200 -0
  78. package/dist/server/primitives.js +888 -0
  79. package/dist/server/primitives.js.map +1 -0
  80. package/dist/server/schema.d.ts +11308 -0
  81. package/dist/server/schema.js +6179 -0
  82. package/dist/server/schema.js.map +1 -0
  83. package/dist/server/theme-CF3fIKvw.d.ts +9 -0
  84. package/dist/{theme-style-39nxXQy0.d.ts → server/theme-style-5_AGy-4V.d.ts} +43 -1
  85. package/dist/server/theme-style-BPaMwk88.d.ts +183 -0
  86. package/dist/server/theme.d.ts +28 -0
  87. package/dist/{chunk-RBJBODQP.js → server/theme.js} +903 -1243
  88. package/dist/server/theme.js.map +1 -0
  89. package/dist/server/widget-YH9BrOwY.d.ts +77 -0
  90. package/dist/styles.css +4016 -8317
  91. package/dist/theme-style-BVd5tOsc.d.ts +183 -0
  92. package/dist/theme.css +186 -191
  93. package/dist/{widget--uEOpdq3.d.ts → widget-CpE2HdgU.d.ts} +25 -18
  94. package/package.json +71 -11
  95. package/schema/page.v1.json +3855 -0
  96. package/schema/site.v1.json +3811 -0
  97. package/dist/alignment-dZDzN96G.d.ts +0 -5
  98. package/dist/chunk-7KIX4WAO.js.map +0 -1
  99. package/dist/chunk-7W6Q4WA7.js.map +0 -1
  100. package/dist/chunk-GTY75HW2.js.map +0 -1
  101. package/dist/chunk-MO76KZY2.js.map +0 -1
  102. package/dist/chunk-RBJBODQP.js.map +0 -1
  103. package/dist/chunk-RUYOL7JZ.js +0 -4
  104. package/dist/chunk-SSQWYMQR.js.map +0 -1
  105. package/dist/fonts/montserrat/montserrat-latin-100-normal.woff2 +0 -0
  106. package/dist/fonts/montserrat/montserrat-latin-200-normal.woff2 +0 -0
  107. package/dist/fonts/montserrat/montserrat-latin-300-normal.woff2 +0 -0
  108. package/dist/fonts/montserrat/montserrat-latin-400-normal.woff2 +0 -0
  109. package/dist/fonts/montserrat/montserrat-latin-500-normal.woff2 +0 -0
  110. package/dist/fonts/montserrat/montserrat-latin-600-normal.woff2 +0 -0
  111. package/dist/fonts/montserrat/montserrat-latin-700-normal.woff2 +0 -0
  112. package/dist/fonts/montserrat/montserrat-latin-800-normal.woff2 +0 -0
  113. package/dist/fonts/montserrat/montserrat-latin-900-normal.woff2 +0 -0
  114. package/dist/fonts/source-sans-3/source-sans-3-latin-400-normal.woff2 +0 -0
  115. package/dist/image-D7GlnOio.d.ts +0 -30
  116. package/dist/media-Njv378j7.d.ts +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/primitives/themes/classic.ts","../../src/primitives/themes/editorial.ts","../../src/primitives/themes/midnight.ts","../../src/primitives/themes/neobrutalism.ts","../../src/primitives/themes/studio.ts","../../src/primitives/themes/terminal.ts","../../src/primitives/themes/index.ts","../../src/renderer/generate-theme-styles.ts","../../src/theme/index.ts"],"sourcesContent":["import type { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f7f7f5\",\n foreground: \"#18181b\",\n card: \"#ffffff\",\n cardForeground: \"#18181b\",\n popover: \"#ffffff\",\n popoverForeground: \"#18181b\",\n primary: \"#18181b\",\n primaryForeground: \"#fafafa\",\n secondary: \"#eeeee8\",\n secondaryForeground: \"#18181b\",\n muted: \"#f0efe9\",\n mutedForeground: \"#52525b\",\n accent: \"#eeeee8\",\n accentForeground: \"#18181b\",\n destructive: \"#e11d48\",\n border: \"#e4e4de\",\n input: \"#e4e4de\",\n ring: \"#18181b\",\n chart1: \"#18181b\",\n chart2: \"#71717a\",\n chart3: \"#a1a1aa\",\n chart4: \"#d4d4d8\",\n chart5: \"#e4e4e7\",\n sidebar: \"#f7f7f5\",\n sidebarForeground: \"#18181b\",\n sidebarPrimary: \"#18181b\",\n sidebarPrimaryForeground: \"#fafafa\",\n sidebarAccent: \"#eeeee8\",\n sidebarAccentForeground: \"#18181b\",\n sidebarBorder: \"#e4e4de\",\n sidebarRing: \"#18181b\",\n shadow2xs: \"0 1px 2px 0 rgb(24 24 27 / 0.04)\",\n shadowXs: \"0 1px 2px 0 rgb(24 24 27 / 0.05)\",\n shadowSm: \"0 1px 2px 0 rgb(24 24 27 / 0.05), 0 1px 3px -1px rgb(24 24 27 / 0.08)\",\n shadowMd:\n \"0 2px 4px -1px rgb(24 24 27 / 0.06), 0 4px 8px -2px rgb(24 24 27 / 0.08)\",\n shadowLg:\n \"0 8px 16px -4px rgb(24 24 27 / 0.08), 0 4px 6px -2px rgb(24 24 27 / 0.04)\",\n shadowXl: \"0 16px 32px -8px rgb(24 24 27 / 0.12)\",\n shadow2xl: \"0 24px 48px -12px rgb(24 24 27 / 0.18)\",\n },\n dark: {\n background: \"#09090b\",\n foreground: \"#fafafa\",\n card: \"#141416\",\n cardForeground: \"#fafafa\",\n popover: \"#18181b\",\n popoverForeground: \"#fafafa\",\n primary: \"#fafafa\",\n primaryForeground: \"#09090b\",\n secondary: \"#27272a\",\n secondaryForeground: \"#fafafa\",\n muted: \"#1c1c1f\",\n mutedForeground: \"#a1a1aa\",\n accent: \"#27272a\",\n accentForeground: \"#fafafa\",\n destructive: \"#fb7185\",\n border: \"#27272a\",\n input: \"#27272a\",\n ring: \"#d4d4d8\",\n chart1: \"#fafafa\",\n chart2: \"#a1a1aa\",\n chart3: \"#71717a\",\n chart4: \"#52525b\",\n chart5: \"#3f3f46\",\n sidebar: \"#141416\",\n sidebarForeground: \"#fafafa\",\n sidebarPrimary: \"#fafafa\",\n sidebarPrimaryForeground: \"#09090b\",\n sidebarAccent: \"#27272a\",\n sidebarAccentForeground: \"#fafafa\",\n sidebarBorder: \"#27272a\",\n sidebarRing: \"#d4d4d8\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.24)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.28)\",\n shadowSm: \"0 1px 2px 0 rgb(0 0 0 / 0.32), 0 1px 3px -1px rgb(0 0 0 / 0.4)\",\n shadowMd: \"0 4px 8px -2px rgb(0 0 0 / 0.4), 0 2px 4px -1px rgb(0 0 0 / 0.28)\",\n shadowLg: \"0 12px 24px -6px rgb(0 0 0 / 0.5)\",\n shadowXl: \"0 20px 40px -8px rgb(0 0 0 / 0.55)\",\n shadow2xl: \"0 32px 64px -12px rgb(0 0 0 / 0.65)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n display: {\n fontFamily: \"font-inter\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 34, max: 56 },\n },\n header1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 28, max: 48 },\n },\n header2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 24, max: 36 },\n },\n header3: {\n fontFamily: \"font-inter\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n subheader1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xl\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n subheader2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n text1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n text2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n caption: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-wide\",\n },\n link: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n textDecoration: \"no-underline\",\n },\n button: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-normal\",\n },\n },\n highlight: \"marker\",\n interactives: {\n button: {\n padding: {\n x: \"px-5\",\n y: \"py-3\",\n },\n border: {\n width: \"border-0\",\n radius: \"rounded-xl\",\n },\n shadow: \"shadow-xs\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n custom: \"transition-colors duration-200\",\n },\n menu: {\n padding: { x: \"px-1\", y: \"py-1\" },\n border: { width: \"border\", radius: \"rounded-xl\", style: \"border-solid\" },\n shadow: \"shadow-xs\",\n item: {\n padding: { x: \"px-3\", y: \"py-2\" },\n border: { radius: \"rounded-lg\" },\n },\n },\n dialog: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border-0\", radius: \"rounded-xl\" },\n shadow: \"shadow-lg\",\n },\n popover: {\n padding: { x: \"px-4\", y: \"py-4\" },\n border: { width: \"border-0\", radius: \"rounded-xl\" },\n shadow: \"shadow-md\",\n },\n tooltip: {\n padding: { x: \"px-2\", y: \"py-1\" },\n border: { width: \"border-0\", radius: \"rounded-sm\" },\n shadow: \"shadow-sm\",\n },\n link: {\n custom: \"underline-offset-4 hover:underline\",\n disabled: {\n color: \"gray-400\",\n cursor: \"cursor-not-allowed\",\n },\n },\n card: {\n padding: {\n x: \"px-6\",\n y: \"py-6\",\n },\n border: {\n width: \"border\",\n radius: \"rounded-2xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-shadow duration-200 hover:shadow-md\",\n },\n input: {\n borderRadius: \"rounded-xl\",\n padding: {\n x: \"px-4\",\n y: \"py-3\",\n },\n border: {\n width: \"border\",\n style: \"border-solid\",\n radius: \"rounded-xl\",\n },\n shadow: \"shadow-none\",\n custom: \"transition-shadow duration-150 focus-visible:shadow-sm\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n },\n structure: {\n page: {\n width: \"max-w-6xl\",\n },\n section: {\n padding: {\n x: \"px-6\",\n y: \"py-20\",\n },\n },\n },\n};\n\nexport const classic: Theme = {\n id: \"classic\",\n name: \"Classic\",\n theme: themeStyles,\n};\n","import type { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f6f1e8\",\n foreground: \"#1a1612\",\n card: \"#fffaf2\",\n cardForeground: \"#1a1612\",\n popover: \"#fffaf2\",\n popoverForeground: \"#1a1612\",\n primary: \"#1e3a8a\",\n primaryForeground: \"#fffaf2\",\n secondary: \"#c2410c\",\n secondaryForeground: \"#fffaf2\",\n muted: \"#ece4d6\",\n mutedForeground: \"#5c5348\",\n accent: \"#1d4ed8\",\n accentForeground: \"#fffaf2\",\n border: \"#e0d5c4\",\n destructive: \"#b91c1c\",\n input: \"#e0d5c4\",\n ring: \"#1e3a8a\",\n chart1: \"#1e3a8a\",\n chart2: \"#c2410c\",\n chart3: \"#1d4ed8\",\n chart4: \"#b91c1c\",\n chart5: \"#78716c\",\n sidebar: \"#fffaf2\",\n sidebarForeground: \"#1a1612\",\n sidebarPrimary: \"#1e3a8a\",\n sidebarPrimaryForeground: \"#fffaf2\",\n sidebarAccent: \"#ece4d6\",\n sidebarAccentForeground: \"#1a1612\",\n sidebarBorder: \"#e0d5c4\",\n sidebarRing: \"#1e3a8a\",\n shadow2xs: \"0 1px 2px 0 rgb(26 22 18 / 0.05)\",\n shadowXs: \"0 1px 2px 0 rgb(26 22 18 / 0.06)\",\n shadowSm: \"0 1px 2px 0 rgb(26 22 18 / 0.06), 0 2px 6px -2px rgb(26 22 18 / 0.1)\",\n shadowMd: \"0 8px 20px -6px rgb(26 22 18 / 0.12)\",\n shadowLg: \"0 16px 32px -10px rgb(26 22 18 / 0.14)\",\n shadowXl: \"0 24px 48px -12px rgb(26 22 18 / 0.16)\",\n shadow2xl: \"0 32px 64px -16px rgb(26 22 18 / 0.2)\",\n },\n dark: {\n background: \"#100e0c\",\n foreground: \"#f6f1e8\",\n card: \"#1b1713\",\n cardForeground: \"#f6f1e8\",\n popover: \"#1b1713\",\n popoverForeground: \"#f6f1e8\",\n primary: \"#93c5fd\",\n primaryForeground: \"#100e0c\",\n secondary: \"#fb923c\",\n secondaryForeground: \"#100e0c\",\n muted: \"#241f19\",\n mutedForeground: \"#c4b8a5\",\n accent: \"#60a5fa\",\n accentForeground: \"#100e0c\",\n border: \"#3a3228\",\n destructive: \"#f87171\",\n input: \"#3a3228\",\n ring: \"#93c5fd\",\n chart1: \"#93c5fd\",\n chart2: \"#fb923c\",\n chart3: \"#60a5fa\",\n chart4: \"#f87171\",\n chart5: \"#a8a29e\",\n sidebar: \"#1b1713\",\n sidebarForeground: \"#f6f1e8\",\n sidebarPrimary: \"#93c5fd\",\n sidebarPrimaryForeground: \"#100e0c\",\n sidebarAccent: \"#241f19\",\n sidebarAccentForeground: \"#f6f1e8\",\n sidebarBorder: \"#3a3228\",\n sidebarRing: \"#93c5fd\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.3)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.35)\",\n shadowSm: \"0 2px 6px 0 rgb(0 0 0 / 0.4)\",\n shadowMd: \"0 8px 20px -6px rgb(0 0 0 / 0.5)\",\n shadowLg: \"0 16px 32px -10px rgb(0 0 0 / 0.55)\",\n shadowXl: \"0 24px 48px -12px rgb(0 0 0 / 0.6)\",\n shadow2xl: \"0 32px 64px -16px rgb(0 0 0 / 0.7)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n display: {\n fontFamily: \"font-playfair-display\",\n fontSize: \"text-7xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 34, max: 60 },\n },\n header1: {\n fontFamily: \"font-playfair-display\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 30, max: 52 },\n },\n header2: {\n fontFamily: \"font-playfair-display\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 24, max: 36 },\n },\n header3: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-3xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n subheader1: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-xl\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-loose\",\n },\n text2: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n },\n caption: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-6\", y: \"py-3\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-full\",\n },\n shadow: \"shadow-none\",\n custom: \"transition-colors duration-200\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n menu: {\n padding: { x: \"px-1\", y: \"py-1\" },\n border: { width: \"border-0\", radius: \"rounded-none\" },\n shadow: \"shadow-none\",\n item: {\n padding: { x: \"px-3\", y: \"py-2\" },\n border: { radius: \"rounded-none\" },\n },\n },\n dialog: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border-0\", radius: \"rounded-none\" },\n shadow: \"shadow-none\",\n },\n popover: {\n padding: { x: \"px-4\", y: \"py-4\" },\n border: { width: \"border-0\", radius: \"rounded-none\" },\n shadow: \"shadow-none\",\n },\n tooltip: {\n padding: { x: \"px-2\", y: \"py-1\" },\n border: { width: \"border-0\", radius: \"rounded-none\" },\n shadow: \"shadow-none\",\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 decoration-1 hover:underline\",\n },\n card: {\n padding: { x: \"px-8\", y: \"py-8\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-none\",\n },\n shadow: \"shadow-none\",\n custom: \"\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border\",\n radius: \"rounded-none\",\n style: \"border-solid\",\n },\n shadow: \"shadow-none\",\n custom: \"\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-5xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-24\" },\n },\n },\n};\n\nexport const editorial: Theme = {\n id: \"editorial\",\n name: \"Editorial\",\n theme: themeStyles,\n};\n","import type { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f4f5f7\",\n foreground: \"#1c1f26\",\n card: \"#ffffff\",\n cardForeground: \"#1c1f26\",\n popover: \"#ffffff\",\n popoverForeground: \"#1c1f26\",\n primary: \"#61afef\",\n primaryForeground: \"#0b0d11\",\n secondary: \"#e8eaf0\",\n secondaryForeground: \"#1c1f26\",\n muted: \"#eceef2\",\n mutedForeground: \"#5b6170\",\n accent: \"#d7f1f4\",\n accentForeground: \"#164e63\",\n border: \"#d7dbe3\",\n destructive: \"#e06c75\",\n input: \"#d7dbe3\",\n ring: \"#61afef\",\n chart1: \"#61afef\",\n chart2: \"#818cf8\",\n chart3: \"#56b6c2\",\n chart4: \"#98c379\",\n chart5: \"#e5c07b\",\n sidebar: \"#ffffff\",\n sidebarForeground: \"#1c1f26\",\n sidebarPrimary: \"#61afef\",\n sidebarPrimaryForeground: \"#0b0d11\",\n sidebarAccent: \"#e8eaf0\",\n sidebarAccentForeground: \"#1c1f26\",\n sidebarBorder: \"#d7dbe3\",\n sidebarRing: \"#61afef\",\n shadow2xs: \"0 1px 2px 0 rgb(28 31 38 / 0.05)\",\n shadowXs: \"0 1px 2px 0 rgb(28 31 38 / 0.06)\",\n shadowSm:\n \"0 1px 2px 0 rgb(97 175 239 / 0.12), 0 1px 3px -1px rgb(28 31 38 / 0.08)\",\n shadowMd: \"0 8px 20px -6px rgb(28 31 38 / 0.12)\",\n shadowLg: \"0 16px 32px -8px rgb(28 31 38 / 0.16)\",\n shadowXl: \"0 24px 48px -12px rgb(28 31 38 / 0.2)\",\n shadow2xl: \"0 32px 64px -16px rgb(28 31 38 / 0.24)\",\n },\n dark: {\n background: \"#0c0e12\",\n foreground: \"#e6e8ee\",\n card: \"#14171e\",\n cardForeground: \"#e6e8ee\",\n popover: \"#14171e\",\n popoverForeground: \"#e6e8ee\",\n primary: \"#61afef\",\n primaryForeground: \"#0b0d11\",\n secondary: \"#1d2230\",\n secondaryForeground: \"#e6e8ee\",\n muted: \"#171b24\",\n mutedForeground: \"#9aa3b2\",\n accent: \"#14363c\",\n accentForeground: \"#a5f3fc\",\n border: \"#262b38\",\n destructive: \"#e06c75\",\n input: \"#262b38\",\n ring: \"#61afef\",\n chart1: \"#61afef\",\n chart2: \"#818cf8\",\n chart3: \"#56b6c2\",\n chart4: \"#98c379\",\n chart5: \"#e5c07b\",\n sidebar: \"#14171e\",\n sidebarForeground: \"#e6e8ee\",\n sidebarPrimary: \"#61afef\",\n sidebarPrimaryForeground: \"#0b0d11\",\n sidebarAccent: \"#1d2230\",\n sidebarAccentForeground: \"#e6e8ee\",\n sidebarBorder: \"#262b38\",\n sidebarRing: \"#61afef\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.35)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.4)\",\n shadowSm: \"0 2px 6px 0 rgb(0 0 0 / 0.45)\",\n shadowMd: \"0 10px 24px -6px rgb(0 0 0 / 0.55)\",\n shadowLg: \"0 18px 36px -8px rgb(0 0 0 / 0.6)\",\n shadowXl: \"0 28px 52px -12px rgb(0 0 0 / 0.65)\",\n shadow2xl: \"0 36px 72px -16px rgb(0 0 0 / 0.75)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n display: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 34, max: 56 },\n },\n header1: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 28, max: 48 },\n },\n header2: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 24, max: 36 },\n },\n header3: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n },\n header4: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n },\n subheader1: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n },\n caption: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-5\", y: \"py-3\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-xl\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-colors duration-200\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n menu: {\n padding: { x: \"px-1\", y: \"py-1\" },\n border: { width: \"border\", radius: \"rounded-2xl\", style: \"border-solid\" },\n shadow: \"shadow-xs\",\n item: {\n padding: { x: \"px-3\", y: \"py-2\" },\n border: { radius: \"rounded-xl\" },\n },\n },\n dialog: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border\", radius: \"rounded-2xl\", style: \"border-solid\" },\n shadow: \"shadow-xl\",\n },\n popover: {\n padding: { x: \"px-4\", y: \"py-4\" },\n border: { width: \"border\", radius: \"rounded-2xl\", style: \"border-solid\" },\n shadow: \"shadow-lg\",\n },\n tooltip: {\n padding: { x: \"px-2\", y: \"py-1\" },\n border: { width: \"border\", radius: \"rounded-lg\", style: \"border-solid\" },\n shadow: \"shadow-sm\",\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 hover:underline\",\n },\n card: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: {\n width: \"border\",\n radius: \"rounded-2xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-shadow duration-200 hover:shadow-md\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border\",\n radius: \"rounded-xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-none\",\n custom: \"\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-16\" },\n },\n },\n};\n\nexport const midnight: Theme = {\n id: \"midnight\",\n name: \"Midnight\",\n theme: themeStyles,\n};\n","import type { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f3fff9\",\n foreground: \"#050505\",\n card: \"#ffffff\",\n cardForeground: \"#050505\",\n popover: \"#ffffff\",\n popoverForeground: \"#050505\",\n primary: \"#ffe600\",\n primaryForeground: \"#050505\",\n secondary: \"#7df9ff\",\n secondaryForeground: \"#050505\",\n muted: \"#e7fff4\",\n mutedForeground: \"#3f3f46\",\n accent: \"#2ff2f2\",\n accentForeground: \"#050505\",\n border: \"#050505\",\n destructive: \"#ff4911\",\n input: \"#050505\",\n ring: \"#050505\",\n chart1: \"#ffe600\",\n chart2: \"#7df9ff\",\n chart3: \"#2ff2f2\",\n chart4: \"#ff4911\",\n chart5: \"#6fffd7\",\n sidebar: \"#ffffff\",\n sidebarForeground: \"#050505\",\n sidebarPrimary: \"#ffe600\",\n sidebarPrimaryForeground: \"#050505\",\n sidebarAccent: \"#2ff2f2\",\n sidebarAccentForeground: \"#050505\",\n sidebarBorder: \"#050505\",\n sidebarRing: \"#050505\",\n shadow2xs: \"2px 2px 0 0 #050505\",\n shadowXs: \"3px 3px 0 0 #050505\",\n shadowSm: \"4px 4px 0 0 #050505\",\n shadowMd: \"6px 6px 0 0 #050505\",\n shadowLg: \"8px 8px 0 0 #050505\",\n shadowXl: \"10px 10px 0 0 #050505\",\n shadow2xl: \"14px 14px 0 0 #050505\",\n },\n dark: {\n background: \"#050505\",\n foreground: \"#6fffd7\",\n card: \"#0a0a0a\",\n cardForeground: \"#6fffd7\",\n popover: \"#0a0a0a\",\n popoverForeground: \"#6fffd7\",\n primary: \"#ffe600\",\n primaryForeground: \"#050505\",\n secondary: \"#7df9ff\",\n secondaryForeground: \"#050505\",\n muted: \"#141414\",\n mutedForeground: \"#a1a1aa\",\n accent: \"#2ff2f2\",\n accentForeground: \"#050505\",\n border: \"#6fffd7\",\n destructive: \"#ff4911\",\n input: \"#6fffd7\",\n ring: \"#6fffd7\",\n chart1: \"#ffe600\",\n chart2: \"#7df9ff\",\n chart3: \"#2ff2f2\",\n chart4: \"#ff4911\",\n chart5: \"#6fffd7\",\n sidebar: \"#050505\",\n sidebarForeground: \"#6fffd7\",\n sidebarPrimary: \"#ffe600\",\n sidebarPrimaryForeground: \"#050505\",\n sidebarAccent: \"#2ff2f2\",\n sidebarAccentForeground: \"#050505\",\n sidebarBorder: \"#6fffd7\",\n sidebarRing: \"#6fffd7\",\n shadow2xs: \"2px 2px 0 0 #6fffd7\",\n shadowXs: \"3px 3px 0 0 #6fffd7\",\n shadowSm: \"4px 4px 0 0 #6fffd7\",\n shadowMd: \"6px 6px 0 0 #6fffd7\",\n shadowLg: \"8px 8px 0 0 #6fffd7\",\n shadowXl: \"10px 10px 0 0 #6fffd7\",\n shadow2xl: \"14px 14px 0 0 #6fffd7\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-bold\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n display: {\n fontFamily: \"font-inter\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-black\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 34, max: 56 },\n },\n header1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-black\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 28, max: 48 },\n },\n header2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-extrabold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 24, max: 36 },\n },\n header3: {\n fontFamily: \"font-inter\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-extrabold\",\n lineHeight: \"leading-snug\",\n },\n header4: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xl\",\n fontWeight: \"font-bold\",\n lineHeight: \"leading-snug\",\n },\n subheader1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-lg\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n text1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n },\n link: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-extrabold\",\n },\n button: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-extrabold\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n caption: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xs\",\n fontWeight: \"font-bold\",\n letterSpacing: \"tracking-wide\",\n textTransform: \"uppercase\",\n },\n },\n highlight: \"marker\",\n interactives: {\n button: {\n padding: { x: \"px-6\", y: \"py-3\" },\n border: {\n width: \"border-2\",\n radius: \"rounded-none\",\n style: \"border-solid\",\n },\n shadow: \"shadow-md\",\n custom:\n \"transition-transform duration-150 ease-out hover:translate-x-1 hover:translate-y-1 hover:shadow-none\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n menu: {\n padding: { x: \"px-1\", y: \"py-1\" },\n border: { width: \"border-2\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-md\",\n item: {\n padding: { x: \"px-3\", y: \"py-2\" },\n border: { radius: \"rounded-none\" },\n },\n },\n dialog: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border-2\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-md\",\n },\n popover: {\n padding: { x: \"px-4\", y: \"py-4\" },\n border: { width: \"border-2\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-md\",\n },\n tooltip: {\n padding: { x: \"px-2\", y: \"py-1\" },\n border: { width: \"border-2\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-md\",\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline decoration-2 underline-offset-4\",\n },\n card: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: {\n width: \"border-2\",\n radius: \"rounded-none\",\n style: \"border-solid\",\n },\n shadow: \"shadow-md\",\n custom:\n \"transition-transform duration-150 ease-out hover:translate-x-1 hover:translate-y-1 hover:shadow-none\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border-2\",\n style: \"border-solid\",\n radius: \"rounded-none\",\n },\n shadow: \"shadow-sm\",\n custom: \"\",\n disabled: {\n cursor: \"cursor-not-allowed\",\n opacity: \"opacity-50\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-16\" },\n },\n },\n};\n\nexport const neobrutalism: Theme = {\n id: \"neobrutalism\",\n name: \"Neo-Brutalism\",\n theme: themeStyles,\n};\n","import type { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f4f1ea\",\n foreground: \"#1c1917\",\n card: \"#fffcf7\",\n cardForeground: \"#1c1917\",\n popover: \"#fffcf7\",\n popoverForeground: \"#1c1917\",\n primary: \"#0f766e\",\n primaryForeground: \"#f4fffc\",\n secondary: \"#ebe4d6\",\n secondaryForeground: \"#1c1917\",\n muted: \"#ebe6dc\",\n mutedForeground: \"#57534e\",\n accent: \"#d9f3ee\",\n accentForeground: \"#115e59\",\n destructive: \"#dc2626\",\n border: \"#e0d8cc\",\n input: \"#e0d8cc\",\n ring: \"#0f766e\",\n chart1: \"#0f766e\",\n chart2: \"#0d9488\",\n chart3: \"#14b8a6\",\n chart4: \"#5eead4\",\n chart5: \"#ccfbf1\",\n sidebar: \"#fffcf7\",\n sidebarForeground: \"#1c1917\",\n sidebarPrimary: \"#0f766e\",\n sidebarPrimaryForeground: \"#f4fffc\",\n sidebarAccent: \"#ebe4d6\",\n sidebarAccentForeground: \"#1c1917\",\n sidebarBorder: \"#e0d8cc\",\n sidebarRing: \"#0f766e\",\n shadow2xs: \"0 1px 2px 0 rgb(28 25 23 / 0.04)\",\n shadowXs: \"0 1px 2px 0 rgb(28 25 23 / 0.05)\",\n shadowSm:\n \"0 1px 2px 0 rgb(15 118 110 / 0.08), 0 1px 3px -1px rgb(28 25 23 / 0.08)\",\n shadowMd:\n \"0 6px 16px -4px rgb(28 25 23 / 0.1), 0 2px 6px -2px rgb(15 118 110 / 0.08)\",\n shadowLg:\n \"0 16px 32px -8px rgb(28 25 23 / 0.12), 0 6px 12px -4px rgb(15 118 110 / 0.08)\",\n shadowXl: \"0 24px 48px -12px rgb(28 25 23 / 0.16)\",\n shadow2xl: \"0 32px 64px -16px rgb(28 25 23 / 0.22)\",\n },\n dark: {\n background: \"#12100d\",\n foreground: \"#f4efe6\",\n card: \"#1b1814\",\n cardForeground: \"#f4efe6\",\n popover: \"#1b1814\",\n popoverForeground: \"#f4efe6\",\n primary: \"#2dd4bf\",\n primaryForeground: \"#042f2e\",\n secondary: \"#2a241c\",\n secondaryForeground: \"#f4efe6\",\n muted: \"#221e19\",\n mutedForeground: \"#a8a29e\",\n accent: \"#134e4a\",\n accentForeground: \"#ccfbf1\",\n destructive: \"#f87171\",\n border: \"#2e2922\",\n input: \"#2e2922\",\n ring: \"#2dd4bf\",\n chart1: \"#2dd4bf\",\n chart2: \"#5eead4\",\n chart3: \"#99f6e4\",\n chart4: \"#14b8a6\",\n chart5: \"#0f766e\",\n sidebar: \"#1b1814\",\n sidebarForeground: \"#f4efe6\",\n sidebarPrimary: \"#2dd4bf\",\n sidebarPrimaryForeground: \"#042f2e\",\n sidebarAccent: \"#2a241c\",\n sidebarAccentForeground: \"#f4efe6\",\n sidebarBorder: \"#2e2922\",\n sidebarRing: \"#2dd4bf\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.28)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.32)\",\n shadowSm: \"0 1px 2px 0 rgb(0 0 0 / 0.36), 0 1px 3px -1px rgb(0 0 0 / 0.4)\",\n shadowMd: \"0 8px 20px -6px rgb(0 0 0 / 0.48)\",\n shadowLg: \"0 16px 32px -8px rgb(0 0 0 / 0.52)\",\n shadowXl: \"0 24px 48px -10px rgb(0 0 0 / 0.56)\",\n shadow2xl: \"0 32px 64px -12px rgb(0 0 0 / 0.64)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-xs\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n display: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-7xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 34, max: 60 },\n },\n header1: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n fluid: { min: 30, max: 52 },\n },\n header2: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 24, max: 36 },\n },\n header3: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n },\n subheader1: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-xl\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n },\n caption: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-6\", y: \"py-3\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-2xl\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-colors duration-200\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n menu: {\n padding: { x: \"px-1\", y: \"py-1\" },\n border: { width: \"border\", radius: \"rounded-2xl\", style: \"border-solid\" },\n shadow: \"shadow-xs\",\n item: {\n padding: { x: \"px-3\", y: \"py-2\" },\n border: { radius: \"rounded-xl\" },\n },\n },\n dialog: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border-0\", radius: \"rounded-2xl\" },\n shadow: \"shadow-lg\",\n },\n popover: {\n padding: { x: \"px-4\", y: \"py-4\" },\n border: { width: \"border-0\", radius: \"rounded-2xl\" },\n shadow: \"shadow-md\",\n },\n tooltip: {\n padding: { x: \"px-2\", y: \"py-1\" },\n border: { width: \"border-0\", radius: \"rounded-lg\" },\n shadow: \"shadow-sm\",\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 transition-colors duration-150 hover:underline\",\n },\n card: {\n padding: { x: \"px-8\", y: \"py-8\" },\n border: {\n width: \"border\",\n radius: \"rounded-3xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-shadow duration-200 hover:shadow-lg\",\n },\n input: {\n borderRadius: \"rounded-2xl\",\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border\",\n style: \"border-solid\",\n radius: \"rounded-2xl\",\n },\n shadow: \"shadow-none\",\n custom: \"transition-shadow duration-150\",\n disabled: {\n cursor: \"cursor-not-allowed\",\n opacity: \"opacity-50\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-24\" },\n },\n },\n};\n\nexport const studio: Theme = {\n id: \"studio\",\n name: \"Studio\",\n theme: themeStyles,\n};\n","import type { Theme, ThemeStyle } from \"../../models\";\n\n// Developer-tool look (boat.dev, herdr.dev): hairline 1px rules instead of\n// shadows and rounded cards, square corners, a heavy grotesque headline,\n// Inter body copy and monospace for small UI text. Dark mode is the ink\n// variant with one lavender accent; light mode is near-black on white.\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#ffffff\",\n foreground: \"#111111\",\n card: \"#ffffff\",\n cardForeground: \"#111111\",\n popover: \"#ffffff\",\n popoverForeground: \"#111111\",\n primary: \"#111111\",\n primaryForeground: \"#ffffff\",\n secondary: \"#ffffff\",\n secondaryForeground: \"#111111\",\n muted: \"#f5f5f5\",\n mutedForeground: \"#5c5c66\",\n accent: \"#f0f0f2\",\n accentForeground: \"#111111\",\n border: \"#dcdce0\",\n destructive: \"#d92d20\",\n input: \"#111111\",\n ring: \"#6d28d9\",\n chart1: \"#111111\",\n chart2: \"#6d28d9\",\n chart3: \"#2f4ad8\",\n chart4: \"#5c5c66\",\n chart5: \"#a1a1aa\",\n sidebar: \"#ffffff\",\n sidebarForeground: \"#111111\",\n sidebarPrimary: \"#111111\",\n sidebarPrimaryForeground: \"#ffffff\",\n sidebarAccent: \"#f0f0f2\",\n sidebarAccentForeground: \"#111111\",\n sidebarBorder: \"#dcdce0\",\n sidebarRing: \"#6d28d9\",\n shadow2xs: \"none\",\n shadowXs: \"none\",\n shadowSm: \"none\",\n shadowMd: \"none\",\n shadowLg: \"none\",\n shadowXl: \"none\",\n shadow2xl: \"none\",\n },\n dark: {\n background: \"#17171a\",\n foreground: \"#eae8ee\",\n card: \"#1c1c20\",\n cardForeground: \"#eae8ee\",\n popover: \"#1c1c20\",\n popoverForeground: \"#eae8ee\",\n primary: \"#cba6f7\",\n primaryForeground: \"#17171a\",\n secondary: \"#17171a\",\n secondaryForeground: \"#eae8ee\",\n muted: \"#222226\",\n mutedForeground: \"#9b99a3\",\n accent: \"#26262b\",\n accentForeground: \"#eae8ee\",\n border: \"#2e2e34\",\n destructive: \"#f38ba8\",\n input: \"#3a3a41\",\n ring: \"#cba6f7\",\n chart1: \"#cba6f7\",\n chart2: \"#a6e3a1\",\n chart3: \"#89b4fa\",\n chart4: \"#f9e2af\",\n chart5: \"#f38ba8\",\n sidebar: \"#17171a\",\n sidebarForeground: \"#eae8ee\",\n sidebarPrimary: \"#cba6f7\",\n sidebarPrimaryForeground: \"#17171a\",\n sidebarAccent: \"#26262b\",\n sidebarAccentForeground: \"#eae8ee\",\n sidebarBorder: \"#2e2e34\",\n sidebarRing: \"#cba6f7\",\n shadow2xs: \"none\",\n shadowXs: \"none\",\n shadowSm: \"none\",\n shadowMd: \"none\",\n shadowLg: \"none\",\n shadowXl: \"none\",\n shadow2xl: \"none\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-jetbrains-mono\",\n fontSize: \"text-xs\",\n fontWeight: \"font-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n display: {\n fontFamily: \"font-archivo\",\n fontSize: \"text-7xl\",\n fontWeight: \"font-black\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 36, max: 64 },\n },\n header1: {\n fontFamily: \"font-archivo\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-extrabold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 28, max: 44 },\n },\n header2: {\n fontFamily: \"font-archivo\",\n fontSize: \"text-3xl\",\n fontWeight: \"font-extrabold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n fluid: { min: 22, max: 32 },\n },\n header3: {\n fontFamily: \"font-archivo\",\n fontSize: \"text-xl\",\n fontWeight: \"font-bold\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-archivo\",\n fontSize: \"text-lg\",\n fontWeight: \"font-bold\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n subheader1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-jetbrains-mono\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wider\",\n textTransform: \"uppercase\",\n },\n input: {\n fontFamily: \"font-jetbrains-mono\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n },\n code: {\n fontFamily: \"font-jetbrains-mono\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n caption: {\n fontFamily: \"font-jetbrains-mono\",\n fontSize: \"text-xs\",\n fontWeight: \"font-normal\",\n letterSpacing: \"tracking-wider\",\n textTransform: \"uppercase\",\n },\n },\n highlight: \"marker\",\n interactives: {\n button: {\n padding: { x: \"px-5\", y: \"py-3\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n custom: \"transition-colors\",\n disabled: { opacity: \"opacity-50\", cursor: \"cursor-not-allowed\" },\n },\n menu: {\n padding: { x: \"px-1\", y: \"py-1\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n item: {\n padding: { x: \"px-3\", y: \"py-2\" },\n border: { radius: \"rounded-none\" },\n },\n },\n dialog: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n },\n popover: {\n padding: { x: \"px-4\", y: \"py-4\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n },\n tooltip: {\n padding: { x: \"px-2\", y: \"py-1\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 hover:underline\",\n },\n card: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n custom: \"\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: { width: \"border\", radius: \"rounded-none\", style: \"border-solid\" },\n shadow: \"shadow-none\",\n custom: \"\",\n disabled: { cursor: \"cursor-not-allowed\", opacity: \"opacity-50\" },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n dividers: true,\n padding: { x: \"px-6\", y: \"py-20\" },\n },\n },\n};\n\nexport const terminal: Theme = {\n id: \"terminal\",\n name: \"Terminal\",\n theme: themeStyles,\n};\n","import type { Theme } from \"../../models\";\nimport { classic } from \"./classic\";\nimport { editorial } from \"./editorial\";\nimport { midnight } from \"./midnight\";\nimport { neobrutalism } from \"./neobrutalism\";\nimport { studio } from \"./studio\";\nimport { terminal } from \"./terminal\";\n\nexport const themes: Theme[] = [\n classic,\n studio,\n midnight,\n editorial,\n neobrutalism,\n terminal,\n];\n","import convert, { HSL } from \"color-convert\";\nimport type { Theme } from \"../models\";\n\nfunction formatHSL(hsl: HSL): string {\n return `${hsl[0]} ${hsl[1]}% ${hsl[2]}%`;\n}\n\nconst SHORT_OR_LONG_HEX = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;\nconst HEX_WITH_ALPHA = /^#([0-9a-f]{4}|[0-9a-f]{8})$/i;\nconst CSS_COLOR_FUNCTION =\n /^(oklch|oklab|lab|lch|hwb|hsla?|rgba?|color)\\(\\s*[-+0-9a-z%.,/\\s]+\\)$/i;\n\n/**\n * Turns a theme colour into a CSS colour value, or \"\" when it isn't a\n * colour we can use. Hex (the stored format) is converted to hsl();\n * modern CSS colour functions such as `oklch(...)` are passed through.\n */\nexport function resolveThemeColor(value?: string): string {\n const color = value?.trim();\n if (!color) return \"\";\n if (SHORT_OR_LONG_HEX.test(color)) {\n return `hsl(${formatHSL(convert.hex.hsl(color.replace(\"#\", \"\")))})`;\n }\n if (HEX_WITH_ALPHA.test(color) || CSS_COLOR_FUNCTION.test(color)) return color;\n return \"\";\n}\n\n/**\n * Generates full CSS color values for the custom properties every primitive\n * reads. Full colors (rather than bare HSL channels) let the renderer coexist\n * with Tailwind v4 hosts whose semantic utilities use `var(--primary)` while\n * still accepting CourseLit-derived hex theme data.\n *\n * Callers rendering more than one theme in a document should pass a unique\n * selector so one renderer cannot overwrite another renderer's variables.\n */\nexport function generateThemeStyles(theme: Theme, selector = \".pb-theme\"): string {\n const colors = theme?.theme?.colors;\n if (!colors) {\n return \"\";\n }\n\n const { light, dark } = colors;\n if (!light || !dark) {\n return \"\";\n }\n\n const block = (c: typeof light) => `\n --background: ${resolveThemeColor(c.background)};\n --foreground: ${resolveThemeColor(c.foreground)};\n --card: ${resolveThemeColor(c.card)};\n --card-foreground: ${resolveThemeColor(c.cardForeground)};\n --popover: ${resolveThemeColor(c.popover)};\n --popover-foreground: ${resolveThemeColor(c.popoverForeground)};\n --primary: ${resolveThemeColor(c.primary)};\n --primary-foreground: ${resolveThemeColor(c.primaryForeground)};\n --secondary: ${resolveThemeColor(c.secondary)};\n --secondary-foreground: ${resolveThemeColor(c.secondaryForeground)};\n --muted: ${resolveThemeColor(c.muted)};\n --muted-foreground: ${resolveThemeColor(c.mutedForeground)};\n --accent: ${resolveThemeColor(c.accent)};\n --accent-foreground: ${resolveThemeColor(c.accentForeground)};\n --destructive: ${resolveThemeColor(c.destructive)};\n --border: ${resolveThemeColor(c.border)};\n --input: ${resolveThemeColor(c.input)};\n --ring: ${resolveThemeColor(c.ring)};\n --chart-1: ${resolveThemeColor(c.chart1)};\n --chart-2: ${resolveThemeColor(c.chart2)};\n --chart-3: ${resolveThemeColor(c.chart3)};\n --chart-4: ${resolveThemeColor(c.chart4)};\n --chart-5: ${resolveThemeColor(c.chart5)};\n --sidebar-background: ${resolveThemeColor(c.sidebar)};\n --sidebar-foreground: ${resolveThemeColor(c.sidebarForeground)};\n --sidebar-primary: ${resolveThemeColor(c.sidebarPrimary)};\n --sidebar-primary-foreground: ${resolveThemeColor(c.sidebarPrimaryForeground)};\n --sidebar-accent: ${resolveThemeColor(c.sidebarAccent)};\n --sidebar-accent-foreground: ${resolveThemeColor(c.sidebarAccentForeground)};\n --sidebar-border: ${resolveThemeColor(c.sidebarBorder)};\n --sidebar-ring: ${resolveThemeColor(c.sidebarRing)};\n --shadow-2xs: ${c.shadow2xs ?? \"\"};\n --shadow-xs: ${c.shadowXs ?? \"\"};\n --shadow-sm: ${c.shadowSm ?? \"\"};\n --shadow-md: ${c.shadowMd ?? \"\"};\n --shadow-lg: ${c.shadowLg ?? \"\"};\n --shadow-xl: ${c.shadowXl ?? \"\"};\n --shadow-2xl: ${c.shadow2xl ?? \"\"};\n `;\n\n return `\n ${selector} {\n ${block(light)}\n }\n ${selector}:is(.dark, .dark *) {\n ${block(dark)}\n }\n `;\n}\n","/**\n * Theme helpers that are safe to call from React Server Components and light\n * enough to import from client components (the site's chat widget does).\n */\nimport type { Theme } from \"../models\";\nimport { themes } from \"../primitives/themes\";\n\nexport { generateThemeStyles } from \"../renderer/generate-theme-styles\";\nexport { themes };\n\n/**\n * Picks the theme a site paints with: a custom `themeStyle` wins, then the\n * stock theme named by `themeId`, then the default theme.\n */\nexport function resolveTheme(\n themeId: string | null,\n themeStyle: Record<string, unknown> | null,\n): Theme {\n if (themeStyle) {\n return {\n id: themeId ?? \"custom\",\n name: \"Custom\",\n theme: themeStyle as unknown as Theme[\"theme\"],\n };\n }\n\n return themes.find((theme) => theme.id === themeId) ?? themes[0];\n}\n"],"mappings":"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","names":["themeStyles","themeStyles","themeStyles","themeStyles","themeStyles"]}
@@ -0,0 +1,77 @@
1
+ import { T as ThemeStyle } from './theme-style-5_AGy-4V.js';
2
+
3
+ type BlendMode = "normal" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "hue" | "saturation" | "color" | "luminosity";
4
+ type BackgroundRepeat = "no-repeat" | "repeat" | "repeat-x" | "repeat-y" | "space" | "round";
5
+ /**
6
+ * CSS `background-attachment`.
7
+ * - `scroll` (default): background moves with the section / page
8
+ * - `fixed`: background is pinned to the viewport so content scrolls
9
+ * over a static surface (classic parallax / “hero still” look)
10
+ * - `local`: background scrolls with the element’s own overflow
11
+ */
12
+ type BackgroundAttachment = "scroll" | "fixed" | "local";
13
+ interface SectionBackgroundOverlay {
14
+ color: string;
15
+ colorDark?: string;
16
+ blendMode: BlendMode;
17
+ opacity: number;
18
+ }
19
+ type SectionBackground = {
20
+ type: "color" | "image" | "gradient";
21
+ backgroundColor?: string;
22
+ backgroundColorDark?: string;
23
+ backgroundImage?: string;
24
+ backgroundImageDark?: string;
25
+ backgroundSize?: string;
26
+ backgroundPosition?: string;
27
+ backgroundRepeat?: BackgroundRepeat;
28
+ /**
29
+ * When `"fixed"`, the image/pattern stays still relative to the
30
+ * viewport while the page scrolls. Most useful on image and pattern
31
+ * (gradient) backgrounds; ignored for solid color fills.
32
+ */
33
+ backgroundAttachment?: BackgroundAttachment;
34
+ maskImage?: string;
35
+ gradientBackgroundSize?: string;
36
+ gradientBackgroundPosition?: string;
37
+ gradientBackgroundRepeat?: BackgroundRepeat;
38
+ gradientMaskImage?: string;
39
+ blur?: number;
40
+ overlay?: SectionBackgroundOverlay;
41
+ media?: Record<string, unknown>;
42
+ };
43
+
44
+ /**
45
+ * Settings shared by every block, mirroring the common layout controls
46
+ * (max width / vertical padding / background) that CourseLit's theme system
47
+ * exposes to each section.
48
+ */
49
+ interface WidgetDefaultSettings {
50
+ cssId?: string;
51
+ verticalPadding?: ThemeStyle["structure"]["section"]["padding"]["y"];
52
+ maxWidth?: ThemeStyle["structure"]["page"]["width"];
53
+ background?: SectionBackground;
54
+ /** Selected layout id from the block's `layouts`; first layout when unset. */
55
+ layout?: string;
56
+ }
57
+ interface PageData extends Record<string, unknown> {
58
+ pageType?: string;
59
+ /** Branding from site settings. Required so a host can't silently drop
60
+ * it; pass `null` for an unset one. Hosts build these with
61
+ * `toSiteBranding` from `@frontlit/api-contract`. */
62
+ siteTitle: string | null;
63
+ siteSubtitle: string | null;
64
+ siteLogoUrl: string | null;
65
+ siteLogoAlt: string | null;
66
+ /** The page's team (public id) and slug, plus the base URL of FrontLit's
67
+ * public API — threaded through so blocks that make unauthenticated
68
+ * public calls (e.g. the email-form block's lead capture, architecture.md
69
+ * §10.2) know where to send them. Left unset in contexts with no live
70
+ * backend (e.g. a bare component-library preview), in which case those
71
+ * blocks degrade to a local-only success state. */
72
+ teamId?: string;
73
+ pageSlug?: string;
74
+ publicApiBaseUrl?: string;
75
+ }
76
+
77
+ export type { PageData as P, WidgetDefaultSettings as W };