@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,107 +0,0 @@
1
- /**
2
- * Video With Caption Template
3
- *
4
- * Full-screen background video clip with text overlay. Mirrors the structure of
5
- * imageWithCaption but uses a VideoLayer instead of an ImageLayer. The video
6
- * plays muted — narration audio is the only sound track.
7
- *
8
- * Adapts caption positioning and font sizes for different viewports.
9
- *
10
- * This is shared code used by both site and efb-app doc renderers.
11
- *
12
- * Related Files:
13
- * - shared/story/templates/imageWithCaption.ts — image equivalent
14
- * - schemas/StoryScript.ts — VideoLayer type
15
- * - site/src/components/story/layers/VideoLayer.tsx — rendering component
16
- */
17
- import { scaledFontSize } from '../../schemas/BlockTemplates.js';
18
- import { getThemeFont } from '../utils/themeUtils.js';
19
- import { cleanCaption } from './captionUtils.js';
20
- export function videoWithCaption(input, context) {
21
- const { videoSrc, posterSrc, videoAlt, clipStart, clipEnd, sourceDuration, caption: rawCaption, captionPosition = 'bottom', videoCredit, videoLicense, } = input;
22
- const caption = rawCaption ? cleanCaption(rawCaption) : rawCaption;
23
- const { theme, layout } = context;
24
- const captionFontSize = scaledFontSize(36, context, false);
25
- const creditFontSize = scaledFontSize(16, context, false);
26
- const layers = [
27
- // Background video clip
28
- {
29
- type: 'video',
30
- id: 'bg-video',
31
- content: {
32
- src: videoSrc,
33
- posterSrc,
34
- alt: videoAlt,
35
- fit: 'cover',
36
- clipStart,
37
- clipEnd,
38
- sourceDuration,
39
- credit: videoCredit,
40
- license: videoLicense,
41
- },
42
- position: { x: 0, y: 0, width: '100%', height: '100%' },
43
- },
44
- ];
45
- // Caption text at bottom with gradient for readability
46
- if (caption) {
47
- layers.push({
48
- type: 'shape',
49
- id: 'caption-gradient',
50
- content: {
51
- shape: 'rect',
52
- fill: 'linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 60%, transparent 100%)',
53
- },
54
- position: {
55
- x: 0,
56
- y: captionPosition === 'top' ? 0 : '65%',
57
- width: '100%',
58
- height: '35%',
59
- },
60
- });
61
- const captionY = captionPosition === 'top' ? '15%' : captionPosition === 'center' ? '50%' : '82%';
62
- layers.push({
63
- type: 'text',
64
- id: 'caption',
65
- content: {
66
- text: caption,
67
- style: {
68
- fontSize: captionFontSize,
69
- fontFamily: getThemeFont(context, 'body'),
70
- color: theme.colors.text,
71
- textAlign: 'center',
72
- shadow: true,
73
- },
74
- },
75
- position: {
76
- x: '50%',
77
- y: captionY,
78
- anchor: 'center',
79
- width: layout.maxTextWidth,
80
- },
81
- animation: { type: 'fadeIn', duration: 1.5, delay: 0.5 },
82
- });
83
- }
84
- // Small credit text in bottom-right corner
85
- if (videoCredit) {
86
- layers.push({
87
- type: 'text',
88
- id: 'credit',
89
- content: {
90
- text: videoCredit,
91
- style: {
92
- fontSize: creditFontSize,
93
- fontFamily: getThemeFont(context, 'body'),
94
- color: 'rgba(255, 255, 255, 0.5)',
95
- textAlign: 'right',
96
- },
97
- },
98
- position: {
99
- x: '96%',
100
- y: '96%',
101
- anchor: 'bottom-right',
102
- },
103
- });
104
- }
105
- return layers;
106
- }
107
- //# sourceMappingURL=videoWithCaption.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"videoWithCaption.js","sourceRoot":"","sources":["../../../src/doc/templates/videoWithCaption.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Animation Utilities
3
- *
4
- * Helper functions for mapping Doc animations to CSS classes and styles.
5
- * Generates the appropriate animation class names and CSS custom properties
6
- * for duration, delay, and easing.
7
- *
8
- * This is shared code used by both site and efb-app doc renderers.
9
- */
10
- import type { Animation, AnimationType, TransitionType } from '../../schemas/Doc.js';
11
- interface AnimationResult {
12
- /** CSS class name to apply */
13
- className: string;
14
- /** Inline styles for CSS custom properties */
15
- style: Record<string, string>;
16
- }
17
- /**
18
- * Get CSS class and styles for an animation.
19
- */
20
- export declare function getAnimationStyle(animation: Animation | undefined, _currentTime?: number): AnimationResult;
21
- /**
22
- * Get default duration for an animation type.
23
- */
24
- export declare function getDefaultAnimationDuration(type: AnimationType): number;
25
- /**
26
- * Get transition class for slide entry/exit.
27
- */
28
- export declare function getTransitionClass(type: TransitionType, entering: boolean): string;
29
- /**
30
- * Calculate animation progress (0-1) based on current time.
31
- */
32
- export declare function getAnimationProgress(animation: Animation, currentTime: number, slideDuration: number): number;
33
- export {};
34
- //# sourceMappingURL=animationUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animationUtils.d.ts","sourceRoot":"","sources":["../../../src/doc/utils/animationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAErF,UAAU,eAAe;IACvB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,YAAY,GAAE,MAAU,GACvB,eAAe,CASjB;AAuDD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiBvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAGlF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAQR"}
@@ -1,110 +0,0 @@
1
- /**
2
- * Animation Utilities
3
- *
4
- * Helper functions for mapping Doc animations to CSS classes and styles.
5
- * Generates the appropriate animation class names and CSS custom properties
6
- * for duration, delay, and easing.
7
- *
8
- * This is shared code used by both site and efb-app doc renderers.
9
- */
10
- /**
11
- * Get CSS class and styles for an animation.
12
- */
13
- export function getAnimationStyle(animation, _currentTime = 0) {
14
- if (!animation || animation.type === 'none') {
15
- return { className: '', style: {} };
16
- }
17
- const className = getAnimationClassName(animation);
18
- const style = getAnimationCSSVars(animation);
19
- return { className, style };
20
- }
21
- /**
22
- * Map animation type to CSS class name.
23
- */
24
- function getAnimationClassName(animation) {
25
- const { type, direction, panDirection } = animation;
26
- switch (type) {
27
- case 'fadeIn':
28
- return 'anim-fadeIn';
29
- case 'fadeOut':
30
- return 'anim-fadeOut';
31
- case 'slowZoom':
32
- // Slow zoom (Ken Burns style) has variants based on direction and pan
33
- if (panDirection === 'left')
34
- return 'anim-slowZoom-panLeft';
35
- if (panDirection === 'right')
36
- return 'anim-slowZoom-panRight';
37
- if (direction === 'out')
38
- return 'anim-slowZoom-out';
39
- return 'anim-slowZoom-in';
40
- case 'zoomIn':
41
- return 'anim-zoomIn';
42
- case 'zoomOut':
43
- return 'anim-zoomOut';
44
- case 'panLeft':
45
- return 'anim-panLeft';
46
- case 'panRight':
47
- return 'anim-panRight';
48
- case 'typewriter':
49
- return 'anim-typewriter';
50
- default:
51
- return '';
52
- }
53
- }
54
- /**
55
- * Generate CSS custom properties for animation timing.
56
- */
57
- function getAnimationCSSVars(animation) {
58
- const vars = {};
59
- if (animation.duration !== undefined) {
60
- vars['--anim-duration'] = `${animation.duration}s`;
61
- }
62
- if (animation.delay !== undefined) {
63
- vars['--anim-delay'] = `${animation.delay}s`;
64
- }
65
- if (animation.easing) {
66
- vars['--anim-easing'] = animation.easing;
67
- }
68
- return vars;
69
- }
70
- /**
71
- * Get default duration for an animation type.
72
- */
73
- export function getDefaultAnimationDuration(type) {
74
- switch (type) {
75
- case 'slowZoom':
76
- case 'panLeft':
77
- case 'panRight':
78
- return 8; // Long, slow animations
79
- case 'typewriter':
80
- return 3;
81
- case 'fadeIn':
82
- case 'fadeOut':
83
- return 1;
84
- case 'zoomIn':
85
- case 'zoomOut':
86
- return 0.5;
87
- default:
88
- return 1;
89
- }
90
- }
91
- /**
92
- * Get transition class for slide entry/exit.
93
- */
94
- export function getTransitionClass(type, entering) {
95
- const mode = entering ? 'enter' : 'exit';
96
- return `transition-${type}-${mode}`;
97
- }
98
- /**
99
- * Calculate animation progress (0-1) based on current time.
100
- */
101
- export function getAnimationProgress(animation, currentTime, slideDuration) {
102
- const delay = animation.delay || 0;
103
- const duration = animation.duration || slideDuration;
104
- if (currentTime < delay)
105
- return 0;
106
- if (currentTime >= delay + duration)
107
- return 1;
108
- return (currentTime - delay) / duration;
109
- }
110
- //# sourceMappingURL=animationUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animationUtils.js","sourceRoot":"","sources":["../../../src/doc/utils/animationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAgC,EAChC,eAAuB,CAAC;IAExB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAE7C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,SAAoB;IACjD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAEpD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU;YACb,sEAAsE;YACtE,IAAI,YAAY,KAAK,MAAM;gBAAE,OAAO,uBAAuB,CAAC;YAC5D,IAAI,YAAY,KAAK,OAAO;gBAAE,OAAO,wBAAwB,CAAC;YAC9D,IAAI,SAAS,KAAK,KAAK;gBAAE,OAAO,mBAAmB,CAAC;YACpD,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,eAAe,CAAC;QACzB,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC;QAC3B;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,IAAI,GAA2B,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC;IACrD,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC;IAC/C,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAmB;IAC7D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,CAAC,CAAC,CAAC,wBAAwB;QACpC,KAAK,YAAY;YACf,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC;QACb;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAoB,EAAE,QAAiB;IACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,cAAc,IAAI,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAoB,EACpB,WAAmB,EACnB,aAAqB;IAErB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC;IAErD,IAAI,WAAW,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC;IAClC,IAAI,WAAW,IAAI,KAAK,GAAG,QAAQ;QAAE,OAAO,CAAC,CAAC;IAE9C,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC;AAC1C,CAAC"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Theme Utilities
3
- *
4
- * Template-facing helpers that read from the Theme object on the
5
- * TemplateContext. Templates call these instead of hard-coding style
6
- * decisions, so the same template code adapts to any theme.
7
- */
8
- import type { TemplateContext } from '../../schemas/BlockTemplates.js';
9
- import type { ThemeColorScheme } from '../../schemas/Theme.js';
10
- import type { AnimationType } from '../../schemas/Doc.js';
11
- /**
12
- * Resolve a named color scheme from the theme, with a safe fallback.
13
- * Templates call this instead of `COLOR_SCHEMES[name]`.
14
- */
15
- export declare function resolveColorScheme(context: TemplateContext, name: string | undefined): ThemeColorScheme;
16
- /**
17
- * Get the theme font family for a given role.
18
- * Templates call this to set `fontFamily` on text layers.
19
- *
20
- * @param context Template context (includes theme with typography settings)
21
- * @param role 'title' for headings, 'body' for descriptions, 'mono' for code
22
- * @returns A CSS font-family string with the theme's font and safe fallbacks
23
- */
24
- export declare function getThemeFont(context: TemplateContext, role: 'title' | 'body' | 'mono'): string;
25
- /**
26
- * Calculate a theme-aware scaled font size.
27
- * Applies the theme's typography scale multipliers on top of the
28
- * viewport-based font scale from LayoutStrategy.
29
- *
30
- * @param basePx Base font size designed for 1920×1080
31
- * @param context Template context (includes fontScale, layout, theme)
32
- * @param isTitle Whether this is title text (uses titleScale) or body (bodyScale)
33
- */
34
- export declare function themedFontSize(basePx: number, context: TemplateContext, isTitle?: boolean): number;
35
- /**
36
- * Scale an animation duration by the theme's animationSpeed multiplier.
37
- * A speed of 1.0 returns the base duration unchanged.
38
- */
39
- export declare function scaleAnimationDuration(baseDuration: number, context: TemplateContext): number;
40
- /**
41
- * Get the theme's default animation type for a layer kind.
42
- * Returns `undefined` when the theme doesn't specify one (template picks its own).
43
- */
44
- export declare function getDefaultAnimation(context: TemplateContext, layerType: 'text' | 'image'): AnimationType | undefined;
45
- /**
46
- * Whether the theme defaults to text shadows.
47
- * Templates should consult this when choosing `shadow: true/false`.
48
- */
49
- export declare function shouldUseShadow(context: TemplateContext): boolean;
50
- /**
51
- * Get the theme's overlay opacity for image-backed blocks.
52
- */
53
- export declare function getOverlayOpacity(context: TemplateContext): number;
54
- /**
55
- * Read a per-template hint from the theme's renderStyle.
56
- * Returns `fallback` when the hint isn't defined.
57
- *
58
- * @example
59
- * ```ts
60
- * const entrance = getTemplateHint(context, 'statHighlight', 'entrance', 'subtle');
61
- * ```
62
- */
63
- export declare function getTemplateHint<T extends string | number | boolean>(context: TemplateContext, templateName: string, key: string, fallback: T): T;
64
- //# sourceMappingURL=themeUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../../src/doc/utils/themeUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAa1D;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,gBAAgB,CAOlB;AAWD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAU9F;AAMD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,OAAe,GACvB,MAAM,CAYR;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAG7F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,GAAG,OAAO,GAC1B,aAAa,GAAG,SAAS,CAG3B;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAElE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EACjE,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,GACV,CAAC,CAMH"}
@@ -1,135 +0,0 @@
1
- /**
2
- * Theme Utilities
3
- *
4
- * Template-facing helpers that read from the Theme object on the
5
- * TemplateContext. Templates call these instead of hard-coding style
6
- * decisions, so the same template code adapts to any theme.
7
- */
8
- // ============================================
9
- // Color Scheme Resolution
10
- // ============================================
11
- /** Fallback color scheme when a name is not found in the theme. */
12
- const FALLBACK_COLOR_SCHEME = {
13
- bg: '#1a365d',
14
- text: '#63b3ed',
15
- accent: '#90cdf4',
16
- };
17
- /**
18
- * Resolve a named color scheme from the theme, with a safe fallback.
19
- * Templates call this instead of `COLOR_SCHEMES[name]`.
20
- */
21
- export function resolveColorScheme(context, name) {
22
- const schemes = context.theme.colorSchemes;
23
- if (name && name in schemes)
24
- return schemes[name];
25
- // Fall back to first defined scheme, then hard fallback
26
- const keys = Object.keys(schemes);
27
- if (keys.length > 0)
28
- return schemes[keys[0]];
29
- return FALLBACK_COLOR_SCHEME;
30
- }
31
- // ============================================
32
- // Font Family Resolution
33
- // ============================================
34
- /** Safe system font fallbacks. */
35
- const FALLBACK_BODY = 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif';
36
- const FALLBACK_TITLE = 'Georgia, "Times New Roman", serif';
37
- const FALLBACK_MONO = 'Consolas, "Courier New", monospace';
38
- /**
39
- * Get the theme font family for a given role.
40
- * Templates call this to set `fontFamily` on text layers.
41
- *
42
- * @param context Template context (includes theme with typography settings)
43
- * @param role 'title' for headings, 'body' for descriptions, 'mono' for code
44
- * @returns A CSS font-family string with the theme's font and safe fallbacks
45
- */
46
- export function getThemeFont(context, role) {
47
- const { typography } = context.theme;
48
- switch (role) {
49
- case 'title':
50
- return typography.titleFontFamily || FALLBACK_TITLE;
51
- case 'body':
52
- return typography.bodyFontFamily || FALLBACK_BODY;
53
- case 'mono':
54
- return typography.monoFontFamily || FALLBACK_MONO;
55
- }
56
- }
57
- // ============================================
58
- // Font Sizing
59
- // ============================================
60
- /**
61
- * Calculate a theme-aware scaled font size.
62
- * Applies the theme's typography scale multipliers on top of the
63
- * viewport-based font scale from LayoutStrategy.
64
- *
65
- * @param basePx Base font size designed for 1920×1080
66
- * @param context Template context (includes fontScale, layout, theme)
67
- * @param isTitle Whether this is title text (uses titleScale) or body (bodyScale)
68
- */
69
- export function themedFontSize(basePx, context, isTitle = false) {
70
- const { fontScale, layout, theme } = context;
71
- // Base scale from viewport + orientation
72
- const layoutScale = isTitle ? layout.titleScale : layout.bodyScale;
73
- // Theme multiplier (defaults to 1.0 when not set)
74
- const themeScale = isTitle
75
- ? (theme.typography.titleScale ?? 1.0)
76
- : (theme.typography.bodyScale ?? 1.0);
77
- return Math.round(basePx * fontScale * layoutScale * themeScale);
78
- }
79
- // ============================================
80
- // Animation Helpers
81
- // ============================================
82
- /**
83
- * Scale an animation duration by the theme's animationSpeed multiplier.
84
- * A speed of 1.0 returns the base duration unchanged.
85
- */
86
- export function scaleAnimationDuration(baseDuration, context) {
87
- const speed = context.theme.style.animationSpeed ?? 1.0;
88
- return baseDuration * speed;
89
- }
90
- /**
91
- * Get the theme's default animation type for a layer kind.
92
- * Returns `undefined` when the theme doesn't specify one (template picks its own).
93
- */
94
- export function getDefaultAnimation(context, layerType) {
95
- const rs = context.theme.renderStyle;
96
- return layerType === 'text' ? rs.defaultTextAnimation : rs.defaultImageAnimation;
97
- }
98
- // ============================================
99
- // Style Helpers
100
- // ============================================
101
- /**
102
- * Whether the theme defaults to text shadows.
103
- * Templates should consult this when choosing `shadow: true/false`.
104
- */
105
- export function shouldUseShadow(context) {
106
- return context.theme.style.textShadow ?? true;
107
- }
108
- /**
109
- * Get the theme's overlay opacity for image-backed blocks.
110
- */
111
- export function getOverlayOpacity(context) {
112
- return context.theme.style.overlayOpacity ?? 0.5;
113
- }
114
- // ============================================
115
- // Template Hint Access
116
- // ============================================
117
- /**
118
- * Read a per-template hint from the theme's renderStyle.
119
- * Returns `fallback` when the hint isn't defined.
120
- *
121
- * @example
122
- * ```ts
123
- * const entrance = getTemplateHint(context, 'statHighlight', 'entrance', 'subtle');
124
- * ```
125
- */
126
- export function getTemplateHint(context, templateName, key, fallback) {
127
- const hints = context.theme.renderStyle.templateHints;
128
- if (!hints)
129
- return fallback;
130
- const tplHints = hints[templateName];
131
- if (!tplHints || !(key in tplHints))
132
- return fallback;
133
- return tplHints[key];
134
- }
135
- //# sourceMappingURL=themeUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeUtils.js","sourceRoot":"","sources":["../../../src/doc/utils/themeUtils.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Content Extractor
3
- *
4
- * Pattern-based extraction of compelling content from plain text.
5
- * Identifies statistics, dates, quotes, comparisons, facts, impact lines,
6
- * lists, and definitions that can be turned into slideshow slides.
7
- *
8
- * Extraction is purely regex-based — no AI calls, no runtime costs,
9
- * deterministic and reproducible.
10
- */
11
- /** Kinds of content the extractor recognises. */
12
- export type ExtractionType = 'stat' | 'date' | 'quote' | 'comparison' | 'fact' | 'impactLine' | 'list' | 'definition';
13
- /** An extracted content element with source position. */
14
- export interface ExtractedElement {
15
- type: ExtractionType;
16
- /** Full extracted text (usually the surrounding sentence). */
17
- text: string;
18
- /** Confidence score 0–1. */
19
- confidence: number;
20
- /** Character offset in the source text. */
21
- sourcePosition: number;
22
- /** Character offset where element ends. */
23
- endPosition: number;
24
- /** Type-specific structured payload. */
25
- data: StatData | DateData | QuoteData | ComparisonData | FactData | ImpactLineData | ListData | DefinitionData;
26
- }
27
- export interface StatData {
28
- type: 'stat';
29
- value: string;
30
- unit?: string;
31
- description: string;
32
- }
33
- export interface DateData {
34
- type: 'date';
35
- date: string;
36
- description: string;
37
- mood?: 'neutral' | 'somber' | 'celebratory';
38
- }
39
- export interface QuoteData {
40
- type: 'quote';
41
- quote: string;
42
- attribution?: string;
43
- }
44
- export interface ComparisonData {
45
- type: 'comparison';
46
- left: {
47
- label: string;
48
- sublabel?: string;
49
- };
50
- right: {
51
- label: string;
52
- sublabel?: string;
53
- };
54
- header?: string;
55
- }
56
- export interface FactData {
57
- type: 'fact';
58
- fact: string;
59
- explanation?: string;
60
- }
61
- export interface ImpactLineData {
62
- type: 'impactLine';
63
- text: string;
64
- }
65
- export interface ListData {
66
- type: 'list';
67
- items: string[];
68
- title?: string;
69
- }
70
- export interface DefinitionData {
71
- type: 'definition';
72
- term: string;
73
- definition: string;
74
- origin?: string;
75
- }
76
- /** Options for `extractContent`. */
77
- export interface ExtractionOptions {
78
- /** Minimum confidence threshold (default: 0.3). */
79
- minConfidence?: number;
80
- /** Which types to extract (default: all). */
81
- types?: ExtractionType[];
82
- /** Maximum extractions per type (default: unlimited). */
83
- maxPerType?: number;
84
- }
85
- /** Result of `extractContent`. */
86
- export interface ExtractionResult {
87
- elements: ExtractedElement[];
88
- sourceLength: number;
89
- stats: {
90
- statCount: number;
91
- dateCount: number;
92
- quoteCount: number;
93
- comparisonCount: number;
94
- factCount: number;
95
- impactLineCount: number;
96
- listCount: number;
97
- definitionCount: number;
98
- totalCount: number;
99
- };
100
- }
101
- /**
102
- * Extract compelling content from plain text.
103
- *
104
- * Call `stripMarkdown(text)` first if the input contains markdown.
105
- */
106
- export declare function extractContent(text: string, options?: ExtractionOptions): ExtractionResult;
107
- /**
108
- * Strip markdown formatting from text, returning plain prose.
109
- * Call this before `extractContent` if the input is markdown.
110
- */
111
- export declare function stripMarkdown(markdown: string): string;
112
- //# sourceMappingURL=contentExtractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contentExtractor.d.ts","sourceRoot":"","sources":["../../src/generate/contentExtractor.ts"],"names":[],"mappings":"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"}