postext 1.34.0 → 1.34.1

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 (202) 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 +159 -0
  8. package/dist/__tests__/composed/fixtures/page8.js.map +1 -0
  9. package/dist/__tests__/composed/layout.test.d.ts +2 -0
  10. package/dist/__tests__/composed/layout.test.d.ts.map +1 -0
  11. package/dist/__tests__/composed/layout.test.js +387 -0
  12. package/dist/__tests__/composed/layout.test.js.map +1 -0
  13. package/dist/__tests__/composed/slotChecks.test.js +6 -3
  14. package/dist/__tests__/composed/slotChecks.test.js.map +1 -1
  15. package/dist/__tests__/composedPaint.test.d.ts +2 -0
  16. package/dist/__tests__/composedPaint.test.d.ts.map +1 -0
  17. package/dist/__tests__/composedPaint.test.js +191 -0
  18. package/dist/__tests__/composedPaint.test.js.map +1 -0
  19. package/dist/__tests__/defaults/stripRoundTrip.test.js +3 -2
  20. package/dist/__tests__/defaults/stripRoundTrip.test.js.map +1 -1
  21. package/dist/__tests__/exports.test.js +12 -0
  22. package/dist/__tests__/exports.test.js.map +1 -1
  23. package/dist/__tests__/highlightMarks.test.d.ts +2 -0
  24. package/dist/__tests__/highlightMarks.test.d.ts.map +1 -0
  25. package/dist/__tests__/highlightMarks.test.js +169 -0
  26. package/dist/__tests__/highlightMarks.test.js.map +1 -0
  27. package/dist/__tests__/tocPartLeader.test.d.ts +2 -0
  28. package/dist/__tests__/tocPartLeader.test.d.ts.map +1 -0
  29. package/dist/__tests__/tocPartLeader.test.js +133 -0
  30. package/dist/__tests__/tocPartLeader.test.js.map +1 -0
  31. package/dist/bundle/api.d.ts +8 -0
  32. package/dist/bundle/api.d.ts.map +1 -1
  33. package/dist/bundle/api.js +6 -3
  34. package/dist/bundle/api.js.map +1 -1
  35. package/dist/bundle/codec.d.ts +5 -0
  36. package/dist/bundle/codec.d.ts.map +1 -1
  37. package/dist/bundle/codec.js +4 -0
  38. package/dist/bundle/codec.js.map +1 -1
  39. package/dist/bundle/index.d.ts +2 -2
  40. package/dist/bundle/index.d.ts.map +1 -1
  41. package/dist/bundle/index.js +1 -1
  42. package/dist/bundle/index.js.map +1 -1
  43. package/dist/bundle/manifest.d.ts +14 -0
  44. package/dist/bundle/manifest.d.ts.map +1 -1
  45. package/dist/bundle/manifest.js +13 -0
  46. package/dist/bundle/manifest.js.map +1 -1
  47. package/dist/bundle/types.d.ts +7 -0
  48. package/dist/bundle/types.d.ts.map +1 -1
  49. package/dist/canvas-backend/annotations.d.ts +6 -0
  50. package/dist/canvas-backend/annotations.d.ts.map +1 -1
  51. package/dist/canvas-backend/annotations.js +39 -0
  52. package/dist/canvas-backend/annotations.js.map +1 -1
  53. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  54. package/dist/canvas-backend/blockRender.js +6 -1
  55. package/dist/canvas-backend/blockRender.js.map +1 -1
  56. package/dist/canvas-backend/composed.d.ts +15 -0
  57. package/dist/canvas-backend/composed.d.ts.map +1 -0
  58. package/dist/canvas-backend/composed.js +41 -0
  59. package/dist/canvas-backend/composed.js.map +1 -0
  60. package/dist/canvas-backend/index.d.ts.map +1 -1
  61. package/dist/canvas-backend/index.js +15 -1
  62. package/dist/canvas-backend/index.js.map +1 -1
  63. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  64. package/dist/canvas-backend/renderResourceBlock.js +4 -1
  65. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  66. package/dist/composed/geometry.d.ts +108 -0
  67. package/dist/composed/geometry.d.ts.map +1 -0
  68. package/dist/composed/geometry.js +241 -0
  69. package/dist/composed/geometry.js.map +1 -0
  70. package/dist/composed/paint.d.ts +41 -0
  71. package/dist/composed/paint.d.ts.map +1 -0
  72. package/dist/composed/paint.js +83 -0
  73. package/dist/composed/paint.js.map +1 -0
  74. package/dist/composed/types.d.ts +1 -44
  75. package/dist/composed/types.d.ts.map +1 -1
  76. package/dist/composed/wrap.d.ts +52 -0
  77. package/dist/composed/wrap.d.ts.map +1 -0
  78. package/dist/composed/wrap.js +234 -0
  79. package/dist/composed/wrap.js.map +1 -0
  80. package/dist/configWarnings.js +1 -1
  81. package/dist/configWarnings.js.map +1 -1
  82. package/dist/defaults/codeStyle.d.ts.map +1 -1
  83. package/dist/defaults/codeStyle.js +1 -0
  84. package/dist/defaults/codeStyle.js.map +1 -1
  85. package/dist/defaults/index.d.ts +1 -0
  86. package/dist/defaults/index.d.ts.map +1 -1
  87. package/dist/defaults/index.js +9 -0
  88. package/dist/defaults/index.js.map +1 -1
  89. package/dist/defaults/markStyles.d.ts +23 -0
  90. package/dist/defaults/markStyles.d.ts.map +1 -0
  91. package/dist/defaults/markStyles.js +80 -0
  92. package/dist/defaults/markStyles.js.map +1 -0
  93. package/dist/defaults/shared.d.ts.map +1 -1
  94. package/dist/defaults/shared.js +12 -0
  95. package/dist/defaults/shared.js.map +1 -1
  96. package/dist/design/bidiText.d.ts +4 -1
  97. package/dist/design/bidiText.d.ts.map +1 -1
  98. package/dist/design/bidiText.js +5 -2
  99. package/dist/design/bidiText.js.map +1 -1
  100. package/dist/design/layout.d.ts +10 -0
  101. package/dist/design/layout.d.ts.map +1 -1
  102. package/dist/design/layout.js +110 -8
  103. package/dist/design/layout.js.map +1 -1
  104. package/dist/design/placeholders.d.ts +28 -2
  105. package/dist/design/placeholders.d.ts.map +1 -1
  106. package/dist/design/placeholders.js +24 -1
  107. package/dist/design/placeholders.js.map +1 -1
  108. package/dist/design/richText.d.ts +2 -0
  109. package/dist/design/richText.d.ts.map +1 -1
  110. package/dist/design/richText.js.map +1 -1
  111. package/dist/highlightMarks.d.ts +33 -0
  112. package/dist/highlightMarks.d.ts.map +1 -0
  113. package/dist/highlightMarks.js +209 -0
  114. package/dist/highlightMarks.js.map +1 -0
  115. package/dist/html-backend.d.ts.map +1 -1
  116. package/dist/html-backend.js +65 -8
  117. package/dist/html-backend.js.map +1 -1
  118. package/dist/htmlAnnotations.d.ts +5 -0
  119. package/dist/htmlAnnotations.d.ts.map +1 -1
  120. package/dist/htmlAnnotations.js +16 -0
  121. package/dist/htmlAnnotations.js.map +1 -1
  122. package/dist/index.d.ts +6 -4
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +4 -2
  125. package/dist/index.js.map +1 -1
  126. package/dist/knuthPlass/richAdapter.d.ts +3 -0
  127. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  128. package/dist/knuthPlass/richAdapter.js +3 -2
  129. package/dist/knuthPlass/richAdapter.js.map +1 -1
  130. package/dist/measure/cache.js +3 -3
  131. package/dist/measure/cache.js.map +1 -1
  132. package/dist/measure/chipEdges.d.ts +13 -1
  133. package/dist/measure/chipEdges.d.ts.map +1 -1
  134. package/dist/measure/chipEdges.js +59 -1
  135. package/dist/measure/chipEdges.js.map +1 -1
  136. package/dist/measure/links.d.ts.map +1 -1
  137. package/dist/measure/links.js +78 -5
  138. package/dist/measure/links.js.map +1 -1
  139. package/dist/measure/rich.d.ts +3 -0
  140. package/dist/measure/rich.d.ts.map +1 -1
  141. package/dist/measure/rich.js +19 -4
  142. package/dist/measure/rich.js.map +1 -1
  143. package/dist/parse/inlineFormatting.d.ts +14 -0
  144. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  145. package/dist/parse/inlineFormatting.js +104 -5
  146. package/dist/parse/inlineFormatting.js.map +1 -1
  147. package/dist/parse/links.js +1 -1
  148. package/dist/parse/links.js.map +1 -1
  149. package/dist/parse/softBreaks.js +1 -1
  150. package/dist/parse/softBreaks.js.map +1 -1
  151. package/dist/parse/sourceMapping.d.ts.map +1 -1
  152. package/dist/parse/sourceMapping.js +19 -3
  153. package/dist/parse/sourceMapping.js.map +1 -1
  154. package/dist/parse/types.d.ts +24 -0
  155. package/dist/parse/types.d.ts.map +1 -1
  156. package/dist/pipeline/build.d.ts.map +1 -1
  157. package/dist/pipeline/build.js +156 -300
  158. package/dist/pipeline/build.js.map +1 -1
  159. package/dist/pipeline/calloutLayout.d.ts +33 -0
  160. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  161. package/dist/pipeline/calloutLayout.js +91 -2
  162. package/dist/pipeline/calloutLayout.js.map +1 -1
  163. package/dist/pipeline/codeInline.d.ts +10 -1
  164. package/dist/pipeline/codeInline.d.ts.map +1 -1
  165. package/dist/pipeline/codeInline.js +96 -15
  166. package/dist/pipeline/codeInline.js.map +1 -1
  167. package/dist/pipeline/composedLayout.d.ts +88 -0
  168. package/dist/pipeline/composedLayout.d.ts.map +1 -0
  169. package/dist/pipeline/composedLayout.js +320 -0
  170. package/dist/pipeline/composedLayout.js.map +1 -0
  171. package/dist/pipeline/config.d.ts.map +1 -1
  172. package/dist/pipeline/config.js +2 -1
  173. package/dist/pipeline/config.js.map +1 -1
  174. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  175. package/dist/pipeline/contentWarnings.js +32 -1
  176. package/dist/pipeline/contentWarnings.js.map +1 -1
  177. package/dist/pipeline/floatSlots.js +1 -1
  178. package/dist/pipeline/floatSlots.js.map +1 -1
  179. package/dist/pipeline/frameLayout.d.ts +120 -0
  180. package/dist/pipeline/frameLayout.d.ts.map +1 -0
  181. package/dist/pipeline/frameLayout.js +279 -0
  182. package/dist/pipeline/frameLayout.js.map +1 -0
  183. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  184. package/dist/pipeline/headerFooter.js +48 -3
  185. package/dist/pipeline/headerFooter.js.map +1 -1
  186. package/dist/pipeline/pageRoles.d.ts +1 -0
  187. package/dist/pipeline/pageRoles.d.ts.map +1 -1
  188. package/dist/pipeline/pageRoles.js +3 -0
  189. package/dist/pipeline/pageRoles.js.map +1 -1
  190. package/dist/pipeline/placement.js +1 -1
  191. package/dist/pipeline/placement.js.map +1 -1
  192. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  193. package/dist/pipeline/resourceLayout.js +5 -3
  194. package/dist/pipeline/resourceLayout.js.map +1 -1
  195. package/dist/pipeline/tabs.js +1 -1
  196. package/dist/pipeline/tabs.js.map +1 -1
  197. package/dist/types.d.ts +69 -3
  198. package/dist/types.d.ts.map +1 -1
  199. package/dist/vdt.d.ts +169 -1
  200. package/dist/vdt.d.ts.map +1 -1
  201. package/dist/vdt.js.map +1 -1
  202. package/package.json +1 -1
