postext 1.34.0 → 1.35.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 (245) hide show
  1. package/dist/__tests__/bundle.test.js +33 -1
  2. package/dist/__tests__/bundle.test.js.map +1 -1
  3. package/dist/__tests__/codeBlocks.test.js +88 -0
  4. package/dist/__tests__/codeBlocks.test.js.map +1 -1
  5. package/dist/__tests__/composed/fixtures/page8.d.ts +20 -0
  6. package/dist/__tests__/composed/fixtures/page8.d.ts.map +1 -0
  7. package/dist/__tests__/composed/fixtures/page8.js +162 -0
  8. package/dist/__tests__/composed/fixtures/page8.js.map +1 -0
  9. package/dist/__tests__/composed/fixtures/timeline.d.ts +26 -0
  10. package/dist/__tests__/composed/fixtures/timeline.d.ts.map +1 -0
  11. package/dist/__tests__/composed/fixtures/timeline.js +153 -0
  12. package/dist/__tests__/composed/fixtures/timeline.js.map +1 -0
  13. package/dist/__tests__/composed/groups.test.d.ts +2 -0
  14. package/dist/__tests__/composed/groups.test.d.ts.map +1 -0
  15. package/dist/__tests__/composed/groups.test.js +361 -0
  16. package/dist/__tests__/composed/groups.test.js.map +1 -0
  17. package/dist/__tests__/composed/layout.test.d.ts +2 -0
  18. package/dist/__tests__/composed/layout.test.d.ts.map +1 -0
  19. package/dist/__tests__/composed/layout.test.js +387 -0
  20. package/dist/__tests__/composed/layout.test.js.map +1 -0
  21. package/dist/__tests__/composed/outsidePrint.test.d.ts +2 -0
  22. package/dist/__tests__/composed/outsidePrint.test.d.ts.map +1 -0
  23. package/dist/__tests__/composed/outsidePrint.test.js +116 -0
  24. package/dist/__tests__/composed/outsidePrint.test.js.map +1 -0
  25. package/dist/__tests__/composed/slotChecks.test.js +6 -3
  26. package/dist/__tests__/composed/slotChecks.test.js.map +1 -1
  27. package/dist/__tests__/composed/spread.test.d.ts +2 -0
  28. package/dist/__tests__/composed/spread.test.d.ts.map +1 -0
  29. package/dist/__tests__/composed/spread.test.js +475 -0
  30. package/dist/__tests__/composed/spread.test.js.map +1 -0
  31. package/dist/__tests__/composedPaint.test.d.ts +2 -0
  32. package/dist/__tests__/composedPaint.test.d.ts.map +1 -0
  33. package/dist/__tests__/composedPaint.test.js +199 -0
  34. package/dist/__tests__/composedPaint.test.js.map +1 -0
  35. package/dist/__tests__/defaults/stripRoundTrip.test.js +3 -2
  36. package/dist/__tests__/defaults/stripRoundTrip.test.js.map +1 -1
  37. package/dist/__tests__/exports.test.js +25 -0
  38. package/dist/__tests__/exports.test.js.map +1 -1
  39. package/dist/__tests__/highlightMarks.test.d.ts +2 -0
  40. package/dist/__tests__/highlightMarks.test.d.ts.map +1 -0
  41. package/dist/__tests__/highlightMarks.test.js +169 -0
  42. package/dist/__tests__/highlightMarks.test.js.map +1 -0
  43. package/dist/__tests__/tocPartLeader.test.d.ts +2 -0
  44. package/dist/__tests__/tocPartLeader.test.d.ts.map +1 -0
  45. package/dist/__tests__/tocPartLeader.test.js +133 -0
  46. package/dist/__tests__/tocPartLeader.test.js.map +1 -0
  47. package/dist/bundle/api.d.ts +8 -0
  48. package/dist/bundle/api.d.ts.map +1 -1
  49. package/dist/bundle/api.js +6 -3
  50. package/dist/bundle/api.js.map +1 -1
  51. package/dist/bundle/codec.d.ts +5 -0
  52. package/dist/bundle/codec.d.ts.map +1 -1
  53. package/dist/bundle/codec.js +4 -0
  54. package/dist/bundle/codec.js.map +1 -1
  55. package/dist/bundle/index.d.ts +2 -2
  56. package/dist/bundle/index.d.ts.map +1 -1
  57. package/dist/bundle/index.js +1 -1
  58. package/dist/bundle/index.js.map +1 -1
  59. package/dist/bundle/manifest.d.ts +14 -0
  60. package/dist/bundle/manifest.d.ts.map +1 -1
  61. package/dist/bundle/manifest.js +13 -0
  62. package/dist/bundle/manifest.js.map +1 -1
  63. package/dist/bundle/types.d.ts +7 -0
  64. package/dist/bundle/types.d.ts.map +1 -1
  65. package/dist/canvas-backend/annotations.d.ts +6 -0
  66. package/dist/canvas-backend/annotations.d.ts.map +1 -1
  67. package/dist/canvas-backend/annotations.js +39 -0
  68. package/dist/canvas-backend/annotations.js.map +1 -1
  69. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  70. package/dist/canvas-backend/blockRender.js +6 -1
  71. package/dist/canvas-backend/blockRender.js.map +1 -1
  72. package/dist/canvas-backend/composed.d.ts +19 -0
  73. package/dist/canvas-backend/composed.d.ts.map +1 -0
  74. package/dist/canvas-backend/composed.js +68 -0
  75. package/dist/canvas-backend/composed.js.map +1 -0
  76. package/dist/canvas-backend/index.d.ts.map +1 -1
  77. package/dist/canvas-backend/index.js +15 -1
  78. package/dist/canvas-backend/index.js.map +1 -1
  79. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  80. package/dist/canvas-backend/renderResourceBlock.js +4 -1
  81. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  82. package/dist/composed/geometry.d.ts +108 -0
  83. package/dist/composed/geometry.d.ts.map +1 -0
  84. package/dist/composed/geometry.js +241 -0
  85. package/dist/composed/geometry.js.map +1 -0
  86. package/dist/composed/groups.d.ts +95 -0
  87. package/dist/composed/groups.d.ts.map +1 -0
  88. package/dist/composed/groups.js +359 -0
  89. package/dist/composed/groups.js.map +1 -0
  90. package/dist/composed/labelText.d.ts +15 -0
  91. package/dist/composed/labelText.d.ts.map +1 -0
  92. package/dist/composed/labelText.js +16 -0
  93. package/dist/composed/labelText.js.map +1 -0
  94. package/dist/composed/paint.d.ts +64 -0
  95. package/dist/composed/paint.d.ts.map +1 -0
  96. package/dist/composed/paint.js +128 -0
  97. package/dist/composed/paint.js.map +1 -0
  98. package/dist/composed/reflowLog.d.ts +39 -0
  99. package/dist/composed/reflowLog.d.ts.map +1 -0
  100. package/dist/composed/reflowLog.js +123 -0
  101. package/dist/composed/reflowLog.js.map +1 -0
  102. package/dist/composed/slotChecks.d.ts +7 -2
  103. package/dist/composed/slotChecks.d.ts.map +1 -1
  104. package/dist/composed/slotChecks.js +21 -0
  105. package/dist/composed/slotChecks.js.map +1 -1
  106. package/dist/composed/spread.d.ts +106 -0
  107. package/dist/composed/spread.d.ts.map +1 -0
  108. package/dist/composed/spread.js +178 -0
  109. package/dist/composed/spread.js.map +1 -0
  110. package/dist/composed/types.d.ts +1 -44
  111. package/dist/composed/types.d.ts.map +1 -1
  112. package/dist/composed/wrap.d.ts +52 -0
  113. package/dist/composed/wrap.d.ts.map +1 -0
  114. package/dist/composed/wrap.js +234 -0
  115. package/dist/composed/wrap.js.map +1 -0
  116. package/dist/configWarnings.js +1 -1
  117. package/dist/configWarnings.js.map +1 -1
  118. package/dist/defaults/codeStyle.d.ts.map +1 -1
  119. package/dist/defaults/codeStyle.js +1 -0
  120. package/dist/defaults/codeStyle.js.map +1 -1
  121. package/dist/defaults/headerFooter.d.ts.map +1 -1
  122. package/dist/defaults/headerFooter.js +4 -0
  123. package/dist/defaults/headerFooter.js.map +1 -1
  124. package/dist/defaults/index.d.ts +1 -0
  125. package/dist/defaults/index.d.ts.map +1 -1
  126. package/dist/defaults/index.js +9 -0
  127. package/dist/defaults/index.js.map +1 -1
  128. package/dist/defaults/markStyles.d.ts +23 -0
  129. package/dist/defaults/markStyles.d.ts.map +1 -0
  130. package/dist/defaults/markStyles.js +80 -0
  131. package/dist/defaults/markStyles.js.map +1 -0
  132. package/dist/defaults/shared.d.ts.map +1 -1
  133. package/dist/defaults/shared.js +12 -0
  134. package/dist/defaults/shared.js.map +1 -1
  135. package/dist/design/bidiText.d.ts +4 -1
  136. package/dist/design/bidiText.d.ts.map +1 -1
  137. package/dist/design/bidiText.js +5 -2
  138. package/dist/design/bidiText.js.map +1 -1
  139. package/dist/design/layout.d.ts +19 -0
  140. package/dist/design/layout.d.ts.map +1 -1
  141. package/dist/design/layout.js +110 -8
  142. package/dist/design/layout.js.map +1 -1
  143. package/dist/design/placeholders.d.ts +28 -2
  144. package/dist/design/placeholders.d.ts.map +1 -1
  145. package/dist/design/placeholders.js +24 -1
  146. package/dist/design/placeholders.js.map +1 -1
  147. package/dist/design/richText.d.ts +2 -0
  148. package/dist/design/richText.d.ts.map +1 -1
  149. package/dist/design/richText.js.map +1 -1
  150. package/dist/highlightMarks.d.ts +33 -0
  151. package/dist/highlightMarks.d.ts.map +1 -0
  152. package/dist/highlightMarks.js +209 -0
  153. package/dist/highlightMarks.js.map +1 -0
  154. package/dist/html-backend.d.ts.map +1 -1
  155. package/dist/html-backend.js +96 -9
  156. package/dist/html-backend.js.map +1 -1
  157. package/dist/htmlAnnotations.d.ts +5 -0
  158. package/dist/htmlAnnotations.d.ts.map +1 -1
  159. package/dist/htmlAnnotations.js +16 -0
  160. package/dist/htmlAnnotations.js.map +1 -1
  161. package/dist/index.d.ts +13 -4
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +12 -2
  164. package/dist/index.js.map +1 -1
  165. package/dist/knuthPlass/richAdapter.d.ts +3 -0
  166. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  167. package/dist/knuthPlass/richAdapter.js +3 -2
  168. package/dist/knuthPlass/richAdapter.js.map +1 -1
  169. package/dist/measure/cache.js +3 -3
  170. package/dist/measure/cache.js.map +1 -1
  171. package/dist/measure/chipEdges.d.ts +13 -1
  172. package/dist/measure/chipEdges.d.ts.map +1 -1
  173. package/dist/measure/chipEdges.js +59 -1
  174. package/dist/measure/chipEdges.js.map +1 -1
  175. package/dist/measure/links.d.ts.map +1 -1
  176. package/dist/measure/links.js +78 -5
  177. package/dist/measure/links.js.map +1 -1
  178. package/dist/measure/rich.d.ts +3 -0
  179. package/dist/measure/rich.d.ts.map +1 -1
  180. package/dist/measure/rich.js +19 -4
  181. package/dist/measure/rich.js.map +1 -1
  182. package/dist/parse/inlineFormatting.d.ts +14 -0
  183. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  184. package/dist/parse/inlineFormatting.js +104 -5
  185. package/dist/parse/inlineFormatting.js.map +1 -1
  186. package/dist/parse/links.js +1 -1
  187. package/dist/parse/links.js.map +1 -1
  188. package/dist/parse/softBreaks.js +1 -1
  189. package/dist/parse/softBreaks.js.map +1 -1
  190. package/dist/parse/sourceMapping.d.ts.map +1 -1
  191. package/dist/parse/sourceMapping.js +19 -3
  192. package/dist/parse/sourceMapping.js.map +1 -1
  193. package/dist/parse/types.d.ts +24 -0
  194. package/dist/parse/types.d.ts.map +1 -1
  195. package/dist/pipeline/build.d.ts.map +1 -1
  196. package/dist/pipeline/build.js +213 -301
  197. package/dist/pipeline/build.js.map +1 -1
  198. package/dist/pipeline/buildMeasurement.d.ts +4 -1
  199. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  200. package/dist/pipeline/buildMeasurement.js +19 -1
  201. package/dist/pipeline/buildMeasurement.js.map +1 -1
  202. package/dist/pipeline/calloutLayout.d.ts +36 -1
  203. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  204. package/dist/pipeline/calloutLayout.js +93 -3
  205. package/dist/pipeline/calloutLayout.js.map +1 -1
  206. package/dist/pipeline/codeInline.d.ts +10 -1
  207. package/dist/pipeline/codeInline.d.ts.map +1 -1
  208. package/dist/pipeline/codeInline.js +96 -15
  209. package/dist/pipeline/codeInline.js.map +1 -1
  210. package/dist/pipeline/composedLayout.d.ts +93 -0
  211. package/dist/pipeline/composedLayout.d.ts.map +1 -0
  212. package/dist/pipeline/composedLayout.js +520 -0
  213. package/dist/pipeline/composedLayout.js.map +1 -0
  214. package/dist/pipeline/config.d.ts.map +1 -1
  215. package/dist/pipeline/config.js +2 -1
  216. package/dist/pipeline/config.js.map +1 -1
  217. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  218. package/dist/pipeline/contentWarnings.js +39 -2
  219. package/dist/pipeline/contentWarnings.js.map +1 -1
  220. package/dist/pipeline/floatSlots.js +1 -1
  221. package/dist/pipeline/floatSlots.js.map +1 -1
  222. package/dist/pipeline/frameLayout.d.ts +120 -0
  223. package/dist/pipeline/frameLayout.d.ts.map +1 -0
  224. package/dist/pipeline/frameLayout.js +279 -0
  225. package/dist/pipeline/frameLayout.js.map +1 -0
  226. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  227. package/dist/pipeline/headerFooter.js +96 -3
  228. package/dist/pipeline/headerFooter.js.map +1 -1
  229. package/dist/pipeline/pageRoles.d.ts +1 -0
  230. package/dist/pipeline/pageRoles.d.ts.map +1 -1
  231. package/dist/pipeline/pageRoles.js +3 -0
  232. package/dist/pipeline/pageRoles.js.map +1 -1
  233. package/dist/pipeline/placement.js +1 -1
  234. package/dist/pipeline/placement.js.map +1 -1
  235. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  236. package/dist/pipeline/resourceLayout.js +5 -3
  237. package/dist/pipeline/resourceLayout.js.map +1 -1
  238. package/dist/pipeline/tabs.js +1 -1
  239. package/dist/pipeline/tabs.js.map +1 -1
  240. package/dist/types.d.ts +89 -3
  241. package/dist/types.d.ts.map +1 -1
  242. package/dist/vdt.d.ts +247 -1
  243. package/dist/vdt.d.ts.map +1 -1
  244. package/dist/vdt.js.map +1 -1
  245. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bidiText.d.ts","sourceRoot":"","sources":["../../src/design/bidiText.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,QAAQ,CAAC;AAEnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;kCAEkC;AAClC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAGhF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,aAAa,UAAQ,GAAG,MAAM,CAYhH;AAED,4EAA4E;AAC5E,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;gDAC4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CACtC;AAED;yEACyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAS5E;AAED;6EAC6E;AAC7E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,EAC7C,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,KAAK,GAAG,KAAK,GAC/B,KAAK,GAAG,KAAK,CAIf;AAED;gCACgC;AAChC,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,EAAE,CAAC;IAC7B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,GAAG,EACtC,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM;AACvD;qEACqE;AACrE,aAAa,UAAQ,EACrB,SAAS,UAAQ,GAChB,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAgD7B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,QAAQ,EAAE,OAAO,EACjB,UAAU,SAAI,EACd,aAAa,UAAQ,GACpB,IAAI,CAkBN;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,GAAG,EAC1C,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM;AAC7D;6EAC6E;AAC7E,SAAS,UAAQ,GAChB;IAAE,IAAI,EAAE,CAAC,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAMpD"}
