@bendyline/squisq 0.1.2 → 1.0.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 (328) hide show
  1. package/dist/{themeLibrary-DySHPcgj.d.ts → Doc-1hmT1LZl.d.ts} +1 -42
  2. package/dist/__tests__/animationUtils.test.d.ts +2 -0
  3. package/dist/__tests__/animationUtils.test.d.ts.map +1 -0
  4. package/dist/__tests__/animationUtils.test.js +60 -0
  5. package/dist/__tests__/animationUtils.test.js.map +1 -0
  6. package/dist/__tests__/contentExtractor.test.d.ts +2 -0
  7. package/dist/__tests__/contentExtractor.test.d.ts.map +1 -0
  8. package/dist/__tests__/contentExtractor.test.js +151 -0
  9. package/dist/__tests__/contentExtractor.test.js.map +1 -0
  10. package/dist/__tests__/geohash.test.d.ts +2 -0
  11. package/dist/__tests__/geohash.test.d.ts.map +1 -0
  12. package/dist/__tests__/geohash.test.js +87 -0
  13. package/dist/__tests__/geohash.test.js.map +1 -0
  14. package/dist/__tests__/getLayers.test.d.ts +2 -0
  15. package/dist/__tests__/getLayers.test.d.ts.map +1 -0
  16. package/dist/__tests__/getLayers.test.js +167 -0
  17. package/dist/__tests__/getLayers.test.js.map +1 -0
  18. package/dist/__tests__/haversine.test.d.ts +2 -0
  19. package/dist/__tests__/haversine.test.d.ts.map +1 -0
  20. package/dist/__tests__/haversine.test.js +56 -0
  21. package/dist/__tests__/haversine.test.js.map +1 -0
  22. package/dist/__tests__/localForageAdapter.test.d.ts +8 -0
  23. package/dist/__tests__/localForageAdapter.test.d.ts.map +1 -0
  24. package/dist/__tests__/localForageAdapter.test.js +130 -0
  25. package/dist/__tests__/localForageAdapter.test.js.map +1 -0
  26. package/dist/__tests__/markdown.test.d.ts +2 -0
  27. package/dist/__tests__/markdown.test.d.ts.map +1 -0
  28. package/dist/__tests__/markdown.test.js +654 -0
  29. package/dist/__tests__/markdown.test.js.map +1 -0
  30. package/dist/__tests__/markdownToDoc.test.d.ts +2 -0
  31. package/dist/__tests__/markdownToDoc.test.d.ts.map +1 -0
  32. package/dist/__tests__/markdownToDoc.test.js +313 -0
  33. package/dist/__tests__/markdownToDoc.test.js.map +1 -0
  34. package/dist/__tests__/seededRandom.test.d.ts +2 -0
  35. package/dist/__tests__/seededRandom.test.d.ts.map +1 -0
  36. package/dist/__tests__/seededRandom.test.js +125 -0
  37. package/dist/__tests__/seededRandom.test.js.map +1 -0
  38. package/dist/__tests__/slideshowGenerator.test.d.ts +2 -0
  39. package/dist/__tests__/slideshowGenerator.test.d.ts.map +1 -0
  40. package/dist/__tests__/slideshowGenerator.test.js +114 -0
  41. package/dist/__tests__/slideshowGenerator.test.js.map +1 -0
  42. package/dist/__tests__/storage.test.d.ts +2 -0
  43. package/dist/__tests__/storage.test.d.ts.map +1 -0
  44. package/dist/__tests__/storage.test.js +51 -0
  45. package/dist/__tests__/storage.test.js.map +1 -0
  46. package/dist/__tests__/templates.test.d.ts +2 -0
  47. package/dist/__tests__/templates.test.d.ts.map +1 -0
  48. package/dist/__tests__/templates.test.js +217 -0
  49. package/dist/__tests__/templates.test.js.map +1 -0
  50. package/dist/__tests__/timing.test.d.ts +2 -0
  51. package/dist/__tests__/timing.test.d.ts.map +1 -0
  52. package/dist/__tests__/timing.test.js +131 -0
  53. package/dist/__tests__/timing.test.js.map +1 -0
  54. package/dist/chunk-3E5F2XMR.js +129 -0
  55. package/dist/chunk-3E5F2XMR.js.map +1 -0
  56. package/dist/chunk-6YJPI6VI.js +35 -0
  57. package/dist/chunk-6YJPI6VI.js.map +1 -0
  58. package/dist/chunk-FVTQSNR7.js +100 -0
  59. package/dist/chunk-FVTQSNR7.js.map +1 -0
  60. package/dist/chunk-V543AI2F.js +1 -0
  61. package/dist/chunk-V543AI2F.js.map +1 -0
  62. package/dist/chunk-VP5SZTZ2.js +792 -0
  63. package/dist/chunk-VP5SZTZ2.js.map +1 -0
  64. package/dist/doc/docToMarkdown.d.ts +41 -0
  65. package/dist/doc/docToMarkdown.d.ts.map +1 -0
  66. package/dist/doc/docToMarkdown.js +88 -0
  67. package/dist/doc/docToMarkdown.js.map +1 -0
  68. package/dist/doc/getLayers.d.ts +65 -0
  69. package/dist/doc/getLayers.d.ts.map +1 -0
  70. package/dist/doc/getLayers.js +103 -0
  71. package/dist/doc/getLayers.js.map +1 -0
  72. package/dist/doc/index.d.ts +9 -3
  73. package/dist/doc/index.d.ts.map +1 -0
  74. package/dist/doc/index.js +6 -125
  75. package/dist/doc/index.js.map +1 -1
  76. package/dist/doc/markdownToDoc.d.ts +68 -0
  77. package/dist/doc/markdownToDoc.d.ts.map +1 -0
  78. package/dist/doc/markdownToDoc.js +225 -0
  79. package/dist/doc/markdownToDoc.js.map +1 -0
  80. package/dist/doc/templates/accentImage.d.ts +59 -0
  81. package/dist/doc/templates/accentImage.d.ts.map +1 -0
  82. package/dist/doc/templates/accentImage.js +275 -0
  83. package/dist/doc/templates/accentImage.js.map +1 -0
  84. package/dist/doc/templates/captionUtils.d.ts +20 -0
  85. package/dist/doc/templates/captionUtils.d.ts.map +1 -0
  86. package/dist/doc/templates/captionUtils.js +29 -0
  87. package/dist/doc/templates/captionUtils.js.map +1 -0
  88. package/dist/doc/templates/comparisonBar.d.ts +13 -0
  89. package/dist/doc/templates/comparisonBar.d.ts.map +1 -0
  90. package/dist/doc/templates/comparisonBar.js +127 -0
  91. package/dist/doc/templates/comparisonBar.js.map +1 -0
  92. package/dist/doc/templates/coverBlock.d.ts +51 -0
  93. package/dist/doc/templates/coverBlock.d.ts.map +1 -0
  94. package/dist/doc/templates/coverBlock.js +125 -0
  95. package/dist/doc/templates/coverBlock.js.map +1 -0
  96. package/dist/doc/templates/dateEvent.d.ts +15 -0
  97. package/dist/doc/templates/dateEvent.d.ts.map +1 -0
  98. package/dist/doc/templates/dateEvent.js +110 -0
  99. package/dist/doc/templates/dateEvent.js.map +1 -0
  100. package/dist/doc/templates/definitionCard.d.ts +13 -0
  101. package/dist/doc/templates/definitionCard.d.ts.map +1 -0
  102. package/dist/doc/templates/definitionCard.js +114 -0
  103. package/dist/doc/templates/definitionCard.js.map +1 -0
  104. package/dist/doc/templates/factCard.d.ts +15 -0
  105. package/dist/doc/templates/factCard.d.ts.map +1 -0
  106. package/dist/doc/templates/factCard.js +100 -0
  107. package/dist/doc/templates/factCard.js.map +1 -0
  108. package/dist/doc/templates/fullBleedQuote.d.ts +13 -0
  109. package/dist/doc/templates/fullBleedQuote.d.ts.map +1 -0
  110. package/dist/doc/templates/fullBleedQuote.js +54 -0
  111. package/dist/doc/templates/fullBleedQuote.js.map +1 -0
  112. package/dist/doc/templates/imageWithCaption.d.ts +13 -0
  113. package/dist/doc/templates/imageWithCaption.d.ts.map +1 -0
  114. package/dist/doc/templates/imageWithCaption.js +142 -0
  115. package/dist/doc/templates/imageWithCaption.js.map +1 -0
  116. package/dist/doc/templates/index.d.ts +104 -0
  117. package/dist/doc/templates/index.d.ts.map +1 -0
  118. package/dist/doc/templates/index.js +442 -0
  119. package/dist/doc/templates/index.js.map +1 -0
  120. package/dist/doc/templates/listBlock.d.ts +13 -0
  121. package/dist/doc/templates/listBlock.d.ts.map +1 -0
  122. package/dist/doc/templates/listBlock.js +89 -0
  123. package/dist/doc/templates/listBlock.js.map +1 -0
  124. package/dist/doc/templates/mapBlock.d.ts +17 -0
  125. package/dist/doc/templates/mapBlock.d.ts.map +1 -0
  126. package/dist/doc/templates/mapBlock.js +112 -0
  127. package/dist/doc/templates/mapBlock.js.map +1 -0
  128. package/dist/doc/templates/persistentLayers.d.ts +39 -0
  129. package/dist/doc/templates/persistentLayers.d.ts.map +1 -0
  130. package/dist/doc/templates/persistentLayers.js +447 -0
  131. package/dist/doc/templates/persistentLayers.js.map +1 -0
  132. package/dist/doc/templates/photoGrid.d.ts +20 -0
  133. package/dist/doc/templates/photoGrid.d.ts.map +1 -0
  134. package/dist/doc/templates/photoGrid.js +172 -0
  135. package/dist/doc/templates/photoGrid.js.map +1 -0
  136. package/dist/doc/templates/pullQuote.d.ts +13 -0
  137. package/dist/doc/templates/pullQuote.d.ts.map +1 -0
  138. package/dist/doc/templates/pullQuote.js +109 -0
  139. package/dist/doc/templates/pullQuote.js.map +1 -0
  140. package/dist/doc/templates/quoteBlock.d.ts +15 -0
  141. package/dist/doc/templates/quoteBlock.d.ts.map +1 -0
  142. package/dist/doc/templates/quoteBlock.js +97 -0
  143. package/dist/doc/templates/quoteBlock.js.map +1 -0
  144. package/dist/doc/templates/sectionHeader.d.ts +14 -0
  145. package/dist/doc/templates/sectionHeader.d.ts.map +1 -0
  146. package/dist/doc/templates/sectionHeader.js +96 -0
  147. package/dist/doc/templates/sectionHeader.js.map +1 -0
  148. package/dist/doc/templates/statHighlight.d.ts +15 -0
  149. package/dist/doc/templates/statHighlight.d.ts.map +1 -0
  150. package/dist/doc/templates/statHighlight.js +99 -0
  151. package/dist/doc/templates/statHighlight.js.map +1 -0
  152. package/dist/doc/templates/titleBlock.d.ts +13 -0
  153. package/dist/doc/templates/titleBlock.d.ts.map +1 -0
  154. package/dist/doc/templates/titleBlock.js +92 -0
  155. package/dist/doc/templates/titleBlock.js.map +1 -0
  156. package/dist/doc/templates/twoColumn.d.ts +15 -0
  157. package/dist/doc/templates/twoColumn.d.ts.map +1 -0
  158. package/dist/doc/templates/twoColumn.js +219 -0
  159. package/dist/doc/templates/twoColumn.js.map +1 -0
  160. package/dist/doc/templates/videoPullQuote.d.ts +20 -0
  161. package/dist/doc/templates/videoPullQuote.d.ts.map +1 -0
  162. package/dist/doc/templates/videoPullQuote.js +118 -0
  163. package/dist/doc/templates/videoPullQuote.js.map +1 -0
  164. package/dist/doc/templates/videoWithCaption.d.ts +20 -0
  165. package/dist/doc/templates/videoWithCaption.d.ts.map +1 -0
  166. package/dist/doc/templates/videoWithCaption.js +104 -0
  167. package/dist/doc/templates/videoWithCaption.js.map +1 -0
  168. package/dist/doc/utils/animationUtils.d.ts +34 -0
  169. package/dist/doc/utils/animationUtils.d.ts.map +1 -0
  170. package/dist/doc/utils/animationUtils.js +110 -0
  171. package/dist/doc/utils/animationUtils.js.map +1 -0
  172. package/dist/doc/utils/themeUtils.d.ts +55 -0
  173. package/dist/doc/utils/themeUtils.d.ts.map +1 -0
  174. package/dist/doc/utils/themeUtils.js +109 -0
  175. package/dist/doc/utils/themeUtils.js.map +1 -0
  176. package/dist/generate/contentExtractor.d.ts +112 -0
  177. package/dist/generate/contentExtractor.d.ts.map +1 -0
  178. package/dist/generate/contentExtractor.js +638 -0
  179. package/dist/generate/contentExtractor.js.map +1 -0
  180. package/dist/generate/index.d.ts +7 -0
  181. package/dist/generate/index.d.ts.map +1 -0
  182. package/dist/generate/index.js +4 -0
  183. package/dist/generate/index.js.map +1 -0
  184. package/dist/generate/slideshowGenerator.d.ts +72 -0
  185. package/dist/generate/slideshowGenerator.d.ts.map +1 -0
  186. package/dist/generate/slideshowGenerator.js +159 -0
  187. package/dist/generate/slideshowGenerator.js.map +1 -0
  188. package/dist/generate/templateMapper.d.ts +23 -0
  189. package/dist/generate/templateMapper.d.ts.map +1 -0
  190. package/dist/generate/templateMapper.js +114 -0
  191. package/dist/generate/templateMapper.js.map +1 -0
  192. package/dist/index.d.ts +9 -8
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +8 -216
  195. package/dist/index.js.map +1 -1
  196. package/dist/markdown/convert.d.ts +71 -0
  197. package/dist/markdown/convert.d.ts.map +1 -0
  198. package/dist/markdown/convert.js +746 -0
  199. package/dist/markdown/convert.js.map +1 -0
  200. package/dist/markdown/htmlParse.d.ts +26 -0
  201. package/dist/markdown/htmlParse.d.ts.map +1 -0
  202. package/dist/markdown/htmlParse.js +195 -0
  203. package/dist/markdown/htmlParse.js.map +1 -0
  204. package/dist/markdown/index.d.ts +19 -225
  205. package/dist/markdown/index.d.ts.map +1 -0
  206. package/dist/markdown/index.js +33 -32
  207. package/dist/markdown/index.js.map +1 -1
  208. package/dist/markdown/parse.d.ts +27 -0
  209. package/dist/markdown/parse.d.ts.map +1 -0
  210. package/dist/markdown/parse.js +90 -0
  211. package/dist/markdown/parse.js.map +1 -0
  212. package/dist/markdown/stringify.d.ts +32 -0
  213. package/dist/markdown/stringify.d.ts.map +1 -0
  214. package/dist/markdown/stringify.js +108 -0
  215. package/dist/markdown/stringify.js.map +1 -0
  216. package/dist/markdown/types.d.ts +496 -0
  217. package/dist/markdown/types.d.ts.map +1 -0
  218. package/dist/markdown/types.js +17 -0
  219. package/dist/markdown/types.js.map +1 -0
  220. package/dist/markdown/utils.d.ts +78 -0
  221. package/dist/markdown/utils.d.ts.map +1 -0
  222. package/dist/markdown/utils.js +149 -0
  223. package/dist/markdown/utils.js.map +1 -0
  224. package/dist/random/SeededRandom.d.ts +50 -0
  225. package/dist/random/SeededRandom.d.ts.map +1 -0
  226. package/dist/random/SeededRandom.js +115 -0
  227. package/dist/random/SeededRandom.js.map +1 -0
  228. package/dist/random/index.d.ts +2 -0
  229. package/dist/random/index.d.ts.map +1 -0
  230. package/dist/random/index.js +2 -0
  231. package/dist/random/index.js.map +1 -0
  232. package/dist/schemas/BlockTemplates.d.ts +583 -0
  233. package/dist/schemas/BlockTemplates.d.ts.map +1 -0
  234. package/dist/schemas/BlockTemplates.js +72 -0
  235. package/dist/schemas/BlockTemplates.js.map +1 -0
  236. package/dist/schemas/Doc.d.ts +411 -0
  237. package/dist/schemas/Doc.d.ts.map +1 -0
  238. package/dist/schemas/Doc.js +90 -0
  239. package/dist/schemas/Doc.js.map +1 -0
  240. package/dist/schemas/LayoutStrategy.d.ts +84 -0
  241. package/dist/schemas/LayoutStrategy.d.ts.map +1 -0
  242. package/dist/schemas/LayoutStrategy.js +123 -0
  243. package/dist/schemas/LayoutStrategy.js.map +1 -0
  244. package/dist/schemas/MediaProvider.d.ts +65 -0
  245. package/dist/schemas/MediaProvider.d.ts.map +1 -0
  246. package/dist/schemas/MediaProvider.js +13 -0
  247. package/dist/schemas/MediaProvider.js.map +1 -0
  248. package/dist/schemas/Theme.d.ts +163 -0
  249. package/dist/schemas/Theme.d.ts.map +1 -0
  250. package/dist/schemas/Theme.js +62 -0
  251. package/dist/schemas/Theme.js.map +1 -0
  252. package/dist/schemas/Types.d.ts +14 -0
  253. package/dist/schemas/Types.d.ts.map +1 -0
  254. package/dist/schemas/Types.js +5 -0
  255. package/dist/schemas/Types.js.map +1 -0
  256. package/dist/schemas/Viewport.d.ts +74 -0
  257. package/dist/schemas/Viewport.d.ts.map +1 -0
  258. package/dist/schemas/Viewport.js +63 -0
  259. package/dist/schemas/Viewport.js.map +1 -0
  260. package/dist/schemas/index.d.ts +10 -70
  261. package/dist/schemas/index.d.ts.map +1 -0
  262. package/dist/schemas/index.js +7 -60
  263. package/dist/schemas/index.js.map +1 -1
  264. package/dist/schemas/themeLibrary.d.ts +41 -0
  265. package/dist/schemas/themeLibrary.d.ts.map +1 -0
  266. package/dist/schemas/themeLibrary.js +466 -0
  267. package/dist/schemas/themeLibrary.js.map +1 -0
  268. package/dist/spatial/Geohash.d.ts +85 -0
  269. package/dist/spatial/Geohash.d.ts.map +1 -0
  270. package/dist/spatial/Geohash.js +142 -0
  271. package/dist/spatial/Geohash.js.map +1 -0
  272. package/dist/spatial/Haversine.d.ts +24 -0
  273. package/dist/spatial/Haversine.d.ts.map +1 -0
  274. package/dist/spatial/Haversine.js +48 -0
  275. package/dist/spatial/Haversine.js.map +1 -0
  276. package/dist/spatial/index.d.ts +3 -111
  277. package/dist/spatial/index.d.ts.map +1 -0
  278. package/dist/spatial/index.js +2 -24
  279. package/dist/spatial/index.js.map +1 -1
  280. package/dist/storage/LocalForageAdapter.d.ts +36 -0
  281. package/dist/storage/LocalForageAdapter.d.ts.map +1 -0
  282. package/dist/storage/LocalForageAdapter.js +82 -0
  283. package/dist/storage/LocalForageAdapter.js.map +1 -0
  284. package/dist/storage/LocalStorageAdapter.d.ts +16 -0
  285. package/dist/storage/LocalStorageAdapter.d.ts.map +1 -0
  286. package/dist/storage/LocalStorageAdapter.js +50 -0
  287. package/dist/storage/LocalStorageAdapter.js.map +1 -0
  288. package/dist/storage/MemoryStorageAdapter.d.ts +15 -0
  289. package/dist/storage/MemoryStorageAdapter.d.ts.map +1 -0
  290. package/dist/storage/MemoryStorageAdapter.js +34 -0
  291. package/dist/storage/MemoryStorageAdapter.js.map +1 -0
  292. package/dist/storage/Storage.d.ts +23 -0
  293. package/dist/storage/Storage.d.ts.map +1 -0
  294. package/dist/storage/Storage.js +9 -0
  295. package/dist/storage/Storage.js.map +1 -0
  296. package/dist/storage/index.d.ts +6 -91
  297. package/dist/storage/index.d.ts.map +1 -0
  298. package/dist/storage/index.js +3 -10
  299. package/dist/storage/index.js.map +1 -1
  300. package/dist/story/index.d.ts +3 -2
  301. package/dist/themeLibrary-DR1VRo-8.d.ts +44 -0
  302. package/dist/timing/index.d.ts +4 -0
  303. package/dist/timing/index.d.ts.map +1 -0
  304. package/dist/timing/index.js +3 -0
  305. package/dist/timing/index.js.map +1 -0
  306. package/dist/timing/narrationTiming.d.ts +54 -0
  307. package/dist/timing/narrationTiming.d.ts.map +1 -0
  308. package/dist/timing/narrationTiming.js +190 -0
  309. package/dist/timing/narrationTiming.js.map +1 -0
  310. package/dist/timing/readingTime.d.ts +54 -0
  311. package/dist/timing/readingTime.d.ts.map +1 -0
  312. package/dist/timing/readingTime.js +49 -0
  313. package/dist/timing/readingTime.js.map +1 -0
  314. package/package.json +17 -3
  315. package/src/__tests__/contentExtractor.test.ts +183 -0
  316. package/src/__tests__/seededRandom.test.ts +142 -0
  317. package/src/__tests__/slideshowGenerator.test.ts +128 -0
  318. package/src/__tests__/timing.test.ts +167 -0
  319. package/src/generate/contentExtractor.ts +808 -0
  320. package/src/generate/index.ts +21 -0
  321. package/src/generate/slideshowGenerator.ts +273 -0
  322. package/src/generate/templateMapper.ts +170 -0
  323. package/src/index.ts +3 -0
  324. package/src/random/SeededRandom.ts +127 -0
  325. package/src/random/index.ts +1 -0
  326. package/src/timing/index.ts +17 -0
  327. package/src/timing/narrationTiming.ts +220 -0
  328. package/src/timing/readingTime.ts +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { extractContent, stripMarkdown } from './contentExtractor.js';
2
+ export { mapElementToBlock } from './templateMapper.js';
3
+ export { generateSlideshow } from './slideshowGenerator.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgBtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Slideshow Generator
3
+ *
4
+ * Turns plain text + optional images into a complete squisq `Doc`.
5
+ *
6
+ * Pipeline:
7
+ * 1. Strip markdown (if needed)
8
+ * 2. Extract compelling content (stats, dates, quotes, …)
9
+ * 3. Estimate narration timing
10
+ * 4. Map extractions → template blocks
11
+ * 5. Interleave image slides
12
+ * 6. Return a ready-to-render `Doc`
13
+ */
14
+ import type { Doc } from '../schemas/Doc.js';
15
+ import type { TemplateBlock, ColorScheme, AccentPosition } from '../schemas/BlockTemplates.js';
16
+ /** A Doc variant whose blocks are TemplateBlocks (no startTime required). */
17
+ export type SlideshowDoc = Omit<Doc, 'blocks'> & {
18
+ blocks: TemplateBlock[];
19
+ };
20
+ /** Image metadata passed to the generator. */
21
+ export interface SlideshowImage {
22
+ /** Image source path or URL. */
23
+ src: string;
24
+ /** Alt text for accessibility. */
25
+ alt?: string;
26
+ /** Photo credit. */
27
+ credit?: string;
28
+ /** License identifier. */
29
+ license?: string;
30
+ }
31
+ /** Options for `generateSlideshow`. */
32
+ export interface SlideshowOptions {
33
+ /** Deterministic seed (default: hash of the text). */
34
+ seed?: number;
35
+ /** Title slide text. Omit to skip the title slide. */
36
+ title?: string;
37
+ /** Subtitle for the title slide. */
38
+ subtitle?: string;
39
+ /** Explicit total duration in seconds. When omitted, estimated from text. */
40
+ duration?: number;
41
+ /** Target number of content slides (default: 5–8, auto-scaled). */
42
+ targetSlides?: number;
43
+ /** Color schemes to rotate (default: ['blue','green','purple','orange','red']). */
44
+ colorSchemes?: ColorScheme[];
45
+ /** Ambient motions to rotate on images. */
46
+ ambientMotions?: Array<'zoomIn' | 'zoomOut' | 'panLeft' | 'panRight'>;
47
+ /** Accent positions to rotate on text slides. */
48
+ accentPositions?: AccentPosition[];
49
+ /** Minimum slide duration in seconds (default: 4). */
50
+ minSlideDuration?: number;
51
+ /** Maximum slide duration in seconds (default: 15). */
52
+ maxSlideDuration?: number;
53
+ /** Theme identifier to embed in the Doc. */
54
+ themeId?: string;
55
+ /** Whether the input text is markdown (default: false). */
56
+ isMarkdown?: boolean;
57
+ /** Minimum extraction confidence (default: 0.3). */
58
+ minConfidence?: number;
59
+ }
60
+ /**
61
+ * Generate a slideshow `Doc` from text and optional images.
62
+ *
63
+ * ```ts
64
+ * const doc = generateSlideshow(articleText, myImages, {
65
+ * title: 'Mount Rainier',
66
+ * themeId: 'documentary',
67
+ * });
68
+ * // doc is a complete Doc ready for DocPlayer / LinearDocView
69
+ * ```
70
+ */
71
+ export declare function generateSlideshow(text: string, images?: SlideshowImage[], options?: SlideshowOptions): SlideshowDoc;
72
+ //# sourceMappingURL=slideshowGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slideshowGenerator.d.ts","sourceRoot":"","sources":["../../src/generate/slideshowGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EAGb,WAAW,EAEX,cAAc,EACf,MAAM,8BAA8B,CAAC;AAQtC,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG;IAC/C,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;IACtE,iDAAiD;IACjD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,cAAc,EAAO,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,YAAY,CA0Id"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Slideshow Generator
3
+ *
4
+ * Turns plain text + optional images into a complete squisq `Doc`.
5
+ *
6
+ * Pipeline:
7
+ * 1. Strip markdown (if needed)
8
+ * 2. Extract compelling content (stats, dates, quotes, …)
9
+ * 3. Estimate narration timing
10
+ * 4. Map extractions → template blocks
11
+ * 5. Interleave image slides
12
+ * 6. Return a ready-to-render `Doc`
13
+ */
14
+ import { extractContent, stripMarkdown } from './contentExtractor.js';
15
+ import { mapElementToBlock } from './templateMapper.js';
16
+ import { estimateNarrationDuration } from '../timing/narrationTiming.js';
17
+ import { SeededRandom, hashString } from '../random/SeededRandom.js';
18
+ const DEFAULT_COLOR_SCHEMES = ['blue', 'green', 'purple', 'orange', 'red'];
19
+ const DEFAULT_AMBIENT_MOTIONS = [
20
+ 'zoomIn',
21
+ 'zoomOut',
22
+ 'panLeft',
23
+ 'panRight',
24
+ ];
25
+ const DEFAULT_ACCENT_POSITIONS = ['left-strip', 'right-strip', 'bottom-strip'];
26
+ // ── Main ───────────────────────────────────────────────────────────
27
+ /**
28
+ * Generate a slideshow `Doc` from text and optional images.
29
+ *
30
+ * ```ts
31
+ * const doc = generateSlideshow(articleText, myImages, {
32
+ * title: 'Mount Rainier',
33
+ * themeId: 'documentary',
34
+ * });
35
+ * // doc is a complete Doc ready for DocPlayer / LinearDocView
36
+ * ```
37
+ */
38
+ export function generateSlideshow(text, images = [], options = {}) {
39
+ const { seed, title, subtitle, duration: explicitDuration, targetSlides, colorSchemes = DEFAULT_COLOR_SCHEMES, ambientMotions = DEFAULT_AMBIENT_MOTIONS, accentPositions = DEFAULT_ACCENT_POSITIONS, minSlideDuration = 4, maxSlideDuration = 15, themeId, isMarkdown = false, minConfidence = 0.3, } = options;
40
+ const plainText = isMarkdown ? stripMarkdown(text) : text;
41
+ const rng = new SeededRandom(seed ?? hashString(plainText));
42
+ // 1. Estimate total duration
43
+ const totalDuration = explicitDuration ?? estimateNarrationDuration(plainText);
44
+ // 2. Extract compelling content
45
+ const extraction = extractContent(plainText, { minConfidence });
46
+ const allElements = extraction.elements;
47
+ // 3. Decide slide budget
48
+ const slideBudget = targetSlides ?? computeSlideBudget(totalDuration, allElements.length);
49
+ // Allocate slots between content and images
50
+ const imageSlotCount = images.length > 0 ? Math.max(1, Math.round(slideBudget * 0.4)) : 0;
51
+ const contentSlotCount = Math.max(0, slideBudget - imageSlotCount - (title ? 1 : 0));
52
+ // Select top elements by confidence, then restore source order
53
+ const sorted = [...allElements].sort((a, b) => b.confidence - a.confidence);
54
+ const selected = sorted.slice(0, contentSlotCount);
55
+ selected.sort((a, b) => a.sourcePosition - b.sourcePosition);
56
+ // 4. Build slides
57
+ const blocks = [];
58
+ let slideIndex = 0;
59
+ let colorIdx = 0;
60
+ let accentIdx = 0;
61
+ // Determine per-slide duration
62
+ const totalSlideCount = (title ? 1 : 0) + selected.length + Math.min(imageSlotCount, images.length);
63
+ const perSlide = totalSlideCount > 0
64
+ ? Math.min(maxSlideDuration, Math.max(minSlideDuration, totalDuration / totalSlideCount))
65
+ : minSlideDuration;
66
+ // Title slide
67
+ if (title) {
68
+ const titleBlock = {
69
+ id: `slide-${slideIndex++}`,
70
+ template: 'titleBlock',
71
+ title,
72
+ subtitle,
73
+ duration: Math.min(perSlide, 6),
74
+ audioSegment: 0,
75
+ };
76
+ blocks.push(titleBlock);
77
+ }
78
+ // Prepare image pool for standalone + accent images
79
+ const standaloneImages = images.slice(0, Math.min(imageSlotCount, images.length));
80
+ const accentPool = images.length > standaloneImages.length ? images.slice(standaloneImages.length) : [...images]; // reuse if not enough
81
+ // Interleave pattern: insert an image slide every N content slides
82
+ const imageInterval = standaloneImages.length > 0
83
+ ? Math.max(1, Math.floor(selected.length / (standaloneImages.length + 1)))
84
+ : Infinity;
85
+ let imgIdx = 0;
86
+ let sinceImage = 0;
87
+ for (let i = 0; i < selected.length; i++) {
88
+ // Maybe insert a standalone image slide before this content slide
89
+ if (sinceImage >= imageInterval && imgIdx < standaloneImages.length) {
90
+ blocks.push(createImageSlide(standaloneImages[imgIdx], slideIndex++, perSlide, rng, ambientMotions));
91
+ imgIdx++;
92
+ sinceImage = 0;
93
+ }
94
+ const element = selected[i];
95
+ // Optional accent image
96
+ let accentImage;
97
+ if (accentPool.length > 0) {
98
+ const img = accentPool[i % accentPool.length];
99
+ accentImage = {
100
+ src: img.src,
101
+ alt: img.alt ?? '',
102
+ position: accentPositions[accentIdx % accentPositions.length],
103
+ ambientMotion: rng.pickRequired(ambientMotions),
104
+ credit: img.credit,
105
+ license: img.license,
106
+ };
107
+ accentIdx++;
108
+ }
109
+ const block = mapElementToBlock(element, {
110
+ id: `slide-${slideIndex++}`,
111
+ duration: perSlide,
112
+ audioSegment: 0,
113
+ colorScheme: colorSchemes[colorIdx % colorSchemes.length],
114
+ accentImage,
115
+ });
116
+ blocks.push(block);
117
+ colorIdx++;
118
+ sinceImage++;
119
+ }
120
+ // Append any remaining standalone images
121
+ while (imgIdx < standaloneImages.length) {
122
+ blocks.push(createImageSlide(standaloneImages[imgIdx], slideIndex++, perSlide, rng, ambientMotions));
123
+ imgIdx++;
124
+ }
125
+ // 5. Assemble Doc
126
+ const doc = {
127
+ articleId: title ?? 'slideshow',
128
+ duration: totalDuration,
129
+ blocks,
130
+ audio: {
131
+ segments: [{ src: '', name: 'main', duration: totalDuration, startTime: 0 }],
132
+ },
133
+ themeId,
134
+ };
135
+ return doc;
136
+ }
137
+ // ── Helpers ────────────────────────────────────────────────────────
138
+ function computeSlideBudget(duration, elementCount) {
139
+ // Aim for ~5 slides per minute of content, clamped 3–12
140
+ const byDuration = Math.round((duration / 60) * 5);
141
+ // But don't exceed available elements + a few image slots
142
+ const budget = Math.min(byDuration, elementCount + 4);
143
+ return Math.max(3, Math.min(12, budget));
144
+ }
145
+ function createImageSlide(img, index, duration, rng, motions) {
146
+ return {
147
+ id: `slide-${index}`,
148
+ template: 'imageWithCaption',
149
+ imageSrc: img.src,
150
+ imageAlt: img.alt ?? '',
151
+ caption: img.alt,
152
+ duration,
153
+ audioSegment: 0,
154
+ ambientMotion: rng.pickRequired(motions),
155
+ imageCredit: img.credit,
156
+ imageLicense: img.license,
157
+ };
158
+ }
159
+ //# sourceMappingURL=slideshowGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slideshowGenerator.js","sourceRoot":"","sources":["../../src/generate/slideshowGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Template Mapper
3
+ *
4
+ * Converts extracted content elements into squisq TemplateBlock inputs.
5
+ * Each ExtractionType maps to a specific template from BlockTemplates.
6
+ */
7
+ import type { ExtractedElement } from './contentExtractor.js';
8
+ import type { TemplateBlock, ColorScheme, AccentImage } from '../schemas/BlockTemplates.js';
9
+ /** Options for mapping an element to a template block. */
10
+ export interface MapOptions {
11
+ id: string;
12
+ duration: number;
13
+ audioSegment: number;
14
+ colorScheme?: ColorScheme;
15
+ accentImage?: AccentImage;
16
+ sourceStartTime?: number;
17
+ sourceDuration?: number;
18
+ }
19
+ /**
20
+ * Convert an extracted element into the matching squisq TemplateBlock.
21
+ */
22
+ export declare function mapElementToBlock(element: ExtractedElement, options: MapOptions): TemplateBlock;
23
+ //# sourceMappingURL=templateMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateMapper.d.ts","sourceRoot":"","sources":["../../src/generate/templateMapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EASjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EASV,aAAa,EACb,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAEtC,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,GAAG,aAAa,CA2B/F"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Template Mapper
3
+ *
4
+ * Converts extracted content elements into squisq TemplateBlock inputs.
5
+ * Each ExtractionType maps to a specific template from BlockTemplates.
6
+ */
7
+ /**
8
+ * Convert an extracted element into the matching squisq TemplateBlock.
9
+ */
10
+ export function mapElementToBlock(element, options) {
11
+ const base = {
12
+ id: options.id,
13
+ duration: options.duration,
14
+ audioSegment: options.audioSegment,
15
+ sourceStartTime: options.sourceStartTime,
16
+ sourceDuration: options.sourceDuration,
17
+ };
18
+ switch (element.data.type) {
19
+ case 'stat':
20
+ return mapStat(element.data, base, options);
21
+ case 'date':
22
+ return mapDate(element.data, base, options);
23
+ case 'quote':
24
+ return mapQuote(element.data, base, options);
25
+ case 'comparison':
26
+ return mapComparison(element.data, base, options);
27
+ case 'fact':
28
+ return mapFact(element.data, base, options);
29
+ case 'impactLine':
30
+ return mapImpactLine(element.data, base, options);
31
+ case 'list':
32
+ return mapList(element.data, base, options);
33
+ case 'definition':
34
+ return mapDefinition(element.data, base, options);
35
+ }
36
+ }
37
+ function mapStat(data, base, opts) {
38
+ return {
39
+ ...base,
40
+ template: 'statHighlight',
41
+ stat: data.value,
42
+ description: data.description,
43
+ colorScheme: opts.colorScheme,
44
+ accentImage: opts.accentImage,
45
+ };
46
+ }
47
+ function mapDate(data, base, opts) {
48
+ return {
49
+ ...base,
50
+ template: 'dateEvent',
51
+ date: data.date,
52
+ description: data.description,
53
+ mood: data.mood,
54
+ accentImage: opts.accentImage,
55
+ };
56
+ }
57
+ function mapQuote(data, base, opts) {
58
+ return {
59
+ ...base,
60
+ template: 'quoteBlock',
61
+ quote: data.quote,
62
+ attribution: data.attribution,
63
+ accentImage: opts.accentImage,
64
+ };
65
+ }
66
+ function mapComparison(data, base, opts) {
67
+ return {
68
+ ...base,
69
+ template: 'twoColumn',
70
+ left: data.left,
71
+ right: data.right,
72
+ header: data.header,
73
+ leftColor: opts.colorScheme,
74
+ };
75
+ }
76
+ function mapFact(data, base, opts) {
77
+ return {
78
+ ...base,
79
+ template: 'factCard',
80
+ fact: data.fact,
81
+ explanation: data.explanation ?? '',
82
+ accentImage: opts.accentImage,
83
+ };
84
+ }
85
+ function mapImpactLine(data, base, opts) {
86
+ return {
87
+ ...base,
88
+ template: 'fullBleedQuote',
89
+ text: data.text,
90
+ colorScheme: opts.colorScheme,
91
+ };
92
+ }
93
+ function mapList(data, base, opts) {
94
+ return {
95
+ ...base,
96
+ template: 'listBlock',
97
+ items: data.items,
98
+ title: data.title,
99
+ colorScheme: opts.colorScheme,
100
+ accentImage: opts.accentImage,
101
+ };
102
+ }
103
+ function mapDefinition(data, base, opts) {
104
+ return {
105
+ ...base,
106
+ template: 'definitionCard',
107
+ term: data.term,
108
+ definition: data.definition,
109
+ origin: data.origin,
110
+ colorScheme: opts.colorScheme,
111
+ accentImage: opts.accentImage,
112
+ };
113
+ }
114
+ //# sourceMappingURL=templateMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateMapper.js","sourceRoot":"","sources":["../../src/generate/templateMapper.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- export { B as BoundingBox, C as Coordinates } from './Types-sh2VRxfo.js';
2
- export { A as AccentImage, a as AccentPosition, b as Animation, c as AnimationType, d as AudioSegment, e as AudioTrack, B as Block, C as CaptionPhrase, f as CaptionTrack, g as ColorScheme, h as ComparisonBarInput, i as CornerBrandingConfig, D as DEFAULT_DOC_FONT, j as DEFAULT_THEME, k as DEFAULT_THEME_ID, l as DEFAULT_TITLE_FONT, m as DateEventInput, n as DeepPartial, o as DefinitionCardInput, p as Doc, q as DocBlock, F as FactCardInput, r as FullBleedQuoteInput, G as GradientBackgroundConfig, I as ImageBackgroundConfig, s as ImageLayer, t as ImageWithCaptionInput, L as Layer, u as LayoutHints, v as ListBlockInput, M as MapBlockInput, w as MapLayer, x as MapMarker, y as MapTileStyle, P as PatternBackgroundConfig, z as PersistentLayer, E as PersistentLayerConfig, H as PersistentLayerTemplate, J as PersistentLayerTemplateConfig, K as PersistentLayerTemplateType, N as PhotoGridInput, O as Position, Q as ProgressIndicatorConfig, R as PullQuoteInput, S as QuoteBlockInput, T as RenderStyle, U as SectionHeaderInput, V as ShapeLayer, W as SolidBackgroundConfig, X as StartBlockConfig, Y as StatHighlightInput, Z as THEMES, _ as TemplateBlock, $ as TemplateContext, a0 as TemplateFunction, a1 as TemplateRegistry, a2 as TextLayer, a3 as TextStyle, a4 as Theme, a5 as ThemeColorPalette, a6 as ThemeColorScheme, a7 as ThemeStyle, a8 as ThemeTypography, a9 as TitleBlockInput, aa as TitleCaptionConfig, ab as Transition, ac as TransitionType, ad as TwoColumnInput, ae as VIEWPORT_PRESETS, af as VideoLayer, ag as VideoPullQuoteInput, ah as VideoWithCaptionInput, ai as ViewportConfig, aj as ViewportOrientation, ak as ViewportPreset, al as calculateDuration, am as calculateFontScale, an as createTemplateContext, ao as createTheme, ap as getAspectRatioString, aq as getAvailableThemes, ar as getBlockAtTime, as as getCaptionAtTime, at as getLayoutHints, au as getSafeTextBounds, av as getSegmentAtTime, aw as getThemeSummaries, ax as getTwoColumnPositions, ay as getViewport, az as getViewportOrientation, aA as isPersistentLayerTemplate, aB as isTemplateBlock, aC as layoutScaledFontSize, aD as resolveTheme, aE as scaledFontSize, aF as validateDoc } from './themeLibrary-DySHPcgj.js';
3
- export { MediaEntry, MediaProvider } from './schemas/index.js';
4
- export { AccentLayout, AudioSegmentTiming, CoverBlockInput, DEFAULT_LAYOUT, DocStylePreset, ExpandDocBlocksOptions, MarkdownToDocOptions, RenderContext, adjustY, comparisonBar, countBlocks, coverBlock, createAccentLayers, dateEvent, definitionCard, docToMarkdown, expandCoverBlock, expandDocBlocks, expandPersistentLayers, expandTemplateBlock, factCard, flattenBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockDepth, getDefaultAnimation, getDefaultAnimationDuration, getDocStyleConfig, getLayers, getOverlayOpacity, getTemplateHint, getTransitionClass, hasTemplate, imageWithCaption, listBlock, mapBlock, markdownToDoc, photoGrid, pullQuote, quoteBlock, resolveColorScheme, scaleAnimationDuration, sectionHeader, shouldUseShadow, statHighlight, templateRegistry, themedFontSize, titleBlock, twoColumn, videoPullQuote, videoWithCaption } from './story/index.js';
5
- export { calculateBearing, decodeGeohash, encodeGeohash, geohashOverlapsBounds, geohashToHierarchicalPath, getGeohash4Neighbors, getGeohashPath, getGeohashPrefix, getNeighbors, haversineDistance } from './spatial/index.js';
6
- export { LocalForageAdapter, LocalForageAdapterOptions, LocalStorageAdapter, MemoryStorageAdapter, StorageAdapter } from './storage/index.js';
7
- export { H as HeadingTemplateAnnotation, a as HtmlComment, b as HtmlElement, c as HtmlNode, d as HtmlText, M as MarkdownBlockNode, e as MarkdownBlockquote, f as MarkdownBreak, g as MarkdownCodeBlock, h as MarkdownContainerDirective, i as MarkdownDefinitionDescription, j as MarkdownDefinitionList, k as MarkdownDefinitionTerm, l as MarkdownDocument, m as MarkdownEmphasis, n as MarkdownFootnoteDefinition, o as MarkdownFootnoteReference, p as MarkdownHeading, q as MarkdownHtmlBlock, r as MarkdownImage, s as MarkdownImageReference, t as MarkdownInlineCode, u as MarkdownInlineHtml, v as MarkdownInlineMath, w as MarkdownInlineNode, x as MarkdownLeafDirective, y as MarkdownLink, z as MarkdownLinkDefinition, A as MarkdownLinkReference, B as MarkdownList, C as MarkdownListItem, D as MarkdownMathBlock, E as MarkdownNode, F as MarkdownParagraph, G as MarkdownPoint, I as MarkdownSourcePosition, J as MarkdownStrikethrough, K as MarkdownStrong, L as MarkdownTable, N as MarkdownTableCell, O as MarkdownTableRow, P as MarkdownText, Q as MarkdownTextDirective, R as MarkdownThematicBreak, S as ParseOptions, T as StringifyOptions } from './types-DHiv_Pnm.js';
8
- export { countNodes, createDocument, extractPlainText, findNodesByType, fromMdast, getChildren, parseFrontmatter, parseHtmlToNodes, parseMarkdown, stringifyHtmlNodes, stringifyMarkdown, toMdast, walkMarkdownTree } from './markdown/index.js';
1
+ export * from './schemas/index.js';
2
+ export * from './doc/index.js';
3
+ export * from './spatial/index.js';
4
+ export * from './storage/index.js';
5
+ export * from './markdown/index.js';
6
+ export * from './timing/index.js';
7
+ export * from './random/index.js';
8
+ export * from './generate/index.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,217 +1,9 @@
1
- import {
2
- calculateDuration,
3
- createTheme,
4
- getBlockAtTime,
5
- getCaptionAtTime,
6
- getSegmentAtTime,
7
- validateDoc
8
- } from "./chunk-S4F2RY37.js";
9
- import {
10
- calculateBearing,
11
- decodeGeohash,
12
- encodeGeohash,
13
- geohashOverlapsBounds,
14
- geohashToHierarchicalPath,
15
- getGeohash4Neighbors,
16
- getGeohashPath,
17
- getGeohashPrefix,
18
- getNeighbors,
19
- haversineDistance
20
- } from "./chunk-7UDSRZKG.js";
21
- import {
22
- DEFAULT_LAYOUT,
23
- adjustY,
24
- comparisonBar,
25
- countBlocks,
26
- coverBlock,
27
- createAccentLayers,
28
- dateEvent,
29
- definitionCard,
30
- docToMarkdown,
31
- expandCoverBlock,
32
- expandDocBlocks,
33
- expandPersistentLayers,
34
- expandTemplateBlock,
35
- factCard,
36
- flattenBlocks,
37
- fullBleedQuote,
38
- getAccentLayout,
39
- getAnimationProgress,
40
- getAnimationStyle,
41
- getAvailableTemplates,
42
- getBlockDepth,
43
- getDefaultAnimation,
44
- getDefaultAnimationDuration,
45
- getDocStyleConfig,
46
- getLayers,
47
- getOverlayOpacity,
48
- getTemplateHint,
49
- getTransitionClass,
50
- hasTemplate,
51
- imageWithCaption,
52
- listBlock,
53
- mapBlock,
54
- markdownToDoc,
55
- photoGrid,
56
- pullQuote,
57
- quoteBlock,
58
- resolveColorScheme,
59
- scaleAnimationDuration,
60
- sectionHeader,
61
- shouldUseShadow,
62
- statHighlight,
63
- templateRegistry,
64
- themedFontSize,
65
- titleBlock,
66
- twoColumn,
67
- videoPullQuote,
68
- videoWithCaption
69
- } from "./chunk-PJ7AODIM.js";
70
- import {
71
- DEFAULT_DOC_FONT,
72
- DEFAULT_THEME,
73
- DEFAULT_THEME_ID,
74
- DEFAULT_TITLE_FONT,
75
- THEMES,
76
- VIEWPORT_PRESETS,
77
- calculateFontScale,
78
- createTemplateContext,
79
- getAspectRatioString,
80
- getAvailableThemes,
81
- getLayoutHints,
82
- getSafeTextBounds,
83
- getThemeSummaries,
84
- getTwoColumnPositions,
85
- getViewport,
86
- getViewportOrientation,
87
- isPersistentLayerTemplate,
88
- isTemplateBlock,
89
- resolveTheme,
90
- scaledFontSize,
91
- scaledFontSize2
92
- } from "./chunk-O5HCIUAD.js";
93
- import {
94
- LocalForageAdapter,
95
- LocalStorageAdapter,
96
- MemoryStorageAdapter
97
- } from "./chunk-VJN7UB2Z.js";
98
- import {
99
- fromMdast,
100
- parseHtmlToNodes,
101
- parseMarkdown,
102
- stringifyHtmlNodes,
103
- stringifyMarkdown,
104
- toMdast
105
- } from "./chunk-URU6QMLY.js";
106
- import {
107
- countNodes,
108
- createDocument,
109
- extractPlainText,
110
- findNodesByType,
111
- getChildren,
112
- parseFrontmatter,
113
- walkMarkdownTree
114
- } from "./chunk-QWVRN6I4.js";
115
- export {
116
- DEFAULT_DOC_FONT,
117
- DEFAULT_LAYOUT,
118
- DEFAULT_THEME,
119
- DEFAULT_THEME_ID,
120
- DEFAULT_TITLE_FONT,
121
- LocalForageAdapter,
122
- LocalStorageAdapter,
123
- MemoryStorageAdapter,
124
- THEMES,
125
- VIEWPORT_PRESETS,
126
- adjustY,
127
- calculateBearing,
128
- calculateDuration,
129
- calculateFontScale,
130
- comparisonBar,
131
- countBlocks,
132
- countNodes,
133
- coverBlock,
134
- createAccentLayers,
135
- createDocument,
136
- createTemplateContext,
137
- createTheme,
138
- dateEvent,
139
- decodeGeohash,
140
- definitionCard,
141
- docToMarkdown,
142
- encodeGeohash,
143
- expandCoverBlock,
144
- expandDocBlocks,
145
- expandPersistentLayers,
146
- expandTemplateBlock,
147
- extractPlainText,
148
- factCard,
149
- findNodesByType,
150
- flattenBlocks,
151
- fromMdast,
152
- fullBleedQuote,
153
- geohashOverlapsBounds,
154
- geohashToHierarchicalPath,
155
- getAccentLayout,
156
- getAnimationProgress,
157
- getAnimationStyle,
158
- getAspectRatioString,
159
- getAvailableTemplates,
160
- getAvailableThemes,
161
- getBlockAtTime,
162
- getBlockDepth,
163
- getCaptionAtTime,
164
- getChildren,
165
- getDefaultAnimation,
166
- getDefaultAnimationDuration,
167
- getDocStyleConfig,
168
- getGeohash4Neighbors,
169
- getGeohashPath,
170
- getGeohashPrefix,
171
- getLayers,
172
- getLayoutHints,
173
- getNeighbors,
174
- getOverlayOpacity,
175
- getSafeTextBounds,
176
- getSegmentAtTime,
177
- getTemplateHint,
178
- getThemeSummaries,
179
- getTransitionClass,
180
- getTwoColumnPositions,
181
- getViewport,
182
- getViewportOrientation,
183
- hasTemplate,
184
- haversineDistance,
185
- imageWithCaption,
186
- isPersistentLayerTemplate,
187
- isTemplateBlock,
188
- scaledFontSize as layoutScaledFontSize,
189
- listBlock,
190
- mapBlock,
191
- markdownToDoc,
192
- parseFrontmatter,
193
- parseHtmlToNodes,
194
- parseMarkdown,
195
- photoGrid,
196
- pullQuote,
197
- quoteBlock,
198
- resolveColorScheme,
199
- resolveTheme,
200
- scaleAnimationDuration,
201
- scaledFontSize2 as scaledFontSize,
202
- sectionHeader,
203
- shouldUseShadow,
204
- statHighlight,
205
- stringifyHtmlNodes,
206
- stringifyMarkdown,
207
- templateRegistry,
208
- themedFontSize,
209
- titleBlock,
210
- toMdast,
211
- twoColumn,
212
- validateDoc,
213
- videoPullQuote,
214
- videoWithCaption,
215
- walkMarkdownTree
216
- };
1
+ export * from './schemas/index.js';
2
+ export * from './doc/index.js';
3
+ export * from './spatial/index.js';
4
+ export * from './storage/index.js';
5
+ export * from './markdown/index.js';
6
+ export * from './timing/index.js';
7
+ export * from './random/index.js';
8
+ export * from './generate/index.js';
217
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}