postext 0.3.19 → 0.3.21

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 (297) hide show
  1. package/dist/__tests__/columnBalancing.test.js +36 -2
  2. package/dist/__tests__/columnBalancing.test.js.map +1 -1
  3. package/dist/__tests__/defaults/calloutStyles.test.d.ts +2 -0
  4. package/dist/__tests__/defaults/calloutStyles.test.d.ts.map +1 -0
  5. package/dist/__tests__/defaults/calloutStyles.test.js +201 -0
  6. package/dist/__tests__/defaults/calloutStyles.test.js.map +1 -0
  7. package/dist/__tests__/defaults/captionStyle.test.d.ts +2 -0
  8. package/dist/__tests__/defaults/captionStyle.test.d.ts.map +1 -0
  9. package/dist/__tests__/defaults/captionStyle.test.js +87 -0
  10. package/dist/__tests__/defaults/captionStyle.test.js.map +1 -0
  11. package/dist/__tests__/defaults/pageSizePreset.test.d.ts +2 -0
  12. package/dist/__tests__/defaults/pageSizePreset.test.d.ts.map +1 -0
  13. package/dist/__tests__/defaults/pageSizePreset.test.js +24 -0
  14. package/dist/__tests__/defaults/pageSizePreset.test.js.map +1 -0
  15. package/dist/__tests__/defaults/paragraphStyles.test.d.ts +2 -0
  16. package/dist/__tests__/defaults/paragraphStyles.test.d.ts.map +1 -0
  17. package/dist/__tests__/defaults/paragraphStyles.test.js +93 -0
  18. package/dist/__tests__/defaults/paragraphStyles.test.js.map +1 -0
  19. package/dist/__tests__/design/pageAnchors.test.d.ts +2 -0
  20. package/dist/__tests__/design/pageAnchors.test.d.ts.map +1 -0
  21. package/dist/__tests__/design/pageAnchors.test.js +140 -0
  22. package/dist/__tests__/design/pageAnchors.test.js.map +1 -0
  23. package/dist/__tests__/directives.test.js +58 -0
  24. package/dist/__tests__/directives.test.js.map +1 -1
  25. package/dist/__tests__/exports.test.js +19 -0
  26. package/dist/__tests__/exports.test.js.map +1 -1
  27. package/dist/__tests__/mirroredMargins.test.d.ts +2 -0
  28. package/dist/__tests__/mirroredMargins.test.d.ts.map +1 -0
  29. package/dist/__tests__/mirroredMargins.test.js +136 -0
  30. package/dist/__tests__/mirroredMargins.test.js.map +1 -0
  31. package/dist/__tests__/numbering.test.js +54 -0
  32. package/dist/__tests__/numbering.test.js.map +1 -1
  33. package/dist/__tests__/openerTitleSource.test.d.ts +2 -0
  34. package/dist/__tests__/openerTitleSource.test.d.ts.map +1 -0
  35. package/dist/__tests__/openerTitleSource.test.js +108 -0
  36. package/dist/__tests__/openerTitleSource.test.js.map +1 -0
  37. package/dist/__tests__/overStretch.test.d.ts +2 -0
  38. package/dist/__tests__/overStretch.test.d.ts.map +1 -0
  39. package/dist/__tests__/overStretch.test.js +35 -0
  40. package/dist/__tests__/overStretch.test.js.map +1 -0
  41. package/dist/__tests__/pageRoles.test.d.ts +2 -0
  42. package/dist/__tests__/pageRoles.test.d.ts.map +1 -0
  43. package/dist/__tests__/pageRoles.test.js +95 -0
  44. package/dist/__tests__/pageRoles.test.js.map +1 -0
  45. package/dist/__tests__/parse/containers.test.d.ts +2 -0
  46. package/dist/__tests__/parse/containers.test.d.ts.map +1 -0
  47. package/dist/__tests__/parse/containers.test.js +204 -0
  48. package/dist/__tests__/parse/containers.test.js.map +1 -0
  49. package/dist/__tests__/parse/headingAttrs.test.d.ts +2 -0
  50. package/dist/__tests__/parse/headingAttrs.test.d.ts.map +1 -0
  51. package/dist/__tests__/parse/headingAttrs.test.js +62 -0
  52. package/dist/__tests__/parse/headingAttrs.test.js.map +1 -0
  53. package/dist/__tests__/parse/inlineRef.test.js +26 -0
  54. package/dist/__tests__/parse/inlineRef.test.js.map +1 -1
  55. package/dist/__tests__/parts.test.d.ts +2 -0
  56. package/dist/__tests__/parts.test.d.ts.map +1 -0
  57. package/dist/__tests__/parts.test.js +405 -0
  58. package/dist/__tests__/parts.test.js.map +1 -0
  59. package/dist/__tests__/pipeline/calloutLayout.test.d.ts +2 -0
  60. package/dist/__tests__/pipeline/calloutLayout.test.d.ts.map +1 -0
  61. package/dist/__tests__/pipeline/calloutLayout.test.js +273 -0
  62. package/dist/__tests__/pipeline/calloutLayout.test.js.map +1 -0
  63. package/dist/__tests__/pipeline/calloutPlacement.test.d.ts +2 -0
  64. package/dist/__tests__/pipeline/calloutPlacement.test.d.ts.map +1 -0
  65. package/dist/__tests__/pipeline/calloutPlacement.test.js +239 -0
  66. package/dist/__tests__/pipeline/calloutPlacement.test.js.map +1 -0
  67. package/dist/__tests__/pipeline/captionLayout.test.d.ts +2 -0
  68. package/dist/__tests__/pipeline/captionLayout.test.d.ts.map +1 -0
  69. package/dist/__tests__/pipeline/captionLayout.test.js +269 -0
  70. package/dist/__tests__/pipeline/captionLayout.test.js.map +1 -0
  71. package/dist/__tests__/pipeline/inlineRefRender.test.js +53 -0
  72. package/dist/__tests__/pipeline/inlineRefRender.test.js.map +1 -1
  73. package/dist/__tests__/pipeline/orderedSeparator.test.d.ts +2 -0
  74. package/dist/__tests__/pipeline/orderedSeparator.test.d.ts.map +1 -0
  75. package/dist/__tests__/pipeline/orderedSeparator.test.js +196 -0
  76. package/dist/__tests__/pipeline/orderedSeparator.test.js.map +1 -0
  77. package/dist/__tests__/pipeline/paragraphStyles.test.d.ts +2 -0
  78. package/dist/__tests__/pipeline/paragraphStyles.test.d.ts.map +1 -0
  79. package/dist/__tests__/pipeline/paragraphStyles.test.js +172 -0
  80. package/dist/__tests__/pipeline/paragraphStyles.test.js.map +1 -0
  81. package/dist/__tests__/pipeline/spanBands.test.d.ts +2 -0
  82. package/dist/__tests__/pipeline/spanBands.test.d.ts.map +1 -0
  83. package/dist/__tests__/pipeline/spanBands.test.js +303 -0
  84. package/dist/__tests__/pipeline/spanBands.test.js.map +1 -0
  85. package/dist/__tests__/pipeline/spanBlocks.test.d.ts +2 -0
  86. package/dist/__tests__/pipeline/spanBlocks.test.d.ts.map +1 -0
  87. package/dist/__tests__/pipeline/spanBlocks.test.js +407 -0
  88. package/dist/__tests__/pipeline/spanBlocks.test.js.map +1 -0
  89. package/dist/__tests__/placeholders.test.d.ts +2 -0
  90. package/dist/__tests__/placeholders.test.d.ts.map +1 -0
  91. package/dist/__tests__/placeholders.test.js +130 -0
  92. package/dist/__tests__/placeholders.test.js.map +1 -0
  93. package/dist/__tests__/table/model.test.js +24 -0
  94. package/dist/__tests__/table/model.test.js.map +1 -1
  95. package/dist/__tests__/tracking.test.d.ts +2 -0
  96. package/dist/__tests__/tracking.test.d.ts.map +1 -0
  97. package/dist/__tests__/tracking.test.js +37 -0
  98. package/dist/__tests__/tracking.test.js.map +1 -0
  99. package/dist/__tests__/urlBreaks.test.d.ts +2 -0
  100. package/dist/__tests__/urlBreaks.test.d.ts.map +1 -0
  101. package/dist/__tests__/urlBreaks.test.js +57 -0
  102. package/dist/__tests__/urlBreaks.test.js.map +1 -0
  103. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  104. package/dist/canvas-backend/blockRender.js +20 -1
  105. package/dist/canvas-backend/blockRender.js.map +1 -1
  106. package/dist/canvas-backend/decorations.d.ts +3 -0
  107. package/dist/canvas-backend/decorations.d.ts.map +1 -1
  108. package/dist/canvas-backend/decorations.js +14 -8
  109. package/dist/canvas-backend/decorations.js.map +1 -1
  110. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  111. package/dist/canvas-backend/headerFooter.js +23 -0
  112. package/dist/canvas-backend/headerFooter.js.map +1 -1
  113. package/dist/canvas-backend/index.d.ts.map +1 -1
  114. package/dist/canvas-backend/index.js +4 -2
  115. package/dist/canvas-backend/index.js.map +1 -1
  116. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  117. package/dist/canvas-backend/renderResourceBlock.js +33 -5
  118. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  119. package/dist/columnRule.d.ts +19 -0
  120. package/dist/columnRule.d.ts.map +1 -0
  121. package/dist/columnRule.js +36 -0
  122. package/dist/columnRule.js.map +1 -0
  123. package/dist/defaults/bodyText.js +1 -1
  124. package/dist/defaults/bodyText.js.map +1 -1
  125. package/dist/defaults/calloutStyles.d.ts +61 -0
  126. package/dist/defaults/calloutStyles.d.ts.map +1 -0
  127. package/dist/defaults/calloutStyles.js +292 -0
  128. package/dist/defaults/calloutStyles.js.map +1 -0
  129. package/dist/defaults/captionStyle.d.ts +11 -1
  130. package/dist/defaults/captionStyle.d.ts.map +1 -1
  131. package/dist/defaults/captionStyle.js +127 -2
  132. package/dist/defaults/captionStyle.js.map +1 -1
  133. package/dist/defaults/headerFooter.d.ts.map +1 -1
  134. package/dist/defaults/headerFooter.js +3 -0
  135. package/dist/defaults/headerFooter.js.map +1 -1
  136. package/dist/defaults/headings.d.ts +3 -0
  137. package/dist/defaults/headings.d.ts.map +1 -1
  138. package/dist/defaults/headings.js +33 -6
  139. package/dist/defaults/headings.js.map +1 -1
  140. package/dist/defaults/index.d.ts +4 -1
  141. package/dist/defaults/index.d.ts.map +1 -1
  142. package/dist/defaults/index.js +28 -1
  143. package/dist/defaults/index.js.map +1 -1
  144. package/dist/defaults/orderedLists.d.ts +9 -8
  145. package/dist/defaults/orderedLists.d.ts.map +1 -1
  146. package/dist/defaults/orderedLists.js +66 -4
  147. package/dist/defaults/orderedLists.js.map +1 -1
  148. package/dist/defaults/page.d.ts.map +1 -1
  149. package/dist/defaults/page.js +14 -3
  150. package/dist/defaults/page.js.map +1 -1
  151. package/dist/defaults/paragraphStyles.d.ts +10 -0
  152. package/dist/defaults/paragraphStyles.d.ts.map +1 -0
  153. package/dist/defaults/paragraphStyles.js +67 -0
  154. package/dist/defaults/paragraphStyles.js.map +1 -0
  155. package/dist/defaults/parts.d.ts +22 -0
  156. package/dist/defaults/parts.d.ts.map +1 -0
  157. package/dist/defaults/parts.js +139 -0
  158. package/dist/defaults/parts.js.map +1 -0
  159. package/dist/defaults/shared.d.ts.map +1 -1
  160. package/dist/defaults/shared.js +110 -17
  161. package/dist/defaults/shared.js.map +1 -1
  162. package/dist/defaults/tableStyle.d.ts.map +1 -1
  163. package/dist/defaults/tableStyle.js +6 -0
  164. package/dist/defaults/tableStyle.js.map +1 -1
  165. package/dist/design/layout.d.ts +27 -1
  166. package/dist/design/layout.d.ts.map +1 -1
  167. package/dist/design/layout.js +39 -8
  168. package/dist/design/layout.js.map +1 -1
  169. package/dist/design/placeholders.d.ts +21 -4
  170. package/dist/design/placeholders.d.ts.map +1 -1
  171. package/dist/design/placeholders.js +38 -7
  172. package/dist/design/placeholders.js.map +1 -1
  173. package/dist/html-backend.d.ts.map +1 -1
  174. package/dist/html-backend.js +75 -16
  175. package/dist/html-backend.js.map +1 -1
  176. package/dist/index.d.ts +13 -9
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +7 -4
  179. package/dist/index.js.map +1 -1
  180. package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
  181. package/dist/knuthPlass/breakpoints.js +4 -2
  182. package/dist/knuthPlass/breakpoints.js.map +1 -1
  183. package/dist/knuthPlass/constants.d.ts +7 -0
  184. package/dist/knuthPlass/constants.d.ts.map +1 -1
  185. package/dist/knuthPlass/constants.js +7 -0
  186. package/dist/knuthPlass/constants.js.map +1 -1
  187. package/dist/knuthPlass/richAdapter.d.ts +2 -0
  188. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  189. package/dist/knuthPlass/richAdapter.js +6 -6
  190. package/dist/knuthPlass/richAdapter.js.map +1 -1
  191. package/dist/measure/cache.js +2 -2
  192. package/dist/measure/cache.js.map +1 -1
  193. package/dist/measure/rich.d.ts +8 -0
  194. package/dist/measure/rich.d.ts.map +1 -1
  195. package/dist/measure/rich.js +54 -10
  196. package/dist/measure/rich.js.map +1 -1
  197. package/dist/measure/types.d.ts +4 -0
  198. package/dist/measure/types.d.ts.map +1 -1
  199. package/dist/measure/types.js.map +1 -1
  200. package/dist/parse/attrs.d.ts +10 -0
  201. package/dist/parse/attrs.d.ts.map +1 -0
  202. package/dist/parse/attrs.js +20 -0
  203. package/dist/parse/attrs.js.map +1 -0
  204. package/dist/parse/blockParser.d.ts +8 -4
  205. package/dist/parse/blockParser.d.ts.map +1 -1
  206. package/dist/parse/blockParser.js +134 -20
  207. package/dist/parse/blockParser.js.map +1 -1
  208. package/dist/parse/index.d.ts +2 -2
  209. package/dist/parse/index.d.ts.map +1 -1
  210. package/dist/parse/index.js +1 -1
  211. package/dist/parse/index.js.map +1 -1
  212. package/dist/parse/inlineFormatting.d.ts +17 -1
  213. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  214. package/dist/parse/inlineFormatting.js +56 -7
  215. package/dist/parse/inlineFormatting.js.map +1 -1
  216. package/dist/parse/sourceMapping.d.ts.map +1 -1
  217. package/dist/parse/sourceMapping.js +13 -1
  218. package/dist/parse/sourceMapping.js.map +1 -1
  219. package/dist/parse/types.d.ts +55 -5
  220. package/dist/parse/types.d.ts.map +1 -1
  221. package/dist/pipeline/bandCaps.d.ts +86 -0
  222. package/dist/pipeline/bandCaps.d.ts.map +1 -0
  223. package/dist/pipeline/bandCaps.js +142 -0
  224. package/dist/pipeline/bandCaps.js.map +1 -0
  225. package/dist/pipeline/build.d.ts +41 -0
  226. package/dist/pipeline/build.d.ts.map +1 -1
  227. package/dist/pipeline/build.js +675 -168
  228. package/dist/pipeline/build.js.map +1 -1
  229. package/dist/pipeline/buildBlockKind.d.ts +8 -0
  230. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  231. package/dist/pipeline/buildBlockKind.js +40 -11
  232. package/dist/pipeline/buildBlockKind.js.map +1 -1
  233. package/dist/pipeline/buildHelpers.d.ts +23 -1
  234. package/dist/pipeline/buildHelpers.d.ts.map +1 -1
  235. package/dist/pipeline/buildHelpers.js +50 -6
  236. package/dist/pipeline/buildHelpers.js.map +1 -1
  237. package/dist/pipeline/calloutLayout.d.ts +107 -0
  238. package/dist/pipeline/calloutLayout.d.ts.map +1 -0
  239. package/dist/pipeline/calloutLayout.js +498 -0
  240. package/dist/pipeline/calloutLayout.js.map +1 -0
  241. package/dist/pipeline/columnBalancing.d.ts +26 -8
  242. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  243. package/dist/pipeline/columnBalancing.js +50 -18
  244. package/dist/pipeline/columnBalancing.js.map +1 -1
  245. package/dist/pipeline/config.d.ts.map +1 -1
  246. package/dist/pipeline/config.js +17 -5
  247. package/dist/pipeline/config.js.map +1 -1
  248. package/dist/pipeline/headerFooter.d.ts +37 -2
  249. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  250. package/dist/pipeline/headerFooter.js +231 -15
  251. package/dist/pipeline/headerFooter.js.map +1 -1
  252. package/dist/pipeline/lists.d.ts +15 -0
  253. package/dist/pipeline/lists.d.ts.map +1 -1
  254. package/dist/pipeline/lists.js +73 -16
  255. package/dist/pipeline/lists.js.map +1 -1
  256. package/dist/pipeline/measureContentBlock.d.ts +65 -0
  257. package/dist/pipeline/measureContentBlock.d.ts.map +1 -0
  258. package/dist/pipeline/measureContentBlock.js +134 -0
  259. package/dist/pipeline/measureContentBlock.js.map +1 -0
  260. package/dist/pipeline/pageRoles.d.ts +23 -0
  261. package/dist/pipeline/pageRoles.d.ts.map +1 -0
  262. package/dist/pipeline/pageRoles.js +54 -0
  263. package/dist/pipeline/pageRoles.js.map +1 -0
  264. package/dist/pipeline/paragraphContainers.d.ts +32 -0
  265. package/dist/pipeline/paragraphContainers.d.ts.map +1 -0
  266. package/dist/pipeline/paragraphContainers.js +61 -0
  267. package/dist/pipeline/paragraphContainers.js.map +1 -0
  268. package/dist/pipeline/parts.d.ts +47 -0
  269. package/dist/pipeline/parts.d.ts.map +1 -0
  270. package/dist/pipeline/parts.js +230 -0
  271. package/dist/pipeline/parts.js.map +1 -0
  272. package/dist/pipeline/placeholders.d.ts +46 -1
  273. package/dist/pipeline/placeholders.d.ts.map +1 -1
  274. package/dist/pipeline/placeholders.js +93 -11
  275. package/dist/pipeline/placeholders.js.map +1 -1
  276. package/dist/pipeline/placement.d.ts +61 -7
  277. package/dist/pipeline/placement.d.ts.map +1 -1
  278. package/dist/pipeline/placement.js +151 -12
  279. package/dist/pipeline/placement.js.map +1 -1
  280. package/dist/pipeline/resourceLayout.d.ts +18 -5
  281. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  282. package/dist/pipeline/resourceLayout.js +145 -23
  283. package/dist/pipeline/resourceLayout.js.map +1 -1
  284. package/dist/pipeline/styles.d.ts +9 -1
  285. package/dist/pipeline/styles.d.ts.map +1 -1
  286. package/dist/pipeline/styles.js +50 -0
  287. package/dist/pipeline/styles.js.map +1 -1
  288. package/dist/table/model.d.ts.map +1 -1
  289. package/dist/table/model.js +16 -2
  290. package/dist/table/model.js.map +1 -1
  291. package/dist/types.d.ts +468 -2
  292. package/dist/types.d.ts.map +1 -1
  293. package/dist/vdt.d.ts +132 -4
  294. package/dist/vdt.d.ts.map +1 -1
  295. package/dist/vdt.js +2 -1
  296. package/dist/vdt.js.map +1 -1
  297. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiD5C;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,MAAW,EACX,eAAuB,EACvB,KAAa,EACb,GAAW,EACX,cAAsB,EACtB,iBAAiF;IAEjF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,QAAgB,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,QAAQ,GAAG,eAAe,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YACzE,MAAM,cAAc,GAAG,eAAe,CACpC,IAAI,CAAC,UAAU,EACf,cAAc,EACd,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAClC,CAAC;YACF,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CAAC,QAAwB,EAAE,cAAsB;IACpF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC;IACtC,OAAO,oBAAoB,CACzB,KAAK,CAAC,MAAM,EACZ,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,EAChD,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC7C,GAAG,EACH,cAAc,EACd,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAwB,EACxB,cAAsB,EACtB,qBAA0C;IAE1C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;IACpC,OAAO,oBAAoB,CACzB,KAAK,CAAC,MAAM,EACZ,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,EAChD,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC7C,GAAG,EACH,cAAc;IACd,uDAAuD;IACvD,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,CAClC,qBAAqB,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;WACnC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,MAAM,KAAK,GAA4B;QACrC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;QACjD,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC;QAC7C,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;KACpD,CAAC;IACF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACd,GAAG,IAAI,CAAC,CAAC;YACT,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,CAAS,EAAE,KAAc;IACxC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,CAAC,IAAI,CAAC,CAAC;QACP,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS,EAAE,MAA+B;IAClE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,KAAK,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,KAAK,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,KAAK,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,aAA6B,EAC7B,QAAwB,EACxB,cAAsB;IAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE/C,sEAAsE;IACtE,MAAM,gBAAgB,GAAa,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QACpE,OAAO,eAAe,CACpB,GAAG,CAAC,UAAU,EACd,UAAU,EACV,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,EACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACvC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAE,CAAC;QAC/C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,QAAQ;gBAAE,QAAQ,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACpC,CAAC;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,QAAQ,GAAG,YAAY;YAAE,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAQ,EAAE;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,KAAK;gBAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,YAAY,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAa,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC;QACrD,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QAEpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,4EAA4E;YAC5E,yEAAyE;YACzE,yEAAyE;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;YACrD,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;YACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;YACzF,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAa,EACb,QAAwB,EACxB,cAAwB,EACxB,OAAgB,EAChB,MAAe;IAEf,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAqC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IAE9E,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7D,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAE9G,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,KAAK,CAAC,eAAe;YACvB,CAAC,CAAC,KAAK,CAAC,gBAAgB;QAC1B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;IAE3B,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpF,MAAM,mBAAmB,GACvB,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,SAAS,GAAG,mBAAmB,IAAI,SAAS,CAAC,KAAK,CAAC;IAEzD,MAAM,IAAI,GAAe;QACvB,GAAG,SAAS;QACZ,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS;QAChE,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW;QACpE,WAAW;QACX,cAAc;QACd,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF,MAAM,MAAM,GAAoB;QAC9B,QAAQ;QACR,UAAU,EAAE,UAAU;QACtB,gBAAgB;QAChB,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG;QAClC,aAAa;QACb,KAAK;QACL,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa;QACb,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,gBAAgB;KACjB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,MAAM;QACN,qBAAqB,EAAE,QAAQ;QAC/B,iBAAiB,EAAE,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC,0BAA0B;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,QAAwB,EACxB,cAAwB,EACxB,MAAwB;IAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAmC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IAE5E,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7D,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAE9G,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpF,iFAAiF;IACjF,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEvF,MAAM,IAAI,GAAe;QACvB,GAAG,SAAS;QACZ,WAAW;QACX,cAAc;QACd,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF,MAAM,MAAM,GAAoB;QAC9B,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,gBAAgB;QAClC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG;QAClC,oFAAoF;QACpF,uEAAuE;QACvE,aAAa,EAAE,MAAM,CAAC,gBAAgB;QACtC,KAAK;QACL,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa;QACb,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,gBAAgB;KACjB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,MAAM;QACN,qBAAqB,EAAE,QAAQ,GAAG,kBAAkB;QACpD,iBAAiB,EAAE,KAAK;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Per-block measurement for the placement loop: resolves a parsed content
3
+ * block into its kind/style, enriches inline math and `:ref` spans, lays out
4
+ * the text (or the resource group) against a column width, and stamps source
5
+ * ranges. Pure with respect to the document — nothing here touches pages,
6
+ * columns, or the cursor — so the main loop can re-run it freely (e.g. the
7
+ * column-balancing "loose paragraph" re-measure) and stays focused on
8
+ * placement decisions.
9
+ */
10
+ import type { ContentBlock } from '../parse';
11
+ import type { Resource, ResourceType } from '../types';
12
+ import type { ResolvedResourceBlock } from '../vdt';
13
+ import type { MeasuredBlock, MeasurementCache } from '../measure';
14
+ import type { renderMath } from '../math';
15
+ import type { BlockStyle } from './styles';
16
+ import { type BlockKind, type BlockKindContext } from './buildBlockKind';
17
+ import type { ResourceNumberingMap } from './resourceNumbering';
18
+ /** Everything `measureContentBlock` needs that is constant across one
19
+ * placement pass. Built once before the loop; `blockIdx` and the paragraph
20
+ * style override are per-call (see `measureContentBlock` arguments). */
21
+ export interface BlockMeasureContext extends Omit<BlockKindContext, 'blockIdx' | 'paragraphStyleOverride'> {
22
+ /** The parsed blocks of the document — for neighbour lookaheads. */
23
+ contentBlocks: readonly ContentBlock[];
24
+ cache?: MeasurementCache;
25
+ /** Source offset of the markdown body inside the original document. */
26
+ bodyOffset: number;
27
+ resources: Resource[];
28
+ resourceTypes: ResourceType[];
29
+ resourceNumbering: ResourceNumberingMap;
30
+ /** Ids of resources that float to page bands (never placed inline). */
31
+ floatedIds: ReadonlySet<string>;
32
+ }
33
+ export interface MeasuredContentBlock {
34
+ kind: BlockKind;
35
+ /** The block after math/ref enrichment — what was actually measured. */
36
+ contentBlock: ContentBlock;
37
+ measured: MeasuredBlock;
38
+ /** Length of the heading-number prefix prepended to the plain text. */
39
+ prefixLen: number;
40
+ /** `rawBlock.sourceMap` shifted by `bodyOffset`. */
41
+ absoluteSourceMap: number[];
42
+ mathDisplayRender?: ReturnType<typeof renderMath>;
43
+ /** Present for `resource` kinds: the laid-out image/table + caption group. */
44
+ resourceBlock?: ResolvedResourceBlock;
45
+ /** Tracking the text was measured with (px per glyph), when column
46
+ * balancing asked for it — renderers must paint the block with it. */
47
+ letterSpacingPx?: number;
48
+ }
49
+ export interface MeasureContentBlockOptions {
50
+ /** Column-balancing "run a paragraph long" — Knuth-Plass looseness. Left
51
+ * undefined for the common case so measurement cache keys are unchanged. */
52
+ looseness?: number;
53
+ /** Column-balancing tracking for a loose paragraph, in em per glyph
54
+ * (`headings.balancing.maxTracking / 1000` at most). Rich path only. */
55
+ trackingEm?: number;
56
+ /** Paragraph style forced by an enclosing `:::paragraphs` container. */
57
+ styleOverride?: BlockStyle;
58
+ }
59
+ /**
60
+ * Resolve and measure one content block at `columnWidth`. Returns `null` when
61
+ * there is nothing to place inline: empty text, an unknown resource id, or a
62
+ * resource that floats to a page band.
63
+ */
64
+ export declare function measureContentBlock(rawBlock: ContentBlock, blockIdx: number, columnWidth: number, ctx: BlockMeasureContext, opts?: MeasureContentBlockOptions): MeasuredContentBlock | null;
65
+ //# sourceMappingURL=measureContentBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureContentBlock.d.ts","sourceRoot":"","sources":["../../src/pipeline/measureContentBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAO3C,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;yEAEyE;AACzE,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,wBAAwB,CAAC;IACrE,oEAAoE;IACpE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,uEAAuE;IACvE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,wEAAwE;IACxE,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAClD,8EAA8E;IAC9E,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;2EACuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC;iFAC6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6EACyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,mBAAmB,EACxB,IAAI,CAAC,EAAE,0BAA0B,GAChC,oBAAoB,GAAG,IAAI,CAoI7B"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Per-block measurement for the placement loop: resolves a parsed content
3
+ * block into its kind/style, enriches inline math and `:ref` spans, lays out
4
+ * the text (or the resource group) against a column width, and stamps source
5
+ * ranges. Pure with respect to the document — nothing here touches pages,
6
+ * columns, or the cursor — so the main loop can re-run it freely (e.g. the
7
+ * column-balancing "loose paragraph" re-measure) and stays focused on
8
+ * placement decisions.
9
+ */
10
+ import { computeMeasureViewport, enrichMathSpans, isMarkerBlock, stampSourceRanges, } from './buildHelpers';
11
+ import { resolveBlockKind } from './buildBlockKind';
12
+ import { runMeasurement } from './buildMeasurement';
13
+ import { resolveRefSpans } from './resourceLayout';
14
+ /**
15
+ * Resolve and measure one content block at `columnWidth`. Returns `null` when
16
+ * there is nothing to place inline: empty text, an unknown resource id, or a
17
+ * resource that floats to a page band.
18
+ */
19
+ export function measureContentBlock(rawBlock, blockIdx, columnWidth, ctx, opts) {
20
+ const { resolved, bodyStyle, contentBlocks, cache, bodyOffset } = ctx;
21
+ const kind = resolveBlockKind(rawBlock, {
22
+ ...ctx,
23
+ blockIdx,
24
+ paragraphStyleOverride: opts?.styleOverride,
25
+ });
26
+ const { style, vdtType, listBullet } = kind;
27
+ let contentBlock = kind.contentBlock;
28
+ const mathEnabled = resolved.math.enabled;
29
+ // --- Resource blocks (image / svg / table + caption) -----------------
30
+ // Laid out as one atomic group. Unknown ids produce nothing (the warnings
31
+ // phase surfaces them); floated resources are anchored by their directive
32
+ // but land in a page band, so they are never measured inline.
33
+ if (vdtType === 'resource') {
34
+ if (!kind.resource || ctx.floatedIds.has(kind.resource.id))
35
+ return null;
36
+ const { resourceBlock, measured } = runMeasurement({
37
+ vdtType,
38
+ rawBlock,
39
+ contentBlock,
40
+ style,
41
+ measureMaxWidth: columnWidth,
42
+ measureOptions: { textAlign: style.textAlign },
43
+ mathEnabled,
44
+ useRich: false,
45
+ resolved,
46
+ resources: ctx.resources,
47
+ resourceTypes: ctx.resourceTypes,
48
+ resourceNumbering: ctx.resourceNumbering,
49
+ resource: kind.resource,
50
+ resourceType: kind.resourceType,
51
+ resourceNumber: kind.resourceNumber,
52
+ });
53
+ if (!resourceBlock)
54
+ return null;
55
+ return { kind, contentBlock, measured, prefixLen: 0, absoluteSourceMap: [], resourceBlock };
56
+ }
57
+ // Resolve inline math on spans (no-op when the block has no math).
58
+ contentBlock = enrichMathSpans(contentBlock, style, resolved);
59
+ // Resolve inline `:ref{…}` spans to their computed label so references
60
+ // print their number in the running text. Each label becomes one atomic,
61
+ // non-breaking token tagged with its `refResourceId` (handled by the
62
+ // rich-text measurer), so we always take the rich path for ref blocks.
63
+ if (contentBlock.spans.some((s) => s.ref)) {
64
+ contentBlock = {
65
+ ...contentBlock,
66
+ spans: resolveRefSpans(contentBlock.spans, ctx.resourceNumbering, ctx.resourceTypes, ctx.resources, {
67
+ bold: bodyStyle.referenceBold ?? true,
68
+ italic: bodyStyle.referenceItalic ?? false,
69
+ }),
70
+ };
71
+ }
72
+ const hasRichSpans = contentBlock.spans.some((s) => s.bold || s.italic || s.mathRender || s.ref);
73
+ // List items reserve horizontal space for indent + bullet + gap.
74
+ const { measureMaxWidth, lineXShift, measureFirstLineIndent, measureHangingIndent, } = computeMeasureViewport(columnWidth, style, listBullet);
75
+ // First-paragraph-after-heading: typographic convention used in many
76
+ // scientific publications and book styles where the paragraph that
77
+ // immediately follows a heading is rendered without first-line indent.
78
+ // Only applies to regular paragraphs without hanging indent; list items
79
+ // and hanging-indent paragraphs are unaffected.
80
+ let effectiveFirstLineIndent = measureFirstLineIndent;
81
+ if (vdtType === 'paragraph'
82
+ && !resolved.bodyText.indentAfterHeading
83
+ && !style.hangingIndent
84
+ && blockIdx > 0) {
85
+ let prevIdx = blockIdx - 1;
86
+ while (prevIdx >= 0
87
+ && (contentBlocks[prevIdx].type === 'directive' || isMarkerBlock(contentBlocks[prevIdx])))
88
+ prevIdx--;
89
+ if (prevIdx >= 0 && contentBlocks[prevIdx].type === 'heading') {
90
+ effectiveFirstLineIndent = 0;
91
+ }
92
+ }
93
+ const runtActive = resolved.bodyText.avoidRunts
94
+ && (vdtType === 'paragraph'
95
+ || (vdtType === 'listItem' && resolved.bodyText.avoidRuntsInLists));
96
+ // Tracking is measured on the rich path (per-token canvas widths); left
97
+ // undefined when unused so the common-case cache keys stay unchanged.
98
+ const hasRichFonts = !!(style.boldFontString && style.italicFontString && style.boldItalicFontString);
99
+ const letterSpacingPx = hasRichFonts && opts?.trackingEm ? opts.trackingEm * style.fontSizePx : 0;
100
+ const measureOptions = {
101
+ textAlign: style.textAlign,
102
+ hyphenate: style.hyphenate,
103
+ firstLineIndentPx: effectiveFirstLineIndent,
104
+ hangingIndent: measureHangingIndent,
105
+ optimal: resolved.bodyText.optimalLineBreaking,
106
+ maxStretchRatio: resolved.bodyText.maxWordSpacing,
107
+ minShrinkRatio: resolved.bodyText.minWordSpacing,
108
+ runtPenalty: runtActive ? resolved.bodyText.runtPenalty : 0,
109
+ runtMinCharacters: runtActive ? resolved.bodyText.runtMinCharacters : 0,
110
+ looseness: opts?.looseness,
111
+ letterSpacingPx: letterSpacingPx > 0 ? letterSpacingPx : undefined,
112
+ };
113
+ // URLs / DOIs get their bare break opportunities on the rich path only.
114
+ const hasUrl = /(?:^|\s)(?:(?:https?|ftp):\/\/|www\.|10\.\d{4,}\/)\S/i.test(contentBlock.text);
115
+ const useRich = hasRichFonts && (hasRichSpans || letterSpacingPx > 0 || hasUrl);
116
+ const { measured, mathDisplayRender } = runMeasurement({
117
+ vdtType, rawBlock, contentBlock, style, measureMaxWidth, measureOptions, mathEnabled, useRich, cache,
118
+ });
119
+ if (measured.lines.length === 0)
120
+ return null;
121
+ if (lineXShift > 0) {
122
+ for (const line of measured.lines) {
123
+ line.bbox.x += lineXShift;
124
+ }
125
+ }
126
+ // Per-line source-range mapping using the block's plain→source map.
127
+ // Accounts for heading numbering prefix which prepends chars with no source.
128
+ const { prefixLen, absoluteSourceMap } = stampSourceRanges(measured, rawBlock, contentBlock, bodyOffset);
129
+ return {
130
+ kind, contentBlock, measured, prefixLen, absoluteSourceMap, mathDisplayRender,
131
+ ...(letterSpacingPx > 0 ? { letterSpacingPx } : {}),
132
+ };
133
+ }
134
+ //# sourceMappingURL=measureContentBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureContentBlock.js","sourceRoot":"","sources":["../../src/pipeline/measureContentBlock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Page role classification. Runs once after placement (at the top of
3
+ * `buildHeadersAndFooters`) and stamps `page.role` so design slots can filter
4
+ * elements per page kind (`DesignElement.pages`).
5
+ *
6
+ * Roles, in precedence order:
7
+ * - `'blank'` — parity / force-blank padding pages;
8
+ * - `'part'` — part-divider pages (`page.partInfo` set), even when the
9
+ * body column is empty (the opener design is the content);
10
+ * - `'blank'` — any other page with no content at all (no column blocks
11
+ * and no floats);
12
+ * - `'opener'` — the first block in reading order is a heading whose level
13
+ * spans the page or forces a page break before it: the
14
+ * first page of a chapter;
15
+ * - `'body'` — everything else.
16
+ */
17
+ import type { PageRole } from '../types';
18
+ import type { ResolvedConfig, VDTDocument, VDTPage } from '../vdt';
19
+ /** Classify one page. Pure — does not mutate the page. */
20
+ export declare function classifyPage(page: VDTPage, resolved: ResolvedConfig): PageRole;
21
+ /** Stamp `page.role` on every page of `doc`. */
22
+ export declare function classifyPages(doc: VDTDocument, resolved?: ResolvedConfig): void;
23
+ //# sourceMappingURL=pageRoles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageRoles.d.ts","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAY,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAiB7E,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,GAAG,QAAQ,CAU9E;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAE,cAA2B,GAAG,IAAI,CAI3F"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Page role classification. Runs once after placement (at the top of
3
+ * `buildHeadersAndFooters`) and stamps `page.role` so design slots can filter
4
+ * elements per page kind (`DesignElement.pages`).
5
+ *
6
+ * Roles, in precedence order:
7
+ * - `'blank'` — parity / force-blank padding pages;
8
+ * - `'part'` — part-divider pages (`page.partInfo` set), even when the
9
+ * body column is empty (the opener design is the content);
10
+ * - `'blank'` — any other page with no content at all (no column blocks
11
+ * and no floats);
12
+ * - `'opener'` — the first block in reading order is a heading whose level
13
+ * spans the page or forces a page break before it: the
14
+ * first page of a chapter;
15
+ * - `'body'` — everything else.
16
+ */
17
+ import { buildHeadingLevelMap } from './config';
18
+ /** First block of the page in reading order (columns in index order), or
19
+ * `undefined` when the page holds no column content. */
20
+ function firstBlockInReadingOrder(page) {
21
+ for (const col of page.columns) {
22
+ if (col.blocks.length > 0)
23
+ return col.blocks[0];
24
+ }
25
+ return undefined;
26
+ }
27
+ function pageIsEmpty(page) {
28
+ if (page.floats && page.floats.length > 0)
29
+ return false;
30
+ return page.columns.every((c) => c.blocks.length === 0);
31
+ }
32
+ /** Classify one page. Pure — does not mutate the page. */
33
+ export function classifyPage(page, resolved) {
34
+ if (page.blankForParity || page.blankForForce)
35
+ return 'blank';
36
+ if (page.partInfo)
37
+ return 'part';
38
+ if (pageIsEmpty(page))
39
+ return 'blank';
40
+ const first = firstBlockInReadingOrder(page);
41
+ if (first && first.type === 'heading' && first.headingLevel !== undefined) {
42
+ const level = buildHeadingLevelMap(resolved).get(first.headingLevel);
43
+ if (level && (level.span === 'page' || level.breakBefore.enabled))
44
+ return 'opener';
45
+ }
46
+ return 'body';
47
+ }
48
+ /** Stamp `page.role` on every page of `doc`. */
49
+ export function classifyPages(doc, resolved = doc.config) {
50
+ for (const page of doc.pages) {
51
+ page.role = classifyPage(page, resolved);
52
+ }
53
+ }
54
+ //# sourceMappingURL=pageRoles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageRoles.js","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD;yDACyD;AACzD,SAAS,wBAAwB,CAAC,IAAa;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,QAAwB;IAClE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;IACrF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,WAA2B,GAAG,CAAC,MAAM;IACnF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Pre-pass for `:::paragraphs{style="…"}` containers. The placement loop
3
+ * rewinds `blockIdx` on keep-with-next rollbacks and replays the blocks in
4
+ * between (marker blocks included), so container state is resolved up front
5
+ * per content-block index instead of being pushed/popped inside the loop.
6
+ */
7
+ import type { ContentBlock } from '../parse';
8
+ import type { ResolvedConfig } from '../vdt';
9
+ import { type BlockStyle } from './styles';
10
+ export interface ParagraphContainer {
11
+ /** `containerId` of the start/end marker pair. */
12
+ id: number;
13
+ /** Style for every paragraph in the container. */
14
+ style: BlockStyle;
15
+ /** Style for the container's last paragraph: the container's
16
+ * `marginBottom` is baked into its `marginBottomPx` so the grid snap that
17
+ * closes the container guarantees the margin (grid wins, margin is a
18
+ * minimum — the same convention snapped headings follow). */
19
+ tailStyle: BlockStyle;
20
+ /** Applied on entry through pending spacing. */
21
+ marginTopPx: number;
22
+ /** Fallback for containers whose last block is not a paragraph. */
23
+ marginBottomPx: number;
24
+ }
25
+ export interface ParagraphContainerPlan {
26
+ /** Container id → entry, for `paragraphs` containers with a known style. */
27
+ byId: Map<number, ParagraphContainer>;
28
+ /** Content-block index → innermost enclosing paragraph container. */
29
+ byBlock: Array<ParagraphContainer | undefined>;
30
+ }
31
+ export declare function planParagraphContainers(contentBlocks: readonly ContentBlock[], resolved: ResolvedConfig): ParagraphContainerPlan;
32
+ //# sourceMappingURL=paragraphContainers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraphContainers.d.ts","sourceRoot":"","sources":["../../src/pipeline/paragraphContainers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,UAAU,CAAC;IAClB;;;kEAG8D;IAC9D,SAAS,EAAE,UAAU,CAAC;IACtB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtC,qEAAqE;IACrE,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,SAAS,YAAY,EAAE,EACtC,QAAQ,EAAE,cAAc,GACvB,sBAAsB,CAiDxB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Pre-pass for `:::paragraphs{style="…"}` containers. The placement loop
3
+ * rewinds `blockIdx` on keep-with-next rollbacks and replays the blocks in
4
+ * between (marker blocks included), so container state is resolved up front
5
+ * per content-block index instead of being pushed/popped inside the loop.
6
+ */
7
+ import { dimensionToPx } from '../units';
8
+ import { resolveParagraphStyle } from './styles';
9
+ export function planParagraphContainers(contentBlocks, resolved) {
10
+ const byId = new Map();
11
+ const byBlock = new Array(contentBlocks.length);
12
+ const dpi = resolved.page.dpi;
13
+ // Every open container occupies one slot, undefined for non-`paragraphs`
14
+ // containers and for unknown style ids (those render as plain body text —
15
+ // the build has no warnings channel; the editor's warnings phase can flag
16
+ // them).
17
+ const open = [];
18
+ const cache = new Map();
19
+ for (let i = 0; i < contentBlocks.length; i++) {
20
+ const b = contentBlocks[i];
21
+ if (b.type === 'containerStart') {
22
+ let entry;
23
+ const styleId = b.containerAttrs?.style;
24
+ if (b.containerName === 'paragraphs' && styleId !== undefined && b.containerId !== undefined) {
25
+ let base = cache.get(styleId);
26
+ if (!base) {
27
+ const cfg = resolved.paragraphStyles.find((s) => s.id === styleId);
28
+ if (cfg) {
29
+ const style = resolveParagraphStyle(cfg, resolved);
30
+ const marginBottomPx = dimensionToPx(cfg.marginBottom, dpi, style.fontSizePx);
31
+ base = {
32
+ style,
33
+ tailStyle: { ...style, marginBottomPx: Math.max(style.marginBottomPx, marginBottomPx) },
34
+ marginTopPx: dimensionToPx(cfg.marginTop, dpi, style.fontSizePx),
35
+ marginBottomPx,
36
+ };
37
+ cache.set(styleId, base);
38
+ }
39
+ }
40
+ if (base) {
41
+ entry = { id: b.containerId, ...base };
42
+ byId.set(b.containerId, entry);
43
+ }
44
+ }
45
+ open.push(entry);
46
+ continue;
47
+ }
48
+ if (b.type === 'containerEnd') {
49
+ open.pop();
50
+ continue;
51
+ }
52
+ for (let j = open.length - 1; j >= 0; j--) {
53
+ if (open[j]) {
54
+ byBlock[i] = open[j];
55
+ break;
56
+ }
57
+ }
58
+ }
59
+ return { byId, byBlock };
60
+ }
61
+ //# sourceMappingURL=paragraphContainers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paragraphContainers.js","sourceRoot":"","sources":["../../src/pipeline/paragraphContainers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Pre-pass and derived typography for `:::part{number="…" title="…"}`
3
+ * containers. Like the other container plans, part ranges are resolved up
4
+ * front per content-block index (the placement loop rewinds `blockIdx` on
5
+ * keep-with-next rollbacks and replays the markers in between).
6
+ */
7
+ import type { ContentBlock } from '../parse';
8
+ import type { ResolvedConfig } from '../vdt';
9
+ import type { BlockMeasureContext } from './measureContentBlock';
10
+ export interface PlannedPart {
11
+ /** Content-block index of the `containerStart` marker. */
12
+ startIdx: number;
13
+ /** Content-block index of the matching `containerEnd` marker. */
14
+ endIdx: number;
15
+ containerId: number;
16
+ /** `number` attribute as written (`'I'`, `'2'`, …); `''` when absent. */
17
+ number: string;
18
+ /** `title` attribute; `''` when absent. */
19
+ title: string;
20
+ }
21
+ export interface PartPlan {
22
+ /** Start-marker index → part. */
23
+ byStart: Map<number, PlannedPart>;
24
+ /** End-marker index → part. */
25
+ byEnd: Map<number, PlannedPart>;
26
+ /** Content-block index → enclosing part (markers excluded). A part nested
27
+ * inside another part is flattened into the outer one. */
28
+ byBlock: Array<PlannedPart | undefined>;
29
+ }
30
+ export declare function planParts(contentBlocks: readonly ContentBlock[]): PartPlan;
31
+ /** Numeric value of a part number written as a decimal (`'3'`) or a roman
32
+ * numeral (`'III'`, `'iv'`), so `{numberDecimal}` / `{numberRoman}` work
33
+ * whichever way the author wrote it. `undefined` for anything else. */
34
+ export declare function parsePartNumber(raw: string): number | undefined;
35
+ /** Shallow copy of `resolved` whose `bodyText` and list configs carry the
36
+ * `parts.bodyStyle` overrides, so the body/list resolvers yield the part
37
+ * typography without any part-specific branches (the callout approach).
38
+ * Ordered-list numbers are set bold in `numberColor`; bullets take
39
+ * `bulletColor`. Level-specific values only follow an override when they
40
+ * still equal the general value they were resolved from. The
41
+ * `bodyStyle.unorderedLists` / `orderedLists` partials apply last. */
42
+ export declare function derivePartResolvedConfig(resolved: ResolvedConfig): ResolvedConfig;
43
+ /** Measurement context for the blocks inside a part: the derived config
44
+ * plus the body / blockquote styles, list indents and ordered-list number
45
+ * widths recomputed from it. */
46
+ export declare function derivePartMeasureContext(ctx: BlockMeasureContext): BlockMeasureContext;
47
+ //# sourceMappingURL=parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../src/pipeline/parts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAQ7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,iCAAiC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,+BAA+B;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC;+DAC2D;IAC3D,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,wBAAgB,SAAS,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,QAAQ,CAgC1E;AAOD;;wEAEwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB/D;AAmID;;;;;;uEAMuE;AACvE,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CA0BjF;AAED;;iCAEiC;AACjC,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,mBAAmB,CAqBtF"}