1
+ {"version":3,"file":"bidiText.d.ts","sourceRoot":"","sources":["../../src/design/bidiText.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,QAAQ,CAAC;AAEnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;kCAEkC;AAClC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAGhF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,aAAa,UAAQ,GAAG,MAAM,CAYhH;AAED,4EAA4E;AAC5E,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;gDAC4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CACtC;AAED;yEACyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAS5E;AAED;6EAC6E;AAC7E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,EAC7C,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,KAAK,GAAG,KAAK,GAC/B,KAAK,GAAG,KAAK,CAIf;AAED;gCACgC;AAChC,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,EAAE,CAAC;IAC7B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,GAAG,EACtC,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM;AACvD;qEACqE;AACrE,aAAa,UAAQ,EACrB,SAAS,UAAQ,GAChB,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAgD7B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,QAAQ,EAAE,OAAO,EACjB,UAAU,SAAI,EACd,aAAa,UAAQ,GACpB,IAAI,CAkBN;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,GAAG,EAC1C,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM;AAC7D;6EAC6E;AAC7E,SAAS,UAAQ;AACjB;wEACwE;AACxE,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GACnB;IAAE,IAAI,EAAE,CAAC,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAMpD"}
@@ -224,13 +224,16 @@ export function directDesignTextBlock(block, base, mirrored, trackingPx = 0, ara
224
224
  export function directChipRuns(runs, measure,
225
225
  /** Every run takes its own advance, in the direction it is painted in
226
226
  * ({@link measuresRunsAsPainted}): the chip is then as wide as its runs. */
227
- asPainted = false) {
227
+ asPainted = false,
228
+ /** The base direction, when the chip has one of its own (inline code
229
+ * reads left to right, #845); else that of its first strong letter. */
230
+ base) {
228
231
  let text = '';
229
232
  for (const r of runs)
230
233
  text += r.text;
231
234
  if (!needsBidi(text))
232
235
  return { runs };
233
- const directed = directRuns(runs, firstStrongDirection(text) ?? 'ltr', false, (r, t, rtl) => measure(t, r.fontString, rtl), false, asPainted);
236
+ const directed = directRuns(runs, base ?? firstStrongDirection(text) ?? 'ltr', false, (r, t, rtl) => measure(t, r.fontString, rtl), false, asPainted);
234
237
  return directed ?? { runs };
235
238
  }
236
239
  //# sourceMappingURL=bidiText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bidiText.js","sourceRoot":"","sources":["../../src/design/bidiText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bidiText.js","sourceRoot":"","sources":["../../src/design/bidiText.ts"],"names":[],"mappings":"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"}
@@ -194,6 +194,25 @@ export interface DesignFrames {
194
194
  * stands upright on the sheet, so its box in the flow is sized with the
195
195
  * picture's width and height swapped (`ResolvedImagePrimitive.upright`). */
196
196
  upright?: boolean;
197
+ /** Boxes outside the slot an element may anchor to as `'#name'`, with
198
+ * the element-to-element edges: the frames of a composed page for its
199
+ * template's decoration (#855). An element of the slot with the same id
200
+ * wins. */
201
+ named?: Readonly<Record<string, {
202
+ x: number;
203
+ y: number;
204
+ width: number;
205
+ height: number;
206
+ }>>;
207
+ /** The same frames' boxes as their template declares them, before
208
+ * groups and content move them (#856): an element with `pin` anchors
209
+ * here. Absent: `named`. */
210
+ declared?: Readonly<Record<string, {
211
+ x: number;
212
+ y: number;
213
+ width: number;
214
+ height: number;
215
+ }>>;
197
216
  }
198
217
  export interface LayoutContext {
199
218
  container: {
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/design/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/design/layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAMf,QAAQ,EACR,cAAc,EAEd,qBAAqB,EAGrB,kBAAkB,EAClB,yBAAyB,EACzB,QAAQ,EAER,MAAM,EACP,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAS5E,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAWL,KAAK,aAAa,EAEnB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;oEACgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;;kBAEc;IACd,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB;8BAC0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;sCACkC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;6CACyC;IACzC,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,+DAA+D;AAC/D,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IACxC,+DAA+D;IAC/D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB;;oBAEgB;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB;2CACuC;IACvC,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB;;4DAEwD;IACxD,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9D,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB;8DAC0D;IAC1D,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;;2EAIuE;IACvE,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,GAAG,UAAU,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,kBAAkB,CAAC;CACzB;AAED;2DAC2D;AAC3D,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,IAAI,EAAE,OAAO,CAAC;IACd,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;mCAE+B;IAC/B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;iCAE6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuBD;;;;eAIe;AACf,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUrF;AAED,MAAM,MAAM,iBAAiB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,GACpB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC;oEACgE;IAChE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED;qCACqC;AACrC,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,iBAAiB,GAAG,MAAM,CAAC;AAE5F,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AACnF;yDACyD;GACvD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF;;4EAE4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D;;iDAE6C;IAC7C,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE;;iFAE6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;gBAGY;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC1F;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,wBAAwB,CAAC;IACvC;8CAC0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;uDACmD;IACnD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;mDAC+C;IAC/C,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C;kEAC8D;IAC9D,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;mDAE+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AASD;sEACsE;AACtE,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAIvG;AAuDD;;;yCAGyC;AACzC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAkBzH;AAqED,UAAU,eAAe;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAkFD;;;;kDAIkD;AAClD,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GACjD,MAAM,CAKR;AAED;;;6DAG6D;AAC7D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAE9E;AAicD;;sEAEsE;AACtE,wBAAgB,SAAS,CACvB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,WAAW,CAQb;AAkBD,oDAAoD;AACpD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA2JlB;AAslBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,yBAAyB,EAC7B,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,KAAK,GAAE;IAAE,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACrF,qBAAqB,CAQvB"}
@@ -10,7 +10,8 @@ import { parseInlineSnippetSpans } from '../parse/inlineSnippet';
10
10
  import { getHyphenationRulesKey, hyphenateByDictionary, hyphenateText, withoutEdgeSoftHyphens, withoutSlashJoints } from '../hyphenate';
11
11
  import { withLineEndHyphen } from '../measure/geminate';
12
12
  import { BREAKING_SPACE_RUNS_SPLIT_RE, NO_BREAK_SPACES, isBreakingSpaceRun } from '../measure/spaces';
13
- import { resolveDesignResourceId, resolveDesignText, } from './placeholders';
13
+ import { LEADER_MARK, resolveDesignResourceId, resolveDesignText, } from './placeholders';
14
+ import { fitLeader } from '../measure/leader';
14
15
  import { hasJoiningScript, joinsWithNext } from '../bidi';
15
16
  import { designBaseDirection, directRuns, directedTextWidth, measuresRunsAsPainted, paintedRunWidth } from './bidiText';
16
17
  import { composeCjkDesignParagraph, composesDesignAsCjk } from './cjkText';
@@ -163,14 +164,14 @@ function frameFor(placement, frames) {
163
164
  return frames.outer;
164
165
  return undefined;
165
166
  }
166
- function topoSort(elements, issues) {
167
+ function topoSort(elements, issues, named) {
167
168
  const byId = new Map();
168
169
  for (const el of elements)
169
170
  byId.set(el.id, el);
170
171
  // Detect dangling
171
172
  for (const el of elements) {
172
173
  const target = anchorTargetId(el.placement);
173
- if (target && !byId.has(target)) {
174
+ if (target && !byId.has(target) && !named?.[target]) {
174
175
  issues.push({ kind: 'danglingAnchor', elementId: el.id, targetId: target });
175
176
  }
176
177
  }
@@ -226,6 +227,7 @@ function resolveContainerAnchor(edge, ref) {
226
227
  return { anchorX: ref.x, anchorY: ref.y, pinX: 'start', pinY: 'start' };
227
228
  }
228
229
  }
230
+ const ELEMENT_TO_ELEMENT_EDGES = new Set(['right-of', 'left-of', 'below', 'above', 'align-top', 'align-bottom', 'align-left', 'align-right']);
229
231
  function resolveElementAnchor(edge, ref) {
230
232
  switch (edge) {
231
233
  case 'right-of':
@@ -726,7 +728,7 @@ export function layoutDesignSlot(slot, context, pageIndex) {
726
728
  .map((el) => (overrides && Object.keys(overrides).length > 0 ? applyPaletteOverrides(el, overrides) : el));
727
729
  // Topologically sort (dependencies first) to resolve geometry; paint
728
730
  // order is still the array order (first = back), restored below.
729
- const ordered = topoSort(candidates, issues);
731
+ const ordered = topoSort(candidates, issues, context.frames?.named);
730
732
  // Precompute: resolved text contents (placeholder-expanded), with the
731
733
  // `\n` escape of the template and of attribute values turned into a
732
734
  // newline before any case transform (which would make it `\N`).
@@ -769,10 +771,19 @@ export function layoutDesignSlot(slot, context, pageIndex) {
769
771
  }
770
772
  else if (target) {
771
773
  const dep = resolvedGeo.get(target);
774
+ const outside = dep ? undefined : (el.pin ? context.frames?.declared?.[target] : undefined) ?? context.frames?.named?.[target];
772
775
  if (dep) {
773
776
  refGeo = { x: dep.x, y: dep.y, width: dep.width, height: dep.height };
774
777
  useElementEdge = true;
775
778
  }
779
+ else if (outside) {
780
+ refGeo = { ...outside };
781
+ // A nine-point edge on a frame is that point of its box; an
782
+ // element edge (`below`, `right-of`…) reads as for an element.
783
+ useElementEdge = ELEMENT_TO_ELEMENT_EDGES.has(el.placement.anchor.edge);
784
+ if (!useElementEdge)
785
+ fillRef = refGeo;
786
+ }
776
787
  }
777
788
  const anchor = useElementEdge
778
789
  ? resolveElementAnchor(el.placement.anchor.edge, refGeo)
@@ -789,14 +800,22 @@ export function layoutDesignSlot(slot, context, pageIndex) {
789
800
  // A vertical element in a frame whose text is horizontal (a running
790
801
  // head on the sheet, a design of a horizontal page); in a vertical
791
802
  // flow the text already runs down.
792
- const prims = el.writingMode === 'vertical-rl' && getMeasureWritingMode() !== 'vertical-rl'
793
- ? layoutVerticalTextElement(el, textContent.get(el.id) ?? '', pin, fillRef, context.dpi, useElementEdge, textSeams.get(el.id))
794
- : layoutTextElement(el, textContent.get(el.id) ?? '', pin, fillRef, context.dpi, useElementEdge, context, textSeams.get(el.id));
803
+ const content = textContent.get(el.id) ?? '';
804
+ const turned = el.writingMode === 'vertical-rl' && getMeasureWritingMode() !== 'vertical-rl';
805
+ // A contents part row's `{leader}` (#889), on a horizontal line.
806
+ const leader = context.placeholders.leader;
807
+ const leadered = content.includes(LEADER_MARK) && leader && !turned && getMeasureWritingMode() !== 'vertical-rl';
808
+ const text = leadered ? content : content.split(LEADER_MARK).join('');
809
+ const prims = turned
810
+ ? layoutVerticalTextElement(el, text, pin, fillRef, context.dpi, useElementEdge, textSeams.get(el.id))
811
+ : leadered
812
+ ? layoutLeaderTextElement(el, text, leader, pin, fillRef, context.dpi, useElementEdge, context)
813
+ : layoutTextElement(el, text, pin, fillRef, context.dpi, useElementEdge, context, textSeams.get(el.id));
795
814
  resolvedGeo.set(el.id, prims[0]);
796
815
  primsByElement.set(el, prims);
797
816
  const truncated = prims[0].truncated;
798
817
  if (truncated) {
799
- const text = textContent.get(el.id) ?? '';
818
+ const text = content.split(LEADER_MARK).join('');
800
819
  issues.push({ kind: 'textTruncated', elementId: el.id, mode: truncated, text: el.inlineMarks ? plainDesignText(text) : text });
801
820
  }
802
821
  }
@@ -1365,6 +1384,89 @@ seams = []) {
1365
1384
  };
1366
1385
  return [main, capPrim];
1367
1386
  }
1387
+ /**
1388
+ * A text element of a contents part row whose text holds `{leader}`
1389
+ * (#889): one line, as wide as the room its placement gives it (an `auto`
1390
+ * width fills to the container's edge), the text before the mark at the
1391
+ * line's start, the text after it at its end, and between them the
1392
+ * contents' leader (`toc.leader`): its character repeated over the room
1393
+ * left, `gap` from either text, flush with the end so the leaders of the
1394
+ * rows line up, as an entry row's are (`pipeline/toc.ts`). The text before
1395
+ * the mark gives way when the line is short of room (cut by the element's
1396
+ * `overflow`, `'ellipsis-end'` for a wrapping one); fewer than three
1397
+ * repeats, or a leader turned off, leave the room blank.
1398
+ */
1399
+ function layoutLeaderTextElement(el, text, leader, pin, container, dpi, anchoredToElement, frame) {
1400
+ const at = text.indexOf(LEADER_MARK);
1401
+ const before = text.slice(0, at).trimEnd();
1402
+ const after = text.slice(at + LEADER_MARK.length).split(LEADER_MARK).join('').trimStart();
1403
+ const autoWidth = el.placement.size?.width === undefined || el.placement.size.width === 'auto';
1404
+ const single = { ...el, overflow: el.overflow === 'wrap' ? 'ellipsis-end' : el.overflow, dropCap: undefined, paragraphIndent: undefined };
1405
+ // The row's box: the room the placement gives, one line high.
1406
+ const [box] = layoutTextElement({ ...single, overflow: 'clip', placement: autoWidth ? { ...el.placement, size: { ...el.placement.size, width: 'fill' } } : el.placement }, `${before} ${after}`.trim() || ' ', pin, container, dpi, anchoredToElement, frame);
1407
+ const row = box;
1408
+ const room = row.contentWidth;
1409
+ const fontSizePx = row.fontSizePx;
1410
+ const gap = Math.max(0, dimPx(leader.gap, dpi, fontSizePx));
1411
+ // Each text on its own, as wide as it is set (cut to the room left).
1412
+ const part = (t, max) => (t
1413
+ ? layoutTextElement({ ...single, box: undefined, placement: { ...el.placement, size: { width: 'auto', maxWidth: { value: Math.max(0, max), unit: 'px' } } } }, t, pin, container, dpi, anchoredToElement, frame)[0]
1414
+ : undefined);
1415
+ const tail = part(after, room);
1416
+ const tailW = tail?.lines[0]?.width ?? 0;
1417
+ const gaps = (before ? gap : 0) + (after ? gap : 0);
1418
+ const head = part(before, room - tailW - gaps);
1419
+ const headW = head?.lines[0]?.width ?? 0;
1420
+ const free = Math.max(0, room - headW - tailW - gaps);
1421
+ const tracking = row.letterSpacingPx;
1422
+ const dots = leader.enabled
1423
+ ? fitLeader(leader.char, free, (t) => Math.max(0, flowTextWidth(t, row.fontString) + tracking * graphemeCount(t)))
1424
+ : null;
1425
+ const runsOf = (p) => {
1426
+ const line = p?.lines[0];
1427
+ if (!line || !line.text)
1428
+ return { runs: [] };
1429
+ return { runs: line.runs ?? [{ text: line.text, fontString: p.fontString, width: line.width }], ...(line.order ? { order: line.order } : {}) };
1430
+ };
1431
+ const h = runsOf(head);
1432
+ const t = runsOf(tail);
1433
+ // The leader: blank room, the run, the gap before the text after it. A
1434
+ // blank run is a box as wide as its room (`inkOffset` 0).
1435
+ const blank = (width) => ({ text: '', fontString: row.fontString, width, inkOffset: 0, leader: true });
1436
+ const fill = blank((before ? gap : 0) + free - (dots?.width ?? 0));
1437
+ const middle = dots
1438
+ ? [fill, { text: dots.text, fontString: row.fontString, width: dots.width, leader: true }, blank(after ? gap : 0)]
1439
+ : [blank(room - headW - tailW)];
1440
+ const runs = [...h.runs, ...middle, ...t.runs];
1441
+ // Paint order: the text before the mark at the line's start, which is on
1442
+ // the right of a right-to-left row on the sheet and of a left-to-right
1443
+ // one in a mirrored flow; each text keeps its own order.
1444
+ const startRight = row.startRight === true;
1445
+ const ids = (n, from, order) => (order ?? Array.from({ length: n }, (_, i) => i)).map((i) => i + from);
1446
+ const headIds = ids(h.runs.length, 0, h.order);
1447
+ const middleIds = ids(middle.length, h.runs.length);
1448
+ const tailIds = ids(t.runs.length, h.runs.length + middle.length, t.order);
1449
+ const order = startRight ? [...tailIds, ...middleIds.reverse(), ...headIds] : [...headIds, ...middleIds, ...tailIds];
1450
+ const identity = order.every((v, i) => v === i);
1451
+ const first = row.lines[0];
1452
+ const line = {
1453
+ text: runs.map((r) => r.text).join(''),
1454
+ width: room,
1455
+ baselineY: first?.baselineY ?? 0,
1456
+ topY: first?.topY ?? 0,
1457
+ height: first?.height ?? 0,
1458
+ runs,
1459
+ ...(identity ? {} : { order }),
1460
+ };
1461
+ const truncated = head?.truncated ?? tail?.truncated;
1462
+ return [{
1463
+ ...row,
1464
+ lines: [line],
1465
+ align: 'left',
1466
+ needsClip: el.overflow === 'clip',
1467
+ ...(truncated ? { truncated } : { truncated: undefined }),
1468
+ }];
1469
+ }
1368
1470
  /**
1369
1471
  * One design text element laid out on its own, its box's top left corner at
1370
1472
  * `(x, y)` and nothing around it to clamp it: the text `text` as given (no