postext 1.36.0 → 1.38.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 (300) hide show
  1. package/dist/__tests__/comics/frames.test.d.ts +2 -0
  2. package/dist/__tests__/comics/frames.test.d.ts.map +1 -0
  3. package/dist/__tests__/comics/frames.test.js +251 -0
  4. package/dist/__tests__/comics/frames.test.js.map +1 -0
  5. package/dist/__tests__/composed/continuation.test.d.ts +2 -0
  6. package/dist/__tests__/composed/continuation.test.d.ts.map +1 -0
  7. package/dist/__tests__/composed/continuation.test.js +352 -0
  8. package/dist/__tests__/composed/continuation.test.js.map +1 -0
  9. package/dist/__tests__/composed/continuationRules.test.d.ts +2 -0
  10. package/dist/__tests__/composed/continuationRules.test.d.ts.map +1 -0
  11. package/dist/__tests__/composed/continuationRules.test.js +389 -0
  12. package/dist/__tests__/composed/continuationRules.test.js.map +1 -0
  13. package/dist/__tests__/composed/contrast.test.d.ts +2 -0
  14. package/dist/__tests__/composed/contrast.test.d.ts.map +1 -0
  15. package/dist/__tests__/composed/contrast.test.js +124 -0
  16. package/dist/__tests__/composed/contrast.test.js.map +1 -0
  17. package/dist/__tests__/composed/corpus.test.js +7 -1
  18. package/dist/__tests__/composed/corpus.test.js.map +1 -1
  19. package/dist/__tests__/composed/coverImages.test.d.ts +2 -0
  20. package/dist/__tests__/composed/coverImages.test.d.ts.map +1 -0
  21. package/dist/__tests__/composed/coverImages.test.js +75 -0
  22. package/dist/__tests__/composed/coverImages.test.js.map +1 -0
  23. package/dist/__tests__/composed/decorationSize.test.d.ts +2 -0
  24. package/dist/__tests__/composed/decorationSize.test.d.ts.map +1 -0
  25. package/dist/__tests__/composed/decorationSize.test.js +79 -0
  26. package/dist/__tests__/composed/decorationSize.test.js.map +1 -0
  27. package/dist/__tests__/composed/emptyFrames.test.d.ts +2 -0
  28. package/dist/__tests__/composed/emptyFrames.test.d.ts.map +1 -0
  29. package/dist/__tests__/composed/emptyFrames.test.js +129 -0
  30. package/dist/__tests__/composed/emptyFrames.test.js.map +1 -0
  31. package/dist/__tests__/composed/fit.test.js +19 -10
  32. package/dist/__tests__/composed/fit.test.js.map +1 -1
  33. package/dist/__tests__/composed/groups.test.js +34 -0
  34. package/dist/__tests__/composed/groups.test.js.map +1 -1
  35. package/dist/__tests__/composed/headingDesigns.test.d.ts +2 -0
  36. package/dist/__tests__/composed/headingDesigns.test.d.ts.map +1 -0
  37. package/dist/__tests__/composed/headingDesigns.test.js +262 -0
  38. package/dist/__tests__/composed/headingDesigns.test.js.map +1 -0
  39. package/dist/__tests__/composed/labels.test.d.ts +2 -0
  40. package/dist/__tests__/composed/labels.test.d.ts.map +1 -0
  41. package/dist/__tests__/composed/labels.test.js +326 -0
  42. package/dist/__tests__/composed/labels.test.js.map +1 -0
  43. package/dist/__tests__/composed/outsidePrint.test.js +5 -2
  44. package/dist/__tests__/composed/outsidePrint.test.js.map +1 -1
  45. package/dist/__tests__/composed/ruledFrames.test.d.ts +2 -0
  46. package/dist/__tests__/composed/ruledFrames.test.d.ts.map +1 -0
  47. package/dist/__tests__/composed/ruledFrames.test.js +93 -0
  48. package/dist/__tests__/composed/ruledFrames.test.js.map +1 -0
  49. package/dist/__tests__/composed/sourceMap.test.js +26 -0
  50. package/dist/__tests__/composed/sourceMap.test.js.map +1 -1
  51. package/dist/__tests__/composed/spread.test.js +82 -0
  52. package/dist/__tests__/composed/spread.test.js.map +1 -1
  53. package/dist/__tests__/composed/spreadLabels.test.d.ts +2 -0
  54. package/dist/__tests__/composed/spreadLabels.test.d.ts.map +1 -0
  55. package/dist/__tests__/composed/spreadLabels.test.js +131 -0
  56. package/dist/__tests__/composed/spreadLabels.test.js.map +1 -0
  57. package/dist/__tests__/exports.test.js +23 -0
  58. package/dist/__tests__/exports.test.js.map +1 -1
  59. package/dist/__tests__/migrate/fixtures/textbookPort.d.ts +14 -0
  60. package/dist/__tests__/migrate/fixtures/textbookPort.d.ts.map +1 -0
  61. package/dist/__tests__/migrate/fixtures/textbookPort.js +116 -0
  62. package/dist/__tests__/migrate/fixtures/textbookPort.js.map +1 -0
  63. package/dist/__tests__/migrate/labelsOnPictures.test.d.ts +2 -0
  64. package/dist/__tests__/migrate/labelsOnPictures.test.d.ts.map +1 -0
  65. package/dist/__tests__/migrate/labelsOnPictures.test.js +114 -0
  66. package/dist/__tests__/migrate/labelsOnPictures.test.js.map +1 -0
  67. package/dist/__tests__/migrate/textToMarkdown.test.d.ts +2 -0
  68. package/dist/__tests__/migrate/textToMarkdown.test.d.ts.map +1 -0
  69. package/dist/__tests__/migrate/textToMarkdown.test.js +268 -0
  70. package/dist/__tests__/migrate/textToMarkdown.test.js.map +1 -0
  71. package/dist/__tests__/paragraphDropCap.test.js +38 -0
  72. package/dist/__tests__/paragraphDropCap.test.js.map +1 -1
  73. package/dist/__tests__/paragraphStyleLetterSpacing.test.d.ts +2 -0
  74. package/dist/__tests__/paragraphStyleLetterSpacing.test.d.ts.map +1 -0
  75. package/dist/__tests__/paragraphStyleLetterSpacing.test.js +89 -0
  76. package/dist/__tests__/paragraphStyleLetterSpacing.test.js.map +1 -0
  77. package/dist/__tests__/pictureBelowPrintSize.test.d.ts +2 -0
  78. package/dist/__tests__/pictureBelowPrintSize.test.d.ts.map +1 -0
  79. package/dist/__tests__/pictureBelowPrintSize.test.js +82 -0
  80. package/dist/__tests__/pictureBelowPrintSize.test.js.map +1 -0
  81. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +1 -1
  82. package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
  83. package/dist/__tests__/resourceTypePartial.test.d.ts +2 -0
  84. package/dist/__tests__/resourceTypePartial.test.d.ts.map +1 -0
  85. package/dist/__tests__/resourceTypePartial.test.js +60 -0
  86. package/dist/__tests__/resourceTypePartial.test.js.map +1 -0
  87. package/dist/canvas-backend/composed.d.ts +8 -2
  88. package/dist/canvas-backend/composed.d.ts.map +1 -1
  89. package/dist/canvas-backend/composed.js +52 -29
  90. package/dist/canvas-backend/composed.js.map +1 -1
  91. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  92. package/dist/canvas-backend/headerFooter.js +13 -0
  93. package/dist/canvas-backend/headerFooter.js.map +1 -1
  94. package/dist/canvas-backend/index.d.ts.map +1 -1
  95. package/dist/canvas-backend/index.js +53 -24
  96. package/dist/canvas-backend/index.js.map +1 -1
  97. package/dist/canvas-backend/renderResourceBlock.d.ts +5 -1
  98. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  99. package/dist/canvas-backend/renderResourceBlock.js +60 -1
  100. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  101. package/dist/comics/frames.d.ts +82 -0
  102. package/dist/comics/frames.d.ts.map +1 -0
  103. package/dist/comics/frames.js +182 -0
  104. package/dist/comics/frames.js.map +1 -0
  105. package/dist/comics/index.d.ts +4 -1
  106. package/dist/comics/index.d.ts.map +1 -1
  107. package/dist/comics/index.js +3 -1
  108. package/dist/comics/index.js.map +1 -1
  109. package/dist/comics/layoutPage.d.ts +9 -0
  110. package/dist/comics/layoutPage.d.ts.map +1 -1
  111. package/dist/comics/layoutPage.js +53 -68
  112. package/dist/comics/layoutPage.js.map +1 -1
  113. package/dist/comics/page.d.ts.map +1 -1
  114. package/dist/comics/page.js +10 -1
  115. package/dist/comics/page.js.map +1 -1
  116. package/dist/comics/sourceMap.d.ts +60 -0
  117. package/dist/comics/sourceMap.d.ts.map +1 -0
  118. package/dist/comics/sourceMap.js +166 -0
  119. package/dist/comics/sourceMap.js.map +1 -0
  120. package/dist/comics/spread.d.ts.map +1 -1
  121. package/dist/comics/spread.js +6 -0
  122. package/dist/comics/spread.js.map +1 -1
  123. package/dist/comics/textPanels.d.ts +113 -0
  124. package/dist/comics/textPanels.d.ts.map +1 -0
  125. package/dist/comics/textPanels.js +327 -0
  126. package/dist/comics/textPanels.js.map +1 -0
  127. package/dist/comics/transform.d.ts +6 -2
  128. package/dist/comics/transform.d.ts.map +1 -1
  129. package/dist/comics/transform.js +14 -1
  130. package/dist/comics/transform.js.map +1 -1
  131. package/dist/comics/types.d.ts +10 -0
  132. package/dist/comics/types.d.ts.map +1 -1
  133. package/dist/composed/continuation.d.ts +152 -0
  134. package/dist/composed/continuation.d.ts.map +1 -0
  135. package/dist/composed/continuation.js +189 -0
  136. package/dist/composed/continuation.js.map +1 -0
  137. package/dist/composed/groups.d.ts +3 -0
  138. package/dist/composed/groups.d.ts.map +1 -1
  139. package/dist/composed/groups.js +34 -4
  140. package/dist/composed/groups.js.map +1 -1
  141. package/dist/composed/labels.d.ts +154 -0
  142. package/dist/composed/labels.d.ts.map +1 -0
  143. package/dist/composed/labels.js +524 -0
  144. package/dist/composed/labels.js.map +1 -0
  145. package/dist/composed/pageMemo.d.ts +3 -2
  146. package/dist/composed/pageMemo.d.ts.map +1 -1
  147. package/dist/composed/pageMemo.js +3 -1
  148. package/dist/composed/pageMemo.js.map +1 -1
  149. package/dist/composed/paint.d.ts +28 -3
  150. package/dist/composed/paint.d.ts.map +1 -1
  151. package/dist/composed/paint.js +48 -2
  152. package/dist/composed/paint.js.map +1 -1
  153. package/dist/composed/reflowLog.d.ts +3 -1
  154. package/dist/composed/reflowLog.d.ts.map +1 -1
  155. package/dist/composed/reflowLog.js +20 -6
  156. package/dist/composed/reflowLog.js.map +1 -1
  157. package/dist/composed/rules.d.ts +31 -0
  158. package/dist/composed/rules.d.ts.map +1 -0
  159. package/dist/composed/rules.js +45 -0
  160. package/dist/composed/rules.js.map +1 -0
  161. package/dist/composed/slotChecks.d.ts +2 -1
  162. package/dist/composed/slotChecks.d.ts.map +1 -1
  163. package/dist/composed/slotChecks.js +56 -2
  164. package/dist/composed/slotChecks.js.map +1 -1
  165. package/dist/composed/sourceMap.d.ts +0 -21
  166. package/dist/composed/sourceMap.d.ts.map +1 -1
  167. package/dist/composed/sourceMap.js +102 -8
  168. package/dist/composed/sourceMap.js.map +1 -1
  169. package/dist/composed/spread.d.ts +23 -5
  170. package/dist/composed/spread.d.ts.map +1 -1
  171. package/dist/composed/spread.js +52 -27
  172. package/dist/composed/spread.js.map +1 -1
  173. package/dist/composed/templates.d.ts +11 -0
  174. package/dist/composed/templates.d.ts.map +1 -1
  175. package/dist/composed/templates.js +51 -2
  176. package/dist/composed/templates.js.map +1 -1
  177. package/dist/composed/types.d.ts +43 -3
  178. package/dist/composed/types.d.ts.map +1 -1
  179. package/dist/composed/validate.d.ts.map +1 -1
  180. package/dist/composed/validate.js +5 -3
  181. package/dist/composed/validate.js.map +1 -1
  182. package/dist/configWarnings.d.ts +15 -0
  183. package/dist/configWarnings.d.ts.map +1 -1
  184. package/dist/configWarnings.js +40 -18
  185. package/dist/configWarnings.js.map +1 -1
  186. package/dist/contrast.d.ts +5 -3
  187. package/dist/contrast.d.ts.map +1 -1
  188. package/dist/contrast.js +46 -5
  189. package/dist/contrast.js.map +1 -1
  190. package/dist/defaults/headerFooter.d.ts.map +1 -1
  191. package/dist/defaults/headerFooter.js +4 -0
  192. package/dist/defaults/headerFooter.js.map +1 -1
  193. package/dist/defaults/paragraphStyles.d.ts +1 -1
  194. package/dist/defaults/paragraphStyles.d.ts.map +1 -1
  195. package/dist/defaults/paragraphStyles.js +5 -1
  196. package/dist/defaults/paragraphStyles.js.map +1 -1
  197. package/dist/defaults/resourceTypes.d.ts +15 -0
  198. package/dist/defaults/resourceTypes.d.ts.map +1 -1
  199. package/dist/defaults/resourceTypes.js +39 -1
  200. package/dist/defaults/resourceTypes.js.map +1 -1
  201. package/dist/design/layout.d.ts +7 -0
  202. package/dist/design/layout.d.ts.map +1 -1
  203. package/dist/design/layout.js +109 -16
  204. package/dist/design/layout.js.map +1 -1
  205. package/dist/design/slots.d.ts +12 -10
  206. package/dist/design/slots.d.ts.map +1 -1
  207. package/dist/design/slots.js +26 -2
  208. package/dist/design/slots.js.map +1 -1
  209. package/dist/fonts/faces.d.ts.map +1 -1
  210. package/dist/fonts/faces.js +6 -0
  211. package/dist/fonts/faces.js.map +1 -1
  212. package/dist/highlightMarks.d.ts.map +1 -1
  213. package/dist/highlightMarks.js +6 -0
  214. package/dist/highlightMarks.js.map +1 -1
  215. package/dist/html-backend.d.ts.map +1 -1
  216. package/dist/html-backend.js +83 -7
  217. package/dist/html-backend.js.map +1 -1
  218. package/dist/htmlComic.d.ts +3 -0
  219. package/dist/htmlComic.d.ts.map +1 -1
  220. package/dist/htmlComic.js +2 -0
  221. package/dist/htmlComic.js.map +1 -1
  222. package/dist/index.d.ts +12 -8
  223. package/dist/index.d.ts.map +1 -1
  224. package/dist/index.js +7 -3
  225. package/dist/index.js.map +1 -1
  226. package/dist/migrate/markdownRuns.d.ts +70 -0
  227. package/dist/migrate/markdownRuns.d.ts.map +1 -0
  228. package/dist/migrate/markdownRuns.js +215 -0
  229. package/dist/migrate/markdownRuns.js.map +1 -0
  230. package/dist/migrate/pageDesign.d.ts +152 -0
  231. package/dist/migrate/pageDesign.d.ts.map +1 -0
  232. package/dist/migrate/pageDesign.js +573 -0
  233. package/dist/migrate/pageDesign.js.map +1 -0
  234. package/dist/migrate/textToMarkdown.d.ts +156 -0
  235. package/dist/migrate/textToMarkdown.d.ts.map +1 -0
  236. package/dist/migrate/textToMarkdown.js +913 -0
  237. package/dist/migrate/textToMarkdown.js.map +1 -0
  238. package/dist/parse/blockParser.js +26 -0
  239. package/dist/parse/blockParser.js.map +1 -1
  240. package/dist/pipeline/build.d.ts.map +1 -1
  241. package/dist/pipeline/build.js +388 -41
  242. package/dist/pipeline/build.js.map +1 -1
  243. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  244. package/dist/pipeline/buildMeasurement.js +12 -1
  245. package/dist/pipeline/buildMeasurement.js.map +1 -1
  246. package/dist/pipeline/calloutLayout.d.ts +25 -1
  247. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  248. package/dist/pipeline/calloutLayout.js +100 -2
  249. package/dist/pipeline/calloutLayout.js.map +1 -1
  250. package/dist/pipeline/composedLayout.d.ts +16 -2
  251. package/dist/pipeline/composedLayout.d.ts.map +1 -1
  252. package/dist/pipeline/composedLayout.js +337 -70
  253. package/dist/pipeline/composedLayout.js.map +1 -1
  254. package/dist/pipeline/contentWarnings.d.ts +15 -0
  255. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  256. package/dist/pipeline/contentWarnings.js +106 -1
  257. package/dist/pipeline/contentWarnings.js.map +1 -1
  258. package/dist/pipeline/dropCap.d.ts +5 -0
  259. package/dist/pipeline/dropCap.d.ts.map +1 -1
  260. package/dist/pipeline/dropCap.js +23 -2
  261. package/dist/pipeline/dropCap.js.map +1 -1
  262. package/dist/pipeline/frameLayout.d.ts +21 -3
  263. package/dist/pipeline/frameLayout.d.ts.map +1 -1
  264. package/dist/pipeline/frameLayout.js +52 -4
  265. package/dist/pipeline/frameLayout.js.map +1 -1
  266. package/dist/pipeline/headerFooter.d.ts +11 -1
  267. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  268. package/dist/pipeline/headerFooter.js +210 -68
  269. package/dist/pipeline/headerFooter.js.map +1 -1
  270. package/dist/pipeline/measureContentBlock.d.ts +1 -1
  271. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  272. package/dist/pipeline/measureContentBlock.js +4 -1
  273. package/dist/pipeline/measureContentBlock.js.map +1 -1
  274. package/dist/pipeline/mirrorFrame.d.ts.map +1 -1
  275. package/dist/pipeline/mirrorFrame.js +25 -2
  276. package/dist/pipeline/mirrorFrame.js.map +1 -1
  277. package/dist/pipeline/resourceLayout.d.ts +28 -0
  278. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  279. package/dist/pipeline/resourceLayout.js +21 -0
  280. package/dist/pipeline/resourceLayout.js.map +1 -1
  281. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  282. package/dist/pipeline/resourceNumbering.js +13 -4
  283. package/dist/pipeline/resourceNumbering.js.map +1 -1
  284. package/dist/pipeline/styles.d.ts +1 -1
  285. package/dist/pipeline/styles.d.ts.map +1 -1
  286. package/dist/pipeline/styles.js +4 -0
  287. package/dist/pipeline/styles.js.map +1 -1
  288. package/dist/preflight.js +5 -1
  289. package/dist/preflight.js.map +1 -1
  290. package/dist/types.d.ts +45 -2
  291. package/dist/types.d.ts.map +1 -1
  292. package/dist/vdt.d.ts +228 -9
  293. package/dist/vdt.d.ts.map +1 -1
  294. package/dist/vdt.js.map +1 -1
  295. package/dist/word/toDocx.d.ts.map +1 -1
  296. package/dist/word/toDocx.js +14 -0
  297. package/dist/word/toDocx.js.map +1 -1
  298. package/dist/word/word.test.js +11 -1
  299. package/dist/word/word.test.js.map +1 -1
  300. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"buildMeasurement.d.ts","sourceRoot":"","sources":["../../src/pipeline/buildMeasurement.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAgE,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B;yCACqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yEAAyE;IACzE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;mDAC+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC;+CAC2C;IAC3C,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACnE;oDACgD;IAChD,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAClD,4EAA4E;IAC5E,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,qEAAqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;2EAG2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,UAAU,SAAI,GAAG,cAAc,EAAE,GAAG,SAAS,CAa9G;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA+FzE"}
