@bendyline/squisq 1.4.1 → 1.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 (216) hide show
  1. package/dist/{Doc-BeSeH2iX.d.ts → Doc-BsMkmzH8.d.ts} +838 -268
  2. package/dist/{ImageEditDoc-BTIvw0oq.d.ts → ImageEditDoc-DvoeHMP9.d.ts} +11 -4
  3. package/dist/{chunk-ZTX4PFFT.js → chunk-2OIBZYKP.js} +75 -2
  4. package/dist/chunk-2OIBZYKP.js.map +1 -0
  5. package/dist/chunk-2UQOHYE2.js +45 -0
  6. package/dist/chunk-2UQOHYE2.js.map +1 -0
  7. package/dist/{chunk-B4EEON3N.js → chunk-4AKUQPEE.js} +536 -103
  8. package/dist/chunk-4AKUQPEE.js.map +1 -0
  9. package/dist/chunk-4ZFRZBU2.js +6582 -0
  10. package/dist/chunk-4ZFRZBU2.js.map +1 -0
  11. package/dist/{chunk-57CVQCFX.js → chunk-7MQGNR76.js} +79 -3
  12. package/dist/chunk-7MQGNR76.js.map +1 -0
  13. package/dist/{chunk-5WFRKURX.js → chunk-DLXZMS5K.js} +4 -2
  14. package/dist/chunk-DLXZMS5K.js.map +1 -0
  15. package/dist/{chunk-MYIH7FWD.js → chunk-FBKP5CAO.js} +1 -1
  16. package/dist/chunk-FBKP5CAO.js.map +1 -0
  17. package/dist/chunk-KZNXZ5SM.js +333 -0
  18. package/dist/chunk-KZNXZ5SM.js.map +1 -0
  19. package/dist/{chunk-WMOI7FN3.js → chunk-LRCV7N7F.js} +12 -2
  20. package/dist/{chunk-WMOI7FN3.js.map → chunk-LRCV7N7F.js.map} +1 -1
  21. package/dist/{chunk-3K5OG6KI.js → chunk-OH43RPTP.js} +403 -187
  22. package/dist/chunk-OH43RPTP.js.map +1 -0
  23. package/dist/{chunk-H3AXU4MJ.js → chunk-OKJOQXK4.js} +149 -2
  24. package/dist/chunk-OKJOQXK4.js.map +1 -0
  25. package/dist/chunk-PGGGKYWG.js +1 -0
  26. package/dist/chunk-PGGGKYWG.js.map +1 -0
  27. package/dist/{chunk-7UDSRZKG.js → chunk-Q3ROPT5H.js} +35 -14
  28. package/dist/chunk-Q3ROPT5H.js.map +1 -0
  29. package/dist/chunk-QE7TWGVT.js +178 -0
  30. package/dist/chunk-QE7TWGVT.js.map +1 -0
  31. package/dist/chunk-RUDYOTA6.js +345 -0
  32. package/dist/chunk-RUDYOTA6.js.map +1 -0
  33. package/dist/chunk-TVSGLUID.js +596 -0
  34. package/dist/chunk-TVSGLUID.js.map +1 -0
  35. package/dist/chunk-ZLQKNOZQ.js +1 -0
  36. package/dist/chunk-ZLQKNOZQ.js.map +1 -0
  37. package/dist/doc/index.d.ts +4 -4
  38. package/dist/doc/index.js +124 -6
  39. package/dist/generate/index.d.ts +9 -2
  40. package/dist/generate/index.js +1 -1
  41. package/dist/icons/index.d.ts +3 -26
  42. package/dist/icons/index.js +13 -0
  43. package/dist/icons/inlineIconMarker.d.ts +1 -0
  44. package/dist/icons/inlineIconMarker.js +15 -0
  45. package/dist/icons/inlineIconMarker.js.map +1 -0
  46. package/dist/imageEdit/index.d.ts +11 -5
  47. package/dist/imageEdit/index.js +4 -1
  48. package/dist/index.d.ts +11 -8
  49. package/dist/index.js +243 -24
  50. package/dist/inlineIconMarker-CiE8Hlvz.d.ts +59 -0
  51. package/dist/markdown/index.d.ts +212 -3
  52. package/dist/markdown/index.js +40 -7
  53. package/dist/recommend/index.d.ts +1 -1
  54. package/dist/recommend/index.js +3 -2
  55. package/dist/schemas/index.d.ts +28 -8
  56. package/dist/schemas/index.js +35 -5
  57. package/dist/spatial/index.d.ts +9 -4
  58. package/dist/spatial/index.js +1 -1
  59. package/dist/story/index.d.ts +906 -40
  60. package/dist/story/index.js +124 -6
  61. package/dist/{themeLibrary-BHjJ0Qx6.d.ts → themeLibrary-DQQKuRMx.d.ts} +1 -1
  62. package/dist/transform/index.d.ts +48 -10
  63. package/dist/transform/index.js +17 -481
  64. package/dist/transform/index.js.map +1 -1
  65. package/dist/{types-BdZkdJ3z.d.ts → types-DlAZ7MW4.d.ts} +115 -1
  66. package/package.json +6 -1
  67. package/src/__tests__/animationUtils.test.ts +40 -0
  68. package/src/__tests__/annotationCoercion.test.ts +243 -0
  69. package/src/__tests__/applyRenderStyle.test.ts +146 -0
  70. package/src/__tests__/atmosphereLayers.test.ts +108 -0
  71. package/src/__tests__/attrTokens.test.ts +162 -0
  72. package/src/__tests__/customTemplateSample.test.ts +83 -0
  73. package/src/__tests__/customTemplatesFrontmatter.test.ts +205 -0
  74. package/src/__tests__/customThemesFrontmatter.test.ts +118 -0
  75. package/src/__tests__/diagramBlock.test.ts +122 -0
  76. package/src/__tests__/diagramLayout.test.ts +134 -0
  77. package/src/__tests__/drawing.test.ts +109 -0
  78. package/src/__tests__/drawingBlock.test.ts +124 -0
  79. package/src/__tests__/drawingLayout.test.ts +171 -0
  80. package/src/__tests__/geohash.test.ts +6 -5
  81. package/src/__tests__/getLayers.test.ts +6 -2
  82. package/src/__tests__/getLayersFallback.test.ts +103 -0
  83. package/src/__tests__/imageEditExportSvg.test.ts +70 -0
  84. package/src/__tests__/imageEditVersions.test.ts +72 -0
  85. package/src/__tests__/inlineIconMarker.test.ts +36 -0
  86. package/src/__tests__/layoutBlock.test.ts +83 -0
  87. package/src/__tests__/layoutLayout.test.ts +169 -0
  88. package/src/__tests__/markdown.test.ts +23 -0
  89. package/src/__tests__/markdownSanitize.test.ts +64 -0
  90. package/src/__tests__/markdownToDoc.test.ts +223 -2
  91. package/src/__tests__/mediaAnnotations.test.ts +64 -0
  92. package/src/__tests__/mediaSchedule.test.ts +118 -0
  93. package/src/__tests__/pandocAttrParse.test.ts +187 -0
  94. package/src/__tests__/resolveDocTheme.test.ts +55 -0
  95. package/src/__tests__/rootExports.test.ts +43 -0
  96. package/src/__tests__/shapeGeometry.test.ts +89 -0
  97. package/src/__tests__/shapeVocabulary.test.ts +133 -0
  98. package/src/__tests__/structuredData.test.ts +179 -0
  99. package/src/__tests__/templateAnnotationParse.test.ts +108 -0
  100. package/src/__tests__/templateMetadata.test.ts +21 -0
  101. package/src/__tests__/templates.test.ts +145 -4
  102. package/src/__tests__/themeCompile.test.ts +42 -0
  103. package/src/__tests__/themeValidator.test.ts +6 -0
  104. package/src/__tests__/transformV2.test.ts +137 -0
  105. package/src/__tests__/transitionNormalize.test.ts +61 -0
  106. package/src/__tests__/validateDoc.test.ts +100 -0
  107. package/src/doc/customTemplatesFrontmatter.ts +308 -0
  108. package/src/doc/customThemesFrontmatter.ts +90 -0
  109. package/src/doc/docToMarkdown.ts +73 -4
  110. package/src/doc/getLayers.ts +40 -17
  111. package/src/doc/index.ts +35 -1
  112. package/src/doc/markdownToDoc.ts +333 -12
  113. package/src/doc/mediaAnnotations.ts +118 -0
  114. package/src/doc/resolveDocTheme.ts +55 -0
  115. package/src/doc/structuredData.ts +230 -0
  116. package/src/doc/templateInputs.ts +240 -0
  117. package/src/doc/templates/__tests__/customTemplate.test.ts +151 -0
  118. package/src/doc/templates/__tests__/customTemplateRegistry.test.ts +110 -0
  119. package/src/doc/templates/accentImage.ts +30 -6
  120. package/src/doc/templates/captionUtils.ts +23 -0
  121. package/src/doc/templates/comparisonBar.ts +26 -18
  122. package/src/doc/templates/coverBlock.ts +7 -4
  123. package/src/doc/templates/customTemplate.ts +45 -0
  124. package/src/doc/templates/dataTable.ts +37 -19
  125. package/src/doc/templates/dateEvent.ts +41 -20
  126. package/src/doc/templates/definitionCard.ts +26 -18
  127. package/src/doc/templates/diagramBlock.ts +204 -0
  128. package/src/doc/templates/diagramLayout.ts +159 -0
  129. package/src/doc/templates/drawingBlock.ts +325 -0
  130. package/src/doc/templates/drawingLayout.ts +539 -0
  131. package/src/doc/templates/factCard.ts +51 -25
  132. package/src/doc/templates/fallbackBlock.ts +123 -0
  133. package/src/doc/templates/featureBlock.ts +20 -13
  134. package/src/doc/templates/fullBleedQuote.ts +18 -8
  135. package/src/doc/templates/imageWithCaption.ts +22 -9
  136. package/src/doc/templates/index.ts +215 -46
  137. package/src/doc/templates/layoutBlock.ts +43 -0
  138. package/src/doc/templates/layoutLayout.ts +243 -0
  139. package/src/doc/templates/listBlock.ts +56 -30
  140. package/src/doc/templates/mapBlock.ts +15 -12
  141. package/src/doc/templates/metadata.ts +120 -0
  142. package/src/doc/templates/persistentLayers.ts +129 -11
  143. package/src/doc/templates/photoGrid.ts +23 -12
  144. package/src/doc/templates/pullQuote.ts +30 -12
  145. package/src/doc/templates/quoteBlock.ts +54 -29
  146. package/src/doc/templates/sectionHeader.ts +25 -11
  147. package/src/doc/templates/statHighlight.ts +39 -22
  148. package/src/doc/templates/titleBlock.ts +59 -21
  149. package/src/doc/templates/tokens/__tests__/resolveTokens.test.ts +221 -0
  150. package/src/doc/templates/tokens/resolveTokens.ts +0 -0
  151. package/src/doc/templates/twoColumn.ts +48 -30
  152. package/src/doc/templates/videoPullQuote.ts +22 -12
  153. package/src/doc/templates/videoWithCaption.ts +13 -8
  154. package/src/doc/utils/animationUtils.ts +267 -3
  155. package/src/doc/utils/applyRenderStyle.ts +113 -0
  156. package/src/doc/utils/imageTreatment.ts +70 -0
  157. package/src/doc/utils/shapeGeometry.ts +464 -0
  158. package/src/doc/utils/themeUtils.ts +75 -1
  159. package/src/doc/validate.ts +476 -0
  160. package/src/generate/slideshowGenerator.ts +7 -0
  161. package/src/icons/index.ts +8 -0
  162. package/src/icons/inlineIconMarker.ts +73 -0
  163. package/src/imageEdit/export.ts +85 -2
  164. package/src/imageEdit/index.ts +1 -0
  165. package/src/imageEdit/persistence.ts +51 -0
  166. package/src/index.ts +2 -0
  167. package/src/markdown/annotationCoercion.ts +295 -0
  168. package/src/markdown/attrTokens.ts +222 -0
  169. package/src/markdown/convert.ts +229 -26
  170. package/src/markdown/index.ts +36 -0
  171. package/src/markdown/sanitize.ts +298 -0
  172. package/src/markdown/stringify.ts +84 -3
  173. package/src/markdown/types.ts +66 -0
  174. package/src/markdown/utils.ts +49 -1
  175. package/src/recommend/templates.ts +24 -0
  176. package/src/schemas/BlockTemplates.ts +133 -4
  177. package/src/schemas/CustomTemplates.ts +74 -0
  178. package/src/schemas/Doc.ts +353 -29
  179. package/src/schemas/ImageEditDoc.ts +11 -4
  180. package/src/schemas/Media.ts +169 -0
  181. package/src/schemas/Theme.ts +23 -1
  182. package/src/schemas/Transitions.ts +224 -0
  183. package/src/schemas/colorUtils.ts +33 -0
  184. package/src/schemas/fontStacks.ts +5 -2
  185. package/src/schemas/index.ts +3 -0
  186. package/src/schemas/themeCompile.ts +23 -4
  187. package/src/schemas/themeValidator.ts +49 -11
  188. package/src/schemas/themes/cinematic.json +69 -12
  189. package/src/schemas/themes/documentary.json +58 -11
  190. package/src/schemas/themes/gezellig.json +60 -11
  191. package/src/schemas/themes/magazine.json +54 -9
  192. package/src/schemas/themes/morning-light.json +52 -9
  193. package/src/schemas/themes/standard-dark.json +48 -13
  194. package/src/schemas/themes/standard.json +44 -12
  195. package/src/schemas/themes/tech-dark.json +65 -12
  196. package/src/spatial/Geohash.ts +52 -21
  197. package/src/transform/applyTransform.ts +43 -4
  198. package/src/transform/index.ts +1 -0
  199. package/src/transform/registry.ts +44 -13
  200. package/src/transform/styles/dataDriven.ts +2 -1
  201. package/src/transform/styles/documentary.ts +2 -1
  202. package/src/transform/styles/magazine.ts +3 -1
  203. package/src/transform/styles/minimal.ts +2 -1
  204. package/src/transform/styles/narrative.ts +3 -1
  205. package/src/transform/templateSelector.ts +87 -11
  206. package/src/transform/types.ts +35 -2
  207. package/dist/chunk-3K5OG6KI.js.map +0 -1
  208. package/dist/chunk-57CVQCFX.js.map +0 -1
  209. package/dist/chunk-5WFRKURX.js.map +0 -1
  210. package/dist/chunk-7UDSRZKG.js.map +0 -1
  211. package/dist/chunk-B4EEON3N.js.map +0 -1
  212. package/dist/chunk-H3AXU4MJ.js.map +0 -1
  213. package/dist/chunk-KSWJR66U.js +0 -3706
  214. package/dist/chunk-KSWJR66U.js.map +0 -1
  215. package/dist/chunk-MYIH7FWD.js.map +0 -1
  216. package/dist/chunk-ZTX4PFFT.js.map +0 -1
