postext 1.47.0 → 1.48.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 (332) hide show
  1. package/dist/__tests__/bundle/designOverflowPin.test.js +1 -1
  2. package/dist/__tests__/bundle/gridBreakRulesPin.test.js +2 -2
  3. package/dist/__tests__/bundle/shapingLanguagePin.test.js +3 -3
  4. package/dist/__tests__/bundle/taskBoxPin.test.js +1 -1
  5. package/dist/__tests__/bundle.test.js +1 -1
  6. package/dist/__tests__/codeBlocks.test.js +1 -1
  7. package/dist/__tests__/composed/cardShapes.test.d.ts +2 -0
  8. package/dist/__tests__/composed/cardShapes.test.d.ts.map +1 -0
  9. package/dist/__tests__/composed/cardShapes.test.js +82 -0
  10. package/dist/__tests__/composed/cardShapes.test.js.map +1 -0
  11. package/dist/__tests__/composed/connectors.test.d.ts +2 -0
  12. package/dist/__tests__/composed/connectors.test.d.ts.map +1 -0
  13. package/dist/__tests__/composed/connectors.test.js +349 -0
  14. package/dist/__tests__/composed/connectors.test.js.map +1 -0
  15. package/dist/__tests__/composed/decorationSidePoints.test.d.ts +2 -0
  16. package/dist/__tests__/composed/decorationSidePoints.test.d.ts.map +1 -0
  17. package/dist/__tests__/composed/decorationSidePoints.test.js +164 -0
  18. package/dist/__tests__/composed/decorationSidePoints.test.js.map +1 -0
  19. package/dist/__tests__/composed/fit.test.js +2 -1
  20. package/dist/__tests__/composed/fit.test.js.map +1 -1
  21. package/dist/__tests__/composed/fixtures/connectors.d.ts +33 -0
  22. package/dist/__tests__/composed/fixtures/connectors.d.ts.map +1 -0
  23. package/dist/__tests__/composed/fixtures/connectors.js +142 -0
  24. package/dist/__tests__/composed/fixtures/connectors.js.map +1 -0
  25. package/dist/__tests__/composed/fixtures/grid.d.ts +32 -0
  26. package/dist/__tests__/composed/fixtures/grid.d.ts.map +1 -0
  27. package/dist/__tests__/composed/fixtures/grid.js +53 -0
  28. package/dist/__tests__/composed/fixtures/grid.js.map +1 -0
  29. package/dist/__tests__/composed/fixtures/legendMap.d.ts +24 -0
  30. package/dist/__tests__/composed/fixtures/legendMap.d.ts.map +1 -0
  31. package/dist/__tests__/composed/fixtures/legendMap.js +117 -0
  32. package/dist/__tests__/composed/fixtures/legendMap.js.map +1 -0
  33. package/dist/__tests__/composed/fixtures/mapParts.d.ts +58 -0
  34. package/dist/__tests__/composed/fixtures/mapParts.d.ts.map +1 -0
  35. package/dist/__tests__/composed/fixtures/mapParts.js +192 -0
  36. package/dist/__tests__/composed/fixtures/mapParts.js.map +1 -0
  37. package/dist/__tests__/composed/fixtures/modules.d.ts +55 -0
  38. package/dist/__tests__/composed/fixtures/modules.d.ts.map +1 -0
  39. package/dist/__tests__/composed/fixtures/modules.js +123 -0
  40. package/dist/__tests__/composed/fixtures/modules.js.map +1 -0
  41. package/dist/__tests__/composed/grid.test.d.ts +2 -0
  42. package/dist/__tests__/composed/grid.test.d.ts.map +1 -0
  43. package/dist/__tests__/composed/grid.test.js +357 -0
  44. package/dist/__tests__/composed/grid.test.js.map +1 -0
  45. package/dist/__tests__/composed/groups.test.js +6 -3
  46. package/dist/__tests__/composed/groups.test.js.map +1 -1
  47. package/dist/__tests__/composed/labelLegend.test.d.ts +2 -0
  48. package/dist/__tests__/composed/labelLegend.test.d.ts.map +1 -0
  49. package/dist/__tests__/composed/labelLegend.test.js +268 -0
  50. package/dist/__tests__/composed/labelLegend.test.js.map +1 -0
  51. package/dist/__tests__/composed/labelsChecks.test.js.map +1 -1
  52. package/dist/__tests__/composed/leaders.test.d.ts +2 -0
  53. package/dist/__tests__/composed/leaders.test.d.ts.map +1 -0
  54. package/dist/__tests__/composed/leaders.test.js +372 -0
  55. package/dist/__tests__/composed/leaders.test.js.map +1 -0
  56. package/dist/__tests__/composed/modules.test.d.ts +2 -0
  57. package/dist/__tests__/composed/modules.test.d.ts.map +1 -0
  58. package/dist/__tests__/composed/modules.test.js +352 -0
  59. package/dist/__tests__/composed/modules.test.js.map +1 -0
  60. package/dist/__tests__/composed/overConnectors.test.d.ts +2 -0
  61. package/dist/__tests__/composed/overConnectors.test.d.ts.map +1 -0
  62. package/dist/__tests__/composed/overConnectors.test.js +232 -0
  63. package/dist/__tests__/composed/overConnectors.test.js.map +1 -0
  64. package/dist/__tests__/composed/overlap.test.d.ts +2 -0
  65. package/dist/__tests__/composed/overlap.test.d.ts.map +1 -0
  66. package/dist/__tests__/composed/overlap.test.js +339 -0
  67. package/dist/__tests__/composed/overlap.test.js.map +1 -0
  68. package/dist/__tests__/composedTemplates.test.js +1 -1
  69. package/dist/__tests__/design/boxShape.test.d.ts +2 -0
  70. package/dist/__tests__/design/boxShape.test.d.ts.map +1 -0
  71. package/dist/__tests__/design/boxShape.test.js +126 -0
  72. package/dist/__tests__/design/boxShape.test.js.map +1 -0
  73. package/dist/__tests__/design/boxShapePaint.test.d.ts +2 -0
  74. package/dist/__tests__/design/boxShapePaint.test.d.ts.map +1 -0
  75. package/dist/__tests__/design/boxShapePaint.test.js +130 -0
  76. package/dist/__tests__/design/boxShapePaint.test.js.map +1 -0
  77. package/dist/__tests__/design/openerBottomAnchor.test.js.map +1 -1
  78. package/dist/__tests__/design/pathBlock.test.d.ts +2 -0
  79. package/dist/__tests__/design/pathBlock.test.d.ts.map +1 -0
  80. package/dist/__tests__/design/pathBlock.test.js +194 -0
  81. package/dist/__tests__/design/pathBlock.test.js.map +1 -0
  82. package/dist/__tests__/design/pathElement.test.d.ts +2 -0
  83. package/dist/__tests__/design/pathElement.test.d.ts.map +1 -0
  84. package/dist/__tests__/design/pathElement.test.js +257 -0
  85. package/dist/__tests__/design/pathElement.test.js.map +1 -0
  86. package/dist/__tests__/design/svgPath.test.d.ts +2 -0
  87. package/dist/__tests__/design/svgPath.test.d.ts.map +1 -0
  88. package/dist/__tests__/design/svgPath.test.js +144 -0
  89. package/dist/__tests__/design/svgPath.test.js.map +1 -0
  90. package/dist/__tests__/exports.test.js +52 -0
  91. package/dist/__tests__/exports.test.js.map +1 -1
  92. package/dist/__tests__/hardBreaks.test.js +1 -1
  93. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  94. package/dist/__tests__/labelGlyphPaint.test.d.ts +2 -0
  95. package/dist/__tests__/labelGlyphPaint.test.d.ts.map +1 -0
  96. package/dist/__tests__/labelGlyphPaint.test.js +86 -0
  97. package/dist/__tests__/labelGlyphPaint.test.js.map +1 -0
  98. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  99. package/dist/__tests__/migrate/labelsOnPictures.test.js +1 -1
  100. package/dist/__tests__/migrate/labelsOnPictures.test.js.map +1 -1
  101. package/dist/__tests__/parse/containers.test.js +1 -1
  102. package/dist/__tests__/parse/containers.test.js.map +1 -1
  103. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
  104. package/dist/__tests__/pipeline/calloutLabelGlyph.test.d.ts +2 -0
  105. package/dist/__tests__/pipeline/calloutLabelGlyph.test.d.ts.map +1 -0
  106. package/dist/__tests__/pipeline/calloutLabelGlyph.test.js +198 -0
  107. package/dist/__tests__/pipeline/calloutLabelGlyph.test.js.map +1 -0
  108. package/dist/__tests__/pipeline/calloutShapes.test.d.ts +2 -0
  109. package/dist/__tests__/pipeline/calloutShapes.test.d.ts.map +1 -0
  110. package/dist/__tests__/pipeline/calloutShapes.test.js +159 -0
  111. package/dist/__tests__/pipeline/calloutShapes.test.js.map +1 -0
  112. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  113. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  114. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  115. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  116. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  117. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  118. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  119. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  120. package/dist/__tests__/verseLines.test.js +1 -1
  121. package/dist/bundle/configVersion.d.ts +12 -3
  122. package/dist/bundle/configVersion.d.ts.map +1 -1
  123. package/dist/bundle/configVersion.js +16 -5
  124. package/dist/bundle/configVersion.js.map +1 -1
  125. package/dist/canvas-backend/blockRender.js +3 -3
  126. package/dist/canvas-backend/blockRender.js.map +1 -1
  127. package/dist/canvas-backend/composed.d.ts +4 -2
  128. package/dist/canvas-backend/composed.d.ts.map +1 -1
  129. package/dist/canvas-backend/composed.js +12 -7
  130. package/dist/canvas-backend/composed.js.map +1 -1
  131. package/dist/canvas-backend/headerFooter.d.ts +17 -1
  132. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  133. package/dist/canvas-backend/headerFooter.js +64 -1
  134. package/dist/canvas-backend/headerFooter.js.map +1 -1
  135. package/dist/canvas-backend/index.d.ts.map +1 -1
  136. package/dist/canvas-backend/index.js +7 -1
  137. package/dist/canvas-backend/index.js.map +1 -1
  138. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  139. package/dist/canvas-backend/renderResourceBlock.js +17 -6
  140. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  141. package/dist/canvas-backend/swatch.d.ts +20 -1
  142. package/dist/canvas-backend/swatch.d.ts.map +1 -1
  143. package/dist/canvas-backend/swatch.js +51 -1
  144. package/dist/canvas-backend/swatch.js.map +1 -1
  145. package/dist/comics/layoutPage.d.ts.map +1 -1
  146. package/dist/comics/layoutPage.js +6 -1
  147. package/dist/comics/layoutPage.js.map +1 -1
  148. package/dist/composed/continuation.d.ts +10 -2
  149. package/dist/composed/continuation.d.ts.map +1 -1
  150. package/dist/composed/continuation.js +10 -2
  151. package/dist/composed/continuation.js.map +1 -1
  152. package/dist/composed/document.d.ts +45 -1
  153. package/dist/composed/document.d.ts.map +1 -1
  154. package/dist/composed/document.js +76 -17
  155. package/dist/composed/document.js.map +1 -1
  156. package/dist/composed/labelText.d.ts +6 -2
  157. package/dist/composed/labelText.d.ts.map +1 -1
  158. package/dist/composed/labelText.js +19 -3
  159. package/dist/composed/labelText.js.map +1 -1
  160. package/dist/composed/labels.d.ts +57 -3
  161. package/dist/composed/labels.d.ts.map +1 -1
  162. package/dist/composed/labels.js +261 -12
  163. package/dist/composed/labels.js.map +1 -1
  164. package/dist/composed/modules.d.ts +30 -0
  165. package/dist/composed/modules.d.ts.map +1 -0
  166. package/dist/composed/modules.js +194 -0
  167. package/dist/composed/modules.js.map +1 -0
  168. package/dist/composed/overlap.d.ts +52 -0
  169. package/dist/composed/overlap.d.ts.map +1 -0
  170. package/dist/composed/overlap.js +611 -0
  171. package/dist/composed/overlap.js.map +1 -0
  172. package/dist/composed/paint.d.ts +28 -5
  173. package/dist/composed/paint.d.ts.map +1 -1
  174. package/dist/composed/paint.js +26 -5
  175. package/dist/composed/paint.js.map +1 -1
  176. package/dist/composed/reflowLog.d.ts +6 -1
  177. package/dist/composed/reflowLog.d.ts.map +1 -1
  178. package/dist/composed/reflowLog.js +43 -0
  179. package/dist/composed/reflowLog.js.map +1 -1
  180. package/dist/composed/repeat.d.ts +66 -0
  181. package/dist/composed/repeat.d.ts.map +1 -0
  182. package/dist/composed/repeat.js +217 -0
  183. package/dist/composed/repeat.js.map +1 -0
  184. package/dist/composed/slotChecks.d.ts +1 -1
  185. package/dist/composed/slotChecks.d.ts.map +1 -1
  186. package/dist/composed/slotChecks.js +114 -8
  187. package/dist/composed/slotChecks.js.map +1 -1
  188. package/dist/composed/sourceMap.d.ts.map +1 -1
  189. package/dist/composed/sourceMap.js +16 -4
  190. package/dist/composed/sourceMap.js.map +1 -1
  191. package/dist/composed/spread.d.ts.map +1 -1
  192. package/dist/composed/spread.js +6 -2
  193. package/dist/composed/spread.js.map +1 -1
  194. package/dist/composed/templates.d.ts +22 -2
  195. package/dist/composed/templates.d.ts.map +1 -1
  196. package/dist/composed/templates.js +159 -9
  197. package/dist/composed/templates.js.map +1 -1
  198. package/dist/composed/types.d.ts +140 -7
  199. package/dist/composed/types.d.ts.map +1 -1
  200. package/dist/composed/validate.d.ts +1 -1
  201. package/dist/composed/validate.d.ts.map +1 -1
  202. package/dist/composed/validate.js +101 -4
  203. package/dist/composed/validate.js.map +1 -1
  204. package/dist/composed/wrap.d.ts.map +1 -1
  205. package/dist/composed/wrap.js +95 -17
  206. package/dist/composed/wrap.js.map +1 -1
  207. package/dist/configWarnings.d.ts +7 -1
  208. package/dist/configWarnings.d.ts.map +1 -1
  209. package/dist/configWarnings.js +275 -4
  210. package/dist/configWarnings.js.map +1 -1
  211. package/dist/contrast.d.ts.map +1 -1
  212. package/dist/contrast.js +8 -0
  213. package/dist/contrast.js.map +1 -1
  214. package/dist/defaults/calloutStyles.d.ts +10 -1
  215. package/dist/defaults/calloutStyles.d.ts.map +1 -1
  216. package/dist/defaults/calloutStyles.js +46 -7
  217. package/dist/defaults/calloutStyles.js.map +1 -1
  218. package/dist/defaults/headerFooter.d.ts.map +1 -1
  219. package/dist/defaults/headerFooter.js +38 -0
  220. package/dist/defaults/headerFooter.js.map +1 -1
  221. package/dist/design/boxShape.d.ts +101 -0
  222. package/dist/design/boxShape.d.ts.map +1 -0
  223. package/dist/design/boxShape.js +398 -0
  224. package/dist/design/boxShape.js.map +1 -0
  225. package/dist/design/connector.d.ts +75 -0
  226. package/dist/design/connector.d.ts.map +1 -0
  227. package/dist/design/connector.js +325 -0
  228. package/dist/design/connector.js.map +1 -0
  229. package/dist/design/layout.d.ts +56 -3
  230. package/dist/design/layout.d.ts.map +1 -1
  231. package/dist/design/layout.js +214 -12
  232. package/dist/design/layout.js.map +1 -1
  233. package/dist/design/logicalEdges.d.ts +7 -0
  234. package/dist/design/logicalEdges.d.ts.map +1 -1
  235. package/dist/design/logicalEdges.js +28 -0
  236. package/dist/design/logicalEdges.js.map +1 -1
  237. package/dist/design/pathBlock.d.ts +69 -0
  238. package/dist/design/pathBlock.d.ts.map +1 -0
  239. package/dist/design/pathBlock.js +286 -0
  240. package/dist/design/pathBlock.js.map +1 -0
  241. package/dist/design/svgPath.d.ts +48 -0
  242. package/dist/design/svgPath.d.ts.map +1 -0
  243. package/dist/design/svgPath.js +402 -0
  244. package/dist/design/svgPath.js.map +1 -0
  245. package/dist/fonts/usage.d.ts +5 -0
  246. package/dist/fonts/usage.d.ts.map +1 -1
  247. package/dist/fonts/usage.js +36 -3
  248. package/dist/fonts/usage.js.map +1 -1
  249. package/dist/html-backend.d.ts.map +1 -1
  250. package/dist/html-backend.js +127 -22
  251. package/dist/html-backend.js.map +1 -1
  252. package/dist/index.d.ts +19 -9
  253. package/dist/index.d.ts.map +1 -1
  254. package/dist/index.js +13 -5
  255. package/dist/index.js.map +1 -1
  256. package/dist/measure/cache.js +1 -1
  257. package/dist/measure/cache.js.map +1 -1
  258. package/dist/measure/inlineIcon.d.ts +34 -0
  259. package/dist/measure/inlineIcon.d.ts.map +1 -0
  260. package/dist/measure/inlineIcon.js +89 -0
  261. package/dist/measure/inlineIcon.js.map +1 -0
  262. package/dist/measure/rich.d.ts +2 -1
  263. package/dist/measure/rich.d.ts.map +1 -1
  264. package/dist/measure/rich.js +6 -0
  265. package/dist/measure/rich.js.map +1 -1
  266. package/dist/migrate/pageDesign.d.ts.map +1 -1
  267. package/dist/migrate/pageDesign.js +4 -2
  268. package/dist/migrate/pageDesign.js.map +1 -1
  269. package/dist/migrate/textToMarkdown.js +2 -0
  270. package/dist/migrate/textToMarkdown.js.map +1 -1
  271. package/dist/parse/blockParser.d.ts.map +1 -1
  272. package/dist/parse/blockParser.js +171 -20
  273. package/dist/parse/blockParser.js.map +1 -1
  274. package/dist/parse/index.d.ts +1 -1
  275. package/dist/parse/index.d.ts.map +1 -1
  276. package/dist/parse/index.js.map +1 -1
  277. package/dist/parse/inlineFormatting.d.ts +11 -3
  278. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  279. package/dist/parse/inlineFormatting.js +63 -5
  280. package/dist/parse/inlineFormatting.js.map +1 -1
  281. package/dist/parse/inlineSnippet.d.ts +2 -1
  282. package/dist/parse/inlineSnippet.d.ts.map +1 -1
  283. package/dist/parse/inlineSnippet.js +3 -2
  284. package/dist/parse/inlineSnippet.js.map +1 -1
  285. package/dist/parse/sourceMapping.d.ts.map +1 -1
  286. package/dist/parse/sourceMapping.js +8 -1
  287. package/dist/parse/sourceMapping.js.map +1 -1
  288. package/dist/parse/types.d.ts +71 -1
  289. package/dist/parse/types.d.ts.map +1 -1
  290. package/dist/pipeline/build.d.ts.map +1 -1
  291. package/dist/pipeline/build.js +23 -11
  292. package/dist/pipeline/build.js.map +1 -1
  293. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  294. package/dist/pipeline/buildMeasurement.js +23 -11
  295. package/dist/pipeline/buildMeasurement.js.map +1 -1
  296. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  297. package/dist/pipeline/calloutLayout.js +142 -32
  298. package/dist/pipeline/calloutLayout.js.map +1 -1
  299. package/dist/pipeline/composedLayout.d.ts +1 -33
  300. package/dist/pipeline/composedLayout.d.ts.map +1 -1
  301. package/dist/pipeline/composedLayout.js +526 -36
  302. package/dist/pipeline/composedLayout.js.map +1 -1
  303. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  304. package/dist/pipeline/contentWarnings.js +46 -1
  305. package/dist/pipeline/contentWarnings.js.map +1 -1
  306. package/dist/pipeline/continuation.d.ts.map +1 -1
  307. package/dist/pipeline/continuation.js +3 -2
  308. package/dist/pipeline/continuation.js.map +1 -1
  309. package/dist/pipeline/headerFooter.d.ts +19 -1
  310. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  311. package/dist/pipeline/headerFooter.js +145 -5
  312. package/dist/pipeline/headerFooter.js.map +1 -1
  313. package/dist/pipeline/partPalette.d.ts.map +1 -1
  314. package/dist/pipeline/partPalette.js +40 -1
  315. package/dist/pipeline/partPalette.js.map +1 -1
  316. package/dist/pipeline/resourceLayout.d.ts +1 -1
  317. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  318. package/dist/pipeline/resourceLayout.js +44 -15
  319. package/dist/pipeline/resourceLayout.js.map +1 -1
  320. package/dist/preflight.d.ts.map +1 -1
  321. package/dist/preflight.js +36 -1
  322. package/dist/preflight.js.map +1 -1
  323. package/dist/types.d.ts +305 -22
  324. package/dist/types.d.ts.map +1 -1
  325. package/dist/vdt.d.ts +384 -11
  326. package/dist/vdt.d.ts.map +1 -1
  327. package/dist/vdt.js.map +1 -1
  328. package/package.json +1 -1
  329. package/dist/composed/round2Types.d.ts +0 -185
  330. package/dist/composed/round2Types.d.ts.map +0 -1
  331. package/dist/composed/round2Types.js +0 -2
  332. package/dist/composed/round2Types.js.map +0 -1
@@ -0,0 +1,159 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { buildDocument } from '../../pipeline';
3
+ import { createMeasurementCache } from '../../measure';
4
+ import { collectConfigWarnings } from '../../configWarnings';
5
+ import { styleWithLook } from '../../pipeline/composedLayout';
6
+ import { resolveCalloutStylesConfig } from '../../defaults/calloutStyles';
7
+ import { resolveBodyTextConfig } from '../../defaults/bodyText';
8
+ import { resolveHeadingsConfig } from '../../defaults/headings';
9
+ import { resolveUnorderedListsConfig } from '../../defaults/unorderedLists';
10
+ // #1059: box styles with a radius per corner, a border per side, and a
11
+ // card joined to its label tab.
12
+ class StubCtx {
13
+ font = '';
14
+ measureText(s) {
15
+ const size = Number(/(\d+(?:\.\d+)?)px/.exec(this.font)?.[1] ?? 10);
16
+ return { width: [...s].length * size * 0.6 };
17
+ }
18
+ }
19
+ globalThis.OffscreenCanvas = class {
20
+ getContext() {
21
+ return new StubCtx();
22
+ }
23
+ };
24
+ const pt = (value) => ({ value, unit: 'pt' });
25
+ const hex = (h) => ({ hex: h, model: 'hex' });
26
+ const config = (style) => ({
27
+ page: { width: pt(500), height: pt(700), dpi: 72, margins: { top: pt(40), bottom: pt(20), left: pt(30), right: pt(20) } },
28
+ layout: { layoutType: 'single' },
29
+ header: { elements: [] },
30
+ footer: { elements: [] },
31
+ bodyText: { fontSize: pt(10), lineHeight: pt(14) },
32
+ calloutStyles: [{ id: 'card', title: '', background: hex('#fafafa'), padding: { top: pt(6), right: pt(6), bottom: pt(6), left: pt(6) }, ...style }],
33
+ });
34
+ const build = (style, markdown = ':::callout{type="card" label="Words"}\nBody of the box.\n:::') => buildDocument({ markdown }, config(style), createMeasurementCache());
35
+ const callout = (doc) => doc.blocks.find((b) => b.type === 'callout');
36
+ const overlay = (doc) => callout(doc).designOverlay?.blocks ?? [];
37
+ const frameBox = (doc) => overlay(doc).find((b) => b.kind === 'box');
38
+ const paths = (doc) => overlay(doc).filter((b) => b.kind === 'path');
39
+ const label = (extra = {}) => ({
40
+ fontSize: pt(10), height: pt(14), paddingX: pt(5), color: hex('#ffffff'), background: hex('#336699'), ...extra,
41
+ });
42
+ describe('callout box shapes (#1059)', () => {
43
+ it('paints a style with one radius and a whole border as before', () => {
44
+ const doc = build({ borderRadius: pt(4), border: { enabled: true, color: hex('#000000'), width: pt(1) } });
45
+ expect(frameBox(doc).box).toEqual({ backgroundColor: '#fafafa', borderColor: '#000000', borderWidthPx: 1, borderRadiusPx: 4 });
46
+ });
47
+ it('rounds only the corners a style names', () => {
48
+ const doc = build({ borderRadius: { topLeft: pt(8), bottomRight: pt(8) } });
49
+ const box = frameBox(doc).box;
50
+ expect(box.borderRadiiPx).toEqual([8, 0, 8, 0]);
51
+ expect(box.borderRadiusPx).toBe(8);
52
+ });
53
+ it('draws a border on the top side only', () => {
54
+ const doc = build({ border: { enabled: false, color: hex('#cc0000'), width: pt(2), sides: { top: { enabled: true } } } });
55
+ const box = frameBox(doc).box;
56
+ expect(box.borderSides).toEqual({ top: { color: '#cc0000', widthPx: 2 }, right: null, bottom: null, left: null });
57
+ expect(box.borderColor).toBe('#cc0000');
58
+ });
59
+ it('folds sides set alike back to the whole border', () => {
60
+ const side = { enabled: true };
61
+ const doc = build({ border: { enabled: true, color: hex('#000000'), width: pt(1), sides: { top: side, right: side, bottom: side, left: side } } });
62
+ const box = frameBox(doc).box;
63
+ expect(box.borderSides).toBeUndefined();
64
+ expect(box.borderWidthPx).toBe(1);
65
+ });
66
+ it('clips the stripe to the corners a style rounds', () => {
67
+ const doc = build({ borderRadius: { topLeft: pt(6), bottomLeft: pt(6) }, stripe: { enabled: true, side: 'left', width: pt(4) } });
68
+ const stripe = overlay(doc).find((b) => b.kind === 'box' && b.bbox.width === 4);
69
+ expect(stripe.clip?.radii).toEqual([6, 0, 0, 6]);
70
+ });
71
+ });
72
+ describe('a card joined to its tab (#1059)', () => {
73
+ const joined = (position, extra = {}) => build({
74
+ borderRadius: pt(6),
75
+ border: { enabled: true, color: hex('#336699'), width: pt(1) },
76
+ label: label({ position, joined: true, inset: pt(12) }),
77
+ ...extra,
78
+ });
79
+ it('draws the box and its tab as one outline, filled once, with the border round it', () => {
80
+ const doc = joined('top-left');
81
+ expect(overlay(doc).some((b) => b.kind === 'box' && b.bbox.height === 14)).toBe(false);
82
+ const [fill, border] = paths(doc);
83
+ expect(fill.boxPart).toBe('fill');
84
+ expect(fill.fill).toBe('#fafafa');
85
+ expect(fill.subpaths).toHaveLength(1);
86
+ expect(border.boxPart).toBe('border');
87
+ expect(border.fillRule).toBe('evenodd');
88
+ expect(border.borderWidthPx).toBe(1);
89
+ });
90
+ it('stands the tab on the box: the block grows by the tab height above the box', () => {
91
+ const plain = build({ borderRadius: pt(6) });
92
+ const doc = joined('top-left');
93
+ expect(callout(doc).bbox.height).toBeCloseTo(callout(plain).bbox.height + 14, 6);
94
+ const fill = paths(doc)[0];
95
+ // The outline reaches the block's top (the tab) and the box's foot.
96
+ const top = callout(doc).bbox.y;
97
+ expect(fill.bbox.y).toBeCloseTo(top, 6);
98
+ expect(fill.bbox.y + fill.bbox.height).toBeCloseTo(top + callout(doc).bbox.height, 6);
99
+ const words = overlay(doc).find((b) => b.kind === 'text' && b.lines[0]?.text === 'Words');
100
+ expect(words.bbox.y).toBeCloseTo(top, 6);
101
+ });
102
+ it('hugs the right corner, and hangs from the foot', () => {
103
+ const right = paths(joined('top-right'))[0];
104
+ const left = paths(joined('top-left'))[0];
105
+ expect(right.bbox).toEqual(left.bbox);
106
+ const foot = joined('bottom-left');
107
+ const words = overlay(foot).find((b) => b.kind === 'text' && b.lines[0]?.text === 'Words');
108
+ // The tab hangs under the box: its words sit in the block's last 14 px.
109
+ const { y, height } = callout(foot).bbox;
110
+ expect(words.bbox.y + words.bbox.height).toBeCloseTo(y + height, 6);
111
+ });
112
+ it('keeps the tab glyph icon on a joined tab', () => {
113
+ const doc = build({
114
+ borderRadius: pt(6),
115
+ label: label({ position: 'top-left', joined: true, icon: { kind: 'glyph', glyph: '◉', placement: 'inside' } }),
116
+ });
117
+ expect(overlay(doc).some((b) => b.kind === 'text' && b.lines[0]?.text === '◉' && b.artifact === true)).toBe(true);
118
+ });
119
+ it('squares the stripe where the tab goes on up the side', () => {
120
+ const doc = build({
121
+ borderRadius: pt(6),
122
+ stripe: { enabled: true, side: 'left', width: pt(4) },
123
+ label: label({ position: 'top-left', joined: true }),
124
+ });
125
+ const stripe = overlay(doc).find((b) => b.kind === 'box' && b.bbox.width === 4);
126
+ expect(stripe.clip?.radii).toEqual([0, 6, 6, 6]);
127
+ });
128
+ it('runs a border per side round the tab with the side it stands on', () => {
129
+ const doc = joined('top-left', {
130
+ border: { enabled: false, color: hex('#336699'), width: pt(1), sides: { top: { enabled: true, width: pt(2) }, left: { enabled: true, color: hex('#999999') } } },
131
+ });
132
+ const borders = paths(doc).filter((p) => p.boxPart === 'border');
133
+ expect(borders.map((b) => [b.fill, b.borderWidthPx])).toEqual([['#336699', 2], ['#999999', 1]]);
134
+ });
135
+ it('reports an offset on a joined tab, and positions and keys a box does not have', () => {
136
+ const warnings = collectConfigWarnings({
137
+ calloutStyles: [{
138
+ id: 'card',
139
+ borderRadius: { topLeft: pt(2), topRigth: pt(2) },
140
+ border: { sides: { top: { enabled: true, colour: hex('#000') }, middle: {} } },
141
+ label: { joined: true, offset: pt(3), position: 'top-centre' },
142
+ }],
143
+ });
144
+ const at = (path) => warnings.find((w) => w.path === path);
145
+ expect(at('calloutStyles[0].borderRadius.topRigth')?.suggestion).toBe('topRight');
146
+ expect(at('calloutStyles[0].border.sides.middle')?.kind).toBe('unknownConfigKey');
147
+ expect(at('calloutStyles[0].border.sides.top.colour')?.suggestion).toBe('color');
148
+ expect(at('calloutStyles[0].label.offset')).toMatchObject({ kind: 'unknownConfigValue', used: '0' });
149
+ expect(at('calloutStyles[0].label.position')?.kind).toBe('unknownConfigValue');
150
+ });
151
+ it('recolours every side with a frame look', () => {
152
+ const body = resolveBodyTextConfig(undefined);
153
+ const [style] = resolveCalloutStylesConfig([{ id: 'card', border: { enabled: true, sides: { top: { color: hex('#111111') } } } }], body, resolveHeadingsConfig(undefined), resolveUnorderedListsConfig(undefined, body));
154
+ const looked = styleWithLook(style, { border: { color: hex('#ee0000') } });
155
+ expect(looked.border.color.hex).toBe('#ee0000');
156
+ expect(Object.values(looked.border.sides).map((s) => s.color.hex)).toEqual(['#ee0000', '#ee0000', '#ee0000', '#ee0000']);
157
+ });
158
+ });
159
+ //# sourceMappingURL=calloutShapes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calloutShapes.test.js","sourceRoot":"","sources":["../../../src/__tests__/pipeline/calloutShapes.test.ts"],"names":[],"mappings":"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"}
@@ -155,7 +155,7 @@ describe('layout.boxChildSplitMinLines', () => {
155
155
  it('is pinned to 1 for configurations stored before rules 6 whose book holds a box', () => {
156
156
  const cfg = { layout: { layoutType: 'single', inlineResourceGap: 'around', inlineResourceGapInBoxes: true } };
157
157
  const box = twoLineItems(3);
158
- expect(CONFIG_VERSION).toBe(15);
158
+ expect(CONFIG_VERSION).toBe(16);
159
159
  // Unversioned (1.4) and stamped 5 (a 1.5 prerelease): pinned.
160
160
  expect(migrateConfig(cfg, undefined, { content: box }).layout?.boxChildSplitMinLines).toBe(1);
161
161
  expect(migrateConfig(cfg, 5, { content: ['No box here.', box] }).layout?.boxChildSplitMinLines).toBe(1);
@@ -110,7 +110,7 @@ describe('colonListRoom: \'line\' keeps the postext 1.4 room check (EF-110)', ()
110
110
  describe('configurations stored before rules 6 keep the 1.4 colon-list room', () => {
111
111
  const LIST = 'Look for these signs:\n\n- one\n- two';
112
112
  it('pins a configuration older than 6 whose book introduces a list with a colon, once', () => {
113
- expect(CONFIG_VERSION).toBe(15);
113
+ expect(CONFIG_VERSION).toBe(16);
114
114
  const stored = { bodyText: { fontFamily: 'Georgia' } };
115
115
  for (const version of [undefined, 3, 4, 5]) {
116
116
  expect(migrateConfig(stored, version, { content: LIST }).bodyText, `${version}`)
@@ -121,7 +121,7 @@ describe('a break after a compound’s hyphen on both paths (EF-186)', () => {
121
121
  expect(other).toBeGreaterThan(0);
122
122
  });
123
123
  it('is pinned off for configurations stored before rules 8 whose text sets a compound', () => {
124
- expect(CONFIG_VERSION).toBe(15);
124
+ expect(CONFIG_VERSION).toBe(16);
125
125
  const stored = { bodyText: { fontFamily: 'Georgia' } };
126
126
  for (const version of [undefined, 3, 6, 7]) {
127
127
  expect(migrateConfig(stored, version, { content: EN }).bodyText?.breakAfterHyphens, `${version}`).toBe(false);
@@ -303,7 +303,7 @@ describe('breakAfterDashes in the configuration', () => {
303
303
  expect(stripBodyTextDefaults({ breakAfterDashes: false })).toEqual({ breakAfterDashes: false });
304
304
  });
305
305
  it('is pinned off for configurations stored before rules 7 whose text sets a closed dash', () => {
306
- expect(CONFIG_VERSION).toBe(15);
306
+ expect(CONFIG_VERSION).toBe(16);
307
307
  const stored = { bodyText: { fontFamily: 'Georgia' } };
308
308
  for (const version of [undefined, 3, 5, 6]) {
309
309
  expect(migrateConfig(stored, version, { content: ALICE }).bodyText?.breakAfterDashes, `${version}`).toBe(false);
@@ -103,7 +103,7 @@ describe('a paragraph kept with the heading above it splits by the orphan rule t
103
103
  }
104
104
  // Stored under today's rules, it is read as it is.
105
105
  expect(migrateConfig(stored, CONFIG_VERSION, { content: markdown })).toBe(stored);
106
- expect(CONFIG_VERSION).toBe(15);
106
+ expect(CONFIG_VERSION).toBe(16);
107
107
  });
108
108
  it('pins only what the setting changes', () => {
109
109
  const plain = { bodyText: { fontFamily: 'Georgia' } };
@@ -126,7 +126,7 @@ describe('layout.inlineResourceGap and configurations stored before postext 1.5
126
126
  });
127
127
  it('pins a stored configuration whose book embeds a resource, once', () => {
128
128
  const config = { layout: { layoutType: 'single' } };
129
- expect(CONFIG_VERSION).toBe(15);
129
+ expect(CONFIG_VERSION).toBe(16);
130
130
  const pinned = migrateConfig(config, undefined, { content: MD });
131
131
  expect(pinned.layout).toEqual({ layoutType: 'single', inlineResourceGap: 'above' });
132
132
  // Stamped 4 (a 1.5 prerelease): the gap is the only pin it gets.
@@ -240,7 +240,7 @@ describe('paragraphStyles[].snapToGrid (EF-184)', () => {
240
240
  describe('configurations stored before rules 8 keep the 1.4 space under containers', () => {
241
241
  const stored = { bodyText: { fontFamily: 'Georgia' }, paragraphStyles: [{ id: 's' }] };
242
242
  it('pins \'add\' when the book holds a :::paragraphs container', () => {
243
- expect(CONFIG_VERSION).toBe(15);
243
+ expect(CONFIG_VERSION).toBe(16);
244
244
  for (const version of [undefined, 3, 5, 6, 7]) {
245
245
  expect(migrateConfig(stored, version, { content: GROUP_THEN_HEADING }).bodyText?.paragraphContainerSpacing, `${version}`).toBe('add');
246
246
  }
@@ -168,7 +168,7 @@ describe('optimalRagged in the configuration', () => {
168
168
  expect(stripBodyTextDefaults({ optimalRagged: false })).toEqual({ optimalRagged: false });
169
169
  });
170
170
  it('is pinned off for configurations stored before rules 7 that set running text ragged', () => {
171
- expect(CONFIG_VERSION).toBe(15);
171
+ expect(CONFIG_VERSION).toBe(16);
172
172
  const ragged = { bodyText: { textAlign: 'left' } };
173
173
  for (const version of [undefined, 3, 5, 6]) {
174
174
  expect(migrateConfig(ragged, version, { content: 'Text.' }).bodyText, `${version}`).toEqual({ textAlign: 'left', optimalRagged: false, scriptContext: false, shapingLanguage: 'host' });
@@ -438,7 +438,7 @@ describe('bodyText.verse and the configurations stored before #620', () => {
438
438
  const PLAIN = ':::verse\nA line\nAnother\n:::';
439
439
  const BAYT = ':::verse\nA || B\n:::';
440
440
  it('pins the 1.22 verse layout when the text holds a poem with no separator', () => {
441
- expect(CONFIG_VERSION).toBe(15);
441
+ expect(CONFIG_VERSION).toBe(16);
442
442
  const stored = { bodyText: { fontFamily: 'Georgia' } };
443
443
  for (const version of [undefined, 3, 7, 8]) {
444
444
  expect(migrateConfig(stored, version, { content: PLAIN }).bodyText?.verse, `${version}`).toEqual({ layout: 'bayt' });
@@ -1,6 +1,6 @@
1
1
  import type { PostextConfig } from '../types';
2
2
  /**
3
- * The configuration rules this engine writes: 15 since #853 (14 from
3
+ * The configuration rules this engine writes: 16 since #1056 (15 from #853, 14 from
4
4
  * postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
5
5
  * more since, and a configuration
6
6
  * stored under an older
@@ -179,6 +179,11 @@ import type { PostextConfig } from '../types';
179
179
  * changes meaning, so one stored under 14 is read as it is (no pin): the
180
180
  * number marks a configuration that may hold templates, so an older
181
181
  * reader can say it lays out without them.
182
+ * - 16 (#1056), composed pages round 2: a template's decoration may hold
183
+ * connectors (`kind: 'connector'`), the first decoration element that is
184
+ * not placed by an anchor. An engine that reads 15 or less leaves them
185
+ * out (`unknownConfigValue`). Nothing older changes meaning: one stored
186
+ * under 15 is read as it is (no pin).
182
187
  *
183
188
  * A configuration stored without a version was written for postext 1.4 or
184
189
  * earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
@@ -197,13 +202,17 @@ import type { PostextConfig } from '../types';
197
202
  * version-13 pins (which every older one gets too); one stored under 13
198
203
  * was written by postext 1.29 and gets the version-14 pin (which every
199
204
  * older one gets too); one stored under 14 was written by postext 1.30 to
200
- * 1.33 and gets nothing.
205
+ * 1.33 and gets nothing; one stored under 15 was written by postext 1.34 to
206
+ * 1.47 and gets nothing either.
201
207
  */
202
- export declare const CONFIG_VERSION = 15;
208
+ export declare const CONFIG_VERSION = 16;
203
209
  /** The rules that read page templates and label styles (#853). They add
204
210
  * keys and change no older one, so they pin nothing: kept to say where
205
211
  * the number came from. */
206
212
  export declare const COMPOSED_PAGES_RULES = 15;
213
+ /** The rules that draw connectors in a template's decoration (#1056): new
214
+ * keys only, nothing to pin. */
215
+ export declare const CONNECTOR_RULES = 16;
207
216
  /**
208
217
  * How much larger postext 1.4 set maths than the size it documents:
209
218
  * MathJax gives a formula's box in `ex`, one `ex` of its TeX font is
@@ -1 +1 @@
1
- {"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { KNOWN_CONTAINERS } from '../parse/blockParser';
14
14
  import { codeFenceOpen } from '../parse/codeFence';
15
15
  import { hasCJK } from '../measure/cjk';
16
16
  /**
17
- * The configuration rules this engine writes: 15 since #853 (14 from
17
+ * The configuration rules this engine writes: 16 since #1056 (15 from #853, 14 from
18
18
  * postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
19
19
  * more since, and a configuration
20
20
  * stored under an older
@@ -193,6 +193,11 @@ import { hasCJK } from '../measure/cjk';
193
193
  * changes meaning, so one stored under 14 is read as it is (no pin): the
194
194
  * number marks a configuration that may hold templates, so an older
195
195
  * reader can say it lays out without them.
196
+ * - 16 (#1056), composed pages round 2: a template's decoration may hold
197
+ * connectors (`kind: 'connector'`), the first decoration element that is
198
+ * not placed by an anchor. An engine that reads 15 or less leaves them
199
+ * out (`unknownConfigValue`). Nothing older changes meaning: one stored
200
+ * under 15 is read as it is (no pin).
196
201
  *
197
202
  * A configuration stored without a version was written for postext 1.4 or
198
203
  * earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
@@ -211,9 +216,10 @@ import { hasCJK } from '../measure/cjk';
211
216
  * version-13 pins (which every older one gets too); one stored under 13
212
217
  * was written by postext 1.29 and gets the version-14 pin (which every
213
218
  * older one gets too); one stored under 14 was written by postext 1.30 to
214
- * 1.33 and gets nothing.
219
+ * 1.33 and gets nothing; one stored under 15 was written by postext 1.34 to
220
+ * 1.47 and gets nothing either.
215
221
  */
216
- export const CONFIG_VERSION = 15;
222
+ export const CONFIG_VERSION = 16;
217
223
  /** The rules that merge a partial heading break onto its level's. */
218
224
  const HEADING_BREAK_RULES = 3;
219
225
  /** The rules that set a formula's em at the documented size. */
@@ -319,6 +325,9 @@ const TASK_BOX_RULES = 13;
319
325
  * keys and change no older one, so they pin nothing: kept to say where
320
326
  * the number came from. */
321
327
  export const COMPOSED_PAGES_RULES = 15;
328
+ /** The rules that draw connectors in a template's decoration (#1056): new
329
+ * keys only, nothing to pin. */
330
+ export const CONNECTOR_RULES = 16;
322
331
  /** Up to 1.4 a drop cap with no `fontSize` was as tall as the line boxes it
323
332
  * spans divided by this, the share of a letter's size its capitals take. */
324
333
  const CAP_HEIGHT = 0.72;
@@ -1860,7 +1869,8 @@ export function migrateConfig(config, configVersion, options = {}) {
1860
1869
  out = pinLegacyShapingLanguage(out);
1861
1870
  if (rules < TASK_BOX_RULES && mayHaveTaskItems(content))
1862
1871
  out = pinLegacyTaskBox(out);
1863
- // COMPOSED_PAGES_RULES (15, #853): new keys only, nothing to pin.
1872
+ // COMPOSED_PAGES_RULES (15, #853) and CONNECTOR_RULES (16, #1056): new
1873
+ // keys only, nothing to pin.
1864
1874
  return out;
1865
1875
  }
1866
1876
  /**
@@ -1984,7 +1994,8 @@ export function migrateBundleConfig(base, layers, configVersion, options = {}) {
1984
1994
  merged = pinLegacyShapingLanguage(merged);
1985
1995
  if (rules < TASK_BOX_RULES && mayHaveTaskItems(content))
1986
1996
  merged = pinLegacyTaskBox(merged);
1987
- // COMPOSED_PAGES_RULES (15, #853): new keys only, nothing to pin.
1997
+ // COMPOSED_PAGES_RULES (15, #853) and CONNECTOR_RULES (16, #1056): new
1998
+ // keys only, nothing to pin.
1988
1999
  return merged;
1989
2000
  }
1990
2001
  //# sourceMappingURL=configVersion.js.map