@bendyline/squisq 1.3.0 → 1.4.1

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 (533) hide show
  1. package/dist/{Doc-Ch4tc3vv.d.ts → Doc-BeSeH2iX.d.ts} +118 -41
  2. package/dist/ImageEditDoc-BTIvw0oq.d.ts +84 -0
  3. package/dist/{chunk-CYQHG27J.js → chunk-2TMAWB4Y.js} +74 -1
  4. package/dist/chunk-2TMAWB4Y.js.map +1 -0
  5. package/dist/{chunk-OASJKWO5.js → chunk-3K5OG6KI.js} +92 -7
  6. package/dist/chunk-3K5OG6KI.js.map +1 -0
  7. package/dist/chunk-57CVQCFX.js +193 -0
  8. package/dist/chunk-57CVQCFX.js.map +1 -0
  9. package/dist/{chunk-QM5PKNPW.js → chunk-5WFRKURX.js} +1 -1
  10. package/dist/chunk-5WFRKURX.js.map +1 -0
  11. package/dist/chunk-B4EEON3N.js +1317 -0
  12. package/dist/chunk-B4EEON3N.js.map +1 -0
  13. package/dist/chunk-DBS6RIFL.js +81 -0
  14. package/dist/chunk-DBS6RIFL.js.map +1 -0
  15. package/dist/{chunk-MIBRIRGJ.js → chunk-FR2RBTKO.js} +3 -3
  16. package/dist/{chunk-MIBRIRGJ.js.map → chunk-FR2RBTKO.js.map} +1 -1
  17. package/dist/chunk-H3AXU4MJ.js +179 -0
  18. package/dist/chunk-H3AXU4MJ.js.map +1 -0
  19. package/dist/chunk-JELIRVDP.js +24 -0
  20. package/dist/chunk-JELIRVDP.js.map +1 -0
  21. package/dist/chunk-K32VJONL.js +193 -0
  22. package/dist/chunk-K32VJONL.js.map +1 -0
  23. package/dist/{chunk-6BAVXFYC.js → chunk-KSWJR66U.js} +218 -42
  24. package/dist/chunk-KSWJR66U.js.map +1 -0
  25. package/dist/{chunk-TSG2OSE6.js → chunk-MYIH7FWD.js} +3 -3
  26. package/dist/chunk-MYIH7FWD.js.map +1 -0
  27. package/dist/chunk-VLJJHDAC.js +218 -0
  28. package/dist/chunk-VLJJHDAC.js.map +1 -0
  29. package/dist/chunk-WMOI7FN3.js +182 -0
  30. package/dist/chunk-WMOI7FN3.js.map +1 -0
  31. package/dist/chunk-ZTX4PFFT.js +520 -0
  32. package/dist/chunk-ZTX4PFFT.js.map +1 -0
  33. package/dist/doc/index.d.ts +5 -10
  34. package/dist/doc/index.js +145 -7
  35. package/dist/doc/index.js.map +1 -1
  36. package/dist/generate/index.d.ts +99 -7
  37. package/dist/generate/index.js +16 -3
  38. package/dist/generate/index.js.map +1 -1
  39. package/dist/icons/index.d.ts +87 -0
  40. package/dist/icons/index.js +17 -0
  41. package/dist/icons/index.js.map +1 -0
  42. package/dist/imageEdit/index.d.ts +216 -0
  43. package/dist/imageEdit/index.js +54 -0
  44. package/dist/imageEdit/index.js.map +1 -0
  45. package/dist/index.d.ts +21 -9
  46. package/dist/index.js +461 -8
  47. package/dist/index.js.map +1 -1
  48. package/dist/jsonForm/index.d.ts +191 -0
  49. package/dist/jsonForm/index.js +27 -0
  50. package/dist/jsonForm/index.js.map +1 -0
  51. package/dist/markdown/index.d.ts +265 -19
  52. package/dist/markdown/index.js +39 -33
  53. package/dist/markdown/index.js.map +1 -1
  54. package/dist/random/index.d.ts +51 -2
  55. package/dist/random/index.js +9 -1
  56. package/dist/random/index.js.map +1 -1
  57. package/dist/recommend/index.d.ts +42 -0
  58. package/dist/recommend/index.js +10 -0
  59. package/dist/recommend/index.js.map +1 -0
  60. package/dist/schemas/index.d.ts +188 -10
  61. package/dist/schemas/index.js +120 -7
  62. package/dist/schemas/index.js.map +1 -1
  63. package/dist/spatial/index.d.ts +111 -3
  64. package/dist/spatial/index.js +24 -2
  65. package/dist/spatial/index.js.map +1 -1
  66. package/dist/storage/index.d.ts +159 -9
  67. package/dist/storage/index.js +20 -5
  68. package/dist/storage/index.js.map +1 -1
  69. package/dist/story/index.d.ts +53 -13
  70. package/dist/story/index.js +12 -4
  71. package/dist/themeLibrary-BHjJ0Qx6.d.ts +40 -0
  72. package/dist/timing/index.d.ts +109 -4
  73. package/dist/timing/index.js +23 -2
  74. package/dist/timing/index.js.map +1 -1
  75. package/dist/transform/index.d.ts +175 -6
  76. package/dist/transform/index.js +490 -3
  77. package/dist/transform/index.js.map +1 -1
  78. package/dist/{types-CkNttVSF.d.ts → types-BdZkdJ3z.d.ts} +17 -2
  79. package/dist/types-D98li1gV.d.ts +93 -0
  80. package/dist/versions/index.d.ts +128 -0
  81. package/dist/versions/index.js +35 -0
  82. package/dist/versions/index.js.map +1 -0
  83. package/package.json +28 -1
  84. package/src/__tests__/colorUtils.test.ts +112 -0
  85. package/src/__tests__/getLayers.test.ts +32 -7
  86. package/src/__tests__/iconResolve.test.ts +122 -0
  87. package/src/__tests__/imageEditState.test.ts +74 -0
  88. package/src/__tests__/imageEditVersions.test.ts +169 -0
  89. package/src/__tests__/inferDocumentTitle.test.ts +50 -0
  90. package/src/__tests__/jsonForm.chooseControl.test.ts +86 -0
  91. package/src/__tests__/jsonForm.evaluateWhen.test.ts +59 -0
  92. package/src/__tests__/jsonForm.inferSchema.test.ts +25 -0
  93. package/src/__tests__/jsonForm.pointer.test.ts +103 -0
  94. package/src/__tests__/markdownIcons.test.ts +104 -0
  95. package/src/__tests__/markdownToDoc.test.ts +19 -4
  96. package/src/__tests__/recommendTemplates.test.ts +183 -0
  97. package/src/__tests__/scopedContentContainer.test.ts +89 -0
  98. package/src/__tests__/slideshowGenerator.test.ts +1 -1
  99. package/src/__tests__/templateAnnotationParse.test.ts +42 -0
  100. package/src/__tests__/templates.test.ts +93 -9
  101. package/src/__tests__/themeCompile.test.ts +156 -0
  102. package/src/__tests__/themeValidator.test.ts +125 -0
  103. package/src/__tests__/versions.test.ts +415 -0
  104. package/src/doc/audioMapping.ts +55 -11
  105. package/src/doc/getLayers.ts +32 -21
  106. package/src/doc/markdownToDoc.ts +45 -7
  107. package/src/doc/templates/featureBlock.ts +202 -0
  108. package/src/doc/templates/fullBleedQuote.ts +13 -0
  109. package/src/doc/templates/index.ts +50 -16
  110. package/src/doc/templates/listBlock.ts +24 -5
  111. package/src/doc/templates/statHighlight.ts +13 -0
  112. package/src/doc/templates/titleBlock.ts +9 -0
  113. package/src/doc/utils/themeUtils.ts +8 -7
  114. package/src/generate/slideshowGenerator.ts +1 -1
  115. package/src/generate/templateMapper.ts +2 -2
  116. package/src/icons/iconData.ts +31 -0
  117. package/src/icons/index.ts +18 -0
  118. package/src/icons/resolve.ts +139 -0
  119. package/src/imageEdit/ImageEditVersionManager.ts +73 -0
  120. package/src/imageEdit/export.ts +326 -0
  121. package/src/imageEdit/index.ts +71 -0
  122. package/src/imageEdit/persistence.ts +62 -0
  123. package/src/imageEdit/state.ts +112 -0
  124. package/src/imageEdit/versionPaths.ts +57 -0
  125. package/src/imageEdit/versions.ts +231 -0
  126. package/src/index.ts +4 -0
  127. package/src/jsonForm/chooseControl.ts +88 -0
  128. package/src/jsonForm/evaluateWhen.ts +59 -0
  129. package/src/jsonForm/index.ts +22 -0
  130. package/src/jsonForm/inferSchema.ts +25 -0
  131. package/src/jsonForm/pointer.ts +109 -0
  132. package/src/jsonForm/types.ts +167 -0
  133. package/src/markdown/convert.ts +145 -5
  134. package/src/markdown/index.ts +3 -0
  135. package/src/markdown/types.ts +19 -2
  136. package/src/markdown/utils.ts +159 -0
  137. package/src/recommend/index.ts +16 -0
  138. package/src/recommend/templates.ts +273 -0
  139. package/src/schemas/BlockTemplates.ts +50 -7
  140. package/src/schemas/ImageEditDoc.ts +95 -0
  141. package/src/schemas/Theme.ts +98 -31
  142. package/src/schemas/colorUtils.ts +186 -0
  143. package/src/schemas/fontStacks.ts +257 -0
  144. package/src/schemas/index.ts +12 -0
  145. package/src/schemas/themeCompile.ts +203 -0
  146. package/src/schemas/themeLibrary.ts +18 -597
  147. package/src/schemas/themeValidator.ts +388 -0
  148. package/src/schemas/themes/bold.json +48 -0
  149. package/src/schemas/themes/cinematic.json +54 -0
  150. package/src/schemas/themes/documentary.json +49 -0
  151. package/src/schemas/themes/gezellig.json +44 -0
  152. package/src/schemas/themes/index.ts +53 -0
  153. package/src/schemas/themes/magazine.json +44 -0
  154. package/src/schemas/themes/minimalist.json +45 -0
  155. package/src/schemas/themes/morning-light.json +42 -0
  156. package/src/schemas/themes/standard-dark.json +50 -0
  157. package/src/schemas/themes/standard.json +42 -0
  158. package/src/schemas/themes/tech-dark.json +48 -0
  159. package/src/schemas/themes/warm-earth.json +50 -0
  160. package/src/storage/ScopedContentContainer.ts +113 -0
  161. package/src/storage/index.ts +1 -0
  162. package/src/versions/DocumentVersionManager.ts +70 -0
  163. package/src/versions/index.ts +54 -0
  164. package/src/versions/operations.ts +230 -0
  165. package/src/versions/paths.ts +66 -0
  166. package/src/versions/timestamp.ts +48 -0
  167. package/src/versions/types.ts +91 -0
  168. package/dist/__tests__/animationUtils.test.d.ts +0 -2
  169. package/dist/__tests__/animationUtils.test.d.ts.map +0 -1
  170. package/dist/__tests__/animationUtils.test.js +0 -60
  171. package/dist/__tests__/animationUtils.test.js.map +0 -1
  172. package/dist/__tests__/contentContainer.test.d.ts +0 -2
  173. package/dist/__tests__/contentContainer.test.d.ts.map +0 -1
  174. package/dist/__tests__/contentContainer.test.js +0 -234
  175. package/dist/__tests__/contentContainer.test.js.map +0 -1
  176. package/dist/__tests__/contentExtractor.test.d.ts +0 -2
  177. package/dist/__tests__/contentExtractor.test.d.ts.map +0 -1
  178. package/dist/__tests__/contentExtractor.test.js +0 -151
  179. package/dist/__tests__/contentExtractor.test.js.map +0 -1
  180. package/dist/__tests__/coverBlock.test.d.ts +0 -2
  181. package/dist/__tests__/coverBlock.test.d.ts.map +0 -1
  182. package/dist/__tests__/coverBlock.test.js +0 -197
  183. package/dist/__tests__/coverBlock.test.js.map +0 -1
  184. package/dist/__tests__/dataTable.test.d.ts +0 -2
  185. package/dist/__tests__/dataTable.test.d.ts.map +0 -1
  186. package/dist/__tests__/dataTable.test.js +0 -110
  187. package/dist/__tests__/dataTable.test.js.map +0 -1
  188. package/dist/__tests__/geohash.test.d.ts +0 -2
  189. package/dist/__tests__/geohash.test.d.ts.map +0 -1
  190. package/dist/__tests__/geohash.test.js +0 -87
  191. package/dist/__tests__/geohash.test.js.map +0 -1
  192. package/dist/__tests__/getLayers.test.d.ts +0 -2
  193. package/dist/__tests__/getLayers.test.d.ts.map +0 -1
  194. package/dist/__tests__/getLayers.test.js +0 -167
  195. package/dist/__tests__/getLayers.test.js.map +0 -1
  196. package/dist/__tests__/haversine.test.d.ts +0 -2
  197. package/dist/__tests__/haversine.test.d.ts.map +0 -1
  198. package/dist/__tests__/haversine.test.js +0 -56
  199. package/dist/__tests__/haversine.test.js.map +0 -1
  200. package/dist/__tests__/localForageAdapter.test.d.ts +0 -8
  201. package/dist/__tests__/localForageAdapter.test.d.ts.map +0 -1
  202. package/dist/__tests__/localForageAdapter.test.js +0 -130
  203. package/dist/__tests__/localForageAdapter.test.js.map +0 -1
  204. package/dist/__tests__/markdown.test.d.ts +0 -2
  205. package/dist/__tests__/markdown.test.d.ts.map +0 -1
  206. package/dist/__tests__/markdown.test.js +0 -715
  207. package/dist/__tests__/markdown.test.js.map +0 -1
  208. package/dist/__tests__/markdownToDoc.test.d.ts +0 -2
  209. package/dist/__tests__/markdownToDoc.test.d.ts.map +0 -1
  210. package/dist/__tests__/markdownToDoc.test.js +0 -447
  211. package/dist/__tests__/markdownToDoc.test.js.map +0 -1
  212. package/dist/__tests__/seededRandom.test.d.ts +0 -2
  213. package/dist/__tests__/seededRandom.test.d.ts.map +0 -1
  214. package/dist/__tests__/seededRandom.test.js +0 -125
  215. package/dist/__tests__/seededRandom.test.js.map +0 -1
  216. package/dist/__tests__/slideshowGenerator.test.d.ts +0 -2
  217. package/dist/__tests__/slideshowGenerator.test.d.ts.map +0 -1
  218. package/dist/__tests__/slideshowGenerator.test.js +0 -114
  219. package/dist/__tests__/slideshowGenerator.test.js.map +0 -1
  220. package/dist/__tests__/storage.test.d.ts +0 -2
  221. package/dist/__tests__/storage.test.d.ts.map +0 -1
  222. package/dist/__tests__/storage.test.js +0 -51
  223. package/dist/__tests__/storage.test.js.map +0 -1
  224. package/dist/__tests__/surface.test.d.ts +0 -2
  225. package/dist/__tests__/surface.test.d.ts.map +0 -1
  226. package/dist/__tests__/surface.test.js +0 -57
  227. package/dist/__tests__/surface.test.js.map +0 -1
  228. package/dist/__tests__/templates.test.d.ts +0 -2
  229. package/dist/__tests__/templates.test.d.ts.map +0 -1
  230. package/dist/__tests__/templates.test.js +0 -217
  231. package/dist/__tests__/templates.test.js.map +0 -1
  232. package/dist/__tests__/timing.test.d.ts +0 -2
  233. package/dist/__tests__/timing.test.d.ts.map +0 -1
  234. package/dist/__tests__/timing.test.js +0 -131
  235. package/dist/__tests__/timing.test.js.map +0 -1
  236. package/dist/chunk-6BAVXFYC.js.map +0 -1
  237. package/dist/chunk-7GF6RDED.js +0 -82
  238. package/dist/chunk-7GF6RDED.js.map +0 -1
  239. package/dist/chunk-CYQHG27J.js.map +0 -1
  240. package/dist/chunk-F22AE6BY.js +0 -121
  241. package/dist/chunk-F22AE6BY.js.map +0 -1
  242. package/dist/chunk-FIQR4AJG.js +0 -517
  243. package/dist/chunk-FIQR4AJG.js.map +0 -1
  244. package/dist/chunk-OASJKWO5.js.map +0 -1
  245. package/dist/chunk-QM5PKNPW.js.map +0 -1
  246. package/dist/chunk-TSG2OSE6.js.map +0 -1
  247. package/dist/doc/audioMapping.d.ts +0 -36
  248. package/dist/doc/audioMapping.d.ts.map +0 -1
  249. package/dist/doc/audioMapping.js +0 -315
  250. package/dist/doc/audioMapping.js.map +0 -1
  251. package/dist/doc/docToMarkdown.d.ts +0 -41
  252. package/dist/doc/docToMarkdown.d.ts.map +0 -1
  253. package/dist/doc/docToMarkdown.js +0 -88
  254. package/dist/doc/docToMarkdown.js.map +0 -1
  255. package/dist/doc/getLayers.d.ts +0 -65
  256. package/dist/doc/getLayers.d.ts.map +0 -1
  257. package/dist/doc/getLayers.js +0 -103
  258. package/dist/doc/getLayers.js.map +0 -1
  259. package/dist/doc/index.d.ts.map +0 -1
  260. package/dist/doc/markdownToDoc.d.ts +0 -75
  261. package/dist/doc/markdownToDoc.d.ts.map +0 -1
  262. package/dist/doc/markdownToDoc.js +0 -398
  263. package/dist/doc/markdownToDoc.js.map +0 -1
  264. package/dist/doc/templates/accentImage.d.ts +0 -59
  265. package/dist/doc/templates/accentImage.d.ts.map +0 -1
  266. package/dist/doc/templates/accentImage.js +0 -275
  267. package/dist/doc/templates/accentImage.js.map +0 -1
  268. package/dist/doc/templates/captionUtils.d.ts +0 -20
  269. package/dist/doc/templates/captionUtils.d.ts.map +0 -1
  270. package/dist/doc/templates/captionUtils.js +0 -29
  271. package/dist/doc/templates/captionUtils.js.map +0 -1
  272. package/dist/doc/templates/comparisonBar.d.ts +0 -13
  273. package/dist/doc/templates/comparisonBar.d.ts.map +0 -1
  274. package/dist/doc/templates/comparisonBar.js +0 -145
  275. package/dist/doc/templates/comparisonBar.js.map +0 -1
  276. package/dist/doc/templates/coverBlock.d.ts +0 -51
  277. package/dist/doc/templates/coverBlock.d.ts.map +0 -1
  278. package/dist/doc/templates/coverBlock.js +0 -153
  279. package/dist/doc/templates/coverBlock.js.map +0 -1
  280. package/dist/doc/templates/dataTable.d.ts +0 -14
  281. package/dist/doc/templates/dataTable.d.ts.map +0 -1
  282. package/dist/doc/templates/dataTable.js +0 -73
  283. package/dist/doc/templates/dataTable.js.map +0 -1
  284. package/dist/doc/templates/dateEvent.d.ts +0 -15
  285. package/dist/doc/templates/dateEvent.d.ts.map +0 -1
  286. package/dist/doc/templates/dateEvent.js +0 -114
  287. package/dist/doc/templates/dateEvent.js.map +0 -1
  288. package/dist/doc/templates/definitionCard.d.ts +0 -13
  289. package/dist/doc/templates/definitionCard.d.ts.map +0 -1
  290. package/dist/doc/templates/definitionCard.js +0 -117
  291. package/dist/doc/templates/definitionCard.js.map +0 -1
  292. package/dist/doc/templates/factCard.d.ts +0 -15
  293. package/dist/doc/templates/factCard.d.ts.map +0 -1
  294. package/dist/doc/templates/factCard.js +0 -104
  295. package/dist/doc/templates/factCard.js.map +0 -1
  296. package/dist/doc/templates/fullBleedQuote.d.ts +0 -13
  297. package/dist/doc/templates/fullBleedQuote.d.ts.map +0 -1
  298. package/dist/doc/templates/fullBleedQuote.js +0 -55
  299. package/dist/doc/templates/fullBleedQuote.js.map +0 -1
  300. package/dist/doc/templates/imageWithCaption.d.ts +0 -13
  301. package/dist/doc/templates/imageWithCaption.d.ts.map +0 -1
  302. package/dist/doc/templates/imageWithCaption.js +0 -146
  303. package/dist/doc/templates/imageWithCaption.js.map +0 -1
  304. package/dist/doc/templates/index.d.ts +0 -105
  305. package/dist/doc/templates/index.d.ts.map +0 -1
  306. package/dist/doc/templates/index.js +0 -445
  307. package/dist/doc/templates/index.js.map +0 -1
  308. package/dist/doc/templates/listBlock.d.ts +0 -13
  309. package/dist/doc/templates/listBlock.d.ts.map +0 -1
  310. package/dist/doc/templates/listBlock.js +0 -92
  311. package/dist/doc/templates/listBlock.js.map +0 -1
  312. package/dist/doc/templates/mapBlock.d.ts +0 -17
  313. package/dist/doc/templates/mapBlock.d.ts.map +0 -1
  314. package/dist/doc/templates/mapBlock.js +0 -115
  315. package/dist/doc/templates/mapBlock.js.map +0 -1
  316. package/dist/doc/templates/persistentLayers.d.ts +0 -39
  317. package/dist/doc/templates/persistentLayers.d.ts.map +0 -1
  318. package/dist/doc/templates/persistentLayers.js +0 -447
  319. package/dist/doc/templates/persistentLayers.js.map +0 -1
  320. package/dist/doc/templates/photoGrid.d.ts +0 -20
  321. package/dist/doc/templates/photoGrid.d.ts.map +0 -1
  322. package/dist/doc/templates/photoGrid.js +0 -175
  323. package/dist/doc/templates/photoGrid.js.map +0 -1
  324. package/dist/doc/templates/pullQuote.d.ts +0 -13
  325. package/dist/doc/templates/pullQuote.d.ts.map +0 -1
  326. package/dist/doc/templates/pullQuote.js +0 -113
  327. package/dist/doc/templates/pullQuote.js.map +0 -1
  328. package/dist/doc/templates/quoteBlock.d.ts +0 -15
  329. package/dist/doc/templates/quoteBlock.d.ts.map +0 -1
  330. package/dist/doc/templates/quoteBlock.js +0 -101
  331. package/dist/doc/templates/quoteBlock.js.map +0 -1
  332. package/dist/doc/templates/sectionHeader.d.ts +0 -14
  333. package/dist/doc/templates/sectionHeader.d.ts.map +0 -1
  334. package/dist/doc/templates/sectionHeader.js +0 -97
  335. package/dist/doc/templates/sectionHeader.js.map +0 -1
  336. package/dist/doc/templates/statHighlight.d.ts +0 -15
  337. package/dist/doc/templates/statHighlight.d.ts.map +0 -1
  338. package/dist/doc/templates/statHighlight.js +0 -102
  339. package/dist/doc/templates/statHighlight.js.map +0 -1
  340. package/dist/doc/templates/titleBlock.d.ts +0 -13
  341. package/dist/doc/templates/titleBlock.d.ts.map +0 -1
  342. package/dist/doc/templates/titleBlock.js +0 -95
  343. package/dist/doc/templates/titleBlock.js.map +0 -1
  344. package/dist/doc/templates/twoColumn.d.ts +0 -15
  345. package/dist/doc/templates/twoColumn.d.ts.map +0 -1
  346. package/dist/doc/templates/twoColumn.js +0 -225
  347. package/dist/doc/templates/twoColumn.js.map +0 -1
  348. package/dist/doc/templates/videoPullQuote.d.ts +0 -20
  349. package/dist/doc/templates/videoPullQuote.d.ts.map +0 -1
  350. package/dist/doc/templates/videoPullQuote.js +0 -122
  351. package/dist/doc/templates/videoPullQuote.js.map +0 -1
  352. package/dist/doc/templates/videoWithCaption.d.ts +0 -20
  353. package/dist/doc/templates/videoWithCaption.d.ts.map +0 -1
  354. package/dist/doc/templates/videoWithCaption.js +0 -107
  355. package/dist/doc/templates/videoWithCaption.js.map +0 -1
  356. package/dist/doc/utils/animationUtils.d.ts +0 -34
  357. package/dist/doc/utils/animationUtils.d.ts.map +0 -1
  358. package/dist/doc/utils/animationUtils.js +0 -110
  359. package/dist/doc/utils/animationUtils.js.map +0 -1
  360. package/dist/doc/utils/themeUtils.d.ts +0 -64
  361. package/dist/doc/utils/themeUtils.d.ts.map +0 -1
  362. package/dist/doc/utils/themeUtils.js +0 -135
  363. package/dist/doc/utils/themeUtils.js.map +0 -1
  364. package/dist/generate/contentExtractor.d.ts +0 -112
  365. package/dist/generate/contentExtractor.d.ts.map +0 -1
  366. package/dist/generate/contentExtractor.js +0 -638
  367. package/dist/generate/contentExtractor.js.map +0 -1
  368. package/dist/generate/index.d.ts.map +0 -1
  369. package/dist/generate/slideshowGenerator.d.ts +0 -72
  370. package/dist/generate/slideshowGenerator.d.ts.map +0 -1
  371. package/dist/generate/slideshowGenerator.js +0 -159
  372. package/dist/generate/slideshowGenerator.js.map +0 -1
  373. package/dist/generate/templateMapper.d.ts +0 -23
  374. package/dist/generate/templateMapper.d.ts.map +0 -1
  375. package/dist/generate/templateMapper.js +0 -114
  376. package/dist/generate/templateMapper.js.map +0 -1
  377. package/dist/index.d.ts.map +0 -1
  378. package/dist/markdown/convert.d.ts +0 -71
  379. package/dist/markdown/convert.d.ts.map +0 -1
  380. package/dist/markdown/convert.js +0 -845
  381. package/dist/markdown/convert.js.map +0 -1
  382. package/dist/markdown/htmlParse.d.ts +0 -26
  383. package/dist/markdown/htmlParse.d.ts.map +0 -1
  384. package/dist/markdown/htmlParse.js +0 -195
  385. package/dist/markdown/htmlParse.js.map +0 -1
  386. package/dist/markdown/index.d.ts.map +0 -1
  387. package/dist/markdown/parse.d.ts +0 -27
  388. package/dist/markdown/parse.d.ts.map +0 -1
  389. package/dist/markdown/parse.js +0 -90
  390. package/dist/markdown/parse.js.map +0 -1
  391. package/dist/markdown/stringify.d.ts +0 -32
  392. package/dist/markdown/stringify.d.ts.map +0 -1
  393. package/dist/markdown/stringify.js +0 -108
  394. package/dist/markdown/stringify.js.map +0 -1
  395. package/dist/markdown/types.d.ts +0 -516
  396. package/dist/markdown/types.d.ts.map +0 -1
  397. package/dist/markdown/types.js +0 -17
  398. package/dist/markdown/types.js.map +0 -1
  399. package/dist/markdown/utils.d.ts +0 -78
  400. package/dist/markdown/utils.d.ts.map +0 -1
  401. package/dist/markdown/utils.js +0 -153
  402. package/dist/markdown/utils.js.map +0 -1
  403. package/dist/random/SeededRandom.d.ts +0 -50
  404. package/dist/random/SeededRandom.d.ts.map +0 -1
  405. package/dist/random/SeededRandom.js +0 -115
  406. package/dist/random/SeededRandom.js.map +0 -1
  407. package/dist/random/index.d.ts.map +0 -1
  408. package/dist/schemas/BlockTemplates.d.ts +0 -600
  409. package/dist/schemas/BlockTemplates.d.ts.map +0 -1
  410. package/dist/schemas/BlockTemplates.js +0 -72
  411. package/dist/schemas/BlockTemplates.js.map +0 -1
  412. package/dist/schemas/Doc.d.ts +0 -503
  413. package/dist/schemas/Doc.d.ts.map +0 -1
  414. package/dist/schemas/Doc.js +0 -90
  415. package/dist/schemas/Doc.js.map +0 -1
  416. package/dist/schemas/LayoutStrategy.d.ts +0 -84
  417. package/dist/schemas/LayoutStrategy.d.ts.map +0 -1
  418. package/dist/schemas/LayoutStrategy.js +0 -123
  419. package/dist/schemas/LayoutStrategy.js.map +0 -1
  420. package/dist/schemas/MediaProvider.d.ts +0 -65
  421. package/dist/schemas/MediaProvider.d.ts.map +0 -1
  422. package/dist/schemas/MediaProvider.js +0 -13
  423. package/dist/schemas/MediaProvider.js.map +0 -1
  424. package/dist/schemas/Theme.d.ts +0 -194
  425. package/dist/schemas/Theme.d.ts.map +0 -1
  426. package/dist/schemas/Theme.js +0 -97
  427. package/dist/schemas/Theme.js.map +0 -1
  428. package/dist/schemas/Types.d.ts +0 -14
  429. package/dist/schemas/Types.d.ts.map +0 -1
  430. package/dist/schemas/Types.js +0 -5
  431. package/dist/schemas/Types.js.map +0 -1
  432. package/dist/schemas/Viewport.d.ts +0 -74
  433. package/dist/schemas/Viewport.d.ts.map +0 -1
  434. package/dist/schemas/Viewport.js +0 -63
  435. package/dist/schemas/Viewport.js.map +0 -1
  436. package/dist/schemas/index.d.ts.map +0 -1
  437. package/dist/schemas/themeLibrary.d.ts +0 -41
  438. package/dist/schemas/themeLibrary.d.ts.map +0 -1
  439. package/dist/schemas/themeLibrary.js +0 -597
  440. package/dist/schemas/themeLibrary.js.map +0 -1
  441. package/dist/spatial/Geohash.d.ts +0 -85
  442. package/dist/spatial/Geohash.d.ts.map +0 -1
  443. package/dist/spatial/Geohash.js +0 -142
  444. package/dist/spatial/Geohash.js.map +0 -1
  445. package/dist/spatial/Haversine.d.ts +0 -24
  446. package/dist/spatial/Haversine.d.ts.map +0 -1
  447. package/dist/spatial/Haversine.js +0 -48
  448. package/dist/spatial/Haversine.js.map +0 -1
  449. package/dist/spatial/index.d.ts.map +0 -1
  450. package/dist/storage/ContentContainer.d.ts +0 -87
  451. package/dist/storage/ContentContainer.d.ts.map +0 -1
  452. package/dist/storage/ContentContainer.js +0 -131
  453. package/dist/storage/ContentContainer.js.map +0 -1
  454. package/dist/storage/LocalForageAdapter.d.ts +0 -36
  455. package/dist/storage/LocalForageAdapter.d.ts.map +0 -1
  456. package/dist/storage/LocalForageAdapter.js +0 -82
  457. package/dist/storage/LocalForageAdapter.js.map +0 -1
  458. package/dist/storage/LocalStorageAdapter.d.ts +0 -16
  459. package/dist/storage/LocalStorageAdapter.d.ts.map +0 -1
  460. package/dist/storage/LocalStorageAdapter.js +0 -50
  461. package/dist/storage/LocalStorageAdapter.js.map +0 -1
  462. package/dist/storage/MediaProviderFromContainer.d.ts +0 -21
  463. package/dist/storage/MediaProviderFromContainer.d.ts.map +0 -1
  464. package/dist/storage/MediaProviderFromContainer.js +0 -79
  465. package/dist/storage/MediaProviderFromContainer.js.map +0 -1
  466. package/dist/storage/MemoryStorageAdapter.d.ts +0 -15
  467. package/dist/storage/MemoryStorageAdapter.d.ts.map +0 -1
  468. package/dist/storage/MemoryStorageAdapter.js +0 -34
  469. package/dist/storage/MemoryStorageAdapter.js.map +0 -1
  470. package/dist/storage/Storage.d.ts +0 -23
  471. package/dist/storage/Storage.d.ts.map +0 -1
  472. package/dist/storage/Storage.js +0 -9
  473. package/dist/storage/Storage.js.map +0 -1
  474. package/dist/storage/index.d.ts.map +0 -1
  475. package/dist/themeLibrary-CEo2D4b6.d.ts +0 -44
  476. package/dist/timing/index.d.ts.map +0 -1
  477. package/dist/timing/narrationTiming.d.ts +0 -54
  478. package/dist/timing/narrationTiming.d.ts.map +0 -1
  479. package/dist/timing/narrationTiming.js +0 -190
  480. package/dist/timing/narrationTiming.js.map +0 -1
  481. package/dist/timing/readingTime.d.ts +0 -54
  482. package/dist/timing/readingTime.d.ts.map +0 -1
  483. package/dist/timing/readingTime.js +0 -49
  484. package/dist/timing/readingTime.js.map +0 -1
  485. package/dist/transform/applyTransform.d.ts +0 -22
  486. package/dist/transform/applyTransform.d.ts.map +0 -1
  487. package/dist/transform/applyTransform.js +0 -68
  488. package/dist/transform/applyTransform.js.map +0 -1
  489. package/dist/transform/blockAnalyzer.d.ts +0 -48
  490. package/dist/transform/blockAnalyzer.d.ts.map +0 -1
  491. package/dist/transform/blockAnalyzer.js +0 -135
  492. package/dist/transform/blockAnalyzer.js.map +0 -1
  493. package/dist/transform/index.d.ts.map +0 -1
  494. package/dist/transform/registry.d.ts +0 -19
  495. package/dist/transform/registry.d.ts.map +0 -1
  496. package/dist/transform/registry.js +0 -41
  497. package/dist/transform/registry.js.map +0 -1
  498. package/dist/transform/styles/dataDriven.d.ts +0 -4
  499. package/dist/transform/styles/dataDriven.d.ts.map +0 -1
  500. package/dist/transform/styles/dataDriven.js +0 -15
  501. package/dist/transform/styles/dataDriven.js.map +0 -1
  502. package/dist/transform/styles/documentary.d.ts +0 -4
  503. package/dist/transform/styles/documentary.d.ts.map +0 -1
  504. package/dist/transform/styles/documentary.js +0 -15
  505. package/dist/transform/styles/documentary.js.map +0 -1
  506. package/dist/transform/styles/index.d.ts +0 -6
  507. package/dist/transform/styles/index.d.ts.map +0 -1
  508. package/dist/transform/styles/index.js +0 -6
  509. package/dist/transform/styles/index.js.map +0 -1
  510. package/dist/transform/styles/magazine.d.ts +0 -4
  511. package/dist/transform/styles/magazine.d.ts.map +0 -1
  512. package/dist/transform/styles/magazine.js +0 -15
  513. package/dist/transform/styles/magazine.js.map +0 -1
  514. package/dist/transform/styles/minimal.d.ts +0 -4
  515. package/dist/transform/styles/minimal.d.ts.map +0 -1
  516. package/dist/transform/styles/minimal.js +0 -15
  517. package/dist/transform/styles/minimal.js.map +0 -1
  518. package/dist/transform/styles/narrative.d.ts +0 -4
  519. package/dist/transform/styles/narrative.d.ts.map +0 -1
  520. package/dist/transform/styles/narrative.js +0 -15
  521. package/dist/transform/styles/narrative.js.map +0 -1
  522. package/dist/transform/templateSelector.d.ts +0 -30
  523. package/dist/transform/templateSelector.d.ts.map +0 -1
  524. package/dist/transform/templateSelector.js +0 -218
  525. package/dist/transform/templateSelector.js.map +0 -1
  526. package/dist/transform/timingAllocator.d.ts +0 -21
  527. package/dist/transform/timingAllocator.d.ts.map +0 -1
  528. package/dist/transform/timingAllocator.js +0 -111
  529. package/dist/transform/timingAllocator.js.map +0 -1
  530. package/dist/transform/types.d.ts +0 -86
  531. package/dist/transform/types.d.ts.map +0 -1
  532. package/dist/transform/types.js +0 -9
  533. package/dist/transform/types.js.map +0 -1