@@ -1,5 +1,13 @@
1
+ import {
2
+ isTransitionType
3
+ } from "./chunk-QE7TWGVT.js";
4
+
5
+ // src/schemas/CustomTemplates.ts
6
+ var FRONTMATTER_CUSTOM_TEMPLATES_KEY = "squisq-custom-templates";
7
+
1
8
  // src/schemas/Theme.ts
2
9
  var THEME_SCHEMA_VERSION = "1";
10
+ var FRONTMATTER_CUSTOM_THEMES_KEY = "squisq-custom-themes";
3
11
  function deepMerge(target, source) {
4
12
  const result = { ...target };
5
13
  for (const key of Object.keys(source)) {
@@ -158,6 +166,27 @@ function relativeLuminance(hex) {
158
166
  const [r, g, b] = rgb.map(srgbToLinear);
159
167
  return 0.2126 * r + 0.7152 * g + 0.0722 * b;
160
168
  }
169
+ function hexHueDegrees(hex) {
170
+ const rgb = parseHex(hex);
171
+ if (!rgb) return 0;
172
+ const [r, g, b] = rgb;
173
+ const max = Math.max(r, g, b);
174
+ const min = Math.min(r, g, b);
175
+ if (max === min) return 0;
176
+ const d = max - min;
177
+ let h;
178
+ if (max === r) h = (g - b) / d % 6;
179
+ else if (max === g) h = (b - r) / d + 2;
180
+ else h = (r - g) / d + 4;
181
+ return Math.round((h * 60 + 360) % 360);
182
+ }
183
+ function withAlpha(hex, alpha) {
184
+ const rgb = parseHex(hex);
185
+ if (!rgb) return hex;
186
+ const a = Math.max(0, Math.min(1, alpha));
187
+ const ch = (v) => Math.round(v * 255);
188
+ return `rgba(${ch(rgb[0])}, ${ch(rgb[1])}, ${ch(rgb[2])}, ${a})`;
189
+ }
161
190
  function contrastRatio(a, b) {
162
191
  const la = relativeLuminance(a);
163
192
  const lb = relativeLuminance(b);
@@ -181,16 +210,6 @@ function deriveScale(seedHex, spread = 0.15) {
181
210
  // src/schemas/themeValidator.ts
182
211
  var VALID_FALLBACK = /* @__PURE__ */ new Set(["serif", "sans-serif", "monospace", "system-ui"]);
183
212
  var VALID_TITLE_WEIGHT = /* @__PURE__ */ new Set(["normal", "bold"]);
184
- var VALID_TRANSITION_TYPES = /* @__PURE__ */ new Set([
185
- "cut",
186
- "fade",
187
- "dissolve",
188
- "slideLeft",
189
- "slideRight",
190
- "slideUp",
191
- "slideDown",
192
- "zoom"
193
- ]);
194
213
  var VALID_GRADIENT_PRESETS = /* @__PURE__ */ new Set([
195
214
  "dark-vignette",
196
215
  "radial-dark",
@@ -327,6 +346,23 @@ var V = class {
327
346
  if (v.blockPadding !== void 0 && !this.isString(v.blockPadding)) {
328
347
  this.err(`${path}.blockPadding`, 'expected string (percentage e.g. "5%")');
329
348
  }
349
+ if (v.imageTreatment !== void 0) {
350
+ this.imageTreatment(`${path}.imageTreatment`, v.imageTreatment);
351
+ }
352
+ }
353
+ imageTreatment(path, v) {
354
+ if (!this.isObject(v)) {
355
+ this.err(path, "expected object");
356
+ return;
357
+ }
358
+ const kinds = ["none", "mono", "duotone", "warm", "cool"];
359
+ if (!this.isString(v.type) || !kinds.includes(v.type)) {
360
+ this.err(`${path}.type`, `expected one of ${kinds.join("|")}`);
361
+ }
362
+ if (v.strength !== void 0 && !this.isNumber(v.strength)) {
363
+ this.err(`${path}.strength`, "expected number (0..1)");
364
+ }
365
+ if (v.color !== void 0) this.hex(`${path}.color`, v.color);
330
366
  }
331
367
  renderStyle(path, v) {
332
368
  if (!this.isObject(v)) {
@@ -349,7 +385,7 @@ var V = class {
349
385
  if (!this.isObject(t)) {
350
386
  this.err(`${path}.defaultTransition`, "expected object");
351
387
  } else {
352
- if (!this.isString(t.type) || !VALID_TRANSITION_TYPES.has(t.type)) {
388
+ if (!this.isString(t.type) || !isTransitionType(t.type)) {
353
389
  this.err(`${path}.defaultTransition.type`, "expected valid transition type");
354
390
  }
355
391
  if (t.duration !== void 0 && !this.isNumber(t.duration)) {
@@ -430,6 +466,32 @@ var V = class {
430
466
  "raw CSS gradient strings are not allowed in Theme JSON; use a `preset`"
431
467
  );
432
468
  }
469
+ if (v.template === "patternBackground") {
470
+ const patterns = ["dots", "grid", "diagonal", "noise"];
471
+ if (!this.isString(cfg.pattern) || !patterns.includes(cfg.pattern)) {
472
+ this.err(`${path}.config.pattern`, `expected one of ${patterns.join("|")}`);
473
+ }
474
+ for (const k of ["opacity", "scale"]) {
475
+ if (cfg[k] !== void 0 && !this.isNumber(cfg[k])) {
476
+ this.err(`${path}.config.${k}`, "expected number");
477
+ }
478
+ }
479
+ if (cfg.color !== void 0) this.hex(`${path}.config.color`, cfg.color);
480
+ }
481
+ if (v.template === "vignette") {
482
+ if (cfg.strength !== void 0 && !this.isNumber(cfg.strength)) {
483
+ this.err(`${path}.config.strength`, "expected number (0..1)");
484
+ }
485
+ if (cfg.color !== void 0) this.hex(`${path}.config.color`, cfg.color);
486
+ }
487
+ if (v.template === "ambientGradient") {
488
+ if (cfg.duration !== void 0 && !this.isNumber(cfg.duration)) {
489
+ this.err(`${path}.config.duration`, "expected number (seconds)");
490
+ }
491
+ for (const k of ["from", "to"]) {
492
+ if (cfg[k] !== void 0) this.hex(`${path}.config.${k}`, cfg[k]);
493
+ }
494
+ }
433
495
  }
434
496
  }
435
497
  persistentLayers(path, v) {
@@ -468,6 +530,9 @@ function validateTheme(input) {
468
530
  if (input.description !== void 0 && !v.isString(input.description)) {
469
531
  v.err("description", "expected string");
470
532
  }
533
+ if (input.basedOn !== void 0 && !v.isString(input.basedOn)) {
534
+ v.err("basedOn", "expected string");
535
+ }
471
536
  if (input.seedColors !== void 0) v.seedColors("seedColors", input.seedColors);
472
537
  if (input.colors === void 0) {
473
538
  v.err("colors", "required");
@@ -531,9 +596,15 @@ var standard_default = {
531
596
  warning: "#dc2626"
532
597
  },
533
598
  typography: {
534
- bodyFont: { stackId: "system-sans" },
535
- titleFont: { stackId: "system-serif" },
536
- monoFont: { stackId: "system-mono" },
599
+ bodyFont: {
600
+ stackId: "system-sans"
601
+ },
602
+ titleFont: {
603
+ stackId: "system-serif"
604
+ },
605
+ monoFont: {
606
+ stackId: "system-mono"
607
+ },
537
608
  titleWeight: "bold"
538
609
  },
539
610
  style: {
@@ -544,17 +615,43 @@ var standard_default = {
544
615
  renderStyle: {
545
616
  name: "standard",
546
617
  defaultTextAnimation: "fadeIn",
547
- defaultImageAnimation: "slowZoom",
548
- ambientMotion: true,
549
- defaultTransition: { type: "fade", duration: 0.7 }
618
+ ambientMotion: false,
619
+ defaultTransition: {
620
+ type: "fade",
621
+ duration: 0.7
622
+ }
550
623
  },
551
624
  colorSchemes: {
552
- blue: { bg: "#dbeafe", text: "#1d4ed8", accent: "#2563eb" },
553
- green: { bg: "#dcfce7", text: "#166534", accent: "#16a34a" },
554
- purple: { bg: "#ede9fe", text: "#5b21b6", accent: "#7c3aed" },
555
- red: { bg: "#fee2e2", text: "#991b1b", accent: "#dc2626" },
556
- orange: { bg: "#ffedd5", text: "#9a3412", accent: "#ea580c" },
557
- teal: { bg: "#ccfbf1", text: "#115e59", accent: "#0d9488" }
625
+ blue: {
626
+ bg: "#dbeafe",
627
+ text: "#1d4ed8",
628
+ accent: "#2563eb"
629
+ },
630
+ green: {
631
+ bg: "#dcfce7",
632
+ text: "#166534",
633
+ accent: "#16a34a"
634
+ },
635
+ purple: {
636
+ bg: "#ede9fe",
637
+ text: "#5b21b6",
638
+ accent: "#7c3aed"
639
+ },
640
+ red: {
641
+ bg: "#fee2e2",
642
+ text: "#991b1b",
643
+ accent: "#dc2626"
644
+ },
645
+ orange: {
646
+ bg: "#ffedd5",
647
+ text: "#9a3412",
648
+ accent: "#ea580c"
649
+ },
650
+ teal: {
651
+ bg: "#ccfbf1",
652
+ text: "#115e59",
653
+ accent: "#0d9488"
654
+ }
558
655
  }
559
656
  };
560
657
 
@@ -575,9 +672,15 @@ var standard_dark_default = {
575
672
  warning: "#fc8181"
576
673
  },
577
674
  typography: {
578
- bodyFont: { stackId: "system-sans" },
579
- titleFont: { stackId: "system-serif" },
580
- monoFont: { stackId: "system-mono" },
675
+ bodyFont: {
676
+ stackId: "system-sans"
677
+ },
678
+ titleFont: {
679
+ stackId: "system-serif"
680
+ },
681
+ monoFont: {
682
+ stackId: "system-mono"
683
+ },
581
684
  titleWeight: "bold"
582
685
  },
583
686
  style: {
@@ -588,23 +691,52 @@ var standard_dark_default = {
588
691
  renderStyle: {
589
692
  name: "standard",
590
693
  defaultTextAnimation: "fadeIn",
591
- defaultImageAnimation: "slowZoom",
592
- ambientMotion: true,
593
- defaultTransition: { type: "fade", duration: 0.7 }
694
+ ambientMotion: false,
695
+ defaultTransition: {
696
+ type: "fade",
697
+ duration: 0.7
698
+ }
594
699
  },
595
700
  colorSchemes: {
596
- blue: { bg: "#1a365d", text: "#63b3ed", accent: "#90cdf4" },
597
- green: { bg: "#22543d", text: "#9ae6b4", accent: "#68d391" },
598
- purple: { bg: "#44337a", text: "#d6bcfa", accent: "#b794f4" },
599
- red: { bg: "#742a2a", text: "#fc8181", accent: "#feb2b2" },
600
- orange: { bg: "#744210", text: "#fbd38d", accent: "#f6ad55" },
601
- teal: { bg: "#234e52", text: "#81e6d9", accent: "#4fd1c5" }
701
+ blue: {
702
+ bg: "#1a365d",
703
+ text: "#63b3ed",
704
+ accent: "#90cdf4"
705
+ },
706
+ green: {
707
+ bg: "#22543d",
708
+ text: "#9ae6b4",
709
+ accent: "#68d391"
710
+ },
711
+ purple: {
712
+ bg: "#44337a",
713
+ text: "#d6bcfa",
714
+ accent: "#b794f4"
715
+ },
716
+ red: {
717
+ bg: "#742a2a",
718
+ text: "#fc8181",
719
+ accent: "#feb2b2"
720
+ },
721
+ orange: {
722
+ bg: "#744210",
723
+ text: "#fbd38d",
724
+ accent: "#f6ad55"
725
+ },
726
+ teal: {
727
+ bg: "#234e52",
728
+ text: "#81e6d9",
729
+ accent: "#4fd1c5"
730
+ }
602
731
  },
603
732
  persistentLayers: {
604
733
  bottomLayers: [
605
734
  {
606
735
  template: "gradientBackground",
607
- config: { type: "gradientBackground", preset: "dark-vignette" }
736
+ config: {
737
+ type: "gradientBackground",
738
+ preset: "dark-vignette"
739
+ }
608
740
  }
609
741
  ]
610
742
  }
@@ -627,35 +759,82 @@ var documentary_default = {
627
759
  warning: "#fc8181"
628
760
  },
629
761
  typography: {
630
- bodyFont: { stackId: "source-serif" },
631
- titleFont: { stackId: "playfair" },
762
+ bodyFont: {
763
+ stackId: "source-serif"
764
+ },
765
+ titleFont: {
766
+ stackId: "playfair"
767
+ },
632
768
  titleWeight: "bold"
633
769
  },
634
770
  style: {
635
771
  textShadow: true,
636
772
  overlayOpacity: 0.5,
637
- animationSpeed: 1
773
+ animationSpeed: 1,
774
+ imageTreatment: {
775
+ type: "mono",
776
+ strength: 0.35
777
+ }
638
778
  },
639
779
  renderStyle: {
640
780
  name: "documentary",
641
781
  defaultTextAnimation: "fadeIn",
642
782
  defaultImageAnimation: "slowZoom",
643
783
  ambientMotion: true,
644
- defaultTransition: { type: "fade", duration: 0.8 }
784
+ defaultTransition: {
785
+ type: "fade",
786
+ duration: 0.8
787
+ }
645
788
  },
646
789
  colorSchemes: {
647
- blue: { bg: "#1a365d", text: "#63b3ed", accent: "#90cdf4" },
648
- green: { bg: "#22543d", text: "#9ae6b4", accent: "#68d391" },
649
- purple: { bg: "#44337a", text: "#d6bcfa", accent: "#b794f4" },
650
- red: { bg: "#742a2a", text: "#fc8181", accent: "#feb2b2" },
651
- orange: { bg: "#744210", text: "#fbd38d", accent: "#f6ad55" },
652
- teal: { bg: "#234e52", text: "#81e6d9", accent: "#4fd1c5" }
790
+ blue: {
791
+ bg: "#22354d",
792
+ text: "#a8c3e0",
793
+ accent: "#7fa3c9"
794
+ },
795
+ green: {
796
+ bg: "#26382e",
797
+ text: "#a9c6ae",
798
+ accent: "#82a88a"
799
+ },
800
+ purple: {
801
+ bg: "#35304a",
802
+ text: "#beb3d6",
803
+ accent: "#9d8fc2"
804
+ },
805
+ red: {
806
+ bg: "#45262a",
807
+ text: "#d9a2a2",
808
+ accent: "#c37f7c"
809
+ },
810
+ orange: {
811
+ bg: "#453522",
812
+ text: "#d9bb90",
813
+ accent: "#c29a64"
814
+ },
815
+ teal: {
816
+ bg: "#1f3a3d",
817
+ text: "#9cc4c4",
818
+ accent: "#6fa5a5"
819
+ }
653
820
  },
654
821
  persistentLayers: {
655
822
  bottomLayers: [
656
823
  {
657
824
  template: "gradientBackground",
658
- config: { type: "gradientBackground", preset: "dark-vignette" }
825
+ config: {
826
+ type: "gradientBackground",
827
+ preset: "dark-vignette"
828
+ }
829
+ }
830
+ ],
831
+ topLayers: [
832
+ {
833
+ template: "vignette",
834
+ config: {
835
+ type: "vignette",
836
+ strength: 0.25
837
+ }
659
838
  }
660
839
  ]
661
840
  }
@@ -775,8 +954,12 @@ var morning_light_default = {
775
954
  warning: "#c53030"
776
955
  },
777
956
  typography: {
778
- bodyFont: { stackId: "lora" },
779
- titleFont: { stackId: "merriweather" },
957
+ bodyFont: {
958
+ stackId: "lora"
959
+ },
960
+ titleFont: {
961
+ stackId: "merriweather"
962
+ },
780
963
  titleWeight: "bold",
781
964
  lineHeight: 1.7
782
965
  },
@@ -790,15 +973,54 @@ var morning_light_default = {
790
973
  name: "morning-light",
791
974
  defaultTextAnimation: "fadeIn",
792
975
  ambientMotion: false,
793
- defaultTransition: { type: "fade", duration: 1 }
976
+ defaultTransition: {
977
+ type: "fade",
978
+ duration: 1
979
+ }
794
980
  },
795
981
  colorSchemes: {
796
- blue: { bg: "#ebf8ff", text: "#2c5282", accent: "#4299e1" },
797
- green: { bg: "#f0fff4", text: "#22543d", accent: "#48bb78" },
798
- purple: { bg: "#faf5ff", text: "#44337a", accent: "#9f7aea" },
799
- red: { bg: "#fff5f5", text: "#9b2c2c", accent: "#fc8181" },
800
- orange: { bg: "#fffaf0", text: "#744210", accent: "#ed8936" },
801
- teal: { bg: "#e6fffa", text: "#234e52", accent: "#38b2ac" }
982
+ blue: {
983
+ bg: "#ebf8ff",
984
+ text: "#2c5282",
985
+ accent: "#4299e1"
986
+ },
987
+ green: {
988
+ bg: "#f0fff4",
989
+ text: "#22543d",
990
+ accent: "#48bb78"
991
+ },
992
+ purple: {
993
+ bg: "#faf5ff",
994
+ text: "#44337a",
995
+ accent: "#9f7aea"
996
+ },
997
+ red: {
998
+ bg: "#fff5f5",
999
+ text: "#9b2c2c",
1000
+ accent: "#fc8181"
1001
+ },
1002
+ orange: {
1003
+ bg: "#fffaf0",
1004
+ text: "#744210",
1005
+ accent: "#ed8936"
1006
+ },
1007
+ teal: {
1008
+ bg: "#e6fffa",
1009
+ text: "#234e52",
1010
+ accent: "#38b2ac"
1011
+ }
1012
+ },
1013
+ persistentLayers: {
1014
+ topLayers: [
1015
+ {
1016
+ template: "patternBackground",
1017
+ config: {
1018
+ type: "patternBackground",
1019
+ pattern: "noise",
1020
+ opacity: 0.03
1021
+ }
1022
+ }
1023
+ ]
802
1024
  }
803
1025
  };
804
1026
 
@@ -819,9 +1041,15 @@ var tech_dark_default = {
819
1041
  warning: "#ff5252"
820
1042
  },
821
1043
  typography: {
822
- bodyFont: { stackId: "ibm-plex-sans" },
823
- titleFont: { stackId: "jetbrains-mono" },
824
- monoFont: { stackId: "jetbrains-mono" },
1044
+ bodyFont: {
1045
+ stackId: "ibm-plex-sans"
1046
+ },
1047
+ titleFont: {
1048
+ stackId: "jetbrains-mono"
1049
+ },
1050
+ monoFont: {
1051
+ stackId: "jetbrains-mono"
1052
+ },
825
1053
  titleWeight: "bold",
826
1054
  titleScale: 0.9,
827
1055
  lineHeight: 1.5
@@ -830,25 +1058,72 @@ var tech_dark_default = {
830
1058
  textShadow: true,
831
1059
  overlayOpacity: 0.55,
832
1060
  animationSpeed: 0.9,
833
- borderRadius: 2
1061
+ borderRadius: 2,
1062
+ imageTreatment: {
1063
+ type: "cool",
1064
+ strength: 0.45
1065
+ }
834
1066
  },
835
1067
  renderStyle: {
836
1068
  name: "tech-dark",
837
1069
  defaultTextAnimation: "typewriter",
838
1070
  defaultImageAnimation: "slowZoom",
839
1071
  ambientMotion: true,
840
- defaultTransition: { type: "dissolve", duration: 0.4 },
1072
+ defaultTransition: {
1073
+ type: "dissolve",
1074
+ duration: 0.4
1075
+ },
841
1076
  templateHints: {
842
- statHighlight: { entrance: "dramatic" }
1077
+ statHighlight: {
1078
+ entrance: "dramatic"
1079
+ }
843
1080
  }
844
1081
  },
845
1082
  colorSchemes: {
846
- blue: { bg: "#0d1b2a", text: "#00b0ff", accent: "#40c4ff" },
847
- green: { bg: "#0d1b0d", text: "#00e676", accent: "#69f0ae" },
848
- purple: { bg: "#1a0d2e", text: "#d500f9", accent: "#ea80fc" },
849
- red: { bg: "#2e0d0d", text: "#ff5252", accent: "#ff8a80" },
850
- orange: { bg: "#2e1a0d", text: "#ff9100", accent: "#ffab40" },
851
- teal: { bg: "#0d2e2e", text: "#1de9b6", accent: "#64ffda" }
1083
+ blue: {
1084
+ bg: "#0d1b2a",
1085
+ text: "#00b0ff",
1086
+ accent: "#40c4ff"
1087
+ },
1088
+ green: {
1089
+ bg: "#0d1b0d",
1090
+ text: "#00e676",
1091
+ accent: "#69f0ae"
1092
+ },
1093
+ purple: {
1094
+ bg: "#1a0d2e",
1095
+ text: "#d500f9",
1096
+ accent: "#ea80fc"
1097
+ },
1098
+ red: {
1099
+ bg: "#2e0d0d",
1100
+ text: "#ff5252",
1101
+ accent: "#ff8a80"
1102
+ },
1103
+ orange: {
1104
+ bg: "#2e1a0d",
1105
+ text: "#ff9100",
1106
+ accent: "#ffab40"
1107
+ },
1108
+ teal: {
1109
+ bg: "#0d2e2e",
1110
+ text: "#1de9b6",
1111
+ accent: "#64ffda"
1112
+ }
1113
+ },
1114
+ persistentLayers: {
1115
+ topLayers: [
1116
+ {
1117
+ template: "patternBackground",
1118
+ config: {
1119
+ type: "patternBackground",
1120
+ pattern: "grid",
1121
+ color: "#00e5ff",
1122
+ opacity: 0.04,
1123
+ scale: 1.5
1124
+ }
1125
+ }
1126
+ ]
852
1127
  }
853
1128
  };
854
1129
 
@@ -869,8 +1144,12 @@ var magazine_default = {
869
1144
  warning: "#fc8181"
870
1145
  },
871
1146
  typography: {
872
- bodyFont: { stackId: "dm-sans" },
873
- titleFont: { stackId: "dm-serif" },
1147
+ bodyFont: {
1148
+ stackId: "dm-sans"
1149
+ },
1150
+ titleFont: {
1151
+ stackId: "dm-serif"
1152
+ },
874
1153
  titleWeight: "bold",
875
1154
  titleScale: 1.05,
876
1155
  lineHeight: 1.5
@@ -886,15 +1165,56 @@ var magazine_default = {
886
1165
  defaultTextAnimation: "fadeIn",
887
1166
  defaultImageAnimation: "slowZoom",
888
1167
  ambientMotion: true,
889
- defaultTransition: { type: "slideLeft", duration: 0.7 }
1168
+ defaultTransition: {
1169
+ type: "slideLeft",
1170
+ duration: 0.7
1171
+ }
890
1172
  },
891
1173
  colorSchemes: {
892
- blue: { bg: "#1a365d", text: "#90cdf4", accent: "#63b3ed" },
893
- green: { bg: "#1c4532", text: "#9ae6b4", accent: "#68d391" },
894
- purple: { bg: "#322659", text: "#d6bcfa", accent: "#b794f4" },
895
- red: { bg: "#63171b", text: "#feb2b2", accent: "#fc8181" },
896
- orange: { bg: "#652b19", text: "#fbd38d", accent: "#f6ad55" },
897
- teal: { bg: "#1d4044", text: "#81e6d9", accent: "#4fd1c5" }
1174
+ blue: {
1175
+ bg: "#1d3a6e",
1176
+ text: "#a3c9f5",
1177
+ accent: "#4d9de0"
1178
+ },
1179
+ green: {
1180
+ bg: "#14532d",
1181
+ text: "#86efac",
1182
+ accent: "#22c55e"
1183
+ },
1184
+ purple: {
1185
+ bg: "#3b2a70",
1186
+ text: "#c4b5fd",
1187
+ accent: "#a78bfa"
1188
+ },
1189
+ red: {
1190
+ bg: "#7f1d1d",
1191
+ text: "#fca5a5",
1192
+ accent: "#f87171"
1193
+ },
1194
+ orange: {
1195
+ bg: "#7c2d12",
1196
+ text: "#fdba74",
1197
+ accent: "#f97316"
1198
+ },
1199
+ teal: {
1200
+ bg: "#134e4a",
1201
+ text: "#5eead4",
1202
+ accent: "#14b8a6"
1203
+ }
1204
+ },
1205
+ persistentLayers: {
1206
+ topLayers: [
1207
+ {
1208
+ template: "patternBackground",
1209
+ config: {
1210
+ type: "patternBackground",
1211
+ pattern: "diagonal",
1212
+ color: "#f7fafc",
1213
+ opacity: 0.03,
1214
+ scale: 1.2
1215
+ }
1216
+ }
1217
+ ]
898
1218
  }
899
1219
  };
900
1220
 
@@ -915,8 +1235,12 @@ var cinematic_default = {
915
1235
  warning: "#fc8181"
916
1236
  },
917
1237
  typography: {
918
- bodyFont: { stackId: "crimson" },
919
- titleFont: { stackId: "cormorant" },
1238
+ bodyFont: {
1239
+ stackId: "crimson"
1240
+ },
1241
+ titleFont: {
1242
+ stackId: "cormorant"
1243
+ },
920
1244
  titleWeight: "bold",
921
1245
  lineHeight: 1.5,
922
1246
  titleLineHeight: 1.2
@@ -924,31 +1248,84 @@ var cinematic_default = {
924
1248
  style: {
925
1249
  textShadow: true,
926
1250
  overlayOpacity: 0.55,
927
- animationSpeed: 1.2
1251
+ animationSpeed: 1.2,
1252
+ imageTreatment: {
1253
+ type: "warm",
1254
+ strength: 0.5
1255
+ }
928
1256
  },
929
1257
  renderStyle: {
930
1258
  name: "cinematic",
931
1259
  defaultTextAnimation: "fadeIn",
932
1260
  defaultImageAnimation: "slowZoom",
933
1261
  ambientMotion: true,
934
- defaultTransition: { type: "dissolve", duration: 1.2 },
1262
+ defaultTransition: {
1263
+ type: "dissolve",
1264
+ duration: 1.2
1265
+ },
935
1266
  templateHints: {
936
- title: { showAccentLine: true }
1267
+ title: {
1268
+ showAccentLine: true
1269
+ }
937
1270
  }
938
1271
  },
939
1272
  colorSchemes: {
940
- blue: { bg: "#0d1b2a", text: "#90cdf4", accent: "#63b3ed" },
941
- green: { bg: "#0d1b14", text: "#9ae6b4", accent: "#68d391" },
942
- purple: { bg: "#1a0d2e", text: "#d6bcfa", accent: "#b794f4" },
943
- red: { bg: "#2a0d0d", text: "#fc8181", accent: "#feb2b2" },
944
- orange: { bg: "#2a1a0d", text: "#fbd38d", accent: "#f6ad55" },
945
- teal: { bg: "#0d2a2a", text: "#81e6d9", accent: "#4fd1c5" }
1273
+ blue: {
1274
+ bg: "#0f1d33",
1275
+ text: "#9db8dc",
1276
+ accent: "#5d84b8"
1277
+ },
1278
+ green: {
1279
+ bg: "#10251c",
1280
+ text: "#9ecfae",
1281
+ accent: "#55a878"
1282
+ },
1283
+ purple: {
1284
+ bg: "#1f1433",
1285
+ text: "#c3aede",
1286
+ accent: "#8f74c0"
1287
+ },
1288
+ red: {
1289
+ bg: "#2e1114",
1290
+ text: "#e0959a",
1291
+ accent: "#c05f66"
1292
+ },
1293
+ orange: {
1294
+ bg: "#2e1d0b",
1295
+ text: "#e3b978",
1296
+ accent: "#d69e2e"
1297
+ },
1298
+ teal: {
1299
+ bg: "#0d2626",
1300
+ text: "#93cfc7",
1301
+ accent: "#4d9e94"
1302
+ }
946
1303
  },
947
1304
  persistentLayers: {
948
1305
  bottomLayers: [
949
1306
  {
950
1307
  template: "gradientBackground",
951
- config: { type: "gradientBackground", preset: "radial-dark" }
1308
+ config: {
1309
+ type: "gradientBackground",
1310
+ preset: "radial-dark"
1311
+ }
1312
+ }
1313
+ ],
1314
+ topLayers: [
1315
+ {
1316
+ template: "vignette",
1317
+ config: {
1318
+ type: "vignette",
1319
+ strength: 0.35
1320
+ }
1321
+ },
1322
+ {
1323
+ template: "patternBackground",
1324
+ config: {
1325
+ type: "patternBackground",
1326
+ pattern: "noise",
1327
+ opacity: 0.05
1328
+ }
952
1329
  }
953
1330
  ]
954
1331
  }
@@ -1023,9 +1400,15 @@ var gezellig_default = {
1023
1400
  warning: "#e07a6b"
1024
1401
  },
1025
1402
  typography: {
1026
- bodyFont: { stackId: "system-sans-emoji" },
1027
- titleFont: { stackId: "system-serif-emoji" },
1028
- monoFont: { stackId: "system-mono" },
1403
+ bodyFont: {
1404
+ stackId: "system-sans-emoji"
1405
+ },
1406
+ titleFont: {
1407
+ stackId: "system-serif-emoji"
1408
+ },
1409
+ monoFont: {
1410
+ stackId: "system-mono"
1411
+ },
1029
1412
  titleWeight: "bold",
1030
1413
  lineHeight: 1.55
1031
1414
  },
@@ -1033,22 +1416,65 @@ var gezellig_default = {
1033
1416
  textShadow: false,
1034
1417
  overlayOpacity: 0.4,
1035
1418
  animationSpeed: 1,
1036
- borderRadius: 6
1419
+ borderRadius: 6,
1420
+ imageTreatment: {
1421
+ type: "warm",
1422
+ strength: 0.3
1423
+ }
1037
1424
  },
1038
1425
  renderStyle: {
1039
1426
  name: "gezellig",
1040
1427
  defaultTextAnimation: "fadeIn",
1041
1428
  defaultImageAnimation: "slowZoom",
1042
1429
  ambientMotion: false,
1043
- defaultTransition: { type: "fade", duration: 0.6 }
1430
+ defaultTransition: {
1431
+ type: "fade",
1432
+ duration: 0.6
1433
+ }
1044
1434
  },
1045
1435
  colorSchemes: {
1046
- terracotta: { bg: "#3d2620", text: "#f3ede0", accent: "#c0875d" },
1047
- sage: { bg: "#28332a", text: "#e3ead9", accent: "#8aa589" },
1048
- amber: { bg: "#3d2e17", text: "#fbe3a8", accent: "#d4a149" },
1049
- plum: { bg: "#2e1f2a", text: "#e8d4e0", accent: "#b088a5" },
1050
- ink: { bg: "#1a1f26", text: "#d5dde8", accent: "#7b8fa8" },
1051
- cream: { bg: "#f3ede0", text: "#2b2420", accent: "#b0724c" }
1436
+ terracotta: {
1437
+ bg: "#3d2620",
1438
+ text: "#f3ede0",
1439
+ accent: "#c0875d"
1440
+ },
1441
+ sage: {
1442
+ bg: "#28332a",
1443
+ text: "#e3ead9",
1444
+ accent: "#8aa589"
1445
+ },
1446
+ amber: {
1447
+ bg: "#3d2e17",
1448
+ text: "#fbe3a8",
1449
+ accent: "#d4a149"
1450
+ },
1451
+ plum: {
1452
+ bg: "#2e1f2a",
1453
+ text: "#e8d4e0",
1454
+ accent: "#b088a5"
1455
+ },
1456
+ ink: {
1457
+ bg: "#1a1f26",
1458
+ text: "#d5dde8",
1459
+ accent: "#7b8fa8"
1460
+ },
1461
+ cream: {
1462
+ bg: "#f3ede0",
1463
+ text: "#2b2420",
1464
+ accent: "#b0724c"
1465
+ }
1466
+ },
1467
+ persistentLayers: {
1468
+ topLayers: [
1469
+ {
1470
+ template: "patternBackground",
1471
+ config: {
1472
+ type: "patternBackground",
1473
+ pattern: "noise",
1474
+ opacity: 0.04
1475
+ }
1476
+ }
1477
+ ]
1052
1478
  }
1053
1479
  };
1054
1480
 
@@ -1155,7 +1581,10 @@ var AVAILABLE_FONT_STACKS = [
1155
1581
  {
1156
1582
  id: "oswald",
1157
1583
  label: "Oswald",
1158
- family: '"Oswald", Impact, "Arial Black", sans-serif',
1584
+ // Condensed grotesques make a far better stand-in for Oswald than
1585
+ // Impact/Arial Black, whose extreme weight distorts every layout
1586
+ // tuned for the real face.
1587
+ family: '"Oswald", "Arial Narrow", "Helvetica Neue Condensed", "Roboto Condensed", sans-serif',
1159
1588
  kind: "display",
1160
1589
  googleFontFamily: "Oswald"
1161
1590
  },
@@ -1246,7 +1675,7 @@ var FALLBACK_BY_KIND = {
1246
1675
  sans: "system-ui, sans-serif",
1247
1676
  serif: "Georgia, serif",
1248
1677
  mono: "Consolas, monospace",
1249
- display: "Impact, Arial, sans-serif"
1678
+ display: '"Arial Narrow", "Helvetica Neue", Arial, sans-serif'
1250
1679
  };
1251
1680
  function resolveFontFamily(family, roleFallback) {
1252
1681
  if (!family) return roleFallback;
@@ -1282,7 +1711,9 @@ function buildGoogleFontsUrl(families) {
1282
1711
  var FONT_FALLBACKS = FALLBACK_BY_KIND;
1283
1712
 
1284
1713
  export {
1714
+ FRONTMATTER_CUSTOM_TEMPLATES_KEY,
1285
1715
  THEME_SCHEMA_VERSION,
1716
+ FRONTMATTER_CUSTOM_THEMES_KEY,
1286
1717
  createTheme,
1287
1718
  LIGHT_SURFACE,
1288
1719
  DARK_SURFACE,
@@ -1296,6 +1727,8 @@ export {
1296
1727
  oklchDarken,
1297
1728
  oklchSetChroma,
1298
1729
  relativeLuminance,
1730
+ hexHueDegrees,
1731
+ withAlpha,
1299
1732
  contrastRatio,
1300
1733
  pickContrastingText,
1301
1734
  deriveScale,
@@ -1314,4 +1747,4 @@ export {
1314
1747
  buildGoogleFontsUrl,
1315
1748
  FONT_FALLBACKS
1316
1749
  };
1317
- //# sourceMappingURL=chunk-B4EEON3N.js.map
1750
+ //# sourceMappingURL=chunk-4AKUQPEE.js.map