@@ -0,0 +1,241 @@
1
+ import { dimensionToPx } from '../units';
2
+ import { anchorTarget, continueInFrame } from './templates';
3
+ const ELEMENT_EDGES = new Set(['right-of', 'left-of', 'below', 'above', 'align-top', 'align-bottom', 'align-left', 'align-right']);
4
+ /** The anchor of `edge` on `ref`: the nine-point grid of a container, or an
5
+ * element-to-element edge when `element` (an anchor to `'#name'`). An
6
+ * element edge on a container, or a container edge on an element, reads
7
+ * as `top-left` / `align-top`, as design slots do. */
8
+ export function anchorOn(edge, ref, element) {
9
+ if (element) {
10
+ switch (edge) {
11
+ case 'right-of': return { x: ref.x + ref.width, y: ref.y, pinX: 'start', pinY: 'start' };
12
+ case 'left-of': return { x: ref.x, y: ref.y, pinX: 'end', pinY: 'start' };
13
+ case 'below': return { x: ref.x, y: ref.y + ref.height, pinX: 'start', pinY: 'start' };
14
+ case 'above': return { x: ref.x, y: ref.y, pinX: 'start', pinY: 'end' };
15
+ case 'align-bottom': return { x: ref.x, y: ref.y + ref.height, pinX: 'start', pinY: 'end' };
16
+ case 'align-right': return { x: ref.x + ref.width, y: ref.y, pinX: 'end', pinY: 'start' };
17
+ case 'align-top':
18
+ case 'align-left':
19
+ return { x: ref.x, y: ref.y, pinX: 'start', pinY: 'start' };
20
+ default:
21
+ // A nine-point edge on another frame: that point of its box.
22
+ if (!ELEMENT_EDGES.has(edge))
23
+ return anchorOn(edge, ref, false);
24
+ return { x: ref.x, y: ref.y, pinX: 'start', pinY: 'start' };
25
+ }
26
+ }
27
+ const cx = ref.x + ref.width / 2;
28
+ const cy = ref.y + ref.height / 2;
29
+ const r = ref.x + ref.width;
30
+ const b = ref.y + ref.height;
31
+ switch (edge) {
32
+ case 'top': return { x: cx, y: ref.y, pinX: 'middle', pinY: 'start' };
33
+ case 'top-right': return { x: r, y: ref.y, pinX: 'end', pinY: 'start' };
34
+ case 'left': return { x: ref.x, y: cy, pinX: 'start', pinY: 'middle' };
35
+ case 'center': return { x: cx, y: cy, pinX: 'middle', pinY: 'middle' };
36
+ case 'right': return { x: r, y: cy, pinX: 'end', pinY: 'middle' };
37
+ case 'bottom-left': return { x: ref.x, y: b, pinX: 'start', pinY: 'end' };
38
+ case 'bottom': return { x: cx, y: b, pinX: 'middle', pinY: 'end' };
39
+ case 'bottom-right': return { x: r, y: b, pinX: 'end', pinY: 'end' };
40
+ default: return { x: ref.x, y: ref.y, pinX: 'start', pinY: 'start' };
41
+ }
42
+ }
43
+ const px = (d, ctx) => d ? dimensionToPx(d, ctx.dpi, ctx.emPx) : undefined;
44
+ /** Room from an anchor coordinate to the area's edge the box grows towards
45
+ * (`'fill'`). */
46
+ function fillRoom(pin, at, lo, hi) {
47
+ if (pin === 'start')
48
+ return Math.max(0, hi - at);
49
+ if (pin === 'end')
50
+ return Math.max(0, at - lo);
51
+ return Math.max(0, 2 * Math.min(at - lo, hi - at));
52
+ }
53
+ /** `v` held between `min` and `max` (min wins). */
54
+ export function clampSize(v, min, max) {
55
+ let out = v;
56
+ if (max !== undefined)
57
+ out = Math.min(out, max);
58
+ if (min !== undefined)
59
+ out = Math.max(out, min);
60
+ return Math.max(0, out);
61
+ }
62
+ /** A fixed size in px, or undefined for `'auto'` / `'fill'`. */
63
+ function fixedSize(size, whole, ctx) {
64
+ if (size === 'auto' || size === 'fill')
65
+ return undefined;
66
+ if ('percent' in size)
67
+ return (whole * size.percent) / 100;
68
+ return px(size, ctx);
69
+ }
70
+ /** The rectangle of cell `cell` of the template grid in `area`. */
71
+ export function gridCellRect(template, cell, area, ctx) {
72
+ const grid = template.grid;
73
+ const cg = px(grid.columnGap, ctx) ?? 0;
74
+ const rg = px(grid.rowGap, ctx) ?? 0;
75
+ const cw = (area.width - (grid.columns - 1) * cg) / grid.columns;
76
+ const rh = (area.height - (grid.rows - 1) * rg) / grid.rows;
77
+ return {
78
+ x: area.x + (cell.col - 1) * (cw + cg),
79
+ y: area.y + (cell.row - 1) * (rh + rg),
80
+ width: cell.cols * cw + (cell.cols - 1) * cg,
81
+ height: cell.rows * rh + (cell.rows - 1) * rg,
82
+ };
83
+ }
84
+ /**
85
+ * The box of a frame (or group): `resolveRef` gives the box of a `'#name'`
86
+ * anchor (undefined when it has none yet: the anchor then reads as the
87
+ * area's); `natural(width)` the content's height at a width, for an
88
+ * `'auto'` height.
89
+ */
90
+ export function placeBox(item, template, ctx, resolveRef, natural) {
91
+ const { area } = ctx.areas;
92
+ const minW = px(item.minWidth, ctx);
93
+ const maxW = px(item.maxWidth, ctx);
94
+ const minH = px(item.minHeight, ctx);
95
+ const maxH = px(item.maxHeight, ctx);
96
+ if (item.grid && template.grid) {
97
+ const cell = gridCellRect(template, item.grid, area, ctx);
98
+ const width = clampSize(fixedSize(item.width, area.width, ctx) ?? cell.width, minW, maxW);
99
+ let height = cell.height;
100
+ if (item.heightSet) {
101
+ const fixed = fixedSize(item.height, area.height, ctx);
102
+ height = fixed ?? (item.height === 'auto' ? natural(width) : cell.height);
103
+ }
104
+ return { x: cell.x, y: cell.y, width, height: clampSize(height, minH, maxH) };
105
+ }
106
+ if (!item.placement) {
107
+ // The area's top-left, as wide as the area; the height as the frame's
108
+ // rule says (`'auto'`, the default, never past the area's foot).
109
+ const width = clampSize(fixedSize(item.width, area.width, ctx) ?? area.width, minW, maxW);
110
+ const fixed = fixedSize(item.height, area.height, ctx);
111
+ const height = fixed ?? (item.height === 'fill' ? area.height : Math.min(natural(width), area.height));
112
+ return { x: area.x, y: area.y, width, height: clampSize(height, minH, maxH) };
113
+ }
114
+ const placement = item.placement;
115
+ const target = anchorTarget(placement);
116
+ const to = placement.anchor.to;
117
+ const refBox = target ? resolveRef(target) : undefined;
118
+ const ref = refBox ?? (to === 'page' ? ctx.areas.page : to === 'bleed' ? ctx.areas.bleed : area);
119
+ // `'fill'` runs to the edge of the page's frame the anchor names (the
120
+ // area for a frame anchored to another).
121
+ const bounds = to === 'page' ? ctx.areas.page : to === 'bleed' ? ctx.areas.bleed : area;
122
+ const a = anchorOn(placement.anchor.edge, ref, refBox !== undefined);
123
+ const ox = px(placement.offset?.x, ctx) ?? 0;
124
+ const oy = px(placement.offset?.y, ctx) ?? 0;
125
+ const ax = a.x + ox;
126
+ const ay = a.y + oy;
127
+ const width = clampSize(fixedSize(item.width, area.width, ctx) ?? fillRoom(a.pinX, ax, bounds.x, bounds.x + bounds.width), minW, maxW);
128
+ const fixedH = fixedSize(item.height, area.height, ctx);
129
+ const room = fillRoom(a.pinY, ay, bounds.y, bounds.y + bounds.height);
130
+ // An `'auto'` height never runs past the edge the frame grows towards:
131
+ // what does not fit there overflows the frame.
132
+ const height = clampSize(fixedH ?? (item.height === 'fill' ? room : Math.min(natural(width), room)), minH, maxH);
133
+ const x = a.pinX === 'start' ? ax : a.pinX === 'end' ? ax - width : ax - width / 2;
134
+ const y = a.pinY === 'start' ? ay : a.pinY === 'end' ? ay - height : ay - height / 2;
135
+ return { x, y, width, height };
136
+ }
137
+ /** A frame as {@link placeBox} reads it. */
138
+ export function framePlaceable(frame) {
139
+ return {
140
+ ...(frame.placement ? { placement: frame.placement } : {}),
141
+ ...(frame.grid ? { grid: frame.grid } : {}),
142
+ width: frame.width,
143
+ height: frame.height,
144
+ heightSet: frame.fieldPaths.height !== undefined || frame.placement?.size?.height !== undefined,
145
+ ...(frame.minWidth ? { minWidth: frame.minWidth } : {}),
146
+ ...(frame.maxWidth ? { maxWidth: frame.maxWidth } : {}),
147
+ ...(frame.minHeight ? { minHeight: frame.minHeight } : {}),
148
+ ...(frame.maxHeight ? { maxHeight: frame.maxHeight } : {}),
149
+ };
150
+ }
151
+ /** A group's own box as {@link placeBox} reads it, or undefined when it has
152
+ * none (its box is then the union of its frames'). */
153
+ export function groupPlaceable(group) {
154
+ if (!group.placement && !group.grid)
155
+ return undefined;
156
+ const size = group.placement?.size;
157
+ const norm = (v) => (v === 'auto' || v === 'fill' || (typeof v === 'object' && v !== null) ? v : 'fill');
158
+ return {
159
+ ...(group.placement ? { placement: group.placement } : {}),
160
+ ...(group.grid ? { grid: group.grid } : {}),
161
+ width: norm(size?.width),
162
+ height: size?.height === undefined || size.height === 'auto' ? 'fill' : norm(size.height),
163
+ heightSet: size?.height !== undefined,
164
+ };
165
+ }
166
+ /** The frame of the same page a frame's content goes on in: its `next`,
167
+ * else an `overflow.continueIn` of the form `'#frame'` (the same thing). */
168
+ export function nextFrameOf(frame) {
169
+ return frame.next ?? continueInFrame(frame.overflow?.continueIn);
170
+ }
171
+ /** The smallest rectangle holding `rects` (undefined for none). */
172
+ export function unionRect(rects) {
173
+ if (rects.length === 0)
174
+ return undefined;
175
+ const x = Math.min(...rects.map((r) => r.x));
176
+ const y = Math.min(...rects.map((r) => r.y));
177
+ const right = Math.max(...rects.map((r) => r.x + r.width));
178
+ const bottom = Math.max(...rects.map((r) => r.y + r.height));
179
+ return { x, y, width: right - x, height: bottom - y };
180
+ }
181
+ /**
182
+ * The order frames are placed and typeset in: a frame after what it
183
+ * anchors to (a group's frames, or the group's own anchor), after the frame
184
+ * of its chain before it (`next`); frames that push text first; otherwise
185
+ * template order. Anchor cycles (rejected by validation, settled by the
186
+ * resolver) are broken where they close.
187
+ */
188
+ export function frameOrder(template) {
189
+ const byName = new Map(template.frames.map((f) => [f.name, f]));
190
+ const groups = new Map(template.groups.map((g) => [g.name, g]));
191
+ const prev = new Map();
192
+ for (const f of template.frames) {
193
+ const n = nextFrameOf(f);
194
+ if (n && byName.has(n) && !prev.has(n))
195
+ prev.set(n, f.name);
196
+ }
197
+ const deps = (name, seenGroups = new Set()) => {
198
+ const out = [];
199
+ const addTarget = (target) => {
200
+ if (!target)
201
+ return;
202
+ if (byName.has(target))
203
+ out.push(target);
204
+ else {
205
+ const g = groups.get(target);
206
+ if (!g || seenGroups.has(g.name))
207
+ return;
208
+ seenGroups.add(g.name);
209
+ if (g.placement || g.grid)
210
+ addTarget(g.grid ? undefined : anchorTarget(g.placement));
211
+ else
212
+ out.push(...g.frames.filter((m) => m !== name && byName.has(m)));
213
+ }
214
+ };
215
+ const f = byName.get(name);
216
+ if (!f.grid)
217
+ addTarget(anchorTarget(f.placement));
218
+ const p = prev.get(name);
219
+ if (p)
220
+ out.push(p);
221
+ return out;
222
+ };
223
+ const out = [];
224
+ const state = new Map();
225
+ const visit = (name) => {
226
+ if (state.has(name))
227
+ return;
228
+ state.set(name, 'visiting');
229
+ for (const d of deps(name))
230
+ visit(d);
231
+ state.set(name, 'done');
232
+ out.push(byName.get(name));
233
+ };
234
+ for (const f of template.frames)
235
+ if (f.exclude === 'push')
236
+ visit(f.name);
237
+ for (const f of template.frames)
238
+ visit(f.name);
239
+ return out;
240
+ }
241
+ //# sourceMappingURL=geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/composed/geometry.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoC5D,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAExJ;;;uDAGuD;AACvD,MAAM,UAAU,QAAQ,CAAC,IAAgB,EAAE,GAAS,EAAE,OAAgB;IACpE,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACzF,KAAK,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1E,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACvF,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACxE,KAAK,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC5F,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1F,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC9D;gBACE,6DAA6D;gBAC7D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtE,KAAK,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACxE,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvE,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvE,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClE,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC1E,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACnE,KAAK,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,EAAE,GAAG,CAAC,CAAwB,EAAE,GAAyB,EAAsB,EAAE,CACrF,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAEtD;kBACkB;AAClB,SAAS,QAAQ,CAAC,GAAQ,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IAC5D,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,GAAuB,EAAE,GAAuB;IACnF,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,GAAG,KAAK,SAAS;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,GAAG,KAAK,SAAS;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,gEAAgE;AAChE,SAAS,SAAS,CAAC,IAAe,EAAE,KAAa,EAAE,GAAyB;IAC1E,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACzD,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;IAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,QAA4C,EAAE,IAAwE,EAAE,IAAU,EAAE,GAAyB;IACxL,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAK,CAAC;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IACjE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5D,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QACtC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE;QAC5C,MAAM,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE;KAC9C,CAAC;AACJ,CAAC;AAiBD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAe,EACf,QAA4C,EAC5C,GAAyB,EACzB,UAA8C,EAC9C,OAAkC;IAElC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1F,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,sEAAsE;QACtE,iEAAiE;QACjE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvG,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjG,sEAAsE;IACtE,yCAAyC;IACzC,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;IACrE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,SAAS,CACrB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EACjG,IAAI,EACJ,IAAI,CACL,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,uEAAuE;IACvE,+CAA+C;IAC/C,MAAM,MAAM,GAAG,SAAS,CACtB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAC1E,IAAI,EACJ,IAAI,CACL,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;IACrF,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS;QAC/F,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED;uDACuD;AACvD,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,CAAU,EAAa,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,CAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5I,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QACxB,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACzF,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS;KACtC,CAAC;AACJ,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,WAAW,CAAC,KAA+C;IACzE,OAAO,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,QAAyD;IAClF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,aAA0B,IAAI,GAAG,EAAE,EAAY,EAAE;QAC3E,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAQ,EAAE;YACrD,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpC,CAAC;gBACJ,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,OAAO;gBACzC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI;oBAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;;oBAChF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;QACnC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM;QAAE,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;YAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM;QAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * How the backends paint a composed page (#855, DESIGN §4): the frames in
3
+ * layer order with the template's decoration at layer 0, each frame's
4
+ * blocks turned by its matrix and clipped to its box when its content
5
+ * overflows. Shared by canvas, PDF and HTML so the three agree.
6
+ */
7
+ import type { VDTBlock, VDTComposedPage, VDTFrame, VDTPage } from '../vdt';
8
+ /** One step of a composed page's paint order. */
9
+ export type ComposedPaintItem = {
10
+ kind: 'frame';
11
+ frame: VDTFrame;
12
+ blocks: VDTBlock[];
13
+ } | {
14
+ kind: 'decoration';
15
+ };
16
+ /** Ids of the floats a composed page's frames hold: the backends paint
17
+ * them with their frames ({@link composedPaintOrder}), not with the
18
+ * page's other floats. Empty for any other page. */
19
+ export declare function composedFrameBlockIds(page: VDTPage): Set<string>;
20
+ /** The paint order of a composed page: frames of a layer below 0, the
21
+ * decoration (layer 0), then the frames of layer 0 and up; frames of
22
+ * one layer in template order. Each frame comes with its blocks, in
23
+ * `page.floats` order (its box first). */
24
+ export declare function composedPaintOrder(page: VDTPage): ComposedPaintItem[];
25
+ /** The affine matrix `[a, b, c, d, e, f]` (canvas `transform` order,
26
+ * y down) that turns a frame `rotate` degrees clockwise about the centre
27
+ * of its box; undefined for an upright frame. */
28
+ export declare function frameMatrix(frame: Pick<VDTFrame, 'rect' | 'rotate'>): [number, number, number, number, number, number] | undefined;
29
+ /** Whether a frame's content is clipped to its box: some of it runs past
30
+ * the frame's foot. */
31
+ export declare function frameClips(frame: Pick<VDTFrame, 'overflowPx'>): boolean;
32
+ /** The axis-aligned box a frame covers on the page once turned. */
33
+ export declare function frameBounds(frame: Pick<VDTFrame, 'rect' | 'rotate'>): {
34
+ x: number;
35
+ y: number;
36
+ width: number;
37
+ height: number;
38
+ };
39
+ /** The frame of `composed` holding block `id`, if any. */
40
+ export declare function frameOfBlock(composed: VDTComposedPage | undefined, id: string): VDTFrame | undefined;
41
+ //# sourceMappingURL=paint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/composed/paint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE3E,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B;;qDAEqD;AACrD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAIhE;AAED;;;2CAG2C;AAC3C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,EAAE,CAwBrE;AAED;;kDAEkD;AAClD,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CASlI;AAED;wBACwB;AACxB,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,OAAO,CAEvE;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAa7H;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEpG"}
@@ -0,0 +1,83 @@
1
+ /** Ids of the floats a composed page's frames hold: the backends paint
2
+ * them with their frames ({@link composedPaintOrder}), not with the
3
+ * page's other floats. Empty for any other page. */
4
+ export function composedFrameBlockIds(page) {
5
+ const ids = new Set();
6
+ for (const f of page.composed?.frames ?? [])
7
+ for (const id of f.blockIds)
8
+ ids.add(id);
9
+ return ids;
10
+ }
11
+ /** The paint order of a composed page: frames of a layer below 0, the
12
+ * decoration (layer 0), then the frames of layer 0 and up; frames of
13
+ * one layer in template order. Each frame comes with its blocks, in
14
+ * `page.floats` order (its box first). */
15
+ export function composedPaintOrder(page) {
16
+ const composed = page.composed;
17
+ if (!composed)
18
+ return [];
19
+ const byId = new Map();
20
+ for (const b of page.floats ?? [])
21
+ byId.set(b.id, b);
22
+ const frames = composed.frames
23
+ .map((frame, order) => ({ frame, order }))
24
+ .sort((a, b) => a.frame.layer - b.frame.layer || a.order - b.order);
25
+ const out = [];
26
+ let decorated = false;
27
+ for (const { frame } of frames) {
28
+ if (!decorated && frame.layer >= 0) {
29
+ out.push({ kind: 'decoration' });
30
+ decorated = true;
31
+ }
32
+ const blocks = [];
33
+ for (const id of frame.blockIds) {
34
+ const b = byId.get(id);
35
+ if (b)
36
+ blocks.push(b);
37
+ }
38
+ out.push({ kind: 'frame', frame, blocks });
39
+ }
40
+ if (!decorated)
41
+ out.push({ kind: 'decoration' });
42
+ return out;
43
+ }
44
+ /** The affine matrix `[a, b, c, d, e, f]` (canvas `transform` order,
45
+ * y down) that turns a frame `rotate` degrees clockwise about the centre
46
+ * of its box; undefined for an upright frame. */
47
+ export function frameMatrix(frame) {
48
+ const deg = frame.rotate % 360;
49
+ if (!Number.isFinite(deg) || Math.abs(deg) < 1e-9)
50
+ return undefined;
51
+ const t = (deg * Math.PI) / 180;
52
+ const cos = Math.cos(t);
53
+ const sin = Math.sin(t);
54
+ const cx = frame.rect.x + frame.rect.width / 2;
55
+ const cy = frame.rect.y + frame.rect.height / 2;
56
+ return [cos, sin, -sin, cos, cx - cos * cx + sin * cy, cy - sin * cx - cos * cy];
57
+ }
58
+ /** Whether a frame's content is clipped to its box: some of it runs past
59
+ * the frame's foot. */
60
+ export function frameClips(frame) {
61
+ return frame.overflowPx > 0.5;
62
+ }
63
+ /** The axis-aligned box a frame covers on the page once turned. */
64
+ export function frameBounds(frame) {
65
+ const m = frameMatrix(frame);
66
+ const r = frame.rect;
67
+ if (!m)
68
+ return { ...r };
69
+ const pts = [[r.x, r.y], [r.x + r.width, r.y], [r.x, r.y + r.height], [r.x + r.width, r.y + r.height]].map(([x, y]) => [
70
+ m[0] * x + m[2] * y + m[4],
71
+ m[1] * x + m[3] * y + m[5],
72
+ ]);
73
+ const xs = pts.map((p) => p[0]);
74
+ const ys = pts.map((p) => p[1]);
75
+ const x = Math.min(...xs);
76
+ const y = Math.min(...ys);
77
+ return { x, y, width: Math.max(...xs) - x, height: Math.max(...ys) - y };
78
+ }
79
+ /** The frame of `composed` holding block `id`, if any. */
80
+ export function frameOfBlock(composed, id) {
81
+ return composed?.frames.find((f) => f.blockIds.includes(id));
82
+ }
83
+ //# sourceMappingURL=paint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/composed/paint.ts"],"names":[],"mappings":"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"}
@@ -325,50 +325,7 @@ export interface FigureLabelNode extends SourceRange {
325
325
  style?: string;
326
326
  sourceMap?: number[];
327
327
  }
328
- export type ReflowEventKind = 'grew' | 'moved' | 'resized' | 'imageScaled' | 'textScaled' | 'continued' | 'overflow';
329
- export interface ReflowEvent {
330
- frame: string;
331
- kind: ReflowEventKind;
332
- fromMm?: number;
333
- toMm?: number;
334
- scale?: number;
335
- /** The frame whose growth caused this event. */
336
- cause?: string;
337
- }
338
- export interface VDTFrame {
339
- /** `cp<fenceIndex>:<slot>`, `~<n>` for the n-th continuation piece. */
340
- id: string;
341
- name: string;
342
- rect: {
343
- x: number;
344
- y: number;
345
- width: number;
346
- height: number;
347
- };
348
- rotate: number;
349
- layer: number;
350
- styleId?: string;
351
- /** Text scale the ladder applied (1 = none). */
352
- scale: number;
353
- /** Height the content still lacks (0 = fits). */
354
- overflowPx: number;
355
- continuedFrom?: string;
356
- continuesTo?: string;
357
- /** Ids of the blocks (in `page.floats` / `doc.blocks`) set in this frame. */
358
- blockIds: string[];
359
- /** `/pageTemplates/<i>/frames/<j>`. */
360
- configPath: string;
361
- sourceStart?: number;
362
- sourceEnd?: number;
363
- }
364
- export interface VDTComposedPage extends SourceRange {
365
- template: string;
366
- variant?: 'recto' | 'verso';
367
- spread?: 'left' | 'right';
368
- fenceIndex: number;
369
- frames: VDTFrame[];
370
- log: ReflowEvent[];
371
- }
328
+ export type { ReflowEventKind, ReflowEvent, VDTFrame, VDTComposedPage } from '../vdt';
372
329
  export type FrameOverflowProposal = {
373
330
  kind: 'allowShrink';
374
331
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/composed/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/composed/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Composed pages in the block stream (#855, DESIGN §5.1): the content of
3
+ * each `::::page{template}` fence regrouped into one synthetic box per
4
+ * *story*, the text a frame (and the frames it chains to with `next`)
5
+ * receives. The layout then sets each story with the box typesetter
6
+ * (`pipeline/frameLayout.ts`) at its frames' widths, cut at their heights.
7
+ *
8
+ * A story is one contiguous `:::callout` of the frameless
9
+ * {@link FRAME_STYLE_ID} style, so the callout plan, the measure caches and
10
+ * `contentIndex` treat it like any box. Inside it the content keeps its
11
+ * Markdown order; the stories of a page follow each other in the order of
12
+ * their first block, which is the reading order of the page (tagged PDF,
13
+ * reflowable output). The frame's real style is chosen at layout time.
14
+ *
15
+ * Which story a block joins is decided here, with the template as written
16
+ * (its `extends` chain, without the variant of a side, unknown at this
17
+ * point): a block's `slot` names its frame; the first heading of a level
18
+ * that names no slot goes to the frame that `takes` it; any other block
19
+ * with no slot, and content naming a slot the template lacks, goes to the
20
+ * flow frame. With no flow frame that content stays outside the stories,
21
+ * after them, and the layout sets it in the flow on the page after.
22
+ */
23
+ import type { ContentBlock } from '../parse/types';
24
+ import type { CalloutStyleConfig } from '../types';
25
+ import { type PageTemplateSource } from './templates';
26
+ import type { ResolvedFrame, ResolvedPageTemplate } from './types';
27
+ /** Style id of a story's box. Not a user style: no configuration can name
28
+ * it. A story whose frame is missing on its page (a variant dropped it)
29
+ * is set in the flow in this frameless box. */
30
+ export declare const FRAME_STYLE_ID = "__postext-frame";
31
+ /** `containerAttrs` key of a story's box: the name of its first frame. */
32
+ export declare const FRAME_ATTR = "__frame";
33
+ /** The frames of a chain, from its head (`next` after `next`), each once. */
34
+ export declare function frameChain(template: ResolvedPageTemplate, head: string): ResolvedFrame[];
35
+ /**
36
+ * `blocks` with the content of every composed page of a known template
37
+ * regrouped into its stories (see the module comment). A page whose
38
+ * template is unknown keeps its blocks as they are: its content is set in
39
+ * the flow (`templateUnknown`). The same array comes back when nothing
40
+ * changes.
41
+ */
42
+ export declare function wrapComposedPages(blocks: readonly ContentBlock[], config: PageTemplateSource | undefined): {
43
+ blocks: ContentBlock[];
44
+ wrapped: boolean;
45
+ };
46
+ /** The frameless box a story is laid in when its frame has no `style`:
47
+ * no frame, padding, title or icon, its children set in the text's own
48
+ * typography (`deriveCalloutMeasureContext`), cut between lines keeping
49
+ * `splitMinLines` lines of text on each side (the body's orphan and widow
50
+ * minimums). */
51
+ export declare function frameBoxStyle(splitMinLines: number): CalloutStyleConfig;
52
+ //# sourceMappingURL=wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../src/composed/wrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEnE;;gDAEgD;AAChD,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,0EAA0E;AAC1E,eAAO,MAAM,UAAU,YAAY,CAAC;AAQpC,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CASxF;AA0CD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,MAAM,EAAE,kBAAkB,GAAG,SAAS,GACrC;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAqB9C;AA0GD;;;;iBAIiB;AACjB,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,CAkBvE"}