postext 1.49.1 → 1.50.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 (75) hide show
  1. package/dist/__tests__/composed/fenceCondition.test.d.ts +2 -0
  2. package/dist/__tests__/composed/fenceCondition.test.d.ts.map +1 -0
  3. package/dist/__tests__/composed/fenceCondition.test.js +171 -0
  4. package/dist/__tests__/composed/fenceCondition.test.js.map +1 -0
  5. package/dist/__tests__/composed/fixtures/moduleRows.d.ts +40 -0
  6. package/dist/__tests__/composed/fixtures/moduleRows.d.ts.map +1 -0
  7. package/dist/__tests__/composed/fixtures/moduleRows.js +65 -0
  8. package/dist/__tests__/composed/fixtures/moduleRows.js.map +1 -0
  9. package/dist/__tests__/composed/frameLooks.test.d.ts +2 -0
  10. package/dist/__tests__/composed/frameLooks.test.d.ts.map +1 -0
  11. package/dist/__tests__/composed/frameLooks.test.js +151 -0
  12. package/dist/__tests__/composed/frameLooks.test.js.map +1 -0
  13. package/dist/__tests__/composed/moduleRows.test.d.ts +2 -0
  14. package/dist/__tests__/composed/moduleRows.test.d.ts.map +1 -0
  15. package/dist/__tests__/composed/moduleRows.test.js +233 -0
  16. package/dist/__tests__/composed/moduleRows.test.js.map +1 -0
  17. package/dist/__tests__/composed/modules.test.js +3 -2
  18. package/dist/__tests__/composed/modules.test.js.map +1 -1
  19. package/dist/__tests__/composed/pillWord.test.js +35 -0
  20. package/dist/__tests__/composed/pillWord.test.js.map +1 -1
  21. package/dist/__tests__/exports.test.js +8 -0
  22. package/dist/__tests__/exports.test.js.map +1 -1
  23. package/dist/composed/modules.d.ts.map +1 -1
  24. package/dist/composed/modules.js +9 -2
  25. package/dist/composed/modules.js.map +1 -1
  26. package/dist/composed/reflowLog.js +1 -1
  27. package/dist/composed/reflowLog.js.map +1 -1
  28. package/dist/composed/slotChecks.d.ts +10 -0
  29. package/dist/composed/slotChecks.d.ts.map +1 -1
  30. package/dist/composed/slotChecks.js +39 -0
  31. package/dist/composed/slotChecks.js.map +1 -1
  32. package/dist/composed/templates.d.ts +14 -1
  33. package/dist/composed/templates.d.ts.map +1 -1
  34. package/dist/composed/templates.js +73 -5
  35. package/dist/composed/templates.js.map +1 -1
  36. package/dist/composed/types.d.ts +55 -4
  37. package/dist/composed/types.d.ts.map +1 -1
  38. package/dist/composed/validate.d.ts.map +1 -1
  39. package/dist/composed/validate.js +63 -6
  40. package/dist/composed/validate.js.map +1 -1
  41. package/dist/configWarnings.d.ts +3 -1
  42. package/dist/configWarnings.d.ts.map +1 -1
  43. package/dist/configWarnings.js +32 -3
  44. package/dist/configWarnings.js.map +1 -1
  45. package/dist/defaults/headerFooter.d.ts +10 -0
  46. package/dist/defaults/headerFooter.d.ts.map +1 -1
  47. package/dist/defaults/headerFooter.js +21 -1
  48. package/dist/defaults/headerFooter.js.map +1 -1
  49. package/dist/design/fenceCondition.d.ts +45 -0
  50. package/dist/design/fenceCondition.d.ts.map +1 -0
  51. package/dist/design/fenceCondition.js +66 -0
  52. package/dist/design/fenceCondition.js.map +1 -0
  53. package/dist/design/layout.d.ts.map +1 -1
  54. package/dist/design/layout.js +33 -1
  55. package/dist/design/layout.js.map +1 -1
  56. package/dist/index.d.ts +5 -2
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +4 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/pipeline/composedLayout.d.ts +5 -1
  61. package/dist/pipeline/composedLayout.d.ts.map +1 -1
  62. package/dist/pipeline/composedLayout.js +243 -79
  63. package/dist/pipeline/composedLayout.js.map +1 -1
  64. package/dist/pipeline/config.d.ts.map +1 -1
  65. package/dist/pipeline/config.js +8 -1
  66. package/dist/pipeline/config.js.map +1 -1
  67. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  68. package/dist/pipeline/contentWarnings.js +8 -1
  69. package/dist/pipeline/contentWarnings.js.map +1 -1
  70. package/dist/types.d.ts +68 -2
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/vdt.d.ts +21 -2
  73. package/dist/vdt.d.ts.map +1 -1
  74. package/dist/vdt.js.map +1 -1
  75. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -78,7 +78,7 @@ export { parseMarkdownWithIssues, MATH_PLACEHOLDER, SWATCH_PLACEHOLDER, CHIP_PLA
78
78
  // Composed pages in the document (#854): each `::::page` fence's content by
79
79
  // slot, and the slot checks the content warnings run.
80
80
  export { composedPages } from './composed/document';
81
- export { checkComposedSlots } from './composed/slotChecks';
81
+ export { checkComposedSlots, checkFrameLookNames } from './composed/slotChecks';
82
82
  export { computeSourceMap, parseInlineSnippetSpans, mapInlineSnippet, orientationMarkAt, contentHasMath, resourceHasMath } from './parse';
83
83
  export { buildPageLabels, collectPageLabelRuns, formatNumeral, documentNumeralStyle, parseNumberFormat, chineseInformalStyle, hanInformalStyle, EAST_ASIAN_NUMERAL_STYLES, ARABIC_NUMERAL_STYLES } from './numbering';
84
84
  export { withDigits, asciiDigits } from './arabicNumerals';
@@ -110,6 +110,9 @@ export { composedPageElementId, frameElementId, groupElementId, labelElementId,
110
110
  export { composedPagePaintKey } from './composed/pageMemo';
111
111
  export { collectConfigWarnings, contentInConfigRule, designTextLiteral } from './configWarnings';
112
112
  export { configDesignSlots } from './design/slots';
113
+ // Decoration drawn when the page fence says so (#1087).
114
+ export { fenceSetsAttribute, fenceConditionMet, fenceConditionUses, fenceConditionsNeverMet, fenceAttributesSet, FENCE_CONDITION_SLOTS } from './design/fenceCondition';
115
+ export { parseDirectiveAttrs } from './parse/attrs';
113
116
  // «Move the text to the Markdown» (#874): page designs held in heading
114
117
  // styles become page templates, their text `::::page` fences.
115
118
  export { moveTextToMarkdown } from './migrate/textToMarkdown';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { type ContentWarning, type VDTBlock, type VDTComposedPage, type VDTPage
4
4
  import { dimensionToPx } from '../units';
5
5
  import { type FrameAreas, type Rect } from '../composed/geometry';
6
6
  import { type ComposedContinuation, type ComposedContinuationInput } from '../composed/continuation';
7
- import type { FrameLook, ResolvedFrame, ResolvedPageTemplate } from '../composed/types';
7
+ import type { FrameLook, FrameLookEntry, ResolvedFrame, ResolvedPageTemplate } from '../composed/types';
8
8
  import { type PageTemplateSource } from '../composed/templates';
9
9
  import { type BoxExclusion, type PlannedCallout } from './calloutLayout';
10
10
  import type { ImportedJumps } from '../composed/carry';
@@ -99,6 +99,10 @@ export declare function keepChromeAt(style: ResolvedCalloutStyleConfig, scale: n
99
99
  * (side by side) and a measure that is the frame's. A style's placement,
100
100
  * span, width and margins do not apply to a frame. */
101
101
  export declare function frameStyleOf(base: ResolvedCalloutStyleConfig, frame: ResolvedFrame): ResolvedCalloutStyleConfig;
102
+ /** `frame` with the named look `named` (#1089) laid over its own `look`
103
+ * (`lookOver`): the order is the style, the template frame's look, then
104
+ * the named look. `frame` itself when there is none. */
105
+ export declare function withNamedLook(frame: ResolvedFrame, named: FrameLookEntry | undefined): ResolvedFrame;
102
106
  /** `base` with what a frame's `look` sets (#976) written over it: colours
103
107
  * of the fill, border, stripe, icon, marker, title, text and label tab,
104
108
  * and the tracking of the body. A fill colour turns the fill on. A part
@@ -1 +1 @@
1
- {"version":3,"file":"composedLayout.d.ts","sourceRoot":"","sources":["../../src/pipeline/composedLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composedLayout.d.ts","sourceRoot":"","sources":["../../src/pipeline/composedLayout.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ import { chainHead, FRAME_ATTR } from '../composed/wrap';
41
41
  import { framePlaceable, nextFrameOf, groupPlaceable, placeBox, unionRect } from '../composed/geometry';
42
42
  import { composedOrder, groupOfFrames, layoutGroup } from '../composed/groups';
43
43
  import { reflowEvents } from '../composed/reflowLog';
44
- import { anchorTarget, repeatInstance, repeatedFrames, resolveContinueIn } from '../composed/templates';
44
+ import { anchorTarget, lookOver, repeatInstance, repeatedFrames, resolveContinueIn } from '../composed/templates';
45
45
  import { collapsedOnAddedPage, collapseFrames, continuationTemplate, continuesCollapsed, continuesOffPage, trailingFrames } from '../composed/continuation';
46
46
  import { isModuleTemplate, resolvePageTemplate } from '../composed/templates';
47
47
  import { frameElementId } from '../composed/ids';
@@ -520,6 +520,7 @@ export function layoutComposedPage(asked) {
520
520
  templateSource: templateAttr ? { sourceStart: templateAttr.sourceStart + input.bodyOffset, sourceEnd: templateAttr.sourceEnd + input.bodyOffset } : undefined,
521
521
  budgetLeft: () => runs < COMPOSE_BUDGET,
522
522
  holdsText: holdsText(frame),
523
+ dividesWord,
523
524
  });
524
525
  warnings.push({
525
526
  kind: 'frameOverflow',
@@ -830,24 +831,51 @@ function overflowProposals(c) {
830
831
  const path = (key) => frame.fieldPaths[key] ?? `${frame.configPath}/${key}`;
831
832
  const fits = (next, tpl) => c.budgetLeft() && !c.overflows(c.compose(next, tpl), name);
832
833
  // More shrink: the largest text scale, in 2.5 % steps, at which it fits.
834
+ // When that scale divides a word wider than the frame's measure, the
835
+ // largest smaller one that fits with every word whole, as the ladder
836
+ // prefers (#1084, #1090); none, and the largest that fits, saying the
837
+ // word will be divided.
833
838
  const head = c.headOf(name);
834
839
  const from = frame.fit.shrinkText ? Math.min(frame.fit.minScale, vdt.scale) : 1;
835
840
  const steps = scaleSteps(PROPOSAL_MIN_SCALE, from);
836
- if (c.holdsText && steps.length > 0 && fits(c.withText(fit, head, steps[steps.length - 1]))) {
837
- let lo = 0;
838
- let hi = steps.length - 1;
839
- while (lo < hi && c.budgetLeft()) {
840
- const mid = Math.floor((lo + hi) / 2);
841
- if (fits(c.withText(fit, head, steps[mid])))
842
- hi = mid;
841
+ const shrunk = (i) => c.withText(fit, head, steps[i]);
842
+ if (c.holdsText && steps.length > 0 && fits(shrunk(steps.length - 1))) {
843
+ const last = steps.length - 1;
844
+ /** The largest step from `lo` down at which `ok` holds, given it holds
845
+ * at the last one: by bisection. */
846
+ const largest = (lo, ok) => {
847
+ let hi = last;
848
+ while (lo < hi && c.budgetLeft()) {
849
+ const mid = Math.floor((lo + hi) / 2);
850
+ if (ok(mid))
851
+ hi = mid;
852
+ else
853
+ lo = mid + 1;
854
+ }
855
+ return hi;
856
+ };
857
+ let at = largest(0, (i) => fits(shrunk(i)));
858
+ let word;
859
+ if (c.budgetLeft() && c.dividesWord(c.compose(shrunk(at)), name)) {
860
+ const whole = (i) => {
861
+ if (!c.budgetLeft())
862
+ return false;
863
+ const comp = c.compose(shrunk(i));
864
+ return !c.overflows(comp, name) && !c.dividesWord(comp, name);
865
+ };
866
+ if (at < last && whole(last)) {
867
+ at = largest(at + 1, whole);
868
+ word = 'whole';
869
+ }
843
870
  else
844
- lo = mid + 1;
871
+ word = 'divided';
845
872
  }
846
873
  out.push({
847
874
  kind: 'allowShrink',
848
875
  path: path('fit/minScale'),
849
- value: steps[hi],
876
+ value: steps[at],
850
877
  ...(frame.fit.shrinkText ? {} : { also: [{ path: path('fit/shrinkText'), value: true }] }),
878
+ ...(word ? { word } : {}),
851
879
  });
852
880
  }
853
881
  // A frame that holds content (an empty one is short of its own box, #911:
@@ -991,9 +1019,19 @@ function composePage(pageInput, template, fit, collapsed) {
991
1019
  * numbered (`VDTDesignTextBlock.pageMark`). */
992
1020
  const toGuess = String(input.page.index + 2);
993
1021
  const fromGuess = String(Math.max(1, input.page.index));
1022
+ /** The named look (#1089) the `:::frame` fence of a frame's story names
1023
+ * (`look="<id>"`), when `frameLooks` has it: the story's, so every
1024
+ * frame of a chain and the frames it goes on in on later pages wear it. */
1025
+ const frameLooks = pass.resolved.frameLooks;
1026
+ const namedLookOf = (frame) => {
1027
+ if (!frameLooks)
1028
+ return undefined;
1029
+ const id = input.stories.get(headOf(frame.name))?.plan.attrs.look?.trim();
1030
+ return id ? frameLooks.find((l) => l.id === id) : undefined;
1031
+ };
994
1032
  /** The style a frame is laid out in: its box as drawn at any text scale. */
995
1033
  const styleOf = (frame) => {
996
- const style = keepChromeAt(input.styleOf(frame), textScale(frame));
1034
+ const style = keepChromeAt(input.styleOf(withNamedLook(frame, namedLookOf(frame))), textScale(frame));
997
1035
  if (!fit.goOn.has(frame.name))
998
1036
  return style;
999
1037
  // A frame cut for another page (#859) ends with its mark: its own
@@ -1868,26 +1906,102 @@ function composePage(pageInput, template, fit, collapsed) {
1868
1906
  fill(prepare(f), r);
1869
1907
  }
1870
1908
  };
1871
- /** Lay a modules group (#1062): each module, in order, in a box as wide
1872
- * as the group, from where the module before it ends (`gap` between
1873
- * them), as tall as its frames. A module's frames are placed as its
1874
- * template draws them in that box (`'container'` is the box) and its
1875
- * groups laid in it: first in the room left, to find how tall it is
1876
- * (the frames held by the box's foot or middle, or sized by its
1877
- * height, left out), then in a box that tall. The group runs down its
1878
- * own box, else the area. A module that does not fit is cut at the
1879
- * group's foot (its frames clipped there), or, when the group goes on
1880
- * to another page (`FitState.gridsOn`), it and every module after it
1881
- * go on, whole. The modules' declared boxes follow each other at the
1882
- * heights their frames declare, so the log tells a module moved by
1883
- * the one before it. */
1909
+ /** Lay a modules group (#1062): its modules in rows down the group's
1910
+ * box (its own, else the area). A stack gives each module a row of
1911
+ * its own, as wide as the group (or its template's `width`, #1088), a
1912
+ * `'row'` puts them all in one, start to end (each its `width`, else
1913
+ * an equal share of what is left), a `'grid'` `columns` to a row in
1914
+ * equal columns; a run of modules a group inside the stack takes
1915
+ * (`within`) is laid as that group says where its first module comes.
1916
+ * Rows run from the start side of the page's lines (the flow frame is
1917
+ * mirrored on a right-to-left page, so its left is the start). A
1918
+ * module is placed as its template draws its frames in its box
1919
+ * (`'container'` is the box) and its groups laid in it: first in the
1920
+ * room left, to find how tall it is (the frames held by the box's foot
1921
+ * or middle, or sized by its height, left out), then in a box that
1922
+ * tall, or (`rowAlign` `'stretch'`, a row of several) as tall as its
1923
+ * row. A row that does not fit is cut at the group's foot (its frames
1924
+ * clipped there), or, when the group goes on to another page
1925
+ * (`FitState.gridsOn`), it and every row after it go on, whole. The
1926
+ * modules' declared boxes follow each other at the heights their
1927
+ * frames declare, so the log tells a module moved by the one before
1928
+ * it. */
1884
1929
  const placeModules = (group, members) => {
1885
1930
  const byMember = new Map(members.map((f) => [f.name, f]));
1886
1931
  const own = groupPlaceable(group);
1887
1932
  const ownBox = own ? placeBox(own, template, pageInput, refOf, () => 0) : undefined;
1888
1933
  const box = ownBox ?? pageInput.areas.area;
1889
1934
  const foot = box.y + box.height;
1890
- const gap = dimensionToPx(group.gap, dpi, pageInput.emPx);
1935
+ const toPx = (d) => dimensionToPx(d, dpi, pageInput.emPx);
1936
+ const mods = [];
1937
+ for (const item of group.items ?? []) {
1938
+ const mod = template.modules?.find((m) => m.name === item.module);
1939
+ const names = item.frames.filter((n) => byMember.has(n));
1940
+ if (mod && names.length > 0)
1941
+ mods.push({ mod, names });
1942
+ }
1943
+ /** A module's width in the group by its template (`'fill'`: none). */
1944
+ const fixedWidth = (l) => {
1945
+ const w = l.mod.width;
1946
+ if (w === undefined || w === 'fill')
1947
+ return undefined;
1948
+ return 'percent' in w ? (box.width * w.percent) / 100 : toPx(w);
1949
+ };
1950
+ /** `list` side by side across the group, `gap` between them: each as
1951
+ * wide as its template says, the others sharing what is left. */
1952
+ const across = (list, gap) => {
1953
+ const fixed = list.map(fixedWidth);
1954
+ const taken = fixed.reduce((a, w) => a + (w ?? 0), 0) + gap * Math.max(0, list.length - 1);
1955
+ const shares = fixed.filter((w) => w === undefined).length;
1956
+ const share = shares > 0 ? Math.max(0, box.width - taken) / shares : 0;
1957
+ const widths = fixed.map((w) => Math.max(0, w ?? share));
1958
+ const xs = [];
1959
+ let x = box.x;
1960
+ for (const w of widths) {
1961
+ xs.push(x);
1962
+ x += w + gap;
1963
+ }
1964
+ return { xs, widths };
1965
+ };
1966
+ /** The rows `list` makes in a group of `g`'s kind, the first `first`
1967
+ * after the row before it. */
1968
+ const rowsOf = (list, g, first, nested) => {
1969
+ const gap = toPx(g.gap);
1970
+ const align = g.rowAlign ?? 'stretch';
1971
+ const tag = nested !== undefined ? { nested } : {};
1972
+ if (g.kind === 'row')
1973
+ return [{ mods: [...list], ...across(list, gap), align, gapBefore: first, ...tag }];
1974
+ if (g.kind === 'grid') {
1975
+ const columns = Math.max(1, g.columns ?? 1);
1976
+ const colGap = toPx(g.columnGap ?? g.gap);
1977
+ const rowGap = toPx(g.rowGap ?? g.gap);
1978
+ const colW = Math.max(1, (box.width - colGap * (columns - 1)) / columns);
1979
+ const out = [];
1980
+ for (let k = 0; k < list.length; k += columns) {
1981
+ const chunk = list.slice(k, k + columns);
1982
+ out.push({ mods: chunk, xs: chunk.map((_, c) => box.x + c * (colW + colGap)), widths: chunk.map(() => colW), align, gapBefore: k === 0 ? first : rowGap, ...tag });
1983
+ }
1984
+ return out;
1985
+ }
1986
+ // A stack: a row of its own per module, at its width from the start.
1987
+ return list.map((l, k) => ({ mods: [l], xs: [box.x], widths: [fixedWidth(l) ?? box.width], align: 'start', gapBefore: k === 0 ? first : gap, ...tag }));
1988
+ };
1989
+ const rows = [];
1990
+ if (group.kind !== 'stack')
1991
+ rows.push(...rowsOf(mods, group, 0));
1992
+ else {
1993
+ const stackGap = toPx(group.gap);
1994
+ for (let k = 0; k < mods.length;) {
1995
+ const nested = mods[k].mod.nested;
1996
+ const inner = nested !== undefined ? template.groups.find((g) => g.name === nested) : undefined;
1997
+ let end = k + 1;
1998
+ if (inner)
1999
+ while (end < mods.length && mods[end].mod.nested === nested)
2000
+ end++;
2001
+ rows.push(...rowsOf(mods.slice(k, end), inner ?? group, k === 0 ? 0 : stackGap, inner ? nested : undefined));
2002
+ k = end;
2003
+ }
2004
+ }
1891
2005
  let cursor = box.y;
1892
2006
  let declCursor = box.y;
1893
2007
  let out = false;
@@ -1895,40 +2009,31 @@ function composePage(pageInput, template, fit, collapsed) {
1895
2009
  let lastLaid;
1896
2010
  const boxes = [];
1897
2011
  const declBoxes = [];
2012
+ const nestedBoxes = new Map();
1898
2013
  const restore = (to, from) => {
1899
2014
  to.clear();
1900
2015
  for (const [k, v] of from)
1901
2016
  to.set(k, v);
1902
2017
  };
1903
- for (const item of group.items ?? []) {
1904
- const mod = template.modules?.find((m) => m.name === item.module);
1905
- const names = item.frames.filter((n) => byMember.has(n));
1906
- if (!mod || names.length === 0)
1907
- continue;
1908
- if (out) {
1909
- spillWhole(names, laidAny, lastLaid);
1910
- continue;
2018
+ const lay = (l, x, y, width, height, filling) => {
2019
+ const steps = composedOrder({ frames: l.names.map((n) => byMember.get(n)), groups: template.groups.filter((g) => l.mod.groups.includes(g.name)) });
2020
+ input = { ...pageInput, areas: { ...pageInput.areas, area: { x, y, width, height: Math.max(0, height) } } };
2021
+ try {
2022
+ for (const step of steps)
2023
+ runStep(step, filling);
1911
2024
  }
1912
- const sub = { frames: names.map((n) => byMember.get(n)), groups: template.groups.filter((g) => mod.groups.includes(g.name)) };
1913
- const steps = composedOrder(sub);
1914
- const lay = (height, filling) => {
1915
- input = { ...pageInput, areas: { ...pageInput.areas, area: { x: box.x, y: cursor, width: box.width, height: Math.max(0, height) } } };
1916
- try {
1917
- for (const step of steps)
1918
- runStep(step, filling);
1919
- }
1920
- finally {
1921
- input = pageInput;
1922
- }
1923
- };
1924
- // 1. How tall the module is: its frames placed in the room left,
1925
- // then everything they set put back.
2025
+ finally {
2026
+ input = pageInput;
2027
+ }
2028
+ };
2029
+ /** How tall a module is at `(x, y)`, `width` wide: its frames placed
2030
+ * in the room left, then everything they set put back. */
2031
+ const measure = (l, x, y, width) => {
1926
2032
  const kept = { rects: new Map(rects), declared: new Map(declared), groupRects: new Map(groupRects), groupDeclared: new Map(groupDeclared), pinned: pinned.length, boxShort: new Map(boxShort), fitted: new Map(fitted) };
1927
- lay(foot - cursor, false);
1928
- const placed = names.filter((n) => rects.has(n));
2033
+ lay(l, x, y, width, foot - y, false);
2034
+ const placed = l.names.filter((n) => rects.has(n));
1929
2035
  const measured = placed.filter((n) => !heldByFoot(byMember.get(n)));
1930
2036
  const reach = unionRect((measured.length > 0 ? measured : placed).map((n) => rects.get(n)));
1931
- const height = reach ? Math.max(0, reach.y + reach.height - cursor) : 0;
1932
2037
  restore(rects, kept.rects);
1933
2038
  restore(declared, kept.declared);
1934
2039
  restore(groupRects, kept.groupRects);
@@ -1936,41 +2041,81 @@ function composePage(pageInput, template, fit, collapsed) {
1936
2041
  restore(boxShort, kept.boxShort);
1937
2042
  restore(fitted, kept.fitted);
1938
2043
  pinned.length = kept.pinned;
1939
- const fits = cursor + height <= foot + 0.5;
1940
- if (!fits && fit.gridsOn.has(group.name)) {
1941
- // This module and the ones after it go on, whole.
1942
- out = true;
2044
+ return reach ? Math.max(0, reach.y + reach.height - y) : 0;
2045
+ };
2046
+ rows.forEach((row, r) => {
2047
+ const names = row.mods.flatMap((l) => l.names);
2048
+ if (out) {
1943
2049
  spillWhole(names, laidAny, lastLaid);
1944
- continue;
1945
- }
1946
- // 2. The module laid in a box that tall (cut at the foot when it
1947
- // does not fit).
1948
- clipFoot = fits ? undefined : foot;
1949
- try {
1950
- lay(fits ? height : foot - cursor, true);
2050
+ return;
1951
2051
  }
1952
- finally {
1953
- clipFoot = undefined;
2052
+ if (r > 0) {
2053
+ cursor += row.gapBefore;
2054
+ declCursor += row.gapBefore;
1954
2055
  }
1955
- const u = unionRect(names.flatMap((n) => (rects.has(n) ? [rects.get(n)] : [])));
1956
- const bottom = u ? Math.max(cursor, u.y + u.height) : cursor;
1957
- const moduleBox = { x: box.x, y: cursor, width: box.width, height: bottom - cursor };
1958
- moduleRects.set(mod.name, moduleBox);
1959
- boxes.push(moduleBox);
1960
- // Declared: after the modules before it as they declare themselves.
1961
- const shift = declCursor - cursor;
1962
- for (const n of names) {
1963
- const d = declared.get(n);
1964
- if (d && Math.abs(shift) > 0.001)
1965
- declared.set(n, { ...d, y: d.y + shift });
2056
+ const heights = row.mods.map((l, k) => measure(l, row.xs[k], cursor, row.widths[k]));
2057
+ const rowH = Math.max(0, ...heights);
2058
+ const fits = cursor + rowH <= foot + 0.5;
2059
+ if (!fits && fit.gridsOn.has(group.name)) {
2060
+ // This row and the ones after it go on, whole.
2061
+ out = true;
2062
+ spillWhole(names, laidAny, lastLaid);
2063
+ return;
1966
2064
  }
1967
- const du = unionRect(names.flatMap((n) => (declared.has(n) ? [declared.get(n)] : [])));
1968
- const declBottom = du ? Math.max(declCursor, du.y + du.height) : declCursor;
1969
- declBoxes.push({ x: box.x, y: declCursor, width: box.width, height: declBottom - declCursor });
2065
+ // Each module laid in a box that tall (cut at the foot when the row
2066
+ // does not fit); a shorter one placed by `rowAlign`.
2067
+ const several = row.mods.length > 1;
2068
+ let rowBottom = cursor;
2069
+ let rowDeclBottom = declCursor;
2070
+ row.mods.forEach((l, k) => {
2071
+ const x = row.xs[k];
2072
+ const width = row.widths[k];
2073
+ const spare = rowH - heights[k];
2074
+ const stretched = fits && several && row.align === 'stretch';
2075
+ const dy = fits && several && spare > 0.01 ? (row.align === 'end' ? spare : row.align === 'center' ? spare / 2 : 0) : 0;
2076
+ const y = cursor + dy;
2077
+ clipFoot = fits ? undefined : foot;
2078
+ try {
2079
+ lay(l, x, y, width, fits ? (stretched ? rowH : heights[k]) : foot - cursor, true);
2080
+ }
2081
+ finally {
2082
+ clipFoot = undefined;
2083
+ }
2084
+ const u = unionRect(l.names.flatMap((n) => (rects.has(n) ? [rects.get(n)] : [])));
2085
+ const bottom = Math.max(stretched ? y + rowH : y, u ? u.y + u.height : y);
2086
+ const moduleBox = { x, y, width, height: bottom - y };
2087
+ moduleRects.set(l.mod.name, moduleBox);
2088
+ boxes.push(moduleBox);
2089
+ // Declared: after the rows before it as they declare themselves.
2090
+ const shift = declCursor - cursor;
2091
+ for (const n of l.names) {
2092
+ const d = declared.get(n);
2093
+ if (d && Math.abs(shift) > 0.001)
2094
+ declared.set(n, { ...d, y: d.y + shift });
2095
+ }
2096
+ const declY = declCursor + dy;
2097
+ const du = unionRect(l.names.flatMap((n) => (declared.has(n) ? [declared.get(n)] : [])));
2098
+ const declBottom = du ? Math.max(declY, du.y + du.height) : declY;
2099
+ const declBox = { x, y: declY, width, height: declBottom - declY };
2100
+ declBoxes.push(declBox);
2101
+ if (row.nested !== undefined) {
2102
+ const n = nestedBoxes.get(row.nested) ?? { laid: [], declared: [] };
2103
+ n.laid.push(moduleBox);
2104
+ n.declared.push(declBox);
2105
+ nestedBoxes.set(row.nested, n);
2106
+ }
2107
+ rowBottom = Math.max(rowBottom, bottom);
2108
+ rowDeclBottom = Math.max(rowDeclBottom, declBottom);
2109
+ });
1970
2110
  laidAny = true;
1971
2111
  lastLaid = frameIdOf(names[names.length - 1]);
1972
- cursor = bottom + gap;
1973
- declCursor = declBottom + gap;
2112
+ cursor = rowBottom;
2113
+ declCursor = rowDeclBottom;
2114
+ });
2115
+ // A group inside the stack (#1088) is the box of its modules.
2116
+ for (const [name, b] of nestedBoxes) {
2117
+ groupRects.set(name, unionRect(b.laid));
2118
+ groupDeclared.set(name, unionRect(b.declared));
1974
2119
  }
1975
2120
  groupRects.set(group.name, ownBox ?? unionRect(boxes) ?? { ...box, height: 0 });
1976
2121
  groupDeclared.set(group.name, ownBox ?? unionRect(declBoxes) ?? { ...box, height: 0 });
@@ -2123,6 +2268,25 @@ export function frameStyleOf(base, frame) {
2123
2268
  };
2124
2269
  }
2125
2270
  const lookedStyles = new WeakMap();
2271
+ /** Frames with a named look laid over theirs (#1089), per look and frame:
2272
+ * the same look object each time, so `styleWithLook` keeps its styles. */
2273
+ const namedLookFrames = new WeakMap();
2274
+ /** `frame` with the named look `named` (#1089) laid over its own `look`
2275
+ * (`lookOver`): the order is the style, the template frame's look, then
2276
+ * the named look. `frame` itself when there is none. */
2277
+ export function withNamedLook(frame, named) {
2278
+ if (!named)
2279
+ return frame;
2280
+ let byFrame = namedLookFrames.get(named);
2281
+ if (!byFrame)
2282
+ namedLookFrames.set(named, (byFrame = new WeakMap()));
2283
+ const known = byFrame.get(frame);
2284
+ if (known)
2285
+ return known;
2286
+ const out = { ...frame, look: lookOver(frame.look, named) };
2287
+ byFrame.set(frame, out);
2288
+ return out;
2289
+ }
2126
2290
  /** `base` with what a frame's `look` sets (#976) written over it: colours
2127
2291
  * of the fill, border, stripe, icon, marker, title, text and label tab,
2128
2292
  * and the tracking of the body. A fill colour turns the fill on. A part