@bendyline/squisq 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/dist/{Doc-BeSeH2iX.d.ts → Doc-BsMkmzH8.d.ts} +838 -268
  2. package/dist/{ImageEditDoc-BTIvw0oq.d.ts → ImageEditDoc-DvoeHMP9.d.ts} +11 -4
  3. package/dist/{chunk-ZTX4PFFT.js → chunk-2OIBZYKP.js} +75 -2
  4. package/dist/chunk-2OIBZYKP.js.map +1 -0
  5. package/dist/chunk-2UQOHYE2.js +45 -0
  6. package/dist/chunk-2UQOHYE2.js.map +1 -0
  7. package/dist/{chunk-B4EEON3N.js → chunk-4AKUQPEE.js} +536 -103
  8. package/dist/chunk-4AKUQPEE.js.map +1 -0
  9. package/dist/chunk-4ZFRZBU2.js +6582 -0
  10. package/dist/chunk-4ZFRZBU2.js.map +1 -0
  11. package/dist/{chunk-57CVQCFX.js → chunk-7MQGNR76.js} +79 -3
  12. package/dist/chunk-7MQGNR76.js.map +1 -0
  13. package/dist/{chunk-5WFRKURX.js → chunk-DLXZMS5K.js} +4 -2
  14. package/dist/chunk-DLXZMS5K.js.map +1 -0
  15. package/dist/{chunk-MYIH7FWD.js → chunk-FBKP5CAO.js} +1 -1
  16. package/dist/chunk-FBKP5CAO.js.map +1 -0
  17. package/dist/chunk-KZNXZ5SM.js +333 -0
  18. package/dist/chunk-KZNXZ5SM.js.map +1 -0
  19. package/dist/{chunk-WMOI7FN3.js → chunk-LRCV7N7F.js} +12 -2
  20. package/dist/{chunk-WMOI7FN3.js.map → chunk-LRCV7N7F.js.map} +1 -1
  21. package/dist/{chunk-3K5OG6KI.js → chunk-OH43RPTP.js} +403 -187
  22. package/dist/chunk-OH43RPTP.js.map +1 -0
  23. package/dist/{chunk-H3AXU4MJ.js → chunk-OKJOQXK4.js} +149 -2
  24. package/dist/chunk-OKJOQXK4.js.map +1 -0
  25. package/dist/chunk-PGGGKYWG.js +1 -0
  26. package/dist/chunk-PGGGKYWG.js.map +1 -0
  27. package/dist/{chunk-7UDSRZKG.js → chunk-Q3ROPT5H.js} +35 -14
  28. package/dist/chunk-Q3ROPT5H.js.map +1 -0
  29. package/dist/chunk-QE7TWGVT.js +178 -0
  30. package/dist/chunk-QE7TWGVT.js.map +1 -0
  31. package/dist/chunk-RUDYOTA6.js +345 -0
  32. package/dist/chunk-RUDYOTA6.js.map +1 -0
  33. package/dist/chunk-TVSGLUID.js +596 -0
  34. package/dist/chunk-TVSGLUID.js.map +1 -0
  35. package/dist/chunk-ZLQKNOZQ.js +1 -0
  36. package/dist/chunk-ZLQKNOZQ.js.map +1 -0
  37. package/dist/doc/index.d.ts +5 -10
  38. package/dist/doc/index.js +263 -7
  39. package/dist/doc/index.js.map +1 -1
  40. package/dist/generate/index.d.ts +106 -7
  41. package/dist/generate/index.js +16 -3
  42. package/dist/generate/index.js.map +1 -1
  43. package/dist/icons/index.d.ts +62 -10
  44. package/dist/icons/index.js +29 -9
  45. package/dist/icons/index.js.map +1 -1
  46. package/dist/icons/inlineIconMarker.d.ts +1 -0
  47. package/dist/icons/inlineIconMarker.js +15 -0
  48. package/dist/icons/inlineIconMarker.js.map +1 -0
  49. package/dist/imageEdit/index.d.ts +219 -11
  50. package/dist/imageEdit/index.js +56 -21
  51. package/dist/imageEdit/index.js.map +1 -1
  52. package/dist/index.d.ts +24 -13
  53. package/dist/index.js +680 -12
  54. package/dist/index.js.map +1 -1
  55. package/dist/inlineIconMarker-CiE8Hlvz.d.ts +59 -0
  56. package/dist/jsonForm/index.d.ts +189 -12
  57. package/dist/jsonForm/index.js +26 -11
  58. package/dist/jsonForm/index.js.map +1 -1
  59. package/dist/markdown/index.d.ts +474 -19
  60. package/dist/markdown/index.js +72 -33
  61. package/dist/markdown/index.js.map +1 -1
  62. package/dist/random/index.d.ts +51 -2
  63. package/dist/random/index.js +9 -1
  64. package/dist/random/index.js.map +1 -1
  65. package/dist/recommend/index.d.ts +39 -13
  66. package/dist/recommend/index.js +10 -14
  67. package/dist/recommend/index.js.map +1 -1
  68. package/dist/schemas/index.d.ts +208 -15
  69. package/dist/schemas/index.js +150 -11
  70. package/dist/schemas/index.js.map +1 -1
  71. package/dist/spatial/index.d.ts +116 -3
  72. package/dist/spatial/index.js +24 -2
  73. package/dist/spatial/index.js.map +1 -1
  74. package/dist/storage/index.d.ts +159 -10
  75. package/dist/storage/index.js +20 -6
  76. package/dist/storage/index.js.map +1 -1
  77. package/dist/story/index.d.ts +906 -40
  78. package/dist/story/index.js +124 -6
  79. package/dist/{themeLibrary-BHjJ0Qx6.d.ts → themeLibrary-DQQKuRMx.d.ts} +1 -1
  80. package/dist/timing/index.d.ts +109 -4
  81. package/dist/timing/index.js +23 -2
  82. package/dist/timing/index.js.map +1 -1
  83. package/dist/transform/index.d.ts +213 -6
  84. package/dist/transform/index.js +26 -3
  85. package/dist/transform/index.js.map +1 -1
  86. package/dist/{types-BdZkdJ3z.d.ts → types-DlAZ7MW4.d.ts} +115 -1
  87. package/dist/versions/index.d.ts +123 -24
  88. package/dist/versions/index.js +34 -27
  89. package/dist/versions/index.js.map +1 -1
  90. package/package.json +6 -1
  91. package/src/__tests__/animationUtils.test.ts +40 -0
  92. package/src/__tests__/annotationCoercion.test.ts +243 -0
  93. package/src/__tests__/applyRenderStyle.test.ts +146 -0
  94. package/src/__tests__/atmosphereLayers.test.ts +108 -0
  95. package/src/__tests__/attrTokens.test.ts +162 -0
  96. package/src/__tests__/customTemplateSample.test.ts +83 -0
  97. package/src/__tests__/customTemplatesFrontmatter.test.ts +205 -0
  98. package/src/__tests__/customThemesFrontmatter.test.ts +118 -0
  99. package/src/__tests__/diagramBlock.test.ts +122 -0
  100. package/src/__tests__/diagramLayout.test.ts +134 -0
  101. package/src/__tests__/drawing.test.ts +109 -0
  102. package/src/__tests__/drawingBlock.test.ts +124 -0
  103. package/src/__tests__/drawingLayout.test.ts +171 -0
  104. package/src/__tests__/geohash.test.ts +6 -5
  105. package/src/__tests__/getLayers.test.ts +6 -2
  106. package/src/__tests__/getLayersFallback.test.ts +103 -0
  107. package/src/__tests__/imageEditExportSvg.test.ts +70 -0
  108. package/src/__tests__/imageEditVersions.test.ts +72 -0
  109. package/src/__tests__/inlineIconMarker.test.ts +36 -0
  110. package/src/__tests__/layoutBlock.test.ts +83 -0
  111. package/src/__tests__/layoutLayout.test.ts +169 -0
  112. package/src/__tests__/markdown.test.ts +23 -0
  113. package/src/__tests__/markdownSanitize.test.ts +64 -0
  114. package/src/__tests__/markdownToDoc.test.ts +223 -2
  115. package/src/__tests__/mediaAnnotations.test.ts +64 -0
  116. package/src/__tests__/mediaSchedule.test.ts +118 -0
  117. package/src/__tests__/pandocAttrParse.test.ts +187 -0
  118. package/src/__tests__/resolveDocTheme.test.ts +55 -0
  119. package/src/__tests__/rootExports.test.ts +43 -0
  120. package/src/__tests__/shapeGeometry.test.ts +89 -0
  121. package/src/__tests__/shapeVocabulary.test.ts +133 -0
  122. package/src/__tests__/structuredData.test.ts +179 -0
  123. package/src/__tests__/templateAnnotationParse.test.ts +108 -0
  124. package/src/__tests__/templateMetadata.test.ts +21 -0
  125. package/src/__tests__/templates.test.ts +145 -4
  126. package/src/__tests__/themeCompile.test.ts +42 -0
  127. package/src/__tests__/themeValidator.test.ts +6 -0
  128. package/src/__tests__/transformV2.test.ts +137 -0
  129. package/src/__tests__/transitionNormalize.test.ts +61 -0
  130. package/src/__tests__/validateDoc.test.ts +100 -0
  131. package/src/doc/customTemplatesFrontmatter.ts +308 -0
  132. package/src/doc/customThemesFrontmatter.ts +90 -0
  133. package/src/doc/docToMarkdown.ts +73 -4
  134. package/src/doc/getLayers.ts +40 -17
  135. package/src/doc/index.ts +35 -1
  136. package/src/doc/markdownToDoc.ts +333 -12
  137. package/src/doc/mediaAnnotations.ts +118 -0
  138. package/src/doc/resolveDocTheme.ts +55 -0
  139. package/src/doc/structuredData.ts +230 -0
  140. package/src/doc/templateInputs.ts +240 -0
  141. package/src/doc/templates/__tests__/customTemplate.test.ts +151 -0
  142. package/src/doc/templates/__tests__/customTemplateRegistry.test.ts +110 -0
  143. package/src/doc/templates/accentImage.ts +30 -6
  144. package/src/doc/templates/captionUtils.ts +23 -0
  145. package/src/doc/templates/comparisonBar.ts +26 -18
  146. package/src/doc/templates/coverBlock.ts +7 -4
  147. package/src/doc/templates/customTemplate.ts +45 -0
  148. package/src/doc/templates/dataTable.ts +37 -19
  149. package/src/doc/templates/dateEvent.ts +41 -20
  150. package/src/doc/templates/definitionCard.ts +26 -18
  151. package/src/doc/templates/diagramBlock.ts +204 -0
  152. package/src/doc/templates/diagramLayout.ts +159 -0
  153. package/src/doc/templates/drawingBlock.ts +325 -0
  154. package/src/doc/templates/drawingLayout.ts +539 -0
  155. package/src/doc/templates/factCard.ts +51 -25
  156. package/src/doc/templates/fallbackBlock.ts +123 -0
  157. package/src/doc/templates/featureBlock.ts +20 -13
  158. package/src/doc/templates/fullBleedQuote.ts +18 -8
  159. package/src/doc/templates/imageWithCaption.ts +22 -9
  160. package/src/doc/templates/index.ts +215 -46
  161. package/src/doc/templates/layoutBlock.ts +43 -0
  162. package/src/doc/templates/layoutLayout.ts +243 -0
  163. package/src/doc/templates/listBlock.ts +56 -30
  164. package/src/doc/templates/mapBlock.ts +15 -12
  165. package/src/doc/templates/metadata.ts +120 -0
  166. package/src/doc/templates/persistentLayers.ts +129 -11
  167. package/src/doc/templates/photoGrid.ts +23 -12
  168. package/src/doc/templates/pullQuote.ts +30 -12
  169. package/src/doc/templates/quoteBlock.ts +54 -29
  170. package/src/doc/templates/sectionHeader.ts +25 -11
  171. package/src/doc/templates/statHighlight.ts +39 -22
  172. package/src/doc/templates/titleBlock.ts +59 -21
  173. package/src/doc/templates/tokens/__tests__/resolveTokens.test.ts +221 -0
  174. package/src/doc/templates/tokens/resolveTokens.ts +0 -0
  175. package/src/doc/templates/twoColumn.ts +48 -30
  176. package/src/doc/templates/videoPullQuote.ts +22 -12
  177. package/src/doc/templates/videoWithCaption.ts +13 -8
  178. package/src/doc/utils/animationUtils.ts +267 -3
  179. package/src/doc/utils/applyRenderStyle.ts +113 -0
  180. package/src/doc/utils/imageTreatment.ts +70 -0
  181. package/src/doc/utils/shapeGeometry.ts +464 -0
  182. package/src/doc/utils/themeUtils.ts +75 -1
  183. package/src/doc/validate.ts +476 -0
  184. package/src/generate/slideshowGenerator.ts +7 -0
  185. package/src/icons/index.ts +8 -0
  186. package/src/icons/inlineIconMarker.ts +73 -0
  187. package/src/imageEdit/export.ts +85 -2
  188. package/src/imageEdit/index.ts +1 -0
  189. package/src/imageEdit/persistence.ts +51 -0
  190. package/src/index.ts +2 -0
  191. package/src/markdown/annotationCoercion.ts +295 -0
  192. package/src/markdown/attrTokens.ts +222 -0
  193. package/src/markdown/convert.ts +229 -26
  194. package/src/markdown/index.ts +36 -0
  195. package/src/markdown/sanitize.ts +298 -0
  196. package/src/markdown/stringify.ts +84 -3
  197. package/src/markdown/types.ts +66 -0
  198. package/src/markdown/utils.ts +49 -1
  199. package/src/recommend/templates.ts +24 -0
  200. package/src/schemas/BlockTemplates.ts +133 -4
  201. package/src/schemas/CustomTemplates.ts +74 -0
  202. package/src/schemas/Doc.ts +353 -29
  203. package/src/schemas/ImageEditDoc.ts +11 -4
  204. package/src/schemas/Media.ts +169 -0
  205. package/src/schemas/Theme.ts +23 -1
  206. package/src/schemas/Transitions.ts +224 -0
  207. package/src/schemas/colorUtils.ts +33 -0
  208. package/src/schemas/fontStacks.ts +5 -2
  209. package/src/schemas/index.ts +3 -0
  210. package/src/schemas/themeCompile.ts +23 -4
  211. package/src/schemas/themeValidator.ts +49 -11
  212. package/src/schemas/themes/cinematic.json +69 -12
  213. package/src/schemas/themes/documentary.json +58 -11
  214. package/src/schemas/themes/gezellig.json +60 -11
  215. package/src/schemas/themes/magazine.json +54 -9
  216. package/src/schemas/themes/morning-light.json +52 -9
  217. package/src/schemas/themes/standard-dark.json +48 -13
  218. package/src/schemas/themes/standard.json +44 -12
  219. package/src/schemas/themes/tech-dark.json +65 -12
  220. package/src/spatial/Geohash.ts +52 -21
  221. package/src/transform/applyTransform.ts +43 -4
  222. package/src/transform/index.ts +1 -0
  223. package/src/transform/registry.ts +44 -13
  224. package/src/transform/styles/dataDriven.ts +2 -1
  225. package/src/transform/styles/documentary.ts +2 -1
  226. package/src/transform/styles/magazine.ts +3 -1
  227. package/src/transform/styles/minimal.ts +2 -1
  228. package/src/transform/styles/narrative.ts +3 -1
  229. package/src/transform/templateSelector.ts +87 -11
  230. package/src/transform/types.ts +35 -2
  231. package/dist/__tests__/animationUtils.test.d.ts +0 -2
  232. package/dist/__tests__/animationUtils.test.d.ts.map +0 -1
  233. package/dist/__tests__/animationUtils.test.js +0 -60
  234. package/dist/__tests__/animationUtils.test.js.map +0 -1
  235. package/dist/__tests__/colorUtils.test.d.ts +0 -2
  236. package/dist/__tests__/colorUtils.test.d.ts.map +0 -1
  237. package/dist/__tests__/colorUtils.test.js +0 -94
  238. package/dist/__tests__/colorUtils.test.js.map +0 -1
  239. package/dist/__tests__/contentContainer.test.d.ts +0 -2
  240. package/dist/__tests__/contentContainer.test.d.ts.map +0 -1
  241. package/dist/__tests__/contentContainer.test.js +0 -234
  242. package/dist/__tests__/contentContainer.test.js.map +0 -1
  243. package/dist/__tests__/contentExtractor.test.d.ts +0 -2
  244. package/dist/__tests__/contentExtractor.test.d.ts.map +0 -1
  245. package/dist/__tests__/contentExtractor.test.js +0 -151
  246. package/dist/__tests__/contentExtractor.test.js.map +0 -1
  247. package/dist/__tests__/coverBlock.test.d.ts +0 -2
  248. package/dist/__tests__/coverBlock.test.d.ts.map +0 -1
  249. package/dist/__tests__/coverBlock.test.js +0 -197
  250. package/dist/__tests__/coverBlock.test.js.map +0 -1
  251. package/dist/__tests__/dataTable.test.d.ts +0 -2
  252. package/dist/__tests__/dataTable.test.d.ts.map +0 -1
  253. package/dist/__tests__/dataTable.test.js +0 -110
  254. package/dist/__tests__/dataTable.test.js.map +0 -1
  255. package/dist/__tests__/geohash.test.d.ts +0 -2
  256. package/dist/__tests__/geohash.test.d.ts.map +0 -1
  257. package/dist/__tests__/geohash.test.js +0 -87
  258. package/dist/__tests__/geohash.test.js.map +0 -1
  259. package/dist/__tests__/getLayers.test.d.ts +0 -2
  260. package/dist/__tests__/getLayers.test.d.ts.map +0 -1
  261. package/dist/__tests__/getLayers.test.js +0 -191
  262. package/dist/__tests__/getLayers.test.js.map +0 -1
  263. package/dist/__tests__/haversine.test.d.ts +0 -2
  264. package/dist/__tests__/haversine.test.d.ts.map +0 -1
  265. package/dist/__tests__/haversine.test.js +0 -56
  266. package/dist/__tests__/haversine.test.js.map +0 -1
  267. package/dist/__tests__/iconResolve.test.d.ts +0 -2
  268. package/dist/__tests__/iconResolve.test.d.ts.map +0 -1
  269. package/dist/__tests__/iconResolve.test.js +0 -99
  270. package/dist/__tests__/iconResolve.test.js.map +0 -1
  271. package/dist/__tests__/imageEditState.test.d.ts +0 -2
  272. package/dist/__tests__/imageEditState.test.d.ts.map +0 -1
  273. package/dist/__tests__/imageEditState.test.js +0 -61
  274. package/dist/__tests__/imageEditState.test.js.map +0 -1
  275. package/dist/__tests__/imageEditVersions.test.d.ts +0 -2
  276. package/dist/__tests__/imageEditVersions.test.d.ts.map +0 -1
  277. package/dist/__tests__/imageEditVersions.test.js +0 -141
  278. package/dist/__tests__/imageEditVersions.test.js.map +0 -1
  279. package/dist/__tests__/inferDocumentTitle.test.d.ts +0 -2
  280. package/dist/__tests__/inferDocumentTitle.test.d.ts.map +0 -1
  281. package/dist/__tests__/inferDocumentTitle.test.js +0 -42
  282. package/dist/__tests__/inferDocumentTitle.test.js.map +0 -1
  283. package/dist/__tests__/jsonForm.chooseControl.test.d.ts +0 -2
  284. package/dist/__tests__/jsonForm.chooseControl.test.d.ts.map +0 -1
  285. package/dist/__tests__/jsonForm.chooseControl.test.js +0 -74
  286. package/dist/__tests__/jsonForm.chooseControl.test.js.map +0 -1
  287. package/dist/__tests__/jsonForm.evaluateWhen.test.d.ts +0 -2
  288. package/dist/__tests__/jsonForm.evaluateWhen.test.d.ts.map +0 -1
  289. package/dist/__tests__/jsonForm.evaluateWhen.test.js +0 -51
  290. package/dist/__tests__/jsonForm.evaluateWhen.test.js.map +0 -1
  291. package/dist/__tests__/jsonForm.inferSchema.test.d.ts +0 -2
  292. package/dist/__tests__/jsonForm.inferSchema.test.d.ts.map +0 -1
  293. package/dist/__tests__/jsonForm.inferSchema.test.js +0 -23
  294. package/dist/__tests__/jsonForm.inferSchema.test.js.map +0 -1
  295. package/dist/__tests__/jsonForm.pointer.test.d.ts +0 -2
  296. package/dist/__tests__/jsonForm.pointer.test.d.ts.map +0 -1
  297. package/dist/__tests__/jsonForm.pointer.test.js +0 -94
  298. package/dist/__tests__/jsonForm.pointer.test.js.map +0 -1
  299. package/dist/__tests__/localForageAdapter.test.d.ts +0 -8
  300. package/dist/__tests__/localForageAdapter.test.d.ts.map +0 -1
  301. package/dist/__tests__/localForageAdapter.test.js +0 -130
  302. package/dist/__tests__/localForageAdapter.test.js.map +0 -1
  303. package/dist/__tests__/markdown.test.d.ts +0 -2
  304. package/dist/__tests__/markdown.test.d.ts.map +0 -1
  305. package/dist/__tests__/markdown.test.js +0 -715
  306. package/dist/__tests__/markdown.test.js.map +0 -1
  307. package/dist/__tests__/markdownIcons.test.d.ts +0 -2
  308. package/dist/__tests__/markdownIcons.test.d.ts.map +0 -1
  309. package/dist/__tests__/markdownIcons.test.js +0 -93
  310. package/dist/__tests__/markdownIcons.test.js.map +0 -1
  311. package/dist/__tests__/markdownToDoc.test.d.ts +0 -2
  312. package/dist/__tests__/markdownToDoc.test.d.ts.map +0 -1
  313. package/dist/__tests__/markdownToDoc.test.js +0 -458
  314. package/dist/__tests__/markdownToDoc.test.js.map +0 -1
  315. package/dist/__tests__/recommendTemplates.test.d.ts +0 -2
  316. package/dist/__tests__/recommendTemplates.test.d.ts.map +0 -1
  317. package/dist/__tests__/recommendTemplates.test.js +0 -158
  318. package/dist/__tests__/recommendTemplates.test.js.map +0 -1
  319. package/dist/__tests__/scopedContentContainer.test.d.ts +0 -2
  320. package/dist/__tests__/scopedContentContainer.test.d.ts.map +0 -1
  321. package/dist/__tests__/scopedContentContainer.test.js +0 -74
  322. package/dist/__tests__/scopedContentContainer.test.js.map +0 -1
  323. package/dist/__tests__/seededRandom.test.d.ts +0 -2
  324. package/dist/__tests__/seededRandom.test.d.ts.map +0 -1
  325. package/dist/__tests__/seededRandom.test.js +0 -125
  326. package/dist/__tests__/seededRandom.test.js.map +0 -1
  327. package/dist/__tests__/slideshowGenerator.test.d.ts +0 -2
  328. package/dist/__tests__/slideshowGenerator.test.d.ts.map +0 -1
  329. package/dist/__tests__/slideshowGenerator.test.js +0 -114
  330. package/dist/__tests__/slideshowGenerator.test.js.map +0 -1
  331. package/dist/__tests__/storage.test.d.ts +0 -2
  332. package/dist/__tests__/storage.test.d.ts.map +0 -1
  333. package/dist/__tests__/storage.test.js +0 -51
  334. package/dist/__tests__/storage.test.js.map +0 -1
  335. package/dist/__tests__/surface.test.d.ts +0 -2
  336. package/dist/__tests__/surface.test.d.ts.map +0 -1
  337. package/dist/__tests__/surface.test.js +0 -57
  338. package/dist/__tests__/surface.test.js.map +0 -1
  339. package/dist/__tests__/templateAnnotationParse.test.d.ts +0 -2
  340. package/dist/__tests__/templateAnnotationParse.test.d.ts.map +0 -1
  341. package/dist/__tests__/templateAnnotationParse.test.js +0 -42
  342. package/dist/__tests__/templateAnnotationParse.test.js.map +0 -1
  343. package/dist/__tests__/templates.test.d.ts +0 -2
  344. package/dist/__tests__/templates.test.d.ts.map +0 -1
  345. package/dist/__tests__/templates.test.js +0 -298
  346. package/dist/__tests__/templates.test.js.map +0 -1
  347. package/dist/__tests__/themeCompile.test.d.ts +0 -2
  348. package/dist/__tests__/themeCompile.test.d.ts.map +0 -1
  349. package/dist/__tests__/themeCompile.test.js +0 -134
  350. package/dist/__tests__/themeCompile.test.js.map +0 -1
  351. package/dist/__tests__/themeValidator.test.d.ts +0 -2
  352. package/dist/__tests__/themeValidator.test.d.ts.map +0 -1
  353. package/dist/__tests__/themeValidator.test.js +0 -107
  354. package/dist/__tests__/themeValidator.test.js.map +0 -1
  355. package/dist/__tests__/timing.test.d.ts +0 -2
  356. package/dist/__tests__/timing.test.d.ts.map +0 -1
  357. package/dist/__tests__/timing.test.js +0 -131
  358. package/dist/__tests__/timing.test.js.map +0 -1
  359. package/dist/__tests__/versions.test.d.ts +0 -2
  360. package/dist/__tests__/versions.test.d.ts.map +0 -1
  361. package/dist/__tests__/versions.test.js +0 -339
  362. package/dist/__tests__/versions.test.js.map +0 -1
  363. package/dist/chunk-3K5OG6KI.js.map +0 -1
  364. package/dist/chunk-57CVQCFX.js.map +0 -1
  365. package/dist/chunk-5WFRKURX.js.map +0 -1
  366. package/dist/chunk-7UDSRZKG.js.map +0 -1
  367. package/dist/chunk-B4EEON3N.js.map +0 -1
  368. package/dist/chunk-H3AXU4MJ.js.map +0 -1
  369. package/dist/chunk-KSWJR66U.js +0 -3706
  370. package/dist/chunk-KSWJR66U.js.map +0 -1
  371. package/dist/chunk-MYIH7FWD.js.map +0 -1
  372. package/dist/chunk-ZTX4PFFT.js.map +0 -1
  373. package/dist/doc/audioMapping.d.ts +0 -36
  374. package/dist/doc/audioMapping.d.ts.map +0 -1
  375. package/dist/doc/audioMapping.js +0 -350
  376. package/dist/doc/audioMapping.js.map +0 -1
  377. package/dist/doc/docToMarkdown.d.ts +0 -41
  378. package/dist/doc/docToMarkdown.d.ts.map +0 -1
  379. package/dist/doc/docToMarkdown.js +0 -88
  380. package/dist/doc/docToMarkdown.js.map +0 -1
  381. package/dist/doc/getLayers.d.ts +0 -65
  382. package/dist/doc/getLayers.d.ts.map +0 -1
  383. package/dist/doc/getLayers.js +0 -114
  384. package/dist/doc/getLayers.js.map +0 -1
  385. package/dist/doc/index.d.ts.map +0 -1
  386. package/dist/doc/markdownToDoc.d.ts +0 -75
  387. package/dist/doc/markdownToDoc.d.ts.map +0 -1
  388. package/dist/doc/markdownToDoc.js +0 -432
  389. package/dist/doc/markdownToDoc.js.map +0 -1
  390. package/dist/doc/templates/accentImage.d.ts +0 -59
  391. package/dist/doc/templates/accentImage.d.ts.map +0 -1
  392. package/dist/doc/templates/accentImage.js +0 -275
  393. package/dist/doc/templates/accentImage.js.map +0 -1
  394. package/dist/doc/templates/captionUtils.d.ts +0 -20
  395. package/dist/doc/templates/captionUtils.d.ts.map +0 -1
  396. package/dist/doc/templates/captionUtils.js +0 -29
  397. package/dist/doc/templates/captionUtils.js.map +0 -1
  398. package/dist/doc/templates/comparisonBar.d.ts +0 -13
  399. package/dist/doc/templates/comparisonBar.d.ts.map +0 -1
  400. package/dist/doc/templates/comparisonBar.js +0 -145
  401. package/dist/doc/templates/comparisonBar.js.map +0 -1
  402. package/dist/doc/templates/coverBlock.d.ts +0 -51
  403. package/dist/doc/templates/coverBlock.d.ts.map +0 -1
  404. package/dist/doc/templates/coverBlock.js +0 -153
  405. package/dist/doc/templates/coverBlock.js.map +0 -1
  406. package/dist/doc/templates/dataTable.d.ts +0 -14
  407. package/dist/doc/templates/dataTable.d.ts.map +0 -1
  408. package/dist/doc/templates/dataTable.js +0 -73
  409. package/dist/doc/templates/dataTable.js.map +0 -1
  410. package/dist/doc/templates/dateEvent.d.ts +0 -15
  411. package/dist/doc/templates/dateEvent.d.ts.map +0 -1
  412. package/dist/doc/templates/dateEvent.js +0 -114
  413. package/dist/doc/templates/dateEvent.js.map +0 -1
  414. package/dist/doc/templates/definitionCard.d.ts +0 -13
  415. package/dist/doc/templates/definitionCard.d.ts.map +0 -1
  416. package/dist/doc/templates/definitionCard.js +0 -117
  417. package/dist/doc/templates/definitionCard.js.map +0 -1
  418. package/dist/doc/templates/factCard.d.ts +0 -15
  419. package/dist/doc/templates/factCard.d.ts.map +0 -1
  420. package/dist/doc/templates/factCard.js +0 -104
  421. package/dist/doc/templates/factCard.js.map +0 -1
  422. package/dist/doc/templates/featureBlock.d.ts +0 -18
  423. package/dist/doc/templates/featureBlock.d.ts.map +0 -1
  424. package/dist/doc/templates/featureBlock.js +0 -180
  425. package/dist/doc/templates/featureBlock.js.map +0 -1
  426. package/dist/doc/templates/fullBleedQuote.d.ts +0 -25
  427. package/dist/doc/templates/fullBleedQuote.d.ts.map +0 -1
  428. package/dist/doc/templates/fullBleedQuote.js +0 -67
  429. package/dist/doc/templates/fullBleedQuote.js.map +0 -1
  430. package/dist/doc/templates/imageWithCaption.d.ts +0 -13
  431. package/dist/doc/templates/imageWithCaption.d.ts.map +0 -1
  432. package/dist/doc/templates/imageWithCaption.js +0 -146
  433. package/dist/doc/templates/imageWithCaption.js.map +0 -1
  434. package/dist/doc/templates/index.d.ts +0 -129
  435. package/dist/doc/templates/index.d.ts.map +0 -1
  436. package/dist/doc/templates/index.js +0 -478
  437. package/dist/doc/templates/index.js.map +0 -1
  438. package/dist/doc/templates/listBlock.d.ts +0 -13
  439. package/dist/doc/templates/listBlock.d.ts.map +0 -1
  440. package/dist/doc/templates/listBlock.js +0 -109
  441. package/dist/doc/templates/listBlock.js.map +0 -1
  442. package/dist/doc/templates/mapBlock.d.ts +0 -17
  443. package/dist/doc/templates/mapBlock.d.ts.map +0 -1
  444. package/dist/doc/templates/mapBlock.js +0 -115
  445. package/dist/doc/templates/mapBlock.js.map +0 -1
  446. package/dist/doc/templates/persistentLayers.d.ts +0 -39
  447. package/dist/doc/templates/persistentLayers.d.ts.map +0 -1
  448. package/dist/doc/templates/persistentLayers.js +0 -447
  449. package/dist/doc/templates/persistentLayers.js.map +0 -1
  450. package/dist/doc/templates/photoGrid.d.ts +0 -20
  451. package/dist/doc/templates/photoGrid.d.ts.map +0 -1
  452. package/dist/doc/templates/photoGrid.js +0 -175
  453. package/dist/doc/templates/photoGrid.js.map +0 -1
  454. package/dist/doc/templates/pullQuote.d.ts +0 -13
  455. package/dist/doc/templates/pullQuote.d.ts.map +0 -1
  456. package/dist/doc/templates/pullQuote.js +0 -113
  457. package/dist/doc/templates/pullQuote.js.map +0 -1
  458. package/dist/doc/templates/quoteBlock.d.ts +0 -15
  459. package/dist/doc/templates/quoteBlock.d.ts.map +0 -1
  460. package/dist/doc/templates/quoteBlock.js +0 -101
  461. package/dist/doc/templates/quoteBlock.js.map +0 -1
  462. package/dist/doc/templates/sectionHeader.d.ts +0 -14
  463. package/dist/doc/templates/sectionHeader.d.ts.map +0 -1
  464. package/dist/doc/templates/sectionHeader.js +0 -97
  465. package/dist/doc/templates/sectionHeader.js.map +0 -1
  466. package/dist/doc/templates/statHighlight.d.ts +0 -27
  467. package/dist/doc/templates/statHighlight.d.ts.map +0 -1
  468. package/dist/doc/templates/statHighlight.js +0 -114
  469. package/dist/doc/templates/statHighlight.js.map +0 -1
  470. package/dist/doc/templates/titleBlock.d.ts +0 -24
  471. package/dist/doc/templates/titleBlock.d.ts.map +0 -1
  472. package/dist/doc/templates/titleBlock.js +0 -103
  473. package/dist/doc/templates/titleBlock.js.map +0 -1
  474. package/dist/doc/templates/twoColumn.d.ts +0 -15
  475. package/dist/doc/templates/twoColumn.d.ts.map +0 -1
  476. package/dist/doc/templates/twoColumn.js +0 -225
  477. package/dist/doc/templates/twoColumn.js.map +0 -1
  478. package/dist/doc/templates/videoPullQuote.d.ts +0 -20
  479. package/dist/doc/templates/videoPullQuote.d.ts.map +0 -1
  480. package/dist/doc/templates/videoPullQuote.js +0 -122
  481. package/dist/doc/templates/videoPullQuote.js.map +0 -1
  482. package/dist/doc/templates/videoWithCaption.d.ts +0 -20
  483. package/dist/doc/templates/videoWithCaption.d.ts.map +0 -1
  484. package/dist/doc/templates/videoWithCaption.js +0 -107
  485. package/dist/doc/templates/videoWithCaption.js.map +0 -1
  486. package/dist/doc/utils/animationUtils.d.ts +0 -34
  487. package/dist/doc/utils/animationUtils.d.ts.map +0 -1
  488. package/dist/doc/utils/animationUtils.js +0 -110
  489. package/dist/doc/utils/animationUtils.js.map +0 -1
  490. package/dist/doc/utils/themeUtils.d.ts +0 -64
  491. package/dist/doc/utils/themeUtils.d.ts.map +0 -1
  492. package/dist/doc/utils/themeUtils.js +0 -136
  493. package/dist/doc/utils/themeUtils.js.map +0 -1
  494. package/dist/generate/contentExtractor.d.ts +0 -112
  495. package/dist/generate/contentExtractor.d.ts.map +0 -1
  496. package/dist/generate/contentExtractor.js +0 -638
  497. package/dist/generate/contentExtractor.js.map +0 -1
  498. package/dist/generate/index.d.ts.map +0 -1
  499. package/dist/generate/slideshowGenerator.d.ts +0 -72
  500. package/dist/generate/slideshowGenerator.d.ts.map +0 -1
  501. package/dist/generate/slideshowGenerator.js +0 -159
  502. package/dist/generate/slideshowGenerator.js.map +0 -1
  503. package/dist/generate/templateMapper.d.ts +0 -23
  504. package/dist/generate/templateMapper.d.ts.map +0 -1
  505. package/dist/generate/templateMapper.js +0 -114
  506. package/dist/generate/templateMapper.js.map +0 -1
  507. package/dist/icons/iconData.d.ts +0 -26
  508. package/dist/icons/iconData.d.ts.map +0 -1
  509. package/dist/icons/iconData.js +0 -12
  510. package/dist/icons/iconData.js.map +0 -1
  511. package/dist/icons/index.d.ts.map +0 -1
  512. package/dist/icons/resolve.d.ts +0 -61
  513. package/dist/icons/resolve.d.ts.map +0 -1
  514. package/dist/icons/resolve.js +0 -130
  515. package/dist/icons/resolve.js.map +0 -1
  516. package/dist/imageEdit/ImageEditVersionManager.d.ts +0 -31
  517. package/dist/imageEdit/ImageEditVersionManager.d.ts.map +0 -1
  518. package/dist/imageEdit/ImageEditVersionManager.js +0 -39
  519. package/dist/imageEdit/ImageEditVersionManager.js.map +0 -1
  520. package/dist/imageEdit/export.d.ts +0 -33
  521. package/dist/imageEdit/export.d.ts.map +0 -1
  522. package/dist/imageEdit/export.js +0 -253
  523. package/dist/imageEdit/export.js.map +0 -1
  524. package/dist/imageEdit/index.d.ts.map +0 -1
  525. package/dist/imageEdit/persistence.d.ts +0 -15
  526. package/dist/imageEdit/persistence.d.ts.map +0 -1
  527. package/dist/imageEdit/persistence.js +0 -49
  528. package/dist/imageEdit/persistence.js.map +0 -1
  529. package/dist/imageEdit/state.d.ts +0 -42
  530. package/dist/imageEdit/state.d.ts.map +0 -1
  531. package/dist/imageEdit/state.js +0 -98
  532. package/dist/imageEdit/state.js.map +0 -1
  533. package/dist/imageEdit/versionPaths.d.ts +0 -27
  534. package/dist/imageEdit/versionPaths.d.ts.map +0 -1
  535. package/dist/imageEdit/versionPaths.js +0 -57
  536. package/dist/imageEdit/versionPaths.js.map +0 -1
  537. package/dist/imageEdit/versions.d.ts +0 -67
  538. package/dist/imageEdit/versions.d.ts.map +0 -1
  539. package/dist/imageEdit/versions.js +0 -161
  540. package/dist/imageEdit/versions.js.map +0 -1
  541. package/dist/index.d.ts.map +0 -1
  542. package/dist/jsonForm/chooseControl.d.ts +0 -20
  543. package/dist/jsonForm/chooseControl.d.ts.map +0 -1
  544. package/dist/jsonForm/chooseControl.js +0 -82
  545. package/dist/jsonForm/chooseControl.js.map +0 -1
  546. package/dist/jsonForm/evaluateWhen.d.ts +0 -12
  547. package/dist/jsonForm/evaluateWhen.d.ts.map +0 -1
  548. package/dist/jsonForm/evaluateWhen.js +0 -65
  549. package/dist/jsonForm/evaluateWhen.js.map +0 -1
  550. package/dist/jsonForm/index.d.ts.map +0 -1
  551. package/dist/jsonForm/inferSchema.d.ts +0 -12
  552. package/dist/jsonForm/inferSchema.d.ts.map +0 -1
  553. package/dist/jsonForm/inferSchema.js +0 -15
  554. package/dist/jsonForm/inferSchema.js.map +0 -1
  555. package/dist/jsonForm/pointer.d.ts +0 -26
  556. package/dist/jsonForm/pointer.d.ts.map +0 -1
  557. package/dist/jsonForm/pointer.js +0 -102
  558. package/dist/jsonForm/pointer.js.map +0 -1
  559. package/dist/jsonForm/types.d.ts +0 -120
  560. package/dist/jsonForm/types.d.ts.map +0 -1
  561. package/dist/jsonForm/types.js +0 -10
  562. package/dist/jsonForm/types.js.map +0 -1
  563. package/dist/markdown/convert.d.ts +0 -81
  564. package/dist/markdown/convert.d.ts.map +0 -1
  565. package/dist/markdown/convert.js +0 -975
  566. package/dist/markdown/convert.js.map +0 -1
  567. package/dist/markdown/htmlParse.d.ts +0 -26
  568. package/dist/markdown/htmlParse.d.ts.map +0 -1
  569. package/dist/markdown/htmlParse.js +0 -195
  570. package/dist/markdown/htmlParse.js.map +0 -1
  571. package/dist/markdown/index.d.ts.map +0 -1
  572. package/dist/markdown/parse.d.ts +0 -27
  573. package/dist/markdown/parse.d.ts.map +0 -1
  574. package/dist/markdown/parse.js +0 -90
  575. package/dist/markdown/parse.js.map +0 -1
  576. package/dist/markdown/stringify.d.ts +0 -32
  577. package/dist/markdown/stringify.d.ts.map +0 -1
  578. package/dist/markdown/stringify.js +0 -108
  579. package/dist/markdown/stringify.js.map +0 -1
  580. package/dist/markdown/types.d.ts +0 -531
  581. package/dist/markdown/types.d.ts.map +0 -1
  582. package/dist/markdown/types.js +0 -17
  583. package/dist/markdown/types.js.map +0 -1
  584. package/dist/markdown/utils.d.ts +0 -118
  585. package/dist/markdown/utils.d.ts.map +0 -1
  586. package/dist/markdown/utils.js +0 -308
  587. package/dist/markdown/utils.js.map +0 -1
  588. package/dist/random/SeededRandom.d.ts +0 -50
  589. package/dist/random/SeededRandom.d.ts.map +0 -1
  590. package/dist/random/SeededRandom.js +0 -115
  591. package/dist/random/SeededRandom.js.map +0 -1
  592. package/dist/random/index.d.ts.map +0 -1
  593. package/dist/recommend/index.d.ts.map +0 -1
  594. package/dist/recommend/templates.d.ts +0 -39
  595. package/dist/recommend/templates.d.ts.map +0 -1
  596. package/dist/recommend/templates.js +0 -235
  597. package/dist/recommend/templates.js.map +0 -1
  598. package/dist/schemas/BlockTemplates.d.ts +0 -638
  599. package/dist/schemas/BlockTemplates.d.ts.map +0 -1
  600. package/dist/schemas/BlockTemplates.js +0 -72
  601. package/dist/schemas/BlockTemplates.js.map +0 -1
  602. package/dist/schemas/Doc.d.ts +0 -503
  603. package/dist/schemas/Doc.d.ts.map +0 -1
  604. package/dist/schemas/Doc.js +0 -90
  605. package/dist/schemas/Doc.js.map +0 -1
  606. package/dist/schemas/ImageEditDoc.d.ts +0 -81
  607. package/dist/schemas/ImageEditDoc.d.ts.map +0 -1
  608. package/dist/schemas/ImageEditDoc.js +0 -20
  609. package/dist/schemas/ImageEditDoc.js.map +0 -1
  610. package/dist/schemas/LayoutStrategy.d.ts +0 -84
  611. package/dist/schemas/LayoutStrategy.d.ts.map +0 -1
  612. package/dist/schemas/LayoutStrategy.js +0 -123
  613. package/dist/schemas/LayoutStrategy.js.map +0 -1
  614. package/dist/schemas/MediaProvider.d.ts +0 -65
  615. package/dist/schemas/MediaProvider.d.ts.map +0 -1
  616. package/dist/schemas/MediaProvider.js +0 -13
  617. package/dist/schemas/MediaProvider.js.map +0 -1
  618. package/dist/schemas/Theme.d.ts +0 -233
  619. package/dist/schemas/Theme.d.ts.map +0 -1
  620. package/dist/schemas/Theme.js +0 -129
  621. package/dist/schemas/Theme.js.map +0 -1
  622. package/dist/schemas/Types.d.ts +0 -14
  623. package/dist/schemas/Types.d.ts.map +0 -1
  624. package/dist/schemas/Types.js +0 -5
  625. package/dist/schemas/Types.js.map +0 -1
  626. package/dist/schemas/Viewport.d.ts +0 -74
  627. package/dist/schemas/Viewport.d.ts.map +0 -1
  628. package/dist/schemas/Viewport.js +0 -63
  629. package/dist/schemas/Viewport.js.map +0 -1
  630. package/dist/schemas/colorUtils.d.ts +0 -51
  631. package/dist/schemas/colorUtils.d.ts.map +0 -1
  632. package/dist/schemas/colorUtils.js +0 -154
  633. package/dist/schemas/colorUtils.js.map +0 -1
  634. package/dist/schemas/fontStacks.d.ts +0 -57
  635. package/dist/schemas/fontStacks.d.ts.map +0 -1
  636. package/dist/schemas/fontStacks.js +0 -227
  637. package/dist/schemas/fontStacks.js.map +0 -1
  638. package/dist/schemas/index.d.ts.map +0 -1
  639. package/dist/schemas/themeCompile.d.ts +0 -45
  640. package/dist/schemas/themeCompile.d.ts.map +0 -1
  641. package/dist/schemas/themeCompile.js +0 -160
  642. package/dist/schemas/themeCompile.js.map +0 -1
  643. package/dist/schemas/themeLibrary.d.ts +0 -37
  644. package/dist/schemas/themeLibrary.d.ts.map +0 -1
  645. package/dist/schemas/themeLibrary.js +0 -49
  646. package/dist/schemas/themeLibrary.js.map +0 -1
  647. package/dist/schemas/themeValidator.d.ts +0 -26
  648. package/dist/schemas/themeValidator.d.ts.map +0 -1
  649. package/dist/schemas/themeValidator.js +0 -352
  650. package/dist/schemas/themeValidator.js.map +0 -1
  651. package/dist/schemas/themes/bold.json +0 -48
  652. package/dist/schemas/themes/cinematic.json +0 -54
  653. package/dist/schemas/themes/documentary.json +0 -49
  654. package/dist/schemas/themes/gezellig.json +0 -44
  655. package/dist/schemas/themes/index.d.ts +0 -26
  656. package/dist/schemas/themes/index.d.ts.map +0 -1
  657. package/dist/schemas/themes/index.js +0 -49
  658. package/dist/schemas/themes/index.js.map +0 -1
  659. package/dist/schemas/themes/magazine.json +0 -44
  660. package/dist/schemas/themes/minimalist.json +0 -45
  661. package/dist/schemas/themes/morning-light.json +0 -42
  662. package/dist/schemas/themes/standard-dark.json +0 -50
  663. package/dist/schemas/themes/standard.json +0 -42
  664. package/dist/schemas/themes/tech-dark.json +0 -48
  665. package/dist/schemas/themes/warm-earth.json +0 -50
  666. package/dist/spatial/Geohash.d.ts +0 -85
  667. package/dist/spatial/Geohash.d.ts.map +0 -1
  668. package/dist/spatial/Geohash.js +0 -142
  669. package/dist/spatial/Geohash.js.map +0 -1
  670. package/dist/spatial/Haversine.d.ts +0 -24
  671. package/dist/spatial/Haversine.d.ts.map +0 -1
  672. package/dist/spatial/Haversine.js +0 -48
  673. package/dist/spatial/Haversine.js.map +0 -1
  674. package/dist/spatial/index.d.ts.map +0 -1
  675. package/dist/storage/ContentContainer.d.ts +0 -87
  676. package/dist/storage/ContentContainer.d.ts.map +0 -1
  677. package/dist/storage/ContentContainer.js +0 -131
  678. package/dist/storage/ContentContainer.js.map +0 -1
  679. package/dist/storage/LocalForageAdapter.d.ts +0 -36
  680. package/dist/storage/LocalForageAdapter.d.ts.map +0 -1
  681. package/dist/storage/LocalForageAdapter.js +0 -82
  682. package/dist/storage/LocalForageAdapter.js.map +0 -1
  683. package/dist/storage/LocalStorageAdapter.d.ts +0 -16
  684. package/dist/storage/LocalStorageAdapter.d.ts.map +0 -1
  685. package/dist/storage/LocalStorageAdapter.js +0 -50
  686. package/dist/storage/LocalStorageAdapter.js.map +0 -1
  687. package/dist/storage/MediaProviderFromContainer.d.ts +0 -21
  688. package/dist/storage/MediaProviderFromContainer.d.ts.map +0 -1
  689. package/dist/storage/MediaProviderFromContainer.js +0 -79
  690. package/dist/storage/MediaProviderFromContainer.js.map +0 -1
  691. package/dist/storage/MemoryStorageAdapter.d.ts +0 -15
  692. package/dist/storage/MemoryStorageAdapter.d.ts.map +0 -1
  693. package/dist/storage/MemoryStorageAdapter.js +0 -34
  694. package/dist/storage/MemoryStorageAdapter.js.map +0 -1
  695. package/dist/storage/ScopedContentContainer.d.ts +0 -44
  696. package/dist/storage/ScopedContentContainer.d.ts.map +0 -1
  697. package/dist/storage/ScopedContentContainer.js +0 -94
  698. package/dist/storage/ScopedContentContainer.js.map +0 -1
  699. package/dist/storage/Storage.d.ts +0 -23
  700. package/dist/storage/Storage.d.ts.map +0 -1
  701. package/dist/storage/Storage.js +0 -9
  702. package/dist/storage/Storage.js.map +0 -1
  703. package/dist/storage/index.d.ts.map +0 -1
  704. package/dist/timing/index.d.ts.map +0 -1
  705. package/dist/timing/narrationTiming.d.ts +0 -54
  706. package/dist/timing/narrationTiming.d.ts.map +0 -1
  707. package/dist/timing/narrationTiming.js +0 -190
  708. package/dist/timing/narrationTiming.js.map +0 -1
  709. package/dist/timing/readingTime.d.ts +0 -54
  710. package/dist/timing/readingTime.d.ts.map +0 -1
  711. package/dist/timing/readingTime.js +0 -49
  712. package/dist/timing/readingTime.js.map +0 -1
  713. package/dist/transform/applyTransform.d.ts +0 -22
  714. package/dist/transform/applyTransform.d.ts.map +0 -1
  715. package/dist/transform/applyTransform.js +0 -68
  716. package/dist/transform/applyTransform.js.map +0 -1
  717. package/dist/transform/blockAnalyzer.d.ts +0 -48
  718. package/dist/transform/blockAnalyzer.d.ts.map +0 -1
  719. package/dist/transform/blockAnalyzer.js +0 -135
  720. package/dist/transform/blockAnalyzer.js.map +0 -1
  721. package/dist/transform/index.d.ts.map +0 -1
  722. package/dist/transform/registry.d.ts +0 -19
  723. package/dist/transform/registry.d.ts.map +0 -1
  724. package/dist/transform/registry.js +0 -41
  725. package/dist/transform/registry.js.map +0 -1
  726. package/dist/transform/styles/dataDriven.d.ts +0 -4
  727. package/dist/transform/styles/dataDriven.d.ts.map +0 -1
  728. package/dist/transform/styles/dataDriven.js +0 -15
  729. package/dist/transform/styles/dataDriven.js.map +0 -1
  730. package/dist/transform/styles/documentary.d.ts +0 -4
  731. package/dist/transform/styles/documentary.d.ts.map +0 -1
  732. package/dist/transform/styles/documentary.js +0 -15
  733. package/dist/transform/styles/documentary.js.map +0 -1
  734. package/dist/transform/styles/index.d.ts +0 -6
  735. package/dist/transform/styles/index.d.ts.map +0 -1
  736. package/dist/transform/styles/index.js +0 -6
  737. package/dist/transform/styles/index.js.map +0 -1
  738. package/dist/transform/styles/magazine.d.ts +0 -4
  739. package/dist/transform/styles/magazine.d.ts.map +0 -1
  740. package/dist/transform/styles/magazine.js +0 -15
  741. package/dist/transform/styles/magazine.js.map +0 -1
  742. package/dist/transform/styles/minimal.d.ts +0 -4
  743. package/dist/transform/styles/minimal.d.ts.map +0 -1
  744. package/dist/transform/styles/minimal.js +0 -15
  745. package/dist/transform/styles/minimal.js.map +0 -1
  746. package/dist/transform/styles/narrative.d.ts +0 -4
  747. package/dist/transform/styles/narrative.d.ts.map +0 -1
  748. package/dist/transform/styles/narrative.js +0 -15
  749. package/dist/transform/styles/narrative.js.map +0 -1
  750. package/dist/transform/templateSelector.d.ts +0 -30
  751. package/dist/transform/templateSelector.d.ts.map +0 -1
  752. package/dist/transform/templateSelector.js +0 -218
  753. package/dist/transform/templateSelector.js.map +0 -1
  754. package/dist/transform/timingAllocator.d.ts +0 -21
  755. package/dist/transform/timingAllocator.d.ts.map +0 -1
  756. package/dist/transform/timingAllocator.js +0 -111
  757. package/dist/transform/timingAllocator.js.map +0 -1
  758. package/dist/transform/types.d.ts +0 -86
  759. package/dist/transform/types.d.ts.map +0 -1
  760. package/dist/transform/types.js +0 -9
  761. package/dist/transform/types.js.map +0 -1
  762. package/dist/versions/DocumentVersionManager.d.ts +0 -31
  763. package/dist/versions/DocumentVersionManager.d.ts.map +0 -1
  764. package/dist/versions/DocumentVersionManager.js +0 -33
  765. package/dist/versions/DocumentVersionManager.js.map +0 -1
  766. package/dist/versions/index.d.ts.map +0 -1
  767. package/dist/versions/operations.d.ts +0 -44
  768. package/dist/versions/operations.d.ts.map +0 -1
  769. package/dist/versions/operations.js +0 -190
  770. package/dist/versions/operations.js.map +0 -1
  771. package/dist/versions/paths.d.ts +0 -29
  772. package/dist/versions/paths.d.ts.map +0 -1
  773. package/dist/versions/paths.js +0 -66
  774. package/dist/versions/paths.js.map +0 -1
  775. package/dist/versions/timestamp.d.ts +0 -22
  776. package/dist/versions/timestamp.d.ts.map +0 -1
  777. package/dist/versions/timestamp.js +0 -44
  778. package/dist/versions/timestamp.js.map +0 -1
  779. package/dist/versions/types.d.ts +0 -92
  780. package/dist/versions/types.d.ts.map +0 -1
  781. package/dist/versions/types.js +0 -11
  782. package/dist/versions/types.js.map +0 -1
@@ -1,975 +0,0 @@
1
- /**
2
- * mdast ↔ Squisq Markdown Node Conversion
3
- *
4
- * Converts between the remark/mdast AST format and the squisq
5
- * MarkdownDocument JSON format. This is the bridge layer that allows
6
- * us to use the battle-tested unified/remark ecosystem for parsing
7
- * and serialization while exposing our own clean, well-typed interfaces.
8
- *
9
- * The conversion is designed for perfect round-tripping:
10
- * toMdast(fromMdast(tree)) should produce an equivalent mdast tree.
11
- */
12
- import { parseHtmlToNodes } from './htmlParse.js';
13
- import { resolveIcon } from '../icons/resolve.js';
14
- // ============================================
15
- // Position conversion
16
- // ============================================
17
- function convertPosition(pos) {
18
- if (!pos)
19
- return undefined;
20
- return {
21
- start: {
22
- line: pos.start.line,
23
- column: pos.start.column,
24
- ...(pos.start.offset != null ? { offset: pos.start.offset } : {}),
25
- },
26
- end: {
27
- line: pos.end.line,
28
- column: pos.end.column,
29
- ...(pos.end.offset != null ? { offset: pos.end.offset } : {}),
30
- },
31
- };
32
- }
33
- function toMdastPosition(pos) {
34
- return {
35
- start: {
36
- line: pos.start.line,
37
- column: pos.start.column,
38
- ...(pos.start.offset != null ? { offset: pos.start.offset } : {}),
39
- },
40
- end: {
41
- line: pos.end.line,
42
- column: pos.end.column,
43
- ...(pos.end.offset != null ? { offset: pos.end.offset } : {}),
44
- },
45
- };
46
- }
47
- /** Conditionally include position in node. */
48
- function posField(pos) {
49
- return pos ? { position: pos } : {};
50
- }
51
- function mdastPosField(pos) {
52
- return pos ? { position: toMdastPosition(pos) } : {};
53
- }
54
- // ============================================
55
- // mdast → Squisq (fromMdast)
56
- // ============================================
57
- /**
58
- * Extract plain text content from an mdast node tree.
59
- * Used for directive labels.
60
- */
61
- function extractText(node) {
62
- if (node.value != null)
63
- return node.value;
64
- if (node.children) {
65
- return node.children.map(extractText).join('');
66
- }
67
- return '';
68
- }
69
- // ============================================
70
- // Template annotation helpers
71
- // ============================================
72
- /**
73
- * Regex matching a trailing `{[templateName key=value …]}` annotation.
74
- * Captures the content between `{[` and `]}`.
75
- *
76
- * The trailing `[\s\]\}]*` tolerates accidental doubled `]}` that users
77
- * sometimes type when learning the syntax (e.g. `{[foo]}]}`). It does
78
- * not allow trailing word characters, so a non-trailing annotation like
79
- * `## The {[chart]} section` still doesn't match.
80
- */
81
- const TEMPLATE_ANNOTATION_RE = /\s*\{\[([^\]]+)\]\}[\s\]}]*$/;
82
- /**
83
- * Extract a `{[templateName key=value …]}` annotation from a heading's
84
- * inline children. Mutates the children array in-place: strips the
85
- * annotation text from the last text node (or removes the node entirely).
86
- *
87
- * @returns The parsed annotation, or null if none found.
88
- */
89
- function extractTemplateAnnotation(children) {
90
- // Walk backwards to find the last text node
91
- for (let i = children.length - 1; i >= 0; i--) {
92
- const child = children[i];
93
- if (child.type === 'text') {
94
- const match = child.value.match(TEMPLATE_ANNOTATION_RE);
95
- if (match) {
96
- const inner = match[1].trim();
97
- const annotation = parseAnnotationTokens(inner);
98
- // Strip the matched portion from the text
99
- const stripped = child.value.slice(0, match.index).replace(/\s+$/, '');
100
- if (stripped) {
101
- child.value = stripped;
102
- }
103
- else {
104
- // Remove the now-empty text node
105
- children.splice(i, 1);
106
- }
107
- return annotation;
108
- }
109
- // Only check the last text node (trailing position)
110
- break;
111
- }
112
- // If the last child isn't a text node, there's no annotation
113
- break;
114
- }
115
- return null;
116
- }
117
- /**
118
- * Parse the inner content of a `{[…]}` annotation into template + params.
119
- *
120
- * Input: `"chart colorScheme=blue size=large"`
121
- * Output: `{ template: 'chart', params: { colorScheme: 'blue', size: 'large' } }`
122
- */
123
- function parseAnnotationTokens(inner) {
124
- const tokens = inner.split(/\s+/);
125
- const params = {};
126
- // If the first token contains '=', there's no template name —
127
- // the annotation is purely key-value (e.g., `{[audio=intro.mp3]}`).
128
- const firstIsParam = tokens[0].indexOf('=') > 0;
129
- const template = firstIsParam ? undefined : tokens[0];
130
- const startIdx = firstIsParam ? 0 : 1;
131
- for (let i = startIdx; i < tokens.length; i++) {
132
- const eqIdx = tokens[i].indexOf('=');
133
- if (eqIdx > 0) {
134
- params[tokens[i].slice(0, eqIdx)] = tokens[i].slice(eqIdx + 1);
135
- }
136
- }
137
- const result = {};
138
- if (template) {
139
- result.template = template;
140
- }
141
- if (Object.keys(params).length > 0) {
142
- result.params = params;
143
- }
144
- return result;
145
- }
146
- /**
147
- * Serialize a HeadingTemplateAnnotation back to `{[templateName key=value …]}` text.
148
- */
149
- function serializeTemplateAnnotation(annotation) {
150
- const parts = [];
151
- if (annotation.template) {
152
- parts.push(annotation.template);
153
- }
154
- if (annotation.params) {
155
- for (const [key, value] of Object.entries(annotation.params)) {
156
- parts.push(`${key}=${value}`);
157
- }
158
- }
159
- return `{[${parts.join(' ')}]}`;
160
- }
161
- /**
162
- * Convert an mdast Root node to a MarkdownDocument.
163
- *
164
- * @param root - The mdast root node (from remark-parse)
165
- * @param options - Conversion options
166
- * @returns A MarkdownDocument
167
- */
168
- export function fromMdast(root, options) {
169
- const doParseHtml = options?.parseHtml !== false;
170
- return {
171
- type: 'document',
172
- children: convertBlockChildren(root.children ?? [], doParseHtml),
173
- ...posField(convertPosition(root.position)),
174
- };
175
- }
176
- function convertBlockChildren(children, parseHtml) {
177
- const result = [];
178
- for (const child of children) {
179
- const node = convertBlockNode(child, parseHtml);
180
- if (node)
181
- result.push(node);
182
- }
183
- return result;
184
- }
185
- function convertInlineChildren(children, parseHtml,
186
- /** When false, skip the inline-icon split. Headings opt out so the
187
- * `extractTemplateAnnotation` pass still sees the trailing
188
- * `{[…]}` in raw text form; the caller runs `splitInlineIcons`
189
- * itself afterward on the remaining children. */
190
- applyIconSplit = true) {
191
- const result = [];
192
- for (const child of children) {
193
- const node = convertInlineNode(child, parseHtml);
194
- if (node)
195
- result.push(node);
196
- }
197
- const mentioned = coalesceMentions(result);
198
- return applyIconSplit ? splitInlineIcons(mentioned) : mentioned;
199
- }
200
- /**
201
- * Walk an inline-children list and split each text node on `{[token]}`
202
- * occurrences whose tokens resolve to known FontAwesome icons. Returns
203
- * a new array — unresolved tokens are left as literal text so authors
204
- * can write `{[notathing]}` verbatim if they really mean to.
205
- *
206
- * Exposed for the heading code path, which first strips the trailing
207
- * template annotation and then runs this on what remains.
208
- */
209
- export function splitInlineIcons(nodes) {
210
- // First pass: reassemble `text + textDirective + text` patterns
211
- // formed when a qualified token like `{[fa-solid:user]}` was split
212
- // by remark-directive's colon recognition. We collapse those triples
213
- // back into a single text node containing the original token so the
214
- // regex below can match.
215
- const recombined = recombineDirectiveTokens(nodes);
216
- const out = [];
217
- for (const node of recombined) {
218
- if (node.type !== 'text') {
219
- out.push(node);
220
- continue;
221
- }
222
- out.push(...splitTextOnIcons(node.value, node.position));
223
- }
224
- return out;
225
- }
226
- /**
227
- * When the user types `{[fa-solid:user]}`, remark's directive plugin
228
- * sees `:user` and emits a `textDirective` node. The result is a
229
- * three-node sequence `text("…{[fa-solid") + textDirective("user") +
230
- * text("]}…")`. This helper detects that shape and stitches the three
231
- * back into one text node so downstream icon detection works on the
232
- * authored token.
233
- */
234
- function recombineDirectiveTokens(nodes) {
235
- const out = [];
236
- for (let i = 0; i < nodes.length; i++) {
237
- const cur = nodes[i];
238
- const next = nodes[i + 1];
239
- const after = nodes[i + 2];
240
- if (cur?.type === 'text' &&
241
- next?.type === 'textDirective' &&
242
- after?.type === 'text' &&
243
- /\{\[[a-zA-Z0-9_-]+$/.test(cur.value) &&
244
- /^\]\}/.test(after.value)) {
245
- const directive = next;
246
- const directiveName = directive.name ?? '';
247
- const merged = {
248
- type: 'text',
249
- value: cur.value + ':' + directiveName + after.value,
250
- ...(cur.position ? { position: cur.position } : {}),
251
- };
252
- out.push(merged);
253
- i += 2;
254
- continue;
255
- }
256
- out.push(cur);
257
- }
258
- return out;
259
- }
260
- const ICON_TOKEN_RE = /\{\[([a-zA-Z0-9_:-]+)\]\}/g;
261
- function splitTextOnIcons(value, position) {
262
- if (!value)
263
- return [];
264
- ICON_TOKEN_RE.lastIndex = 0;
265
- let lastIndex = 0;
266
- let match;
267
- const out = [];
268
- while ((match = ICON_TOKEN_RE.exec(value)) !== null) {
269
- const token = match[1];
270
- const icon = resolveIcon(token);
271
- if (!icon)
272
- continue; // leave the literal `{[…]}` in place
273
- if (match.index > lastIndex) {
274
- out.push({
275
- type: 'text',
276
- value: value.slice(lastIndex, match.index),
277
- ...(position ? { position } : {}),
278
- });
279
- }
280
- const iconNode = {
281
- type: 'inlineIcon',
282
- token,
283
- family: icon.family,
284
- name: icon.name,
285
- ...(position ? { position } : {}),
286
- };
287
- out.push(iconNode);
288
- lastIndex = match.index + match[0].length;
289
- }
290
- if (lastIndex === 0) {
291
- // No matches — return the original text node unchanged.
292
- return [{ type: 'text', value, ...(position ? { position } : {}) }];
293
- }
294
- if (lastIndex < value.length) {
295
- out.push({
296
- type: 'text',
297
- value: value.slice(lastIndex),
298
- ...(position ? { position } : {}),
299
- });
300
- }
301
- return out;
302
- }
303
- /**
304
- * Post-process an inline-children list to collapse `text('@') + link(scheme:id)`
305
- * pairs into a single `mention` node. The wire format `@[Display](scheme:id)`
306
- * comes back from remark as two adjacent nodes — we merge them so consumers
307
- * see a single atomic mention. A plain link whose URL doesn't have `scheme:id`
308
- * shape, or that isn't immediately preceded by `@`, is left alone so ordinary
309
- * links keep working.
310
- */
311
- function coalesceMentions(inlines) {
312
- const out = [];
313
- for (const cur of inlines) {
314
- const prev = out[out.length - 1];
315
- if (cur.type === 'link' &&
316
- typeof cur.url === 'string' &&
317
- prev &&
318
- prev.type === 'text' &&
319
- prev.value.endsWith('@')) {
320
- const schemeMatch = cur.url.match(/^([a-z][a-z0-9+.-]*):(.+)$/i);
321
- if (schemeMatch && schemeMatch[1] && schemeMatch[2]) {
322
- const targetKind = schemeMatch[1];
323
- const targetId = schemeMatch[2];
324
- const displayName = extractInlineText(cur.children);
325
- if (prev.value === '@') {
326
- out.pop();
327
- }
328
- else {
329
- prev.value = prev.value.slice(0, -1);
330
- }
331
- out.push({
332
- type: 'mention',
333
- targetKind,
334
- targetId,
335
- displayName,
336
- ...(cur.position ? { position: cur.position } : {}),
337
- });
338
- continue;
339
- }
340
- }
341
- out.push(cur);
342
- }
343
- return out;
344
- }
345
- /** Plain-text of an inline children list — used to pull the display name
346
- * out of a mention link's children. */
347
- function extractInlineText(nodes) {
348
- let out = '';
349
- for (const n of nodes) {
350
- if (n.type === 'text' || n.type === 'inlineCode')
351
- out += n.value;
352
- else if ('children' in n && Array.isArray(n.children)) {
353
- out += extractInlineText(n.children);
354
- }
355
- }
356
- return out;
357
- }
358
- function convertBlockNode(node, parseHtml) {
359
- const pos = convertPosition(node.position);
360
- switch (node.type) {
361
- case 'heading': {
362
- // Defer icon splitting so `extractTemplateAnnotation` sees the
363
- // trailing `{[name]}` as plain text and can decide whether it's
364
- // a template annotation. Anything that's NOT the template still
365
- // needs to become an icon node, so we run `splitInlineIcons` on
366
- // what's left after the template extraction.
367
- const headingChildren = convertInlineChildren(node.children ?? [], parseHtml, false);
368
- const annotation = extractTemplateAnnotation(headingChildren);
369
- const finalChildren = splitInlineIcons(headingChildren);
370
- const result = {
371
- type: 'heading',
372
- depth: (node.depth ?? 1),
373
- children: finalChildren,
374
- ...posField(pos),
375
- };
376
- if (annotation) {
377
- result.templateAnnotation = annotation;
378
- }
379
- return result;
380
- }
381
- case 'paragraph':
382
- return {
383
- type: 'paragraph',
384
- children: convertInlineChildren(node.children ?? [], parseHtml),
385
- ...posField(pos),
386
- };
387
- case 'blockquote':
388
- return {
389
- type: 'blockquote',
390
- children: convertBlockChildren(node.children ?? [], parseHtml),
391
- ...posField(pos),
392
- };
393
- case 'list':
394
- return {
395
- type: 'list',
396
- ordered: node.ordered ?? false,
397
- ...(node.start != null ? { start: node.start } : {}),
398
- ...(node.spread != null ? { spread: node.spread } : {}),
399
- children: (node.children ?? []).map((item) => convertListItem(item, parseHtml)),
400
- ...posField(pos),
401
- };
402
- case 'code':
403
- return {
404
- type: 'code',
405
- ...(node.lang != null ? { lang: node.lang } : {}),
406
- ...(node.meta != null ? { meta: node.meta } : {}),
407
- value: node.value ?? '',
408
- ...posField(pos),
409
- };
410
- case 'thematicBreak':
411
- return {
412
- type: 'thematicBreak',
413
- ...posField(pos),
414
- };
415
- case 'table':
416
- return {
417
- type: 'table',
418
- ...(node.align
419
- ? { align: node.align.map((a) => a) }
420
- : {}),
421
- children: (node.children ?? []).map((row, i) => convertTableRow(row, i === 0, parseHtml)),
422
- ...posField(pos),
423
- };
424
- case 'html':
425
- return {
426
- type: 'htmlBlock',
427
- rawHtml: node.value ?? '',
428
- htmlChildren: parseHtml ? parseHtmlToNodes(node.value ?? '') : [],
429
- ...posField(pos),
430
- };
431
- case 'math':
432
- return {
433
- type: 'math',
434
- value: node.value ?? '',
435
- ...(node.meta != null ? { meta: node.meta } : {}),
436
- ...posField(pos),
437
- };
438
- case 'definition':
439
- return {
440
- type: 'definition',
441
- identifier: node.identifier ?? '',
442
- ...(node.label != null ? { label: node.label } : {}),
443
- url: node.url ?? '',
444
- ...(node.title != null ? { title: node.title } : {}),
445
- ...posField(pos),
446
- };
447
- case 'footnoteDefinition':
448
- return {
449
- type: 'footnoteDefinition',
450
- identifier: node.identifier ?? '',
451
- ...(node.label != null ? { label: node.label } : {}),
452
- children: convertBlockChildren(node.children ?? [], parseHtml),
453
- ...posField(pos),
454
- };
455
- case 'containerDirective': {
456
- const allChildren = node.children ?? [];
457
- let label;
458
- let contentChildren = allChildren;
459
- // Extract directive label (first paragraph with directiveLabel flag)
460
- if (allChildren.length > 0 &&
461
- allChildren[0].type === 'paragraph' &&
462
- allChildren[0].data?.directiveLabel === true) {
463
- label = extractText(allChildren[0]);
464
- contentChildren = allChildren.slice(1);
465
- }
466
- return {
467
- type: 'containerDirective',
468
- name: node.name ?? '',
469
- ...(label ? { label } : {}),
470
- ...(node.attributes && Object.keys(node.attributes).length > 0
471
- ? { attributes: node.attributes }
472
- : {}),
473
- children: convertBlockChildren(contentChildren, parseHtml),
474
- ...posField(pos),
475
- };
476
- }
477
- case 'leafDirective':
478
- return {
479
- type: 'leafDirective',
480
- name: node.name ?? '',
481
- ...(node.attributes && Object.keys(node.attributes).length > 0
482
- ? { attributes: node.attributes }
483
- : {}),
484
- children: convertInlineChildren(node.children ?? [], parseHtml),
485
- ...posField(pos),
486
- };
487
- case 'yaml':
488
- // YAML frontmatter nodes are handled separately in parse.ts — skip silently
489
- return null;
490
- default:
491
- // Unknown block node — skip with a warning
492
- if (typeof console !== 'undefined') {
493
- console.warn(`[squisq/markdown] Unknown mdast block node type: "${node.type}"`);
494
- }
495
- return null;
496
- }
497
- }
498
- function convertListItem(node, parseHtml) {
499
- const pos = convertPosition(node.position);
500
- return {
501
- type: 'listItem',
502
- ...(node.checked != null ? { checked: node.checked } : {}),
503
- ...(node.spread != null ? { spread: node.spread } : {}),
504
- children: convertBlockChildren(node.children ?? [], parseHtml),
505
- ...posField(pos),
506
- };
507
- }
508
- function convertTableRow(node, isHeader, parseHtml) {
509
- const pos = convertPosition(node.position);
510
- return {
511
- type: 'tableRow',
512
- children: (node.children ?? []).map((cell) => convertTableCell(cell, isHeader, parseHtml)),
513
- ...posField(pos),
514
- };
515
- }
516
- function convertTableCell(node, isHeader, parseHtml) {
517
- const pos = convertPosition(node.position);
518
- return {
519
- type: 'tableCell',
520
- ...(isHeader ? { isHeader: true } : {}),
521
- children: convertInlineChildren(node.children ?? [], parseHtml),
522
- ...posField(pos),
523
- };
524
- }
525
- function convertInlineNode(node, parseHtml) {
526
- const pos = convertPosition(node.position);
527
- switch (node.type) {
528
- case 'text':
529
- return {
530
- type: 'text',
531
- value: node.value ?? '',
532
- ...posField(pos),
533
- };
534
- case 'emphasis':
535
- return {
536
- type: 'emphasis',
537
- children: convertInlineChildren(node.children ?? [], parseHtml),
538
- ...posField(pos),
539
- };
540
- case 'strong':
541
- return {
542
- type: 'strong',
543
- children: convertInlineChildren(node.children ?? [], parseHtml),
544
- ...posField(pos),
545
- };
546
- case 'delete':
547
- return {
548
- type: 'delete',
549
- children: convertInlineChildren(node.children ?? [], parseHtml),
550
- ...posField(pos),
551
- };
552
- case 'inlineCode':
553
- return {
554
- type: 'inlineCode',
555
- value: node.value ?? '',
556
- ...posField(pos),
557
- };
558
- case 'link':
559
- return {
560
- type: 'link',
561
- url: node.url ?? '',
562
- ...(node.title != null ? { title: node.title } : {}),
563
- children: convertInlineChildren(node.children ?? [], parseHtml),
564
- ...posField(pos),
565
- };
566
- case 'image':
567
- return {
568
- type: 'image',
569
- url: node.url ?? '',
570
- ...(node.alt != null ? { alt: node.alt } : {}),
571
- ...(node.title != null ? { title: node.title } : {}),
572
- ...posField(pos),
573
- };
574
- case 'break':
575
- return {
576
- type: 'break',
577
- ...posField(pos),
578
- };
579
- case 'html':
580
- return {
581
- type: 'htmlInline',
582
- rawHtml: node.value ?? '',
583
- htmlChildren: parseHtml ? parseHtmlToNodes(node.value ?? '') : [],
584
- ...posField(pos),
585
- };
586
- case 'inlineMath':
587
- return {
588
- type: 'inlineMath',
589
- value: node.value ?? '',
590
- ...posField(pos),
591
- };
592
- case 'footnoteReference':
593
- return {
594
- type: 'footnoteReference',
595
- identifier: node.identifier ?? '',
596
- ...(node.label != null ? { label: node.label } : {}),
597
- ...posField(pos),
598
- };
599
- case 'linkReference':
600
- return {
601
- type: 'linkReference',
602
- identifier: node.identifier ?? '',
603
- ...(node.label != null ? { label: node.label } : {}),
604
- referenceType: (node.referenceType ?? 'full'),
605
- children: convertInlineChildren(node.children ?? [], parseHtml),
606
- ...posField(pos),
607
- };
608
- case 'imageReference':
609
- return {
610
- type: 'imageReference',
611
- identifier: node.identifier ?? '',
612
- ...(node.label != null ? { label: node.label } : {}),
613
- referenceType: (node.referenceType ?? 'full'),
614
- ...(node.alt != null ? { alt: node.alt } : {}),
615
- ...posField(pos),
616
- };
617
- case 'textDirective':
618
- return {
619
- type: 'textDirective',
620
- name: node.name ?? '',
621
- ...(node.attributes && Object.keys(node.attributes).length > 0
622
- ? { attributes: node.attributes }
623
- : {}),
624
- children: convertInlineChildren(node.children ?? [], parseHtml),
625
- ...posField(pos),
626
- };
627
- default:
628
- if (typeof console !== 'undefined') {
629
- console.warn(`[squisq/markdown] Unknown mdast inline node type: "${node.type}"`);
630
- }
631
- return null;
632
- }
633
- }
634
- // ============================================
635
- // Squisq → mdast (toMdast)
636
- // ============================================
637
- /**
638
- * Convert a MarkdownDocument back to an mdast Root node.
639
- *
640
- * @param doc - A MarkdownDocument
641
- * @returns An mdast Root node suitable for remark-stringify
642
- */
643
- export function toMdast(doc) {
644
- return {
645
- type: 'root',
646
- children: doc.children.map((n) => blockToMdast(n)),
647
- ...mdastPosField(doc.position),
648
- };
649
- }
650
- function blockToMdast(node) {
651
- switch (node.type) {
652
- case 'heading': {
653
- const mdastChildren = inlineChildrenToMdast(node.children);
654
- if (node.templateAnnotation) {
655
- const suffix = serializeTemplateAnnotation(node.templateAnnotation);
656
- // Append to last text node, or create a new one
657
- const lastChild = mdastChildren[mdastChildren.length - 1];
658
- if (lastChild && lastChild.type === 'text') {
659
- lastChild.value = (lastChild.value ?? '') + ' ' + suffix;
660
- }
661
- else {
662
- mdastChildren.push({ type: 'text', value: ' ' + suffix });
663
- }
664
- }
665
- return {
666
- type: 'heading',
667
- depth: node.depth,
668
- children: mdastChildren,
669
- ...mdastPosField(node.position),
670
- };
671
- }
672
- case 'paragraph':
673
- return {
674
- type: 'paragraph',
675
- children: inlineChildrenToMdast(node.children),
676
- ...mdastPosField(node.position),
677
- };
678
- case 'blockquote':
679
- return {
680
- type: 'blockquote',
681
- children: node.children.map(blockToMdast),
682
- ...mdastPosField(node.position),
683
- };
684
- case 'list':
685
- return {
686
- type: 'list',
687
- ordered: node.ordered,
688
- ...(node.start != null ? { start: node.start } : {}),
689
- ...(node.spread != null ? { spread: node.spread } : {}),
690
- children: node.children.map(listItemToMdast),
691
- ...mdastPosField(node.position),
692
- };
693
- case 'code':
694
- return {
695
- type: 'code',
696
- ...(node.lang != null ? { lang: node.lang } : {}),
697
- ...(node.meta != null ? { meta: node.meta } : {}),
698
- value: node.value,
699
- ...mdastPosField(node.position),
700
- };
701
- case 'thematicBreak':
702
- return {
703
- type: 'thematicBreak',
704
- ...mdastPosField(node.position),
705
- };
706
- case 'table':
707
- return {
708
- type: 'table',
709
- ...(node.align ? { align: node.align } : {}),
710
- children: node.children.map(tableRowToMdast),
711
- ...mdastPosField(node.position),
712
- };
713
- case 'htmlBlock':
714
- return {
715
- type: 'html',
716
- value: node.rawHtml,
717
- ...mdastPosField(node.position),
718
- };
719
- case 'math':
720
- return {
721
- type: 'math',
722
- value: node.value,
723
- ...(node.meta != null ? { meta: node.meta } : {}),
724
- ...mdastPosField(node.position),
725
- };
726
- case 'definition':
727
- return {
728
- type: 'definition',
729
- identifier: node.identifier,
730
- ...(node.label != null ? { label: node.label } : {}),
731
- url: node.url,
732
- ...(node.title != null ? { title: node.title } : {}),
733
- ...mdastPosField(node.position),
734
- };
735
- case 'footnoteDefinition':
736
- return {
737
- type: 'footnoteDefinition',
738
- identifier: node.identifier,
739
- ...(node.label != null ? { label: node.label } : {}),
740
- children: node.children.map(blockToMdast),
741
- ...mdastPosField(node.position),
742
- };
743
- case 'containerDirective': {
744
- const children = [];
745
- // Reinject label as first paragraph with directiveLabel flag
746
- if (node.label) {
747
- children.push({
748
- type: 'paragraph',
749
- data: { directiveLabel: true },
750
- children: [{ type: 'text', value: node.label }],
751
- });
752
- }
753
- children.push(...node.children.map(blockToMdast));
754
- return {
755
- type: 'containerDirective',
756
- name: node.name,
757
- ...(node.attributes ? { attributes: node.attributes } : {}),
758
- children,
759
- ...mdastPosField(node.position),
760
- };
761
- }
762
- case 'leafDirective':
763
- return {
764
- type: 'leafDirective',
765
- name: node.name,
766
- ...(node.attributes ? { attributes: node.attributes } : {}),
767
- children: inlineChildrenToMdast(node.children),
768
- ...mdastPosField(node.position),
769
- };
770
- case 'definitionList':
771
- // Definition lists don't map to standard mdast.
772
- // Convert to HTML as fallback.
773
- return {
774
- type: 'html',
775
- value: definitionListToHtml(node),
776
- ...mdastPosField(node.position),
777
- };
778
- default:
779
- return { type: 'html', value: '' };
780
- }
781
- }
782
- function listItemToMdast(item) {
783
- return {
784
- type: 'listItem',
785
- ...(item.checked != null ? { checked: item.checked } : {}),
786
- ...(item.spread != null ? { spread: item.spread } : {}),
787
- children: item.children.map(blockToMdast),
788
- ...mdastPosField(item.position),
789
- };
790
- }
791
- function tableRowToMdast(row) {
792
- return {
793
- type: 'tableRow',
794
- children: row.children.map(tableCellToMdast),
795
- ...mdastPosField(row.position),
796
- };
797
- }
798
- function tableCellToMdast(cell) {
799
- return {
800
- type: 'tableCell',
801
- children: inlineChildrenToMdast(cell.children),
802
- ...mdastPosField(cell.position),
803
- };
804
- }
805
- /**
806
- * Serialize an array of inline nodes to mdast, flat-mapping the result so
807
- * a single `mention` expands to two mdast nodes (`text('@')` + `link`).
808
- * Use in place of `.map(inlineToMdast)` wherever we walk a children array.
809
- */
810
- function inlineChildrenToMdast(nodes) {
811
- const out = [];
812
- for (const n of nodes) {
813
- if (n.type === 'mention') {
814
- out.push({ type: 'text', value: '@' });
815
- out.push({
816
- type: 'link',
817
- url: `${n.targetKind}:${n.targetId}`,
818
- children: [{ type: 'text', value: n.displayName }],
819
- ...mdastPosField(n.position),
820
- });
821
- }
822
- else {
823
- out.push(inlineToMdast(n));
824
- }
825
- }
826
- return out;
827
- }
828
- function inlineToMdast(node) {
829
- switch (node.type) {
830
- case 'text':
831
- return {
832
- type: 'text',
833
- value: node.value,
834
- ...mdastPosField(node.position),
835
- };
836
- case 'emphasis':
837
- return {
838
- type: 'emphasis',
839
- children: inlineChildrenToMdast(node.children),
840
- ...mdastPosField(node.position),
841
- };
842
- case 'strong':
843
- return {
844
- type: 'strong',
845
- children: inlineChildrenToMdast(node.children),
846
- ...mdastPosField(node.position),
847
- };
848
- case 'delete':
849
- return {
850
- type: 'delete',
851
- children: inlineChildrenToMdast(node.children),
852
- ...mdastPosField(node.position),
853
- };
854
- case 'inlineCode':
855
- return {
856
- type: 'inlineCode',
857
- value: node.value,
858
- ...mdastPosField(node.position),
859
- };
860
- case 'link':
861
- return {
862
- type: 'link',
863
- url: node.url,
864
- ...(node.title != null ? { title: node.title } : {}),
865
- children: inlineChildrenToMdast(node.children),
866
- ...mdastPosField(node.position),
867
- };
868
- case 'image':
869
- return {
870
- type: 'image',
871
- url: node.url,
872
- ...(node.alt != null ? { alt: node.alt } : {}),
873
- ...(node.title != null ? { title: node.title } : {}),
874
- ...mdastPosField(node.position),
875
- };
876
- case 'break':
877
- return {
878
- type: 'break',
879
- ...mdastPosField(node.position),
880
- };
881
- case 'htmlInline':
882
- return {
883
- type: 'html',
884
- value: node.rawHtml,
885
- ...mdastPosField(node.position),
886
- };
887
- case 'inlineMath':
888
- return {
889
- type: 'inlineMath',
890
- value: node.value,
891
- ...mdastPosField(node.position),
892
- };
893
- case 'footnoteReference':
894
- return {
895
- type: 'footnoteReference',
896
- identifier: node.identifier,
897
- ...(node.label != null ? { label: node.label } : {}),
898
- ...mdastPosField(node.position),
899
- };
900
- case 'linkReference':
901
- return {
902
- type: 'linkReference',
903
- identifier: node.identifier,
904
- ...(node.label != null ? { label: node.label } : {}),
905
- referenceType: node.referenceType,
906
- children: inlineChildrenToMdast(node.children),
907
- ...mdastPosField(node.position),
908
- };
909
- case 'imageReference':
910
- return {
911
- type: 'imageReference',
912
- identifier: node.identifier,
913
- ...(node.label != null ? { label: node.label } : {}),
914
- referenceType: node.referenceType,
915
- ...(node.alt != null ? { alt: node.alt } : {}),
916
- ...mdastPosField(node.position),
917
- };
918
- case 'textDirective':
919
- return {
920
- type: 'textDirective',
921
- name: node.name,
922
- ...(node.attributes ? { attributes: node.attributes } : {}),
923
- children: inlineChildrenToMdast(node.children),
924
- ...mdastPosField(node.position),
925
- };
926
- case 'mention':
927
- // Fallback: when `inlineToMdast` is called directly (not via
928
- // `inlineChildrenToMdast`), collapse the mention to just the link
929
- // form. The `@` prefix is lost, but the id+name still round-trip.
930
- // Normal call sites go through `inlineChildrenToMdast` and get
931
- // the proper text('@') + link pair.
932
- return {
933
- type: 'link',
934
- url: `${node.targetKind}:${node.targetId}`,
935
- children: [{ type: 'text', value: node.displayName }],
936
- ...mdastPosField(node.position),
937
- };
938
- case 'inlineIcon':
939
- // Serialize back to the authored token so source round-trips
940
- // byte-stable. The token already carries the qualified form when
941
- // required (the parser preserved it verbatim).
942
- return {
943
- type: 'text',
944
- value: `{[${node.token}]}`,
945
- ...mdastPosField(node.position),
946
- };
947
- default:
948
- return { type: 'text', value: '' };
949
- }
950
- }
951
- // ============================================
952
- // Helpers
953
- // ============================================
954
- /**
955
- * Convert a MarkdownDefinitionList to an HTML <dl> string.
956
- * Fallback for serialization since mdast doesn't support definition lists.
957
- */
958
- function definitionListToHtml(list) {
959
- let html = '<dl>\n';
960
- for (const child of list.children) {
961
- if (child.type === 'definitionTerm') {
962
- // Extract plain text from inline children
963
- const text = child.children
964
- .map((c) => c.value ?? '')
965
- .join('');
966
- html += ` <dt>${text}</dt>\n`;
967
- }
968
- else if (child.type === 'definitionDescription') {
969
- html += ` <dd>...</dd>\n`;
970
- }
971
- }
972
- html += '</dl>';
973
- return html;
974
- }
975
- //# sourceMappingURL=convert.js.map