@@ -1,115 +0,0 @@
1
- /**
2
- * Map Block Template
3
- *
4
- * Full-screen geographic map with optional title and caption overlays.
5
- * Great for establishing geographic context at the start of a doc
6
- * or when discussing location-specific content.
7
- * Adapts font sizes and positioning for different viewports.
8
- *
9
- * Map tiles are fetched from free/open-source providers.
10
- * See docs/MAP_TILES.md for available styles and attribution requirements.
11
- *
12
- * This is shared code used by both site and efb-app doc renderers.
13
- */
14
- import { scaledFontSize } from '../../schemas/BlockTemplates.js';
15
- import { getThemeFont } from '../utils/themeUtils.js';
16
- import { mapAmbientMotion } from './accentImage.js';
17
- export function mapBlock(input, context) {
18
- const { center, zoom, mapStyle = 'terrain', title, caption, markers, ambientMotion, staticSrc, } = input;
19
- const { theme, layout } = context;
20
- // Scale font sizes for viewport
21
- const titleFontSize = scaledFontSize(64, context, true);
22
- const captionFontSize = scaledFontSize(32, context, false);
23
- // Determine animation based on ambientMotion setting
24
- const mapAnimation = mapAmbientMotion(ambientMotion);
25
- const layers = [
26
- // Map background
27
- {
28
- type: 'map',
29
- id: 'map-bg',
30
- content: {
31
- center,
32
- zoom,
33
- style: mapStyle,
34
- markers,
35
- showAttribution: true,
36
- staticSrc, // Use pre-rendered image if available
37
- },
38
- position: { x: 0, y: 0, width: '100%', height: '100%' },
39
- animation: mapAnimation,
40
- },
41
- ];
42
- // Add title overlay if provided
43
- if (title) {
44
- // Gradient overlay at top for title readability
45
- layers.push({
46
- type: 'shape',
47
- id: 'title-overlay',
48
- content: {
49
- shape: 'rect',
50
- fill: 'rgba(0,0,0,0.6)',
51
- },
52
- position: { x: 0, y: 0, width: '100%', height: '18%' },
53
- });
54
- // Title text - positioned at top of slide
55
- layers.push({
56
- type: 'text',
57
- id: 'title',
58
- content: {
59
- text: title,
60
- style: {
61
- fontSize: titleFontSize,
62
- fontFamily: getThemeFont(context, 'title'),
63
- fontWeight: 'bold',
64
- color: theme.colors.text,
65
- textAlign: 'center',
66
- shadow: true,
67
- },
68
- },
69
- position: {
70
- x: '50%',
71
- y: '9%',
72
- anchor: 'center',
73
- width: layout.maxTextWidth,
74
- },
75
- animation: { type: 'fadeIn', duration: 1, delay: 0.3 },
76
- });
77
- }
78
- // Add caption if provided
79
- if (caption) {
80
- // Gradient overlay at bottom for caption readability
81
- layers.push({
82
- type: 'shape',
83
- id: 'caption-overlay',
84
- content: {
85
- shape: 'rect',
86
- fill: 'rgba(0,0,0,0.6)',
87
- },
88
- position: { x: 0, y: '82%', width: '100%', height: '18%' },
89
- });
90
- // Caption text
91
- layers.push({
92
- type: 'text',
93
- id: 'caption',
94
- content: {
95
- text: caption,
96
- style: {
97
- fontSize: captionFontSize,
98
- fontFamily: getThemeFont(context, 'body'),
99
- color: theme.colors.text,
100
- textAlign: 'center',
101
- shadow: true,
102
- },
103
- },
104
- position: {
105
- x: '50%',
106
- y: layout.captionY,
107
- anchor: 'center',
108
- width: layout.maxTextWidth,
109
- },
110
- animation: { type: 'fadeIn', duration: 1, delay: 0.5 },
111
- });
112
- }
113
- return layers;
114
- }
115
- //# sourceMappingURL=mapBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapBlock.js","sourceRoot":"","sources":["../../../src/doc/templates/mapBlock.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Persistent Layers Expansion
3
- *
4
- * Expands persistent layer templates (solid backgrounds, gradients, overlays)
5
- * into raw Layer arrays. These layers are injected into each block based on
6
- * per-block flags (useBottomLayer, useTopLayer).
7
- *
8
- * This is shared code used by both site and efb-app doc renderers.
9
- *
10
- * Related Files:
11
- * - schemas/BlockTemplates.ts - PersistentLayerConfig types
12
- */
13
- import type { Layer } from '../../schemas/Doc.js';
14
- import type { PersistentLayer, PersistentLayerConfig } from '../../schemas/BlockTemplates.js';
15
- import type { Theme } from '../../schemas/Theme.js';
16
- /**
17
- * Expand a single persistent layer (template or raw) to raw Layer(s).
18
- */
19
- export declare function expandPersistentLayer(layer: PersistentLayer): Layer[];
20
- /**
21
- * Expand all persistent layers in a config to raw Layer arrays.
22
- */
23
- export declare function expandPersistentLayers(layers: PersistentLayer[] | undefined): Layer[];
24
- /** Legacy style preset names. Prefer using `Theme.persistentLayers` directly. */
25
- export type DocStylePreset = 'minimal' | 'documentary' | 'branded' | 'cinematic' | 'clean';
26
- /**
27
- * Get a PersistentLayerConfig from a style preset.
28
- *
29
- * @param preset - Style preset name
30
- * @param articleTitle - Article title for title caption
31
- * @param heroSrc - Optional hero image for cinematic style
32
- */
33
- export declare function getDocStyleConfig(preset: DocStylePreset, articleTitle: string, heroSrc?: string, subtitle?: string): PersistentLayerConfig;
34
- /**
35
- * Get persistent layers from a Theme. Returns the theme's baked-in
36
- * persistentLayers config, or an empty config when the theme has none.
37
- */
38
- export declare function getPersistentLayersFromTheme(theme: Theme): PersistentLayerConfig;
39
- //# sourceMappingURL=persistentLayers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persistentLayers.d.ts","sourceRoot":"","sources":["../../../src/doc/templates/persistentLayers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,eAAe,EAEf,qBAAqB,EAQtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAkUpD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,EAAE,CA4BrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,GAAG,KAAK,EAAE,CAOrF;AAMD,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,qBAAqB,CAqGvB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,GAAG,qBAAqB,CAEhF"}
@@ -1,447 +0,0 @@
1
- /**
2
- * Persistent Layers Expansion
3
- *
4
- * Expands persistent layer templates (solid backgrounds, gradients, overlays)
5
- * into raw Layer arrays. These layers are injected into each block based on
6
- * per-block flags (useBottomLayer, useTopLayer).
7
- *
8
- * This is shared code used by both site and efb-app doc renderers.
9
- *
10
- * Related Files:
11
- * - schemas/BlockTemplates.ts - PersistentLayerConfig types
12
- */
13
- import { isPersistentLayerTemplate } from '../../schemas/BlockTemplates.js';
14
- // ============================================
15
- // Gradient Presets
16
- // ============================================
17
- const GRADIENT_PRESETS = {
18
- 'dark-vignette': 'radial-gradient(ellipse at center, rgba(26,32,44,0.8) 0%, rgba(0,0,0,0.95) 100%)',
19
- 'radial-dark': 'radial-gradient(ellipse at center, #1a202c 0%, #000000 100%)',
20
- 'warm-sunset': 'linear-gradient(135deg, rgba(124,58,48,0.9) 0%, rgba(26,32,44,0.95) 100%)',
21
- 'cool-blue': 'linear-gradient(135deg, rgba(26,54,93,0.9) 0%, rgba(26,32,44,0.95) 100%)',
22
- 'earth-tones': 'linear-gradient(135deg, rgba(68,51,34,0.9) 0%, rgba(26,32,44,0.95) 100%)',
23
- };
24
- // ============================================
25
- // Background Layer Expansion
26
- // ============================================
27
- /**
28
- * Expand a solid background config to a Layer.
29
- */
30
- function expandSolidBackground(config) {
31
- return {
32
- type: 'shape',
33
- id: 'persistent-bg-solid',
34
- content: {
35
- shape: 'rect',
36
- fill: config.color,
37
- },
38
- position: { x: 0, y: 0, width: '100%', height: '100%' },
39
- };
40
- }
41
- /**
42
- * Expand a gradient background config to a Layer.
43
- */
44
- function expandGradientBackground(config) {
45
- const gradient = config.gradient ?? GRADIENT_PRESETS[config.preset ?? 'dark-vignette'];
46
- return {
47
- type: 'shape',
48
- id: 'persistent-bg-gradient',
49
- content: {
50
- shape: 'rect',
51
- fill: gradient,
52
- },
53
- position: { x: 0, y: 0, width: '100%', height: '100%' },
54
- };
55
- }
56
- /**
57
- * Expand an image background config to Layers.
58
- * Returns multiple layers: base image + dark overlay for readability.
59
- */
60
- function expandImageBackground(config) {
61
- const layers = [];
62
- const opacity = config.opacity ?? 0.4;
63
- // Base image layer
64
- const imageLayer = {
65
- type: 'image',
66
- id: 'persistent-bg-image',
67
- content: {
68
- src: config.src,
69
- alt: 'Background',
70
- fit: 'cover',
71
- },
72
- position: { x: 0, y: 0, width: '100%', height: '100%' },
73
- animation: config.ambientMotion
74
- ? {
75
- type: config.ambientMotion,
76
- duration: 30, // Long ambient motion
77
- }
78
- : undefined,
79
- };
80
- layers.push(imageLayer);
81
- // Add dark overlay for text readability
82
- layers.push({
83
- type: 'shape',
84
- id: 'persistent-bg-overlay',
85
- content: {
86
- shape: 'rect',
87
- fill: `rgba(0,0,0,${0.5 + (1 - opacity) * 0.3})`,
88
- },
89
- position: { x: 0, y: 0, width: '100%', height: '100%' },
90
- });
91
- return layers;
92
- }
93
- /**
94
- * Expand a pattern background config to a Layer.
95
- */
96
- function expandPatternBackground(config) {
97
- const opacity = config.opacity ?? 0.1;
98
- const color = config.color ?? `rgba(255,255,255,${opacity})`;
99
- // Pattern as SVG data URI for rect patterns
100
- // For simplicity, use a solid subtle color with reduced opacity
101
- return {
102
- type: 'shape',
103
- id: 'persistent-bg-pattern',
104
- content: {
105
- shape: 'rect',
106
- fill: color,
107
- },
108
- position: { x: 0, y: 0, width: '100%', height: '100%' },
109
- };
110
- }
111
- // ============================================
112
- // Overlay Layer Expansion
113
- // ============================================
114
- /**
115
- * Expand a title caption config to Layers.
116
- */
117
- function expandTitleCaption(config) {
118
- const layers = [];
119
- const fontSize = config.fontSize ?? 18;
120
- const hasSubtitle = !!config.subtitle;
121
- // Position calculations
122
- const isBottom = config.position.includes('bottom');
123
- const isLeft = config.position.includes('left');
124
- // Even padding around the pill (3% from edges)
125
- const pad = 3; // percent
126
- // Pill dimensions — taller when subtitle present
127
- const pillHeight = hasSubtitle ? '15%' : '7%';
128
- // Position above player controls
129
- const bgYPos = isBottom ? (hasSubtitle ? '78%' : '84%') : '2%';
130
- const bgXPos = isLeft ? `${pad}%` : '68%';
131
- // Thumbnail sizing — use different width/height to appear square in 16:9 viewport
132
- // In 16:9, 6% of width ≈ 10.7% of height in pixels, so use ~6%w x 10%h for visual square
133
- const thumbW = hasSubtitle ? '6%' : '5%';
134
- const thumbH = hasSubtitle ? '10%' : '5%';
135
- const thumbPad = 1.5; // padding inside pill around thumbnail (percent)
136
- // Text X offset: after thumbnail + padding, or just pill padding
137
- const textX = config.showThumbnail && isLeft
138
- ? `${pad + thumbPad + 6 + thumbPad}%` // pill edge + thumb padding + thumb width + gap
139
- : `${pad + thumbPad}%`;
140
- // Text area width: pill width minus thumbnail area minus padding
141
- const textWidth = config.showThumbnail
142
- ? '19%' // narrower when thumbnail takes space
143
- : '24%';
144
- // Title Y: top of text area inside pill
145
- const titleYPos = isBottom ? (hasSubtitle ? '80%' : '86%') : '4%';
146
- // Background pill for readability
147
- layers.push({
148
- type: 'shape',
149
- id: 'persistent-caption-bg',
150
- content: {
151
- shape: 'rect',
152
- fill: 'rgba(0,0,0,0.6)',
153
- borderRadius: 8,
154
- },
155
- position: {
156
- x: bgXPos,
157
- y: bgYPos,
158
- width: config.showThumbnail ? '30%' : '28%',
159
- height: pillHeight,
160
- },
161
- });
162
- // Thumbnail if configured
163
- if (config.showThumbnail && config.thumbnailSrc) {
164
- const thumbX = isLeft ? `${pad + thumbPad}%` : '93%';
165
- // Center thumbnail vertically in pill
166
- const thumbY = isBottom ? (hasSubtitle ? `${78 + thumbPad}%` : '85%') : '3%';
167
- layers.push({
168
- type: 'image',
169
- id: 'persistent-caption-thumb',
170
- content: {
171
- src: config.thumbnailSrc,
172
- alt: 'Article thumbnail',
173
- fit: 'cover',
174
- },
175
- position: {
176
- x: thumbX,
177
- y: thumbY,
178
- width: thumbW,
179
- height: thumbH,
180
- },
181
- });
182
- }
183
- // Title text — single line, cropped with ellipsis
184
- layers.push({
185
- type: 'text',
186
- id: 'persistent-caption-title',
187
- content: {
188
- text: config.title,
189
- style: {
190
- fontSize,
191
- fontWeight: 'bold',
192
- color: 'rgba(255,255,255,0.9)',
193
- textAlign: isLeft ? 'left' : 'right',
194
- maxLines: 1,
195
- },
196
- },
197
- position: {
198
- x: textX,
199
- y: titleYPos,
200
- width: textWidth,
201
- },
202
- });
203
- // Subtitle text (e.g., short URL)
204
- if (hasSubtitle) {
205
- const subtitleYPos = isBottom ? '85.5%' : '8%';
206
- layers.push({
207
- type: 'text',
208
- id: 'persistent-caption-subtitle',
209
- content: {
210
- text: config.subtitle,
211
- style: {
212
- fontSize: 18,
213
- fontWeight: 'normal',
214
- color: 'rgba(255,255,255,0.55)',
215
- textAlign: isLeft ? 'left' : 'right',
216
- },
217
- },
218
- position: {
219
- x: textX,
220
- y: subtitleYPos,
221
- width: textWidth,
222
- },
223
- });
224
- }
225
- return layers;
226
- }
227
- /**
228
- * Expand a corner branding config to a Layer.
229
- */
230
- function expandCornerBranding(config) {
231
- const isBottom = config.position.includes('bottom');
232
- const isLeft = config.position.includes('left');
233
- const xPos = isLeft ? '3%' : '90%';
234
- const yPos = isBottom ? '94%' : '3%';
235
- if (config.isImage) {
236
- return {
237
- type: 'image',
238
- id: 'persistent-branding',
239
- content: {
240
- src: config.content,
241
- alt: 'Branding',
242
- fit: 'contain',
243
- },
244
- position: {
245
- x: xPos,
246
- y: yPos,
247
- width: '8%',
248
- height: '4%',
249
- },
250
- };
251
- }
252
- return {
253
- type: 'text',
254
- id: 'persistent-branding',
255
- content: {
256
- text: config.content,
257
- style: {
258
- fontSize: 14,
259
- fontWeight: 'normal',
260
- color: 'rgba(255,255,255,0.6)',
261
- },
262
- },
263
- position: {
264
- x: xPos,
265
- y: yPos,
266
- },
267
- };
268
- }
269
- /**
270
- * Expand a progress indicator config to a Layer.
271
- * Note: Progress requires block context, returns placeholder bar.
272
- */
273
- function expandProgressIndicator(config) {
274
- const color = config.color ?? 'rgba(255,255,255,0.3)';
275
- const y = config.position === 'top' ? '1%' : '98%';
276
- // Simple bar style - actual progress would need to be set per-block
277
- return {
278
- type: 'shape',
279
- id: 'persistent-progress',
280
- content: {
281
- shape: 'rect',
282
- fill: color,
283
- borderRadius: 2,
284
- },
285
- position: {
286
- x: '5%',
287
- y,
288
- width: '90%',
289
- height: '0.5%',
290
- },
291
- };
292
- }
293
- // ============================================
294
- // Main Expansion Function
295
- // ============================================
296
- /**
297
- * Expand a single persistent layer (template or raw) to raw Layer(s).
298
- */
299
- export function expandPersistentLayer(layer) {
300
- // If already a raw Layer, return as-is
301
- if (!isPersistentLayerTemplate(layer)) {
302
- return [layer];
303
- }
304
- const template = layer;
305
- const config = template.config;
306
- switch (config.type) {
307
- case 'solidBackground':
308
- return [expandSolidBackground(config)];
309
- case 'gradientBackground':
310
- return [expandGradientBackground(config)];
311
- case 'imageBackground':
312
- return expandImageBackground(config);
313
- case 'patternBackground':
314
- return [expandPatternBackground(config)];
315
- case 'titleCaption':
316
- return expandTitleCaption(config);
317
- case 'cornerBranding':
318
- return [expandCornerBranding(config)];
319
- case 'progressIndicator':
320
- return [expandProgressIndicator(config)];
321
- default:
322
- console.warn('Unknown persistent layer template:', config.type);
323
- return [];
324
- }
325
- }
326
- /**
327
- * Expand all persistent layers in a config to raw Layer arrays.
328
- */
329
- export function expandPersistentLayers(layers) {
330
- if (!layers || layers.length === 0) {
331
- return [];
332
- }
333
- // Use reduce+concat instead of flatMap for Coherent GT compatibility (ES2017)
334
- return layers.reduce((acc, layer) => acc.concat(expandPersistentLayer(layer)), []);
335
- }
336
- /**
337
- * Get a PersistentLayerConfig from a style preset.
338
- *
339
- * @param preset - Style preset name
340
- * @param articleTitle - Article title for title caption
341
- * @param heroSrc - Optional hero image for cinematic style
342
- */
343
- export function getDocStyleConfig(preset, articleTitle, heroSrc, subtitle) {
344
- switch (preset) {
345
- case 'minimal':
346
- return {};
347
- case 'documentary':
348
- return {
349
- bottomLayers: [
350
- {
351
- template: 'gradientBackground',
352
- config: { type: 'gradientBackground', preset: 'dark-vignette' },
353
- },
354
- ],
355
- topLayers: [
356
- {
357
- template: 'titleCaption',
358
- config: {
359
- type: 'titleCaption',
360
- title: articleTitle,
361
- subtitle,
362
- position: 'bottom-left',
363
- fontSize: 24,
364
- showThumbnail: !!heroSrc,
365
- thumbnailSrc: heroSrc,
366
- },
367
- },
368
- ],
369
- };
370
- case 'branded':
371
- return {
372
- bottomLayers: [
373
- {
374
- template: 'gradientBackground',
375
- config: { type: 'gradientBackground', preset: 'cool-blue' },
376
- },
377
- ],
378
- topLayers: [
379
- {
380
- template: 'titleCaption',
381
- config: {
382
- type: 'titleCaption',
383
- title: articleTitle,
384
- subtitle,
385
- position: 'bottom-left',
386
- fontSize: 26,
387
- showThumbnail: !!heroSrc,
388
- thumbnailSrc: heroSrc,
389
- },
390
- },
391
- ],
392
- };
393
- case 'cinematic':
394
- return {
395
- bottomLayers: heroSrc
396
- ? [
397
- {
398
- template: 'imageBackground',
399
- config: {
400
- type: 'imageBackground',
401
- src: heroSrc,
402
- blur: 12,
403
- opacity: 0.3,
404
- ambientMotion: 'zoomIn',
405
- },
406
- },
407
- ]
408
- : [
409
- {
410
- template: 'gradientBackground',
411
- config: { type: 'gradientBackground', preset: 'radial-dark' },
412
- },
413
- ],
414
- topLayers: [
415
- {
416
- template: 'titleCaption',
417
- config: {
418
- type: 'titleCaption',
419
- title: articleTitle,
420
- subtitle,
421
- position: 'bottom-right',
422
- fontSize: 22,
423
- },
424
- },
425
- ],
426
- };
427
- case 'clean':
428
- return {
429
- bottomLayers: [
430
- {
431
- template: 'solidBackground',
432
- config: { type: 'solidBackground', color: '#1a202c' },
433
- },
434
- ],
435
- };
436
- default:
437
- return {};
438
- }
439
- }
440
- /**
441
- * Get persistent layers from a Theme. Returns the theme's baked-in
442
- * persistentLayers config, or an empty config when the theme has none.
443
- */
444
- export function getPersistentLayersFromTheme(theme) {
445
- return theme.persistentLayers ?? {};
446
- }
447
- //# sourceMappingURL=persistentLayers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persistentLayers.js","sourceRoot":"","sources":["../../../src/doc/templates/persistentLayers.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Photo Grid Template
3
- *
4
- * Displays 2-4 images in a tiled layout for visual variety.
5
- * Layout adapts based on image count and viewport orientation:
6
- *
7
- * Landscape:
8
- * - 2 images: side-by-side 50/50
9
- * - 3 images: one large left (60%) + two stacked right
10
- * - 4 images: 2x2 grid
11
- *
12
- * Portrait (9:16): images stack horizontally (top/bottom) instead of
13
- * side-by-side, giving each image full width on narrow screens.
14
- *
15
- * This is shared code used by both site and efb-app doc renderers.
16
- */
17
- import type { Layer } from '../../schemas/Doc.js';
18
- import type { PhotoGridInput, TemplateContext } from '../../schemas/BlockTemplates.js';
19
- export declare function photoGrid(input: PhotoGridInput, context: TemplateContext): Layer[];
20
- //# sourceMappingURL=photoGrid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"photoGrid.d.ts","sourceRoot":"","sources":["../../../src/doc/templates/photoGrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQvF,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK,EAAE,CAyHlF"}