1
+ {"version":3,"file":"buildMeasurement.d.ts","sourceRoot":"","sources":["../../src/pipeline/buildMeasurement.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Measurement invocation for a single block — dispatches between plain/rich
3
3
  * text runs and the `mathDisplay` bypass path that skips text layout entirely.
4
4
  */
5
+ import { layOutFigureLabels } from '../composed/labels';
5
6
  import { measureBlock, measureRichBlock, cachedMeasureBlock, cachedMeasureRichBlock } from '../measure';
6
7
  import { renderMath } from '../math';
7
8
  import { layoutResourceBlock } from './resourceLayout';
@@ -65,7 +66,17 @@ export function runMeasurement(input) {
65
66
  };
66
67
  // A `:::figure`'s labels (#862) ride on its block: a copy, so a
67
68
  // cached layout of the same resource keeps none of them.
68
- const labels = figureLabels(contentBlock, input.bodyOffset);
69
+ // Each label is laid out on the picture as set here (#860).
70
+ const plain = figureLabels(contentBlock, input.bodyOffset);
71
+ const labels = plain
72
+ ? layOutFigureLabels(plain, contentBlock.figure?.labels, block, {
73
+ resolved: input.resolved,
74
+ ...(input.resourceNumbering ? { resourceNumbering: input.resourceNumbering } : {}),
75
+ ...(input.resourceTypes ? { resourceTypes: input.resourceTypes } : {}),
76
+ ...(input.resources ? { resources: input.resources } : {}),
77
+ ...(cache ? { cache } : {}),
78
+ })
79
+ : undefined;
69
80
  const resourceBlock = labels ? { ...block, labels } : block;
70
81
  return { measured, resourceBlock, ...(tableRows ? { tableRows } : {}), ...(asideHeight !== undefined ? { asideHeight } : {}) };
71
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildMeasurement.js","sourceRoot":"","sources":["../../src/pipeline/buildMeasurement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildMeasurement.js","sourceRoot":"","sources":["../../src/pipeline/buildMeasurement.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@
40
40
  */
41
41
  import type { ContentBlock, DirectiveAttrs } from '../parse';
42
42
  import type { CalloutPlacement, CalloutSpan, ResolvedCalloutStyleConfig } from '../types';
43
- import { type ResolvedConfig, type VDTBlock, type VDTDesignBlock, type VDTExclusionContour } from '../vdt';
43
+ import { type ResolvedConfig, type VDTLine, type VDTBlock, type VDTDesignBlock, type VDTExclusionContour } from '../vdt';
44
44
  import { type BlockMeasureContext } from './measureContentBlock';
45
45
  import { type ParagraphContainerPlan } from './paragraphContainers';
46
46
  import { type GalleyItem } from './columnsGroup';
@@ -173,7 +173,31 @@ export interface CalloutLayoutInput {
173
173
  * the children is set at this share of the width it would take, below
174
174
  * 1. */
175
175
  pictureScale?: number;
176
+ /** The room a heading's own design takes in the box (#906): the
177
+ * `advancedDesign` of its level or heading style, laid out against the
178
+ * heading's box `width` wide, as in a page column. Answers the height
179
+ * the design reserves below the heading's top, or `undefined` when the
180
+ * heading has no design (its lines alone then set its height). The
181
+ * heading keeps at least that height; the design itself is laid out
182
+ * over the placed block after placement (`buildHeadersAndFooters`).
183
+ * Absent: headings in boxes reserve nothing for a design. */
184
+ headingDesign?: BoxHeadingDesign;
185
+ /** A continuation fragment that opens on another page than the piece
186
+ * before it (#917, a frame's `overflow.fromMark`): words set at its
187
+ * head, in the box's body face as the continuation marker is, before
188
+ * the first child ("Continued from page 47"). */
189
+ continuedMark?: string;
176
190
  }
191
+ /** See `CalloutLayoutInput.headingDesign`. `lines` are the heading's
192
+ * measured lines (the title is joined back from them, as in a column). */
193
+ export type BoxHeadingDesign = (raw: ContentBlock, blockIdx: number, heading: {
194
+ lines: readonly VDTLine[];
195
+ numberPrefix: string;
196
+ headingNumber?: number;
197
+ }, width: number) => number | undefined;
198
+ /** Whether `block` is a heading of a box set with its own design (see
199
+ * `CalloutLayoutInput.headingDesign`). */
200
+ export declare const isDesignedBoxHeading: (block: VDTBlock) => boolean;
177
201
  /** A box width the first child of a continuation was counted at (see
178
202
  * `CalloutLayoutInput.lineWidths`). */
179
203
  export interface CalloutLineWidth {
@@ -1 +1 @@
1
- {"version":3,"file":"calloutLayout.d.ts","sourceRoot":"","sources":["../../src/pipeline/calloutLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calloutLayout.d.ts","sourceRoot":"","sources":["../../src/pipeline/calloutLayout.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ import { resolveBodyStyle, resolveBlockquoteStyle } from './styles';
55
55
  import { computeLevelIndentsPx, computeOrderedLevelIndentsPx, directListMarker, listBulletPosition, listItemGapPx, mirrorListMarker } from './lists';
56
56
  import { measureContentBlock } from './measureContentBlock';
57
57
  import { uppercasePreservingLength } from './buildBlockKind';
58
- import { headingIsHidden } from './headingStyles';
58
+ import { headingIsHidden, headingStyleOf } from './headingStyles';
59
59
  import { directDesignTextBlock } from '../design/bidiText';
60
60
  import { arabicNumbersOf } from './config';
61
61
  import { containerStyle, paragraphStyleIdOf } from './paragraphContainers';
@@ -204,6 +204,13 @@ export function deriveCalloutMeasureContext(ctx, style) {
204
204
  orderedLevelIndentsPx: computeOrderedLevelIndentsPx(resolved, bodyStyle.fontSizePx, ctx.orderedMetrics.maxWidthByDepth),
205
205
  };
206
206
  }
207
+ /** The headings of boxes laid out with their own design (#906): their
208
+ * lines are not painted (the design replaces them), so a box never cuts
209
+ * between them. */
210
+ const designedBoxHeadings = new WeakSet();
211
+ /** Whether `block` is a heading of a box set with its own design (see
212
+ * `CalloutLayoutInput.headingDesign`). */
213
+ export const isDesignedBoxHeading = (block) => designedBoxHeadings.has(block);
207
214
  /** The measures of `layoutCallout`'s first child across widths (see
208
215
  * `CalloutLayoutInput.lineWidths`), per resolved configuration and
209
216
  * content block: a build lays a split box out again on every pass. */
@@ -316,6 +323,14 @@ export function offsetBlock(blk, ox, oy) {
316
323
  blk.bulletY += oy;
317
324
  if (blk.bulletBaselineY !== undefined)
318
325
  blk.bulletBaselineY += oy;
326
+ if (blk.dropCap) {
327
+ blk.dropCap.x += ox;
328
+ blk.dropCap.baselineY += oy;
329
+ if (blk.dropCap.hang) {
330
+ blk.dropCap.hang.x += ox;
331
+ blk.dropCap.hang.baselineY += oy;
332
+ }
333
+ }
319
334
  if (blk.resourceBlock)
320
335
  offsetResourceBlock(blk.resourceBlock, ox, oy);
321
336
  // A nested box's frame carries its decoration on the overlay.
@@ -540,6 +555,32 @@ export function layoutCallout(input) {
540
555
  }, titleTrackingPx);
541
556
  cursorY += titleHeight;
542
557
  }
558
+ // "Continued from …" at the head of a piece that opens on another page
559
+ // (#917): pagination furniture, as the "Continued" marker is.
560
+ const fromText = input.continuation ? (input.continuedMark ?? '').trim() : '';
561
+ let fromBlock;
562
+ if (fromText.length > 0) {
563
+ const font = buildFontString(style.body.fontFamily, em, style.body.fontWeight.toString(), style.continuesMarkerItalic ? 'italic' : 'normal');
564
+ const lh = bodyStyle.lineHeightPx;
565
+ const { lines } = measureRichBlock([{ text: fromText, bold: false, italic: false }], font, font, font, font, innerWidth, lh, { textAlign: 'left' });
566
+ if (lines.length > 0) {
567
+ const top = cursorY;
568
+ const align = style.continuesMarkerAlign;
569
+ fromBlock = directText({
570
+ kind: 'text',
571
+ bbox: createBoundingBox(innerX, top, innerWidth, lines.length * lh),
572
+ fontString: font,
573
+ color: bodyStyle.color,
574
+ lines: lines.map((ln, i) => {
575
+ const slack = Math.max(0, innerWidth - ln.bbox.width);
576
+ return { text: ln.text, xOffset: align === 'right' ? slack : align === 'center' ? slack / 2 : 0, baselineY: top + i * lh + lineBaselineOffset(lh, font), width: ln.bbox.width };
577
+ }),
578
+ clip: false,
579
+ artifact: true,
580
+ });
581
+ cursorY += lines.length * lh;
582
+ }
583
+ }
543
584
  // --- Children --------------------------------------------------------------
544
585
  // The children stack under the title; a `:::columns{count=N}` group among
545
586
  // them lays its own children out in N columns of equal width, cut at
@@ -765,6 +806,11 @@ export function layoutCallout(input) {
765
806
  // with its lines short beside them. A child the range opens inside
766
807
  // keeps the lines it was counted with.
767
808
  const opensInside = lineCut ? lineCut.from > 0 : isFirstRealOf(k) && (input.lineFrom ?? 0) > 0;
809
+ // A drop cap (#623) in a composed page's frame (#922): on the piece
810
+ // that holds the paragraph's first line, its rise kept clear above.
811
+ const cap = measuredBlock.dropCap && !opensInside ? measuredBlock.dropCap : undefined;
812
+ if (cap && cap.rise > 0.5)
813
+ st.cursorY += cap.rise;
768
814
  if (exclusions.length > 0 && !opensInside && !(vdtType === 'resource' && resourceBlock) && !(vdtType === 'mathDisplay' && mathDisplayRender)) {
769
815
  const lineInsets = exclusionInsets(exclusions, x, width, st.cursorY, kind.style.lineHeightPx);
770
816
  if (lineInsets.length > 0) {
@@ -848,9 +894,32 @@ export function layoutCallout(input) {
848
894
  height = blk.lines.length * bs.lineHeightPx;
849
895
  blk.sourceStart = keptLines[0].sourceStart ?? raw.sourceStart + ctx.bodyOffset;
850
896
  blk.sourceEnd = keptLines[keptLines.length - 1].sourceEnd ?? raw.sourceEnd + ctx.bodyOffset;
897
+ // A short paragraph keeps the room under its initial (`'reserve'`).
898
+ if (cap && cutTo === undefined)
899
+ height = Math.max(height, cap.minLines * bs.lineHeightPx);
900
+ }
901
+ // A heading with a design of its own (#906): the box keeps the room
902
+ // the design takes, as a page column does. A heading opened after its
903
+ // first line has no design to draw.
904
+ const blockWidth = widthLessEndIndent(blk, width);
905
+ if (vdtType === 'heading' && !hiddenHeading && !openedMidRun && isTextRun && input.headingDesign) {
906
+ const reserve = input.headingDesign(raw, blockIdx, { lines: measured.lines, numberPrefix: numberPrefix ?? '', ...(headingNumber !== undefined ? { headingNumber } : {}) }, blockWidth);
907
+ if (reserve !== undefined) {
908
+ designedBoxHeadings.add(blk);
909
+ if (Number.isFinite(reserve) && reserve > height)
910
+ height = reserve;
911
+ const offset = input.bodyOffset ?? ctx.bodyOffset;
912
+ const styleId = headingStyleOf(raw, input.resolved)?.id;
913
+ blk.boxDesign = {
914
+ ...(styleId !== undefined ? { styleId } : {}),
915
+ ...(raw.attrs ? { attrs: raw.attrs } : {}),
916
+ ...(raw.attrSources ? { attrSources: Object.fromEntries(Object.entries(raw.attrSources).map(([k, r]) => [k, { start: r.start + offset, end: r.end + offset }])) } : {}),
917
+ ...(raw.titleBreaks ? { titleBreaks: raw.titleBreaks, titleLength: raw.text.length } : {}),
918
+ };
919
+ }
851
920
  }
852
921
  // Relocate to the inner rect (box-relative).
853
- blk.bbox = createBoundingBox(x, st.cursorY, widthLessEndIndent(blk, width), height);
922
+ blk.bbox = createBoundingBox(x, st.cursorY, blockWidth, height);
854
923
  for (const line of blk.lines) {
855
924
  shiftLineX(line, x);
856
925
  line.bbox.y += st.cursorY;
@@ -858,6 +927,30 @@ export function layoutCallout(input) {
858
927
  }
859
928
  if (blk.resourceBlock)
860
929
  offsetResourceBlock(blk.resourceBlock, x, st.cursorY);
930
+ const capLine = blk.lines[0];
931
+ if (cap && capLine && isTextRun) {
932
+ // As the flow stamps it (`build.ts`): on the baseline of the line it
933
+ // sinks to.
934
+ blk.dropCap = {
935
+ text: cap.text,
936
+ fontString: cap.fontString,
937
+ color: cap.color,
938
+ x: blk.bbox.x + cap.x,
939
+ baselineY: capLine.baseline + (cap.sink - 1) * bs.lineHeightPx,
940
+ width: cap.width,
941
+ fontSizePx: cap.fontSizePx,
942
+ lines: cap.lines,
943
+ sink: cap.sink,
944
+ ...(cap.sourceStart !== undefined ? { sourceStart: cap.sourceStart, sourceEnd: cap.sourceEnd } : {}),
945
+ plainStart: cap.plainStart,
946
+ plainEnd: cap.plainEnd,
947
+ word: cap.word,
948
+ wordRest: cap.wordRest,
949
+ ...(cap.hang ? { hang: { text: cap.hang.text, fontString: cap.hang.fontString, x: blk.bbox.x + cap.hang.x, baselineY: capLine.baseline, width: cap.hang.width } } : {}),
950
+ };
951
+ if (cap.sourceStart !== undefined && (blk.sourceStart === undefined || cap.sourceStart < blk.sourceStart))
952
+ blk.sourceStart = cap.sourceStart;
953
+ }
861
954
  // A code listing (#624): its language, numbers and fit; the lines a
862
955
  // fence highlights get a band across the box.
863
956
  if (code) {
@@ -994,6 +1087,7 @@ export function layoutCallout(input) {
994
1087
  ...(reopened && reopened.openRest.length > 0 ? { openNested: reopened.openRest } : {}),
995
1088
  mirrored: input.mirrored,
996
1089
  nestPath: [...(nestPath ?? []), open.containerId],
1090
+ ...(input.headingDesign ? { headingDesign: input.headingDesign } : {}),
997
1091
  });
998
1092
  // Spacing above: as a paragraph's (margin collapsing, none at the top
999
1093
  // of the box beyond the title gap).
@@ -1447,6 +1541,8 @@ export function layoutCallout(input) {
1447
1541
  if (style.icon.align === 'center') {
1448
1542
  if (titleBlock)
1449
1543
  offsetDesignBlock(titleBlock, 0, extra / 2);
1544
+ if (fromBlock)
1545
+ offsetDesignBlock(fromBlock, 0, extra / 2);
1450
1546
  if (continuesBlock)
1451
1547
  offsetDesignBlock(continuesBlock, 0, extra / 2);
1452
1548
  for (const blk of childBlocks)
@@ -1568,6 +1664,8 @@ export function layoutCallout(input) {
1568
1664
  overlayBlocks.push(...groupRules);
1569
1665
  if (titleBlock)
1570
1666
  overlayBlocks.push(titleBlock);
1667
+ if (fromBlock)
1668
+ overlayBlocks.push(fromBlock);
1571
1669
  if (continuesBlock)
1572
1670
  overlayBlocks.push(continuesBlock);
1573
1671
  // --- Label tab ---------------------------------------------------------------