@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,445 +0,0 @@
1
- /**
2
- * Block Template Registry
3
- *
4
- * Central registry of all block templates. Provides functions to:
5
- * - Look up templates by name
6
- * - Expand template blocks into full Layer arrays
7
- * - Convert a template-based doc script into a renderable format
8
- *
9
- * Supports multiple viewport configurations for different aspect ratios.
10
- *
11
- * This is shared code used by both site and efb-app doc renderers.
12
- */
13
- import { isTemplateBlock, createTemplateContext } from '../../schemas/BlockTemplates.js';
14
- import { DEFAULT_THEME as defaultTheme } from '../../schemas/themeLibrary.js';
15
- import { expandPersistentLayers } from './persistentLayers.js';
16
- import { VIEWPORT_PRESETS } from '../../schemas/Viewport.js';
17
- // Import all template functions
18
- import { titleBlock } from './titleBlock.js';
19
- import { sectionHeader } from './sectionHeader.js';
20
- import { statHighlight } from './statHighlight.js';
21
- import { quoteBlock } from './quoteBlock.js';
22
- import { factCard } from './factCard.js';
23
- import { twoColumn } from './twoColumn.js';
24
- import { dateEvent } from './dateEvent.js';
25
- import { imageWithCaption } from './imageWithCaption.js';
26
- import { mapBlock } from './mapBlock.js';
27
- import { fullBleedQuote } from './fullBleedQuote.js';
28
- import { listBlock } from './listBlock.js';
29
- import { photoGrid } from './photoGrid.js';
30
- import { definitionCard } from './definitionCard.js';
31
- import { comparisonBar } from './comparisonBar.js';
32
- import { pullQuote } from './pullQuote.js';
33
- import { videoWithCaption } from './videoWithCaption.js';
34
- import { videoPullQuote } from './videoPullQuote.js';
35
- import { dataTable } from './dataTable.js';
36
- /**
37
- * Registry mapping template names to their implementation functions.
38
- * Note: coverBlock is not in the registry as it's used directly for start blocks,
39
- * not as a regular template in the block sequence.
40
- */
41
- export const templateRegistry = {
42
- titleBlock,
43
- sectionHeader,
44
- statHighlight,
45
- quoteBlock,
46
- factCard,
47
- twoColumn,
48
- dateEvent,
49
- imageWithCaption,
50
- mapBlock,
51
- fullBleedQuote,
52
- listBlock,
53
- photoGrid,
54
- definitionCard,
55
- comparisonBar,
56
- pullQuote,
57
- videoWithCaption,
58
- videoPullQuote,
59
- dataTable,
60
- };
61
- /**
62
- * Expand a template block into a full Block with layers.
63
- */
64
- export function expandTemplateBlock(templateBlock, context) {
65
- const templateFn = templateRegistry[templateBlock.template];
66
- if (!templateFn) {
67
- console.warn(`Unknown template: ${templateBlock.template}`);
68
- // Return block with no layers
69
- return {
70
- id: templateBlock.id,
71
- startTime: 0,
72
- duration: templateBlock.duration,
73
- audioSegment: templateBlock.audioSegment,
74
- transition: templateBlock.transition,
75
- template: templateBlock.template, // Preserve for debugging
76
- };
77
- }
78
- // Generate layers from template with error handling
79
- let layers;
80
- try {
81
- // Each registry entry accepts its specific TemplateBlock variant; the
82
- // discriminated union guarantees the shapes match at runtime.
83
- layers = templateFn(templateBlock, context);
84
- if (!Array.isArray(layers)) {
85
- console.error(`Template ${templateBlock.template} did not return an array, got:`, typeof layers);
86
- layers = [];
87
- }
88
- }
89
- catch (err) {
90
- console.error(`Error expanding template ${templateBlock.template}:`, err);
91
- layers = [];
92
- }
93
- return {
94
- id: templateBlock.id,
95
- startTime: 0, // Will be calculated later
96
- duration: templateBlock.duration,
97
- audioSegment: templateBlock.audioSegment,
98
- ...(layers.length > 0 ? { layers } : {}),
99
- transition: templateBlock.transition,
100
- template: templateBlock.template, // Preserve for debugging
101
- };
102
- }
103
- /**
104
- * Expand all template blocks in a doc, calculating start times.
105
- * Injects persistent layers (bottom/top) based on per-block flags.
106
- *
107
- * When audioSegments is provided, blocks are timed relative to their audio segment's
108
- * start time, ensuring blocks appear when their audio is playing. Blocks within each
109
- * segment are distributed proportionally across the segment duration.
110
- *
111
- * @param blocks - Array of template or raw blocks
112
- * @param options - Expansion options including theme, viewport, and persistent layers
113
- */
114
- export function expandDocBlocks(blocks, options = {}) {
115
- const opts = options;
116
- const theme = opts.theme ?? defaultTheme;
117
- const viewport = opts.viewport ?? VIEWPORT_PRESETS.landscape;
118
- const { persistentLayers, audioSegments } = opts;
119
- const totalBlocks = blocks.length;
120
- // Pre-expand persistent layers once
121
- const bottomLayers = expandPersistentLayers(persistentLayers?.bottomLayers);
122
- const topLayers = expandPersistentLayers(persistentLayers?.topLayers);
123
- // If no audio segments provided, use simple cumulative timing
124
- if (!audioSegments || audioSegments.length === 0) {
125
- let currentTime = 0;
126
- return blocks.map((block, index) => {
127
- const context = createTemplateContext(theme, index, totalBlocks, viewport);
128
- const expandedBlock = isTemplateBlock(block)
129
- ? expandTemplateBlock(block, context)
130
- : block;
131
- // Inject persistent layers
132
- const templateBlock = block;
133
- const useBottom = templateBlock.useBottomLayer !== false;
134
- const useTop = templateBlock.useTopLayer !== false;
135
- if (bottomLayers.length > 0 || topLayers.length > 0) {
136
- expandedBlock.layers = [
137
- ...(useBottom ? bottomLayers : []),
138
- ...(expandedBlock.layers ?? []),
139
- ...(useTop ? topLayers : []),
140
- ];
141
- }
142
- expandedBlock.startTime = currentTime;
143
- currentTime += expandedBlock.duration;
144
- return expandedBlock;
145
- });
146
- }
147
- // Group blocks by their audioSegment index
148
- const blocksBySegment = new Map();
149
- blocks.forEach((block, index) => {
150
- const segmentIndex = block.audioSegment ?? 0;
151
- if (!blocksBySegment.has(segmentIndex)) {
152
- blocksBySegment.set(segmentIndex, []);
153
- }
154
- blocksBySegment.get(segmentIndex).push({ block, originalIndex: index });
155
- });
156
- // Expand blocks, timing them relative to their audio segment
157
- const expandedBlocks = new Array(blocks.length);
158
- for (const [segmentIndex, segmentBlocks] of blocksBySegment) {
159
- const audioSegment = audioSegments[segmentIndex];
160
- if (!audioSegment) {
161
- // No audio segment info - use simple sequential timing within the segment
162
- let offsetTime = 0;
163
- for (const { block, originalIndex } of segmentBlocks) {
164
- const context = createTemplateContext(theme, originalIndex, totalBlocks, viewport);
165
- const expandedBlock = isTemplateBlock(block)
166
- ? expandTemplateBlock(block, context)
167
- : block;
168
- const templateBlock = block;
169
- const useBottom = templateBlock.useBottomLayer !== false;
170
- const useTop = templateBlock.useTopLayer !== false;
171
- if (bottomLayers.length > 0 || topLayers.length > 0) {
172
- expandedBlock.layers = [
173
- ...(useBottom ? bottomLayers : []),
174
- ...(expandedBlock.layers ?? []),
175
- ...(useTop ? topLayers : []),
176
- ];
177
- }
178
- expandedBlock.startTime = offsetTime;
179
- offsetTime += expandedBlock.duration;
180
- expandedBlocks[originalIndex] = expandedBlock;
181
- }
182
- continue;
183
- }
184
- // Section headers (sectionHeader template) get their original duration since
185
- // the title is spoken at the start of the segment. Other blocks are scaled
186
- // to fill the remaining time.
187
- const sectionHeaderBlocks = [];
188
- const contentBlocks = [];
189
- for (const item of segmentBlocks) {
190
- const templateBlock = item.block;
191
- if (templateBlock.template === 'sectionHeader') {
192
- sectionHeaderBlocks.push(item);
193
- }
194
- else {
195
- contentBlocks.push(item);
196
- }
197
- }
198
- // Calculate fixed duration (section headers) and scalable duration (content)
199
- const fixedDuration = sectionHeaderBlocks.reduce((sum, { block }) => {
200
- return sum + (block.duration ?? 0);
201
- }, 0);
202
- const contentBlockDuration = contentBlocks.reduce((sum, { block }) => {
203
- return sum + (block.duration ?? 0);
204
- }, 0);
205
- // Remaining time after section header(s) for content blocks
206
- const remainingDuration = audioSegment.duration - fixedDuration;
207
- // Scale factor only applies to content blocks
208
- const scaleFactor = contentBlockDuration > 0 && remainingDuration > 0
209
- ? remainingDuration / contentBlockDuration
210
- : 1;
211
- const expandedInfos = [];
212
- for (const { block, originalIndex } of segmentBlocks) {
213
- const context = createTemplateContext(theme, originalIndex, totalBlocks, viewport);
214
- const expandedBlock = isTemplateBlock(block)
215
- ? expandTemplateBlock(block, context)
216
- : block;
217
- const templateBlock = block;
218
- const useBottom = templateBlock.useBottomLayer !== false;
219
- const useTop = templateBlock.useTopLayer !== false;
220
- if (bottomLayers.length > 0 || topLayers.length > 0) {
221
- expandedBlock.layers = [
222
- ...(useBottom ? bottomLayers : []),
223
- ...(expandedBlock.layers ?? []),
224
- ...(useTop ? topLayers : []),
225
- ];
226
- }
227
- expandedInfos.push({
228
- block: expandedBlock,
229
- originalIndex,
230
- templateBlock,
231
- hasSourceTiming: typeof templateBlock.sourceStartTime === 'number',
232
- });
233
- }
234
- // Sort blocks within this segment.
235
- // When ANY block has source timing (from audio analysis), section headers
236
- // are placed first since they are intro cards for the segment. When there
237
- // is no source timing (e.g., preview/synthetic mode), keep original
238
- // document order so the slideshow matches what the author wrote.
239
- const hasAnySourceTiming = expandedInfos.some((info) => info.hasSourceTiming);
240
- expandedInfos.sort((a, b) => {
241
- if (hasAnySourceTiming) {
242
- const aIsHeader = a.templateBlock.template === 'sectionHeader';
243
- const bIsHeader = b.templateBlock.template === 'sectionHeader';
244
- // Section headers come first when we have audio-based timing
245
- if (aIsHeader && !bIsHeader)
246
- return -1;
247
- if (!aIsHeader && bIsHeader)
248
- return 1;
249
- // Both have source timing - sort by time
250
- if (a.hasSourceTiming && b.hasSourceTiming) {
251
- return a.templateBlock.sourceStartTime - b.templateBlock.sourceStartTime;
252
- }
253
- // One has timing, one doesn't - timing comes first
254
- if (a.hasSourceTiming && !b.hasSourceTiming)
255
- return -1;
256
- if (!a.hasSourceTiming && b.hasSourceTiming)
257
- return 1;
258
- }
259
- // Keep original document order
260
- return a.originalIndex - b.originalIndex;
261
- });
262
- // Second pass: assign start times
263
- // Slides with sourceStartTime use that; others fill gaps
264
- let offsetWithinSegment = 0;
265
- for (let i = 0; i < expandedInfos.length; i++) {
266
- const info = expandedInfos[i];
267
- const { block: expandedBlock, templateBlock } = info;
268
- // Use source timing if available, otherwise use sequential offset
269
- if (info.hasSourceTiming) {
270
- // Use the source timing - this is when the content is spoken
271
- const sourceStart = templateBlock.sourceStartTime;
272
- expandedBlock.startTime = audioSegment.startTime + sourceStart;
273
- // Use source duration if available, otherwise use block duration
274
- if (typeof templateBlock.sourceDuration === 'number') {
275
- expandedBlock.duration = Math.max(5, templateBlock.sourceDuration);
276
- }
277
- // Update offset for next block
278
- offsetWithinSegment = sourceStart + expandedBlock.duration;
279
- }
280
- else if (templateBlock.template === 'sectionHeader') {
281
- // Section headers start at the beginning of the segment
282
- expandedBlock.startTime = audioSegment.startTime + offsetWithinSegment;
283
- offsetWithinSegment += expandedBlock.duration;
284
- }
285
- else {
286
- // No source timing - place after previous block
287
- expandedBlock.startTime = audioSegment.startTime + offsetWithinSegment;
288
- // Scale content block duration to fit
289
- const scaledDuration = expandedBlock.duration * scaleFactor;
290
- expandedBlock.duration = scaledDuration;
291
- offsetWithinSegment += scaledDuration;
292
- }
293
- expandedBlocks[info.originalIndex] = expandedBlock;
294
- }
295
- // Third pass: fix overlaps and gaps by adjusting durations
296
- // Sort by startTime for overlap detection
297
- const segmentExpandedBlocks = expandedInfos
298
- .map((info) => expandedBlocks[info.originalIndex])
299
- .sort((a, b) => a.startTime - b.startTime);
300
- for (let i = 0; i < segmentExpandedBlocks.length - 1; i++) {
301
- const current = segmentExpandedBlocks[i];
302
- const next = segmentExpandedBlocks[i + 1];
303
- const currentEnd = current.startTime + current.duration;
304
- if (currentEnd > next.startTime) {
305
- // Overlap - shorten current block to end when next begins
306
- current.duration = next.startTime - current.startTime;
307
- }
308
- else if (currentEnd < next.startTime - 0.5) {
309
- // Gap > 0.5s - extend current block to fill (visual continuity)
310
- // Same formula as overlap: snap to next block start
311
- current.duration = Math.max(0.1, next.startTime - current.startTime);
312
- }
313
- }
314
- // Minimum gap between any two transitions (including section boundaries).
315
- // No block should be visible for less than this before a transition occurs.
316
- const MIN_TRANSITION_GAP = 5;
317
- const segmentEnd = audioSegment.startTime + audioSegment.duration;
318
- // Fourth pass: enforce minimum transition gap at section boundary.
319
- // Eliminate blocks from the end that would start within MIN_TRANSITION_GAP
320
- // of the section end (creating a jarring transition right before the next
321
- // section header). Loop to handle cascading eliminations.
322
- while (segmentExpandedBlocks.length > 1) {
323
- const lastBlock = segmentExpandedBlocks[segmentExpandedBlocks.length - 1];
324
- const timeFromLastToEnd = segmentEnd - lastBlock.startTime;
325
- if (timeFromLastToEnd < MIN_TRANSITION_GAP && lastBlock.template !== 'sectionHeader') {
326
- const prevBlock = segmentExpandedBlocks[segmentExpandedBlocks.length - 2];
327
- prevBlock.duration = segmentEnd - prevBlock.startTime;
328
- lastBlock.duration = 0;
329
- lastBlock.startTime = segmentEnd;
330
- segmentExpandedBlocks.pop();
331
- }
332
- else {
333
- // Extend last block to fill to segment end
334
- if (lastBlock.startTime + lastBlock.duration < segmentEnd) {
335
- lastBlock.duration = segmentEnd - lastBlock.startTime;
336
- }
337
- break;
338
- }
339
- }
340
- // Handle single-block segment
341
- if (segmentExpandedBlocks.length === 1) {
342
- const onlyBlock = segmentExpandedBlocks[0];
343
- if (onlyBlock.startTime + onlyBlock.duration < segmentEnd) {
344
- onlyBlock.duration = segmentEnd - onlyBlock.startTime;
345
- }
346
- }
347
- // Fifth pass: eliminate any remaining blocks shorter than MIN_TRANSITION_GAP.
348
- // Walk backwards and merge short blocks into their predecessor.
349
- // Skip index 0 (first block, typically section header) to preserve segment start.
350
- let changed = true;
351
- while (changed) {
352
- changed = false;
353
- for (let i = segmentExpandedBlocks.length - 1; i >= 1; i--) {
354
- const block = segmentExpandedBlocks[i];
355
- if (block.duration > 0 && block.duration < MIN_TRANSITION_GAP) {
356
- const prev = segmentExpandedBlocks[i - 1];
357
- const blockEnd = block.startTime + block.duration;
358
- prev.duration = blockEnd - prev.startTime;
359
- block.duration = 0;
360
- block.startTime = segmentEnd;
361
- segmentExpandedBlocks.splice(i, 1);
362
- changed = true;
363
- break; // Restart loop after modification
364
- }
365
- }
366
- }
367
- // Sixth pass: split blocks that are too long (>20s)
368
- // This ensures no single block lingers for too long
369
- const MAX_BLOCK_DURATION = 20;
370
- for (let i = 0; i < segmentExpandedBlocks.length; i++) {
371
- const block = segmentExpandedBlocks[i];
372
- if (block.duration > MAX_BLOCK_DURATION) {
373
- // Calculate how many parts we need
374
- const numParts = Math.ceil(block.duration / MAX_BLOCK_DURATION);
375
- const partDuration = block.duration / numParts;
376
- // Only split if each part would meet minimum transition gap
377
- if (partDuration >= MIN_TRANSITION_GAP) {
378
- // Shorten original block to first part
379
- block.duration = partDuration;
380
- // Create additional blocks for remaining parts
381
- for (let p = 1; p < numParts; p++) {
382
- const splitBlock = {
383
- id: `${block.id}-split-${p}`,
384
- startTime: block.startTime + p * partDuration,
385
- duration: partDuration,
386
- audioSegment: block.audioSegment,
387
- layers: (block.layers ?? []).map((layer) => ({
388
- ...layer,
389
- id: `${layer.id}-split-${p}`,
390
- })),
391
- transition: { type: 'dissolve', duration: 1.0 },
392
- template: block.template,
393
- };
394
- // Insert into expanded blocks array
395
- expandedBlocks.push(splitBlock);
396
- }
397
- }
398
- }
399
- }
400
- }
401
- // Filter out zero-duration blocks (eliminated in earlier passes)
402
- return expandedBlocks.filter((block) => block && block.duration > 0);
403
- }
404
- /**
405
- * Get list of available template names.
406
- */
407
- export function getAvailableTemplates() {
408
- return Object.keys(templateRegistry);
409
- }
410
- /**
411
- * Check if a template exists.
412
- */
413
- export function hasTemplate(name) {
414
- return name in templateRegistry;
415
- }
416
- // Re-export types and utilities from schemas
417
- export { isTemplateBlock, createTemplateContext, scaledFontSize, } from '../../schemas/BlockTemplates.js';
418
- export { DEFAULT_THEME, resolveTheme, getAvailableThemes, getThemeSummaries, } from '../../schemas/themeLibrary.js';
419
- // Re-export timing types (AudioSegmentTiming and ExpandDocBlocksOptions are already exported above)
420
- export { VIEWPORT_PRESETS, getViewport, getViewportOrientation } from '../../schemas/Viewport.js';
421
- export { getLayoutHints, getTwoColumnPositions } from '../../schemas/LayoutStrategy.js';
422
- export { expandPersistentLayers, getDocStyleConfig } from './persistentLayers.js';
423
- // Re-export individual templates for direct access
424
- export { titleBlock } from './titleBlock.js';
425
- export { sectionHeader } from './sectionHeader.js';
426
- export { statHighlight } from './statHighlight.js';
427
- export { quoteBlock } from './quoteBlock.js';
428
- export { factCard } from './factCard.js';
429
- export { twoColumn } from './twoColumn.js';
430
- export { dateEvent } from './dateEvent.js';
431
- export { imageWithCaption } from './imageWithCaption.js';
432
- export { mapBlock } from './mapBlock.js';
433
- export { coverBlock, expandCoverBlock } from './coverBlock.js';
434
- export { fullBleedQuote } from './fullBleedQuote.js';
435
- export { listBlock } from './listBlock.js';
436
- export { photoGrid } from './photoGrid.js';
437
- export { definitionCard } from './definitionCard.js';
438
- export { comparisonBar } from './comparisonBar.js';
439
- export { pullQuote } from './pullQuote.js';
440
- export { videoWithCaption } from './videoWithCaption.js';
441
- export { videoPullQuote } from './videoPullQuote.js';
442
- export { dataTable } from './dataTable.js';
443
- // Re-export accent image utilities
444
- export { getAccentLayout, createAccentLayers, adjustY, DEFAULT_LAYOUT } from './accentImage.js';
445
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/doc/templates/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * List Block Template
3
- *
4
- * Displays 3-5 items in a numbered vertical list with staggered animations.
5
- * Good for enumerations like "things to see", "key features", or "tips".
6
- * Supports optional accent images.
7
- *
8
- * This is shared code used by both site and efb-app doc renderers.
9
- */
10
- import type { Layer } from '../../schemas/Doc.js';
11
- import type { ListBlockInput, TemplateContext } from '../../schemas/BlockTemplates.js';
12
- export declare function listBlock(input: ListBlockInput, context: TemplateContext): Layer[];
13
- //# sourceMappingURL=listBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listBlock.d.ts","sourceRoot":"","sources":["../../../src/doc/templates/listBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvF,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK,EAAE,CAuFlF"}
@@ -1,92 +0,0 @@
1
- /**
2
- * List Block Template
3
- *
4
- * Displays 3-5 items in a numbered vertical list with staggered animations.
5
- * Good for enumerations like "things to see", "key features", or "tips".
6
- * Supports optional accent images.
7
- *
8
- * This is shared code used by both site and efb-app doc renderers.
9
- */
10
- import { scaledFontSize } from '../../schemas/BlockTemplates.js';
11
- import { getThemeFont } from '../utils/themeUtils.js';
12
- import { createAccentLayers, getAccentLayout, adjustY, DEFAULT_LAYOUT } from './accentImage.js';
13
- export function listBlock(input, context) {
14
- const { items, title, accentImage } = input;
15
- const { theme } = context;
16
- // Get layout adjustments if accent image is present
17
- const accentLayout = accentImage ? getAccentLayout(accentImage.position) : DEFAULT_LAYOUT;
18
- const titleFontSize = scaledFontSize(44, context, true);
19
- const itemFontSize = scaledFontSize(34, context, false);
20
- const layers = [
21
- // Background — gradient
22
- {
23
- type: 'shape',
24
- id: 'bg',
25
- content: {
26
- shape: 'rect',
27
- fill: `linear-gradient(155deg, ${theme.colors.backgroundLight} 0%, ${theme.colors.background} 100%)`,
28
- },
29
- position: { x: 0, y: 0, width: '100%', height: '100%' },
30
- },
31
- ];
32
- // Add accent image layers
33
- if (accentImage) {
34
- layers.push(...createAccentLayers(accentImage, input.id));
35
- }
36
- // Title if provided
37
- const startY = title ? 30 : 22;
38
- if (title) {
39
- layers.push({
40
- type: 'text',
41
- id: 'list-title',
42
- content: {
43
- text: title,
44
- style: {
45
- fontSize: titleFontSize,
46
- fontFamily: getThemeFont(context, 'title'),
47
- fontWeight: 'bold',
48
- color: theme.colors.text,
49
- textAlign: 'center',
50
- shadow: !!accentImage,
51
- },
52
- },
53
- position: {
54
- x: accentLayout.textCenterX,
55
- y: adjustY('16%', accentLayout),
56
- anchor: 'center',
57
- },
58
- animation: { type: 'fadeIn', duration: 1 },
59
- });
60
- }
61
- // Calculate vertical spacing for items
62
- const endY = 80;
63
- const spacing = items.length > 1 ? (endY - startY) / (items.length - 1) : 0;
64
- // List items with staggered animation
65
- for (let i = 0; i < items.length; i++) {
66
- const y = startY + spacing * i;
67
- const itemText = `${i + 1}. ${items[i]}`;
68
- layers.push({
69
- type: 'text',
70
- id: `item-${i}`,
71
- content: {
72
- text: itemText,
73
- style: {
74
- fontSize: itemFontSize,
75
- fontFamily: getThemeFont(context, 'body'),
76
- color: theme.colors.text,
77
- lineHeight: 1.4,
78
- shadow: !!accentImage,
79
- },
80
- },
81
- position: {
82
- x: accentLayout.textCenterX,
83
- y: adjustY(`${y}%`, accentLayout),
84
- anchor: 'center',
85
- width: accentLayout.textWidth,
86
- },
87
- animation: { type: 'fadeIn', duration: 0.8, delay: 0.3 + 0.3 * i },
88
- });
89
- }
90
- return layers;
91
- }
92
- //# sourceMappingURL=listBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listBlock.js","sourceRoot":"","sources":["../../../src/doc/templates/listBlock.ts"],"names":[],"mappings":"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"}
@@ -1,17 +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 type { Layer } from '../../schemas/Doc.js';
15
- import type { MapBlockInput, TemplateContext } from '../../schemas/BlockTemplates.js';
16
- export declare function mapBlock(input: MapBlockInput, context: TemplateContext): Layer[];
17
- //# sourceMappingURL=mapBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapBlock.d.ts","sourceRoot":"","sources":["../../../src/doc/templates/mapBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKtF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK,EAAE,CAkHhF"}