@bendyline/squisq 2.0.1 → 2.2.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 (438) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +24 -0
  3. package/dist/{ContentContainer-BXUlIf18.d.ts → ContentContainer-B2w9sUoL.d.ts} +15 -0
  4. package/dist/{Doc-ylqWKDc_.d.ts → Doc-BubIpWsp.d.ts} +160 -3
  5. package/dist/{ImageEditDoc-D828IXJ1.d.ts → ImageEditDoc-CGxk5CHc.d.ts} +1 -1
  6. package/dist/{annotationCoercion-Dr_DY9Hx.d.ts → annotationCoercion-PtRQhk5V.d.ts} +1 -1
  7. package/dist/chunk-2L55443L.js +0 -0
  8. package/dist/chunk-2ZWIXGAC.js +214 -0
  9. package/dist/{chunk-2PWOO4ZE.js → chunk-32R2RZAO.js} +72 -3
  10. package/dist/chunk-3IGPAPQ7.js +645 -0
  11. package/dist/{chunk-QE7TWGVT.js → chunk-4VOD55SX.js} +0 -1
  12. package/dist/{chunk-3E5F2XMR.js → chunk-67L6WRJN.js} +0 -1
  13. package/dist/{chunk-5DKBFXPY.js → chunk-6ECMNUIP.js} +26 -18
  14. package/dist/{chunk-X6DUONGT.js → chunk-7ARJZYQY.js} +280 -128
  15. package/dist/{chunk-DBS6RIFL.js → chunk-7N4G32LG.js} +0 -1
  16. package/dist/{chunk-JOQYPRDZ.js → chunk-7YEZFHLS.js} +10 -8
  17. package/dist/{chunk-2UQOHYE2.js → chunk-7ZAAICW4.js} +0 -1
  18. package/dist/{chunk-66QO7XFB.js → chunk-ACZOVWX3.js} +117 -7
  19. package/dist/{chunk-5J4HKRJF.js → chunk-BAOV476U.js} +0 -1
  20. package/dist/chunk-BCCXTMN5.js +699 -0
  21. package/dist/{chunk-W4O2TX5I.js → chunk-C33GTPUZ.js} +579 -4
  22. package/dist/{chunk-MMPBOUK7.js → chunk-CB45YGAM.js} +7 -2
  23. package/dist/{chunk-CY2R2VPR.js → chunk-DYPMOPIW.js} +18 -2
  24. package/dist/{chunk-VR7UPJ7C.js → chunk-FCG3BIZN.js} +12 -1
  25. package/dist/{chunk-5UYI3RJB.js → chunk-FDYDYL77.js} +54 -40
  26. package/dist/{chunk-TFJVXUHH.js → chunk-I2O6W7DX.js} +1513 -79
  27. package/dist/{chunk-Q7LROV2H.js → chunk-NKNMGIIN.js} +0 -1
  28. package/dist/chunk-OPO5K4DZ.js +241 -0
  29. package/dist/{chunk-TUWMK62B.js → chunk-PUS54YU6.js} +45 -2
  30. package/dist/chunk-QKPXHDLR.js +0 -0
  31. package/dist/{chunk-GZY66SDN.js → chunk-R3KTTOMS.js} +0 -1
  32. package/dist/{chunk-PXLVXTLW.js → chunk-RS5AP3J4.js} +72 -15
  33. package/dist/chunk-WV5ARNDA.js +0 -0
  34. package/dist/{chunk-4X3JQXNM.js → chunk-XOFT65EX.js} +1 -2
  35. package/dist/{chunk-FVTQSNR7.js → chunk-XRW6P7IF.js} +13 -5
  36. package/dist/chunk-XWNNA3KE.js +0 -0
  37. package/dist/chunk-YZNGMV3G.js +0 -0
  38. package/dist/{chunk-R2YZTCLO.js → chunk-ZQKZSJAX.js} +1 -2
  39. package/dist/doc/index.d.ts +166 -12
  40. package/dist/doc/index.js +36 -17
  41. package/dist/generate/index.d.ts +2 -2
  42. package/dist/generate/index.js +2 -3
  43. package/dist/icons/index.js +3 -4
  44. package/dist/icons/inlineIconMarker.js +1 -2
  45. package/dist/imageEdit/index.d.ts +48 -17
  46. package/dist/imageEdit/index.js +3 -4
  47. package/dist/index.d.ts +13 -12
  48. package/dist/index.js +118 -33
  49. package/dist/jsonForm/index.d.ts +10 -3
  50. package/dist/jsonForm/index.js +8 -7
  51. package/dist/markdown/index.d.ts +75 -11
  52. package/dist/markdown/index.js +32 -7
  53. package/dist/materializePageSection-wSLA2A1g.d.ts +223 -0
  54. package/dist/narration/index.d.ts +16 -3
  55. package/dist/narration/index.js +13 -14
  56. package/dist/random/index.d.ts +11 -2
  57. package/dist/random/index.js +2 -3
  58. package/dist/recommend/index.d.ts +1 -1
  59. package/dist/recommend/index.js +3 -4
  60. package/dist/schemas/index.d.ts +31 -6
  61. package/dist/schemas/index.js +43 -6
  62. package/dist/spatial/index.d.ts +2 -1
  63. package/dist/spatial/index.js +1 -2
  64. package/dist/storage/index.d.ts +4 -2
  65. package/dist/storage/index.js +1 -2
  66. package/dist/{themeLibrary-RjVgLpUi.d.ts → themeLibrary-DU9mUmVl.d.ts} +1 -1
  67. package/dist/timing/index.js +3 -4
  68. package/dist/transform/index.d.ts +9 -10
  69. package/dist/transform/index.js +6 -7
  70. package/dist/{types-C4kiRn_k.d.ts → types-8QjefM9J.d.ts} +38 -2
  71. package/dist/{types-BwMPl2CB.d.ts → types-CUNc9biN.d.ts} +24 -1
  72. package/dist/versions/index.d.ts +14 -11
  73. package/dist/versions/index.js +2 -3
  74. package/package.json +4 -2
  75. package/dist/chunk-2PWOO4ZE.js.map +0 -1
  76. package/dist/chunk-2UQOHYE2.js.map +0 -1
  77. package/dist/chunk-3E5F2XMR.js.map +0 -1
  78. package/dist/chunk-4X3JQXNM.js.map +0 -1
  79. package/dist/chunk-5DKBFXPY.js.map +0 -1
  80. package/dist/chunk-5J4HKRJF.js.map +0 -1
  81. package/dist/chunk-5UYI3RJB.js.map +0 -1
  82. package/dist/chunk-66QO7XFB.js.map +0 -1
  83. package/dist/chunk-AMIR72JP.js +0 -380
  84. package/dist/chunk-AMIR72JP.js.map +0 -1
  85. package/dist/chunk-CY2R2VPR.js.map +0 -1
  86. package/dist/chunk-DBS6RIFL.js.map +0 -1
  87. package/dist/chunk-DNJKBAI7.js +0 -1
  88. package/dist/chunk-DNJKBAI7.js.map +0 -1
  89. package/dist/chunk-ET53IIEP.js +0 -1
  90. package/dist/chunk-ET53IIEP.js.map +0 -1
  91. package/dist/chunk-FVJUUTEM.js +0 -74
  92. package/dist/chunk-FVJUUTEM.js.map +0 -1
  93. package/dist/chunk-FVTQSNR7.js.map +0 -1
  94. package/dist/chunk-GZY66SDN.js.map +0 -1
  95. package/dist/chunk-JOQYPRDZ.js.map +0 -1
  96. package/dist/chunk-MMPBOUK7.js.map +0 -1
  97. package/dist/chunk-PGGGKYWG.js +0 -1
  98. package/dist/chunk-PGGGKYWG.js.map +0 -1
  99. package/dist/chunk-PXLVXTLW.js.map +0 -1
  100. package/dist/chunk-Q7LROV2H.js.map +0 -1
  101. package/dist/chunk-QE7TWGVT.js.map +0 -1
  102. package/dist/chunk-R2GC6RLD.js +0 -344
  103. package/dist/chunk-R2GC6RLD.js.map +0 -1
  104. package/dist/chunk-R2YZTCLO.js.map +0 -1
  105. package/dist/chunk-S7A5D7ZJ.js +0 -174
  106. package/dist/chunk-S7A5D7ZJ.js.map +0 -1
  107. package/dist/chunk-TFJVXUHH.js.map +0 -1
  108. package/dist/chunk-TUWMK62B.js.map +0 -1
  109. package/dist/chunk-V543AI2F.js +0 -1
  110. package/dist/chunk-V543AI2F.js.map +0 -1
  111. package/dist/chunk-VR7UPJ7C.js.map +0 -1
  112. package/dist/chunk-W4O2TX5I.js.map +0 -1
  113. package/dist/chunk-X6DUONGT.js.map +0 -1
  114. package/dist/chunk-ZLQKNOZQ.js +0 -1
  115. package/dist/chunk-ZLQKNOZQ.js.map +0 -1
  116. package/dist/doc/index.js.map +0 -1
  117. package/dist/generate/index.js.map +0 -1
  118. package/dist/icons/index.js.map +0 -1
  119. package/dist/icons/inlineIconMarker.js.map +0 -1
  120. package/dist/imageEdit/index.js.map +0 -1
  121. package/dist/index.js.map +0 -1
  122. package/dist/jsonForm/index.js.map +0 -1
  123. package/dist/markdown/index.js.map +0 -1
  124. package/dist/narration/index.js.map +0 -1
  125. package/dist/random/index.js.map +0 -1
  126. package/dist/recommend/index.js.map +0 -1
  127. package/dist/schemas/index.js.map +0 -1
  128. package/dist/spatial/index.js.map +0 -1
  129. package/dist/storage/index.js.map +0 -1
  130. package/dist/timing/index.js.map +0 -1
  131. package/dist/transform/index.js.map +0 -1
  132. package/dist/versions/index.js.map +0 -1
  133. package/src/__tests__/animationUtils.test.ts +0 -117
  134. package/src/__tests__/annotationCoercion.test.ts +0 -243
  135. package/src/__tests__/applyNarrationTiming.test.ts +0 -190
  136. package/src/__tests__/applyRenderStyle.test.ts +0 -146
  137. package/src/__tests__/asciiDiagramBattle.test.ts +0 -246
  138. package/src/__tests__/asciiDiagramDetect.test.ts +0 -162
  139. package/src/__tests__/asciiDiagramMapping.test.ts +0 -38
  140. package/src/__tests__/asciiDiagramParse.test.ts +0 -233
  141. package/src/__tests__/asciiDiagramPipeline.test.ts +0 -273
  142. package/src/__tests__/asciiDiagramRender.test.ts +0 -162
  143. package/src/__tests__/asciiDiagramRepair.test.ts +0 -84
  144. package/src/__tests__/asciiTimelineDetect.test.ts +0 -157
  145. package/src/__tests__/asciiTimelineParse.test.ts +0 -205
  146. package/src/__tests__/asciiTimelinePipeline.test.ts +0 -349
  147. package/src/__tests__/asciiTimelineRender.test.ts +0 -376
  148. package/src/__tests__/atmosphereLayers.test.ts +0 -108
  149. package/src/__tests__/attrTokens.test.ts +0 -167
  150. package/src/__tests__/colorUtils.test.ts +0 -112
  151. package/src/__tests__/contentContainer.test.ts +0 -325
  152. package/src/__tests__/contentExtractor.test.ts +0 -243
  153. package/src/__tests__/coverBlock.test.ts +0 -310
  154. package/src/__tests__/customTemplateSample.test.ts +0 -144
  155. package/src/__tests__/customTemplatesFrontmatter.test.ts +0 -221
  156. package/src/__tests__/customThemesFrontmatter.test.ts +0 -146
  157. package/src/__tests__/dataTable.test.ts +0 -145
  158. package/src/__tests__/diagramBlock.test.ts +0 -122
  159. package/src/__tests__/diagramLayout.test.ts +0 -134
  160. package/src/__tests__/diagramText.test.ts +0 -26
  161. package/src/__tests__/docToMarkdownMedia.test.ts +0 -83
  162. package/src/__tests__/drawing.test.ts +0 -109
  163. package/src/__tests__/drawingBlock.test.ts +0 -124
  164. package/src/__tests__/drawingLayout.test.ts +0 -171
  165. package/src/__tests__/fixtures/asciiDiagramBattle.ts +0 -512
  166. package/src/__tests__/fixtures/asciiDiagrams.ts +0 -287
  167. package/src/__tests__/fixtures/asciiTimelines.ts +0 -35
  168. package/src/__tests__/fixtures/treeviewFixtures.ts +0 -243
  169. package/src/__tests__/geohash.test.ts +0 -110
  170. package/src/__tests__/getLayers.test.ts +0 -243
  171. package/src/__tests__/getLayersFallback.test.ts +0 -103
  172. package/src/__tests__/haversine.test.ts +0 -63
  173. package/src/__tests__/iconResolve.test.ts +0 -122
  174. package/src/__tests__/imageEditExportSvg.test.ts +0 -70
  175. package/src/__tests__/imageEditState.test.ts +0 -74
  176. package/src/__tests__/imageEditVersions.test.ts +0 -243
  177. package/src/__tests__/inferDocumentTitle.test.ts +0 -50
  178. package/src/__tests__/inlineIconMarker.test.ts +0 -36
  179. package/src/__tests__/inputDescriptors.test.ts +0 -162
  180. package/src/__tests__/jsonForm.chooseControl.test.ts +0 -86
  181. package/src/__tests__/jsonForm.evaluateWhen.test.ts +0 -59
  182. package/src/__tests__/jsonForm.inferSchema.test.ts +0 -25
  183. package/src/__tests__/jsonForm.pointer.test.ts +0 -149
  184. package/src/__tests__/jsonForm.tokens.test.ts +0 -84
  185. package/src/__tests__/layoutBlock.test.ts +0 -83
  186. package/src/__tests__/layoutLayout.test.ts +0 -169
  187. package/src/__tests__/localForageAdapter.test.ts +0 -155
  188. package/src/__tests__/majorApiTypes.test.ts +0 -18
  189. package/src/__tests__/markdown.test.ts +0 -1009
  190. package/src/__tests__/markdownIcons.test.ts +0 -104
  191. package/src/__tests__/markdownSanitize.test.ts +0 -81
  192. package/src/__tests__/markdownToDoc.test.ts +0 -957
  193. package/src/__tests__/matchFontFamily.test.ts +0 -114
  194. package/src/__tests__/materializeBlockLayers.test.ts +0 -135
  195. package/src/__tests__/materializeTestUtils.ts +0 -17
  196. package/src/__tests__/mediaAnnotations.test.ts +0 -91
  197. package/src/__tests__/mediaSchedule.test.ts +0 -118
  198. package/src/__tests__/narrationAlign.test.ts +0 -150
  199. package/src/__tests__/narrationFeatures.test.ts +0 -71
  200. package/src/__tests__/narrationNuclei.test.ts +0 -45
  201. package/src/__tests__/narrationPacing.test.ts +0 -189
  202. package/src/__tests__/narrationScript.test.ts +0 -149
  203. package/src/__tests__/narrationSessionRepro.test.ts +0 -62
  204. package/src/__tests__/narrationSidecar.test.ts +0 -88
  205. package/src/__tests__/narrationSyllables.test.ts +0 -65
  206. package/src/__tests__/narrationTestSignals.ts +0 -167
  207. package/src/__tests__/narrationVad.test.ts +0 -66
  208. package/src/__tests__/pandocAttrParse.test.ts +0 -187
  209. package/src/__tests__/recommendTemplates.test.ts +0 -183
  210. package/src/__tests__/resolveDocTheme.test.ts +0 -69
  211. package/src/__tests__/rootExports.test.ts +0 -61
  212. package/src/__tests__/scopedContentContainer.test.ts +0 -109
  213. package/src/__tests__/seededRandom.test.ts +0 -142
  214. package/src/__tests__/shapeGeometry.test.ts +0 -138
  215. package/src/__tests__/shapeVocabulary.test.ts +0 -133
  216. package/src/__tests__/storage.test.ts +0 -60
  217. package/src/__tests__/structuredData.test.ts +0 -249
  218. package/src/__tests__/surface.test.ts +0 -68
  219. package/src/__tests__/templateAnnotationParse.test.ts +0 -160
  220. package/src/__tests__/templateInputs.test.ts +0 -69
  221. package/src/__tests__/templateMetadata.test.ts +0 -32
  222. package/src/__tests__/templates.test.ts +0 -710
  223. package/src/__tests__/themeCompile.test.ts +0 -225
  224. package/src/__tests__/themeValidator.test.ts +0 -131
  225. package/src/__tests__/timing.test.ts +0 -167
  226. package/src/__tests__/transformProvenance.test.ts +0 -160
  227. package/src/__tests__/transformV2.test.ts +0 -163
  228. package/src/__tests__/transitionNormalize.test.ts +0 -61
  229. package/src/__tests__/treeviewBattle.test.ts +0 -76
  230. package/src/__tests__/treeviewDetect.test.ts +0 -168
  231. package/src/__tests__/treeviewParse.test.ts +0 -118
  232. package/src/__tests__/treeviewPipeline.test.ts +0 -183
  233. package/src/__tests__/treeviewRender.test.ts +0 -91
  234. package/src/__tests__/validateDoc.test.ts +0 -260
  235. package/src/__tests__/versions.test.ts +0 -459
  236. package/src/doc/annotationBlocks.ts +0 -117
  237. package/src/doc/applyNarrationTiming.ts +0 -244
  238. package/src/doc/asciiDiagram/chars.ts +0 -210
  239. package/src/doc/asciiDiagram/detect.ts +0 -175
  240. package/src/doc/asciiDiagram/index.ts +0 -38
  241. package/src/doc/asciiDiagram/mapping.ts +0 -225
  242. package/src/doc/asciiDiagram/parse.ts +0 -1095
  243. package/src/doc/asciiDiagram/render.ts +0 -963
  244. package/src/doc/asciiDiagram/repair.ts +0 -400
  245. package/src/doc/asciiDiagram/types.ts +0 -65
  246. package/src/doc/asciiTimeline/detect.ts +0 -138
  247. package/src/doc/asciiTimeline/index.ts +0 -26
  248. package/src/doc/asciiTimeline/mapping.ts +0 -43
  249. package/src/doc/asciiTimeline/parse.ts +0 -870
  250. package/src/doc/asciiTimeline/render.ts +0 -427
  251. package/src/doc/asciiTimeline/types.ts +0 -73
  252. package/src/doc/asciiTimeline/wrappedFlow.ts +0 -427
  253. package/src/doc/audioMapping.ts +0 -442
  254. package/src/doc/customTemplatesFrontmatter.ts +0 -273
  255. package/src/doc/customThemesFrontmatter.ts +0 -95
  256. package/src/doc/docToMarkdown.ts +0 -284
  257. package/src/doc/index.ts +0 -127
  258. package/src/doc/markdownToDoc.ts +0 -1054
  259. package/src/doc/materializeBlockLayers.ts +0 -304
  260. package/src/doc/mediaAnnotations.ts +0 -120
  261. package/src/doc/resolveDocTheme.ts +0 -56
  262. package/src/doc/standaloneAnnotation.ts +0 -58
  263. package/src/doc/structuredData.ts +0 -301
  264. package/src/doc/templateInputs.ts +0 -423
  265. package/src/doc/templates/__tests__/customTemplate.test.ts +0 -170
  266. package/src/doc/templates/__tests__/customTemplateRegistry.test.ts +0 -124
  267. package/src/doc/templates/__tests__/listBlock.test.ts +0 -64
  268. package/src/doc/templates/accentImage.ts +0 -362
  269. package/src/doc/templates/captionUtils.ts +0 -56
  270. package/src/doc/templates/comparisonBar.ts +0 -173
  271. package/src/doc/templates/coverBlock.ts +0 -255
  272. package/src/doc/templates/customTemplate.ts +0 -51
  273. package/src/doc/templates/dataTable.ts +0 -102
  274. package/src/doc/templates/dateEvent.ts +0 -147
  275. package/src/doc/templates/definitionCard.ts +0 -140
  276. package/src/doc/templates/diagramBlock.ts +0 -403
  277. package/src/doc/templates/diagramLayout.ts +0 -159
  278. package/src/doc/templates/drawingBlock.ts +0 -325
  279. package/src/doc/templates/drawingLayout.ts +0 -539
  280. package/src/doc/templates/factCard.ts +0 -146
  281. package/src/doc/templates/fallbackBlock.ts +0 -123
  282. package/src/doc/templates/featureBlock.ts +0 -209
  283. package/src/doc/templates/fullBleedQuote.ts +0 -83
  284. package/src/doc/templates/imageWithCaption.ts +0 -186
  285. package/src/doc/templates/index.ts +0 -642
  286. package/src/doc/templates/inputDescriptors.ts +0 -451
  287. package/src/doc/templates/layoutBlock.ts +0 -43
  288. package/src/doc/templates/layoutLayout.ts +0 -243
  289. package/src/doc/templates/listBlock.ts +0 -207
  290. package/src/doc/templates/mapBlock.ts +0 -138
  291. package/src/doc/templates/metadata.ts +0 -130
  292. package/src/doc/templates/persistentLayers.ts +0 -526
  293. package/src/doc/templates/photoGrid.ts +0 -190
  294. package/src/doc/templates/pullQuote.ts +0 -141
  295. package/src/doc/templates/quoteBlock.ts +0 -141
  296. package/src/doc/templates/registry.ts +0 -88
  297. package/src/doc/templates/sectionHeader.ts +0 -120
  298. package/src/doc/templates/statHighlight.ts +0 -146
  299. package/src/doc/templates/templateNames.ts +0 -22
  300. package/src/doc/templates/timelineBlock.ts +0 -613
  301. package/src/doc/templates/titleBlock.ts +0 -150
  302. package/src/doc/templates/tokens/__tests__/resolveTokens.test.ts +0 -487
  303. package/src/doc/templates/tokens/resolveTokens.ts +0 -453
  304. package/src/doc/templates/treeBlock.ts +0 -131
  305. package/src/doc/templates/twoColumn.ts +0 -263
  306. package/src/doc/templates/videoPullQuote.ts +0 -142
  307. package/src/doc/templates/videoWithCaption.ts +0 -135
  308. package/src/doc/treeview/chars.ts +0 -72
  309. package/src/doc/treeview/detect.ts +0 -145
  310. package/src/doc/treeview/index.ts +0 -30
  311. package/src/doc/treeview/mapping.ts +0 -95
  312. package/src/doc/treeview/parse.ts +0 -201
  313. package/src/doc/treeview/render.ts +0 -41
  314. package/src/doc/treeview/types.ts +0 -43
  315. package/src/doc/utils/animationUtils.ts +0 -399
  316. package/src/doc/utils/applyRenderStyle.ts +0 -106
  317. package/src/doc/utils/diagramText.ts +0 -78
  318. package/src/doc/utils/imageTreatment.ts +0 -70
  319. package/src/doc/utils/nearest.ts +0 -59
  320. package/src/doc/utils/shapeGeometry.ts +0 -614
  321. package/src/doc/utils/themeUtils.ts +0 -243
  322. package/src/doc/validate.ts +0 -575
  323. package/src/generate/contentExtractor.ts +0 -921
  324. package/src/generate/index.ts +0 -18
  325. package/src/generate/templateMapper.ts +0 -177
  326. package/src/icons/iconData.ts +0 -31
  327. package/src/icons/index.ts +0 -26
  328. package/src/icons/inlineIconMarker.ts +0 -73
  329. package/src/icons/resolve.ts +0 -139
  330. package/src/imageEdit/ImageEditVersionManager.ts +0 -73
  331. package/src/imageEdit/export.ts +0 -410
  332. package/src/imageEdit/index.ts +0 -72
  333. package/src/imageEdit/persistence.ts +0 -113
  334. package/src/imageEdit/state.ts +0 -112
  335. package/src/imageEdit/versionPaths.ts +0 -44
  336. package/src/imageEdit/versions.ts +0 -152
  337. package/src/index.ts +0 -15
  338. package/src/internal/immutable.ts +0 -58
  339. package/src/jsonForm/chooseControl.ts +0 -88
  340. package/src/jsonForm/evaluateWhen.ts +0 -59
  341. package/src/jsonForm/index.ts +0 -32
  342. package/src/jsonForm/inferSchema.ts +0 -25
  343. package/src/jsonForm/pointer.ts +0 -154
  344. package/src/jsonForm/tokens.ts +0 -78
  345. package/src/jsonForm/types.ts +0 -167
  346. package/src/markdown/annotationCoercion.ts +0 -295
  347. package/src/markdown/attrTokens.ts +0 -243
  348. package/src/markdown/convert.ts +0 -1353
  349. package/src/markdown/htmlParse.ts +0 -212
  350. package/src/markdown/index.ts +0 -152
  351. package/src/markdown/parse.ts +0 -103
  352. package/src/markdown/sanitize.ts +0 -318
  353. package/src/markdown/stringify.ts +0 -207
  354. package/src/markdown/types.ts +0 -710
  355. package/src/markdown/utils.ts +0 -459
  356. package/src/narration/align.ts +0 -514
  357. package/src/narration/features.ts +0 -231
  358. package/src/narration/index.ts +0 -86
  359. package/src/narration/nuclei.ts +0 -118
  360. package/src/narration/pacing.ts +0 -211
  361. package/src/narration/script.ts +0 -239
  362. package/src/narration/session.ts +0 -100
  363. package/src/narration/sidecar.ts +0 -187
  364. package/src/narration/syllables.ts +0 -85
  365. package/src/narration/trace.ts +0 -50
  366. package/src/narration/types.ts +0 -299
  367. package/src/narration/vad.ts +0 -131
  368. package/src/ngeohash.d.ts +0 -11
  369. package/src/random/SeededRandom.ts +0 -127
  370. package/src/random/index.ts +0 -1
  371. package/src/recommend/index.ts +0 -16
  372. package/src/recommend/numberHighlight.ts +0 -25
  373. package/src/recommend/templates.ts +0 -393
  374. package/src/schemas/BlockTemplates.ts +0 -1046
  375. package/src/schemas/CustomTemplates.ts +0 -126
  376. package/src/schemas/Doc.ts +0 -1052
  377. package/src/schemas/ImageEditDoc.ts +0 -102
  378. package/src/schemas/LayoutStrategy.ts +0 -178
  379. package/src/schemas/Media.ts +0 -179
  380. package/src/schemas/MediaProvider.ts +0 -70
  381. package/src/schemas/Theme.ts +0 -406
  382. package/src/schemas/Transitions.ts +0 -224
  383. package/src/schemas/Types.ts +0 -15
  384. package/src/schemas/Viewport.ts +0 -91
  385. package/src/schemas/colorUtils.ts +0 -219
  386. package/src/schemas/fontStacks.ts +0 -339
  387. package/src/schemas/index.ts +0 -29
  388. package/src/schemas/themeCompile.ts +0 -237
  389. package/src/schemas/themeConstants.ts +0 -2
  390. package/src/schemas/themeLibrary.ts +0 -60
  391. package/src/schemas/themeValidator.ts +0 -426
  392. package/src/schemas/themes/bold.json +0 -48
  393. package/src/schemas/themes/cinematic.json +0 -111
  394. package/src/schemas/themes/documentary.json +0 -96
  395. package/src/schemas/themes/gezellig.json +0 -93
  396. package/src/schemas/themes/index.ts +0 -53
  397. package/src/schemas/themes/magazine.json +0 -89
  398. package/src/schemas/themes/minimalist.json +0 -45
  399. package/src/schemas/themes/morning-light.json +0 -85
  400. package/src/schemas/themes/standard-dark.json +0 -85
  401. package/src/schemas/themes/standard.json +0 -74
  402. package/src/schemas/themes/tech-dark.json +0 -101
  403. package/src/schemas/themes/warm-earth.json +0 -50
  404. package/src/spatial/Geohash.ts +0 -196
  405. package/src/spatial/Haversine.ts +0 -59
  406. package/src/spatial/index.ts +0 -2
  407. package/src/storage/ContentContainer.ts +0 -220
  408. package/src/storage/LocalForageAdapter.ts +0 -103
  409. package/src/storage/LocalStorageAdapter.ts +0 -57
  410. package/src/storage/MediaProviderFromContainer.ts +0 -92
  411. package/src/storage/MemoryStorageAdapter.ts +0 -37
  412. package/src/storage/ScopedContentContainer.ts +0 -143
  413. package/src/storage/Storage.ts +0 -28
  414. package/src/storage/index.ts +0 -9
  415. package/src/timing/index.ts +0 -17
  416. package/src/timing/narrationTiming.ts +0 -220
  417. package/src/timing/readingTime.ts +0 -94
  418. package/src/transform/applyTransform.ts +0 -122
  419. package/src/transform/blockAnalyzer.ts +0 -181
  420. package/src/transform/index.ts +0 -23
  421. package/src/transform/registry.ts +0 -198
  422. package/src/transform/styles/dataDriven.ts +0 -17
  423. package/src/transform/styles/documentary.ts +0 -17
  424. package/src/transform/styles/index.ts +0 -5
  425. package/src/transform/styles/magazine.ts +0 -18
  426. package/src/transform/styles/minimal.ts +0 -17
  427. package/src/transform/styles/narrative.ts +0 -18
  428. package/src/transform/templateSelector.ts +0 -389
  429. package/src/transform/timingAllocator.ts +0 -257
  430. package/src/transform/types.ts +0 -151
  431. package/src/versions/DocumentVersionManager.ts +0 -70
  432. package/src/versions/gitignore.ts +0 -34
  433. package/src/versions/index.ts +0 -56
  434. package/src/versions/operations.ts +0 -144
  435. package/src/versions/paths.ts +0 -51
  436. package/src/versions/snapshotStore.ts +0 -202
  437. package/src/versions/timestamp.ts +0 -48
  438. package/src/versions/types.ts +0 -93
@@ -1,710 +0,0 @@
1
- /**
2
- * Markdown DOM Types
3
- *
4
- * A complete hierarchical JSON representation of a Markdown document.
5
- * Supports perfect-fidelity round-trip conversion between Markdown text
6
- * and this JSON format: parseMarkdown(stringifyMarkdown(doc)) ≡ doc.
7
- *
8
- * Coverage:
9
- * - CommonMark (headings, paragraphs, lists, code, blockquotes, etc.)
10
- * - GFM (tables, strikethrough, task lists, autolinks, footnotes)
11
- * - Math (inline $...$ and display $$...$$)
12
- * - Directives (:::container, ::leaf, :text — used for admonitions, etc.)
13
- * - Raw HTML (parsed into an HtmlNode sub-DOM for programmatic access)
14
- * - Definition lists (type only — for programmatic construction)
15
- */
16
-
17
- // ============================================
18
- // Position Tracking
19
- // ============================================
20
-
21
- /**
22
- * A specific point in the source markdown text.
23
- */
24
- export interface MarkdownPoint {
25
- /** 1-based line number */
26
- line: number;
27
- /** 1-based column number */
28
- column: number;
29
- /** 0-based byte offset from start of document */
30
- offset?: number;
31
- }
32
-
33
- /**
34
- * Source position range for a node (start inclusive, end exclusive).
35
- * Present when parsed from markdown, absent when constructed programmatically.
36
- */
37
- export interface MarkdownSourcePosition {
38
- start: MarkdownPoint;
39
- end: MarkdownPoint;
40
- }
41
-
42
- // ============================================
43
- // HTML Sub-DOM
44
- // ============================================
45
-
46
- /**
47
- * An HTML element with tag name, attributes, and children.
48
- */
49
- export interface HtmlElement {
50
- type: 'htmlElement';
51
- /** HTML tag name (lowercase, e.g., 'div', 'span', 'br') */
52
- tagName: string;
53
- /** HTML attributes as name→value pairs (uses HTML attribute names, e.g., 'class' not 'className') */
54
- attributes: Record<string, string>;
55
- /** Child nodes */
56
- children: HtmlNode[];
57
- /** Whether this is a void/self-closing element (br, hr, img, etc.) */
58
- selfClosing: boolean;
59
- }
60
-
61
- /**
62
- * A raw text node inside HTML.
63
- */
64
- export interface HtmlText {
65
- type: 'htmlText';
66
- value: string;
67
- }
68
-
69
- /**
70
- * An HTML comment (<!-- ... -->).
71
- */
72
- export interface HtmlComment {
73
- type: 'htmlComment';
74
- value: string;
75
- }
76
-
77
- /** Any node in the HTML sub-DOM tree. */
78
- export type HtmlNode = HtmlElement | HtmlText | HtmlComment;
79
-
80
- // ============================================
81
- // Document Root
82
- // ============================================
83
-
84
- /**
85
- * Root node of a parsed markdown document.
86
- */
87
- export interface MarkdownDocument {
88
- type: 'document';
89
- /** Top-level block content */
90
- children: MarkdownBlockNode[];
91
- /** Source position (present when parsed from markdown) */
92
- position?: MarkdownSourcePosition;
93
- /**
94
- * YAML frontmatter key-value pairs extracted from the `---` block
95
- * at the top of the document. Present only when the source contains
96
- * frontmatter and `frontmatter` parsing is enabled (default: true).
97
- */
98
- frontmatter?: Record<string, unknown>;
99
- }
100
-
101
- // ============================================
102
- // Block Content Types
103
- // ============================================
104
-
105
- /** Base properties shared by all markdown nodes. */
106
- interface MarkdownNodeBase {
107
- /** Source position (present when parsed from markdown, absent when programmatically constructed) */
108
- position?: MarkdownSourcePosition;
109
- }
110
-
111
- /**
112
- * Template annotation extracted from a heading's trailing `{[templateName key=value …]}` syntax.
113
- *
114
- * @example
115
- * ```markdown
116
- * ### Report Data {[chart colorScheme=blue]}
117
- * ```
118
- * → `{ template: 'chart', params: { colorScheme: 'blue' } }`
119
- */
120
- export interface HeadingTemplateAnnotation {
121
- /** Template name (first token inside `{[…]}`).
122
- * Optional when the annotation contains only key=value pairs
123
- * (e.g., `{[audio=intro.mp3]}`). */
124
- template?: string;
125
- /** Optional key-value parameters (remaining `key=value` tokens) */
126
- params?: Record<string, string>;
127
- }
128
-
129
- /**
130
- * A directed connection from one block to another, parsed from a heading
131
- * attribute `connectsTo=target1,target2:type,target3`. Mirrors the schema
132
- * `BlockConnection` type — duplicated here so this module stays
133
- * dependency-free from the doc schema.
134
- */
135
- export interface BlockConnection {
136
- /** Target block id. */
137
- target: string;
138
- /** Optional connection type/label (e.g., "flow", "requires"). */
139
- type?: string;
140
- }
141
-
142
- /**
143
- * Pandoc-style heading attribute block, parsed from `{#id .class key=value}`
144
- * appearing at the end of a heading line (alongside, or instead of, the
145
- * squisq-native `{[templateName …]}` block).
146
- *
147
- * @example
148
- * ```markdown
149
- * ## Architecture {#arch x=600 y=300 connectsTo=foo:flow,bar:requires}
150
- * ```
151
- * →
152
- * ```ts
153
- * {
154
- * id: 'arch',
155
- * params: { x: '600', y: '300', connectsTo: 'foo:flow,bar:requires' },
156
- * blockMeta: {
157
- * x: 600,
158
- * y: 300,
159
- * connectsTo: [{ target: 'foo', type: 'flow' }, { target: 'bar', type: 'requires' }],
160
- * },
161
- * }
162
- * ```
163
- *
164
- * `params` carries the raw pre-coercion strings (lossless for round-tripping),
165
- * while `blockMeta` carries the typed values for known keys. Unknown keys flow
166
- * to `metadata`.
167
- */
168
- export interface HeadingAttributes {
169
- /** Block id from `#identifier` (overrides slug-from-heading). */
170
- id?: string;
171
- /** Class tokens from `.classname` (reserved for downstream use). */
172
- classes?: string[];
173
- /** All key=value attributes as raw strings (lossless source for serialization). */
174
- params?: Record<string, string>;
175
- /** Typed values for known block-meta keys (coerced from `params`). */
176
- blockMeta?: {
177
- x?: number;
178
- y?: number;
179
- startTime?: number;
180
- duration?: number;
181
- connectsTo?: BlockConnection[];
182
- transition?: import('../schemas/Transitions.js').Transition;
183
- };
184
- /** Subset of `params` whose keys are NOT in the known-key registry. */
185
- metadata?: Record<string, string>;
186
- }
187
-
188
- /**
189
- * ATX or setext heading (# Heading).
190
- */
191
- export interface MarkdownHeading extends MarkdownNodeBase {
192
- type: 'heading';
193
- /** Heading level (1–6) */
194
- depth: 1 | 2 | 3 | 4 | 5 | 6;
195
- /** Inline content */
196
- children: MarkdownInlineNode[];
197
- /**
198
- * Template annotation parsed from trailing `{[templateName …]}` syntax.
199
- * Present only when the heading text ends with `{[…]}`. The annotation
200
- * is stripped from `children` during parsing and re-injected during
201
- * stringification, so it round-trips transparently.
202
- */
203
- templateAnnotation?: HeadingTemplateAnnotation;
204
- /**
205
- * Pandoc-style heading attributes parsed from trailing `{#id .class key=value}`
206
- * syntax. Independent from `templateAnnotation` — both may appear on the
207
- * same heading in either order. Stripped from `children` during parsing
208
- * and re-injected during stringification.
209
- */
210
- attributes?: HeadingAttributes;
211
- }
212
-
213
- /**
214
- * A paragraph of inline content.
215
- */
216
- export interface MarkdownParagraph extends MarkdownNodeBase {
217
- type: 'paragraph';
218
- children: MarkdownInlineNode[];
219
- }
220
-
221
- /**
222
- * A blockquote (> ...).
223
- */
224
- export interface MarkdownBlockquote extends MarkdownNodeBase {
225
- type: 'blockquote';
226
- children: MarkdownBlockNode[];
227
- }
228
-
229
- /**
230
- * An ordered or unordered list.
231
- */
232
- export interface MarkdownList extends MarkdownNodeBase {
233
- type: 'list';
234
- /** Whether the list is ordered (numbered) or unordered (bulleted) */
235
- ordered: boolean;
236
- /** Starting number for ordered lists (default: 1) */
237
- start?: number | null;
238
- /** Whether items are separated by blank lines (loose list) */
239
- spread?: boolean | null;
240
- children: MarkdownListItem[];
241
- }
242
-
243
- /**
244
- * A single item in a list. May be a task list item if `checked` is non-null.
245
- */
246
- export interface MarkdownListItem extends MarkdownNodeBase {
247
- type: 'listItem';
248
- /** null = not a task item, true = checked [x], false = unchecked [ ] */
249
- checked?: boolean | null;
250
- /** Whether this item contains blank lines (loose) */
251
- spread?: boolean | null;
252
- /** Block content (typically paragraphs, but can contain nested lists, etc.) */
253
- children: MarkdownBlockNode[];
254
- }
255
-
256
- /**
257
- * A fenced or indented code block.
258
- */
259
- export interface MarkdownCodeBlock extends MarkdownNodeBase {
260
- type: 'code';
261
- /** Language identifier (e.g., 'typescript', 'python') */
262
- lang?: string | null;
263
- /** Additional metadata after the language on the fence line */
264
- meta?: string | null;
265
- /** The code content (no trailing newline) */
266
- value: string;
267
- }
268
-
269
- /**
270
- * A thematic break (---, ***, or ___).
271
- */
272
- export interface MarkdownThematicBreak extends MarkdownNodeBase {
273
- type: 'thematicBreak';
274
- }
275
-
276
- /**
277
- * A GFM table.
278
- */
279
- export interface MarkdownTable extends MarkdownNodeBase {
280
- type: 'table';
281
- /** Column alignment: null = default, 'left', 'center', 'right' */
282
- align?: (('left' | 'right' | 'center') | null)[];
283
- /** First row is always the header row */
284
- children: MarkdownTableRow[];
285
- }
286
-
287
- /**
288
- * A row in a table.
289
- */
290
- export interface MarkdownTableRow extends MarkdownNodeBase {
291
- type: 'tableRow';
292
- children: MarkdownTableCell[];
293
- }
294
-
295
- /**
296
- * A cell in a table row.
297
- */
298
- export interface MarkdownTableCell extends MarkdownNodeBase {
299
- type: 'tableCell';
300
- /** Whether this cell is in the header row */
301
- isHeader?: boolean;
302
- children: MarkdownInlineNode[];
303
- }
304
-
305
- /**
306
- * A block of raw HTML.
307
- *
308
- * The `rawHtml` field contains the original HTML string and is used for
309
- * serialization (round-tripping). The `htmlChildren` field contains a
310
- * parsed HTML DOM tree for programmatic traversal.
311
- *
312
- * Note: For partial HTML tags (e.g., just `<div>` without `</div>`),
313
- * `htmlChildren` may not fully represent the structure. The `rawHtml`
314
- * field always preserves the exact original text.
315
- */
316
- export interface MarkdownHtmlBlock extends MarkdownNodeBase {
317
- type: 'htmlBlock';
318
- /** The original raw HTML string (source of truth for serialization) */
319
- rawHtml: string;
320
- /** Parsed HTML DOM tree (for programmatic access) */
321
- htmlChildren: HtmlNode[];
322
- }
323
-
324
- /**
325
- * A display math block ($$...$$).
326
- */
327
- export interface MarkdownMathBlock extends MarkdownNodeBase {
328
- type: 'math';
329
- /** The math content (without $$ delimiters) */
330
- value: string;
331
- /** Optional metadata after the opening $$ */
332
- meta?: string | null;
333
- }
334
-
335
- /**
336
- * A link reference definition: [id]: url "title"
337
- * These are typically not rendered but define targets for reference links.
338
- */
339
- export interface MarkdownLinkDefinition extends MarkdownNodeBase {
340
- type: 'definition';
341
- /** Reference identifier (lowercase, normalized) */
342
- identifier: string;
343
- /** Original label text */
344
- label?: string;
345
- /** URL target */
346
- url: string;
347
- /** Optional title */
348
- title?: string | null;
349
- }
350
-
351
- /**
352
- * A footnote definition: [^id]: content
353
- */
354
- export interface MarkdownFootnoteDefinition extends MarkdownNodeBase {
355
- type: 'footnoteDefinition';
356
- /** Footnote identifier */
357
- identifier: string;
358
- /** Original label text */
359
- label?: string;
360
- /** Footnote content (block-level) */
361
- children: MarkdownBlockNode[];
362
- }
363
-
364
- /**
365
- * A container directive (:::name[label]{attrs}\ncontent\n:::).
366
- * Used for admonitions, callouts, and other structural extensions.
367
- */
368
- export interface MarkdownContainerDirective extends MarkdownNodeBase {
369
- type: 'containerDirective';
370
- /** Directive name (e.g., 'note', 'warning', 'tip') */
371
- name: string;
372
- /** Key-value attributes from {attr=value} */
373
- attributes?: Record<string, string>;
374
- /** Label text from [label] (extracted from children for clean round-tripping) */
375
- label?: string;
376
- /** Block content inside the directive */
377
- children: MarkdownBlockNode[];
378
- }
379
-
380
- /**
381
- * A leaf directive (::name[label]{attrs}).
382
- * Self-contained block-level directive with no content body.
383
- */
384
- export interface MarkdownLeafDirective extends MarkdownNodeBase {
385
- type: 'leafDirective';
386
- /** Directive name */
387
- name: string;
388
- /** Key-value attributes */
389
- attributes?: Record<string, string>;
390
- /** Inline content from [label] */
391
- children: MarkdownInlineNode[];
392
- }
393
-
394
- /**
395
- * A definition list (<dl>).
396
- * This type is for programmatic construction — no standard remark parser
397
- * produces these nodes, but they can be built and rendered.
398
- */
399
- export interface MarkdownDefinitionList extends MarkdownNodeBase {
400
- type: 'definitionList';
401
- children: (MarkdownDefinitionTerm | MarkdownDefinitionDescription)[];
402
- }
403
-
404
- /**
405
- * A term in a definition list (<dt>).
406
- */
407
- export interface MarkdownDefinitionTerm extends MarkdownNodeBase {
408
- type: 'definitionTerm';
409
- children: MarkdownInlineNode[];
410
- }
411
-
412
- /**
413
- * A description in a definition list (<dd>).
414
- */
415
- export interface MarkdownDefinitionDescription extends MarkdownNodeBase {
416
- type: 'definitionDescription';
417
- children: MarkdownBlockNode[];
418
- }
419
-
420
- // ============================================
421
- // Inline Content Types
422
- // ============================================
423
-
424
- /**
425
- * Plain text content.
426
- */
427
- export interface MarkdownText extends MarkdownNodeBase {
428
- type: 'text';
429
- value: string;
430
- }
431
-
432
- /**
433
- * Emphasized text (*text* or _text_).
434
- */
435
- export interface MarkdownEmphasis extends MarkdownNodeBase {
436
- type: 'emphasis';
437
- children: MarkdownInlineNode[];
438
- }
439
-
440
- /**
441
- * Strong emphasis (**text** or __text__).
442
- */
443
- export interface MarkdownStrong extends MarkdownNodeBase {
444
- type: 'strong';
445
- children: MarkdownInlineNode[];
446
- }
447
-
448
- /**
449
- * Strikethrough text (~~text~~). GFM extension.
450
- */
451
- export interface MarkdownStrikethrough extends MarkdownNodeBase {
452
- type: 'delete';
453
- children: MarkdownInlineNode[];
454
- }
455
-
456
- /**
457
- * Inline code (`code`).
458
- */
459
- export interface MarkdownInlineCode extends MarkdownNodeBase {
460
- type: 'inlineCode';
461
- value: string;
462
- }
463
-
464
- /**
465
- * A hyperlink [text](url "title").
466
- */
467
- export interface MarkdownLink extends MarkdownNodeBase {
468
- type: 'link';
469
- /** URL target */
470
- url: string;
471
- /** Optional title (shown on hover) */
472
- title?: string | null;
473
- /** Link text (inline content) */
474
- children: MarkdownInlineNode[];
475
- }
476
-
477
- /**
478
- * An image ![alt](url "title").
479
- */
480
- export interface MarkdownImage extends MarkdownNodeBase {
481
- type: 'image';
482
- /** Image URL */
483
- url: string;
484
- /** Alt text */
485
- alt?: string;
486
- /** Optional title */
487
- title?: string | null;
488
- }
489
-
490
- /**
491
- * A hard line break (two trailing spaces or backslash before newline).
492
- */
493
- export interface MarkdownBreak extends MarkdownNodeBase {
494
- type: 'break';
495
- }
496
-
497
- /**
498
- * Inline raw HTML.
499
- *
500
- * In markdown, individual HTML tags like `<em>` or `</em>` appear as
501
- * separate inline nodes. The `rawHtml` preserves the exact tag text.
502
- * The `htmlChildren` is a best-effort parse (partial tags may not
503
- * produce meaningful trees).
504
- */
505
- export interface MarkdownInlineHtml extends MarkdownNodeBase {
506
- type: 'htmlInline';
507
- /** The original raw HTML string */
508
- rawHtml: string;
509
- /** Parsed HTML DOM tree (best-effort for partial tags) */
510
- htmlChildren: HtmlNode[];
511
- }
512
-
513
- /**
514
- * Inline math ($...$).
515
- */
516
- export interface MarkdownInlineMath extends MarkdownNodeBase {
517
- type: 'inlineMath';
518
- /** Math content (without $ delimiters) */
519
- value: string;
520
- }
521
-
522
- /**
523
- * Inline FontAwesome icon. Authored as `{[name]}` (bare) or
524
- * `{[fa-<family>:name]}` (qualified) in markdown source. The parser
525
- * resolves the token against the FA Free catalog and emits this node;
526
- * unknown / ambiguous tokens stay as literal text.
527
- */
528
- export interface MarkdownInlineIcon extends MarkdownNodeBase {
529
- type: 'inlineIcon';
530
- /** Token exactly as authored — e.g. `github` or `fa-solid:user`. */
531
- token: string;
532
- /** Resolved icon family. */
533
- family: 'brands' | 'solid' | 'regular';
534
- /** Resolved icon name (without the `fa-` prefix). */
535
- name: string;
536
- }
537
-
538
- /**
539
- * A footnote reference [^id]. GFM extension.
540
- */
541
- export interface MarkdownFootnoteReference extends MarkdownNodeBase {
542
- type: 'footnoteReference';
543
- /** Footnote identifier */
544
- identifier: string;
545
- /** Original label text */
546
- label?: string;
547
- }
548
-
549
- /**
550
- * A link via reference [text][id] or [text][] or [text].
551
- */
552
- export interface MarkdownLinkReference extends MarkdownNodeBase {
553
- type: 'linkReference';
554
- /** Reference identifier (normalized) */
555
- identifier: string;
556
- /** Original label text */
557
- label?: string;
558
- /** How the reference is written */
559
- referenceType: 'full' | 'collapsed' | 'shortcut';
560
- /** Link text (inline content) */
561
- children: MarkdownInlineNode[];
562
- }
563
-
564
- /**
565
- * An image via reference ![alt][id].
566
- */
567
- export interface MarkdownImageReference extends MarkdownNodeBase {
568
- type: 'imageReference';
569
- /** Reference identifier (normalized) */
570
- identifier: string;
571
- /** Original label text */
572
- label?: string;
573
- /** How the reference is written */
574
- referenceType: 'full' | 'collapsed' | 'shortcut';
575
- /** Alt text */
576
- alt?: string;
577
- }
578
-
579
- /**
580
- * An inline text directive (:name[label]{attrs}).
581
- */
582
- export interface MarkdownTextDirective extends MarkdownNodeBase {
583
- type: 'textDirective';
584
- /** Directive name */
585
- name: string;
586
- /** Key-value attributes */
587
- attributes?: Record<string, string>;
588
- /** Inline content from [label] */
589
- children: MarkdownInlineNode[];
590
- }
591
-
592
- /**
593
- * An @-mention of a named entity such as a user or agent.
594
- *
595
- * Wire format: `@[Display Name](scheme:id)` — a regular Markdown link
596
- * preceded by `@`, with a namespaced URL scheme that identifies what
597
- * kind of entity is being mentioned. Parsers that don't know about
598
- * mentions still render it as a link with text "Display Name" pointing
599
- * at "scheme:id" — graceful fallback.
600
- */
601
- export interface MarkdownMention extends MarkdownNodeBase {
602
- type: 'mention';
603
- /** Namespace for the mentioned entity (e.g. `"user"`). */
604
- targetKind: string;
605
- /** Stable identifier within the namespace. */
606
- targetId: string;
607
- /** Text shown to the reader. */
608
- displayName: string;
609
- }
610
-
611
- // ============================================
612
- // Union Types
613
- // ============================================
614
-
615
- /** Block-level content that can appear as direct children of the document root, blockquotes, list items, etc. */
616
- export type MarkdownBlockNode =
617
- | MarkdownHeading
618
- | MarkdownParagraph
619
- | MarkdownBlockquote
620
- | MarkdownList
621
- | MarkdownCodeBlock
622
- | MarkdownThematicBreak
623
- | MarkdownTable
624
- | MarkdownHtmlBlock
625
- | MarkdownMathBlock
626
- | MarkdownLinkDefinition
627
- | MarkdownFootnoteDefinition
628
- | MarkdownContainerDirective
629
- | MarkdownLeafDirective
630
- | MarkdownDefinitionList;
631
-
632
- /** Inline/phrasing content that appears inside paragraphs, headings, links, etc. */
633
- export type MarkdownInlineNode =
634
- | MarkdownText
635
- | MarkdownEmphasis
636
- | MarkdownStrong
637
- | MarkdownStrikethrough
638
- | MarkdownInlineCode
639
- | MarkdownLink
640
- | MarkdownImage
641
- | MarkdownBreak
642
- | MarkdownInlineHtml
643
- | MarkdownInlineMath
644
- | MarkdownFootnoteReference
645
- | MarkdownLinkReference
646
- | MarkdownImageReference
647
- | MarkdownTextDirective
648
- | MarkdownMention
649
- | MarkdownInlineIcon;
650
-
651
- /**
652
- * Any node in the markdown tree. Includes structural nodes (listItem,
653
- * tableRow, tableCell, etc.) that only appear as children of specific parents.
654
- * Useful for generic tree-walking functions.
655
- */
656
- export type MarkdownNode =
657
- | MarkdownDocument
658
- | MarkdownBlockNode
659
- | MarkdownInlineNode
660
- | MarkdownListItem
661
- | MarkdownTableRow
662
- | MarkdownTableCell
663
- | MarkdownDefinitionTerm
664
- | MarkdownDefinitionDescription;
665
-
666
- // ============================================
667
- // Options
668
- // ============================================
669
-
670
- /**
671
- * Options for parseMarkdown().
672
- */
673
- export interface ParseOptions {
674
- /** Enable GFM extensions (tables, strikethrough, task lists, autolinks, footnotes). Default: true */
675
- gfm?: boolean;
676
- /** Enable math extensions ($...$ and $$...$$). Default: true */
677
- math?: boolean;
678
- /** Enable directive extensions (:::container, ::leaf, :text). Default: true */
679
- directive?: boolean;
680
- /** Parse raw HTML into HtmlNode sub-DOM trees. Default: true */
681
- parseHtml?: boolean;
682
- /** Enable YAML frontmatter parsing (--- blocks at top of document). Default: true */
683
- frontmatter?: boolean;
684
- }
685
-
686
- /**
687
- * Options for stringifyMarkdown().
688
- */
689
- export interface StringifyOptions {
690
- /** Enable GFM extensions in output. Default: true */
691
- gfm?: boolean;
692
- /** Enable math extensions in output. Default: true */
693
- math?: boolean;
694
- /** Enable directive extensions in output. Default: true */
695
- directive?: boolean;
696
- /** Bullet character for unordered lists. Default: '-' */
697
- bullet?: '-' | '*' | '+';
698
- /** Ordered list delimiter. Default: '.' */
699
- bulletOrdered?: '.' | ')';
700
- /** Emphasis marker character. Default: '*' */
701
- emphasis?: '*' | '_';
702
- /** Strong emphasis marker character. Default: '*' */
703
- strong?: '*' | '_';
704
- /** Thematic break character. Default: '-' */
705
- rule?: '-' | '*' | '_';
706
- /** Code fence character. Default: '`' */
707
- fence?: '`' | '~';
708
- /** Use setext-style headings (underlined) for depth 1-2. Default: false */
709
- setext?: boolean;
710
- }