postext 0.3.26 → 0.3.27
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.
- package/dist/__tests__/columnBalancing.test.js +46 -0
- package/dist/__tests__/columnBalancing.test.js.map +1 -1
- package/dist/__tests__/continuation.test.d.ts +2 -0
- package/dist/__tests__/continuation.test.d.ts.map +1 -0
- package/dist/__tests__/continuation.test.js +124 -0
- package/dist/__tests__/continuation.test.js.map +1 -0
- package/dist/__tests__/defaults/calloutStyles.test.js +58 -1
- package/dist/__tests__/defaults/calloutStyles.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +1 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutLayout.test.js +171 -0
- package/dist/__tests__/pipeline/calloutLayout.test.js.map +1 -1
- package/dist/__tests__/pipeline/raggedUrl.test.d.ts +2 -0
- package/dist/__tests__/pipeline/raggedUrl.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/raggedUrl.test.js +22 -0
- package/dist/__tests__/pipeline/raggedUrl.test.js.map +1 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.d.ts +2 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.js +77 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.js.map +1 -0
- package/dist/canvas-backend/blockRender.js +1 -1
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts +17 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +74 -1
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/shared.d.ts.map +1 -1
- package/dist/defaults/shared.js +12 -0
- package/dist/defaults/shared.js.map +1 -1
- package/dist/html-backend.js +1 -1
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/numbering.d.ts +3 -1
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +4 -1
- package/dist/numbering.js.map +1 -1
- package/dist/pipeline/bandCaps.d.ts +21 -1
- package/dist/pipeline/bandCaps.d.ts.map +1 -1
- package/dist/pipeline/bandCaps.js +29 -3
- package/dist/pipeline/bandCaps.js.map +1 -1
- package/dist/pipeline/build.d.ts +17 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +58 -20
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +1 -1
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +2 -2
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +5 -0
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +147 -44
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +17 -1
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/continuation.d.ts +7 -0
- package/dist/pipeline/continuation.d.ts.map +1 -0
- package/dist/pipeline/continuation.js +26 -0
- package/dist/pipeline/continuation.js.map +1 -0
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +9 -7
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/index.d.ts +2 -1
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +1 -0
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/placeholders.d.ts +1 -1
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +4 -3
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/placement.d.ts +2 -2
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +12 -8
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/raggedUrl.d.ts +15 -0
- package/dist/pipeline/raggedUrl.d.ts.map +1 -0
- package/dist/pipeline/raggedUrl.js +28 -0
- package/dist/pipeline/raggedUrl.js.map +1 -0
- package/dist/pipeline/resourceNumbering.d.ts +27 -19
- package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
- package/dist/pipeline/resourceNumbering.js +19 -17
- package/dist/pipeline/resourceNumbering.js.map +1 -1
- package/dist/types.d.ts +98 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +13 -0
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/worker/client.d.ts +4 -0
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +4 -0
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/layout.worker.js +14 -0
- package/dist/worker/layout.worker.js.map +1 -1
- package/dist/worker/protocol.d.ts +5 -0
- package/dist/worker/protocol.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
* and list sections carry the style's `body` / `lists` overrides, so the
|
|
16
16
|
* existing style resolvers produce the callout typography unchanged.
|
|
17
17
|
*
|
|
18
|
+
* A style's `marker` adds a column *outside* the box on its left — an icon
|
|
19
|
+
* with an optional vertical rule — so the frame is `[marker][rule][gap][box]`
|
|
20
|
+
* and as tall as the tallest of the three; the box keeps its own icon,
|
|
21
|
+
* background and padding.
|
|
22
|
+
*
|
|
18
23
|
* v1 limits: callouts never split (`keepTogether` is always on); nested
|
|
19
24
|
* `:::callout` fences inside a callout are flattened into the outer box;
|
|
20
25
|
* `width: 'auto'` shrink-wraps the title only and ignores the children.
|
|
@@ -228,7 +233,16 @@ export function layoutCallout(input) {
|
|
|
228
233
|
const px = (d) => dimensionToPx(d, dpi, em);
|
|
229
234
|
const { span, placement, title: rawTitle } = resolveCalloutAttrs(style, attrs);
|
|
230
235
|
const isAuto = style.width === 'auto';
|
|
231
|
-
// ---
|
|
236
|
+
// --- Marker column (outside the box, on its left) --------------------------
|
|
237
|
+
const hasMarker = iconPresent(style.marker);
|
|
238
|
+
const markerSize = hasMarker ? px(style.marker.size) : 0;
|
|
239
|
+
const ruleOn = hasMarker && style.marker.rule.enabled;
|
|
240
|
+
const ruleW = ruleOn ? px(style.marker.rule.width) : 0;
|
|
241
|
+
const markerColumn = hasMarker ? markerSize + ruleW + px(style.marker.gap) : 0;
|
|
242
|
+
// --- Box geometry ------------------------------------------------------------
|
|
243
|
+
// Everything below is box-relative (box origin = `(0,0)`); the marker
|
|
244
|
+
// column shifts the box right (and down, when the marker is taller) at
|
|
245
|
+
// the end.
|
|
232
246
|
const padT = px(style.padding.top);
|
|
233
247
|
const padR = px(style.padding.right);
|
|
234
248
|
const padB = px(style.padding.bottom);
|
|
@@ -239,8 +253,7 @@ export function layoutCallout(input) {
|
|
|
239
253
|
const stripeLeft = sideStripe && style.stripe.side === 'left';
|
|
240
254
|
const stripeRight = sideStripe && style.stripe.side === 'right';
|
|
241
255
|
const topStripe = stripeOn && style.stripe.side === 'top';
|
|
242
|
-
const hasIcon = style.icon
|
|
243
|
-
&& (style.icon.kind === 'glyph' ? style.icon.glyph.length > 0 : style.icon.resourceId.length > 0);
|
|
256
|
+
const hasIcon = iconPresent(style.icon);
|
|
244
257
|
const iconSize = hasIcon ? px(style.icon.size) : 0;
|
|
245
258
|
const gapPx = px(style.titleStyle.gap);
|
|
246
259
|
// The icon takes its own column only when there is no side stripe to sit
|
|
@@ -256,16 +269,17 @@ export function layoutCallout(input) {
|
|
|
256
269
|
const titleFont = buildFontString(style.titleStyle.fontFamily, titleFontPx, style.titleStyle.fontWeight.toString(), style.titleStyle.italic ? 'italic' : 'normal');
|
|
257
270
|
const titleLineHeight = titleFontPx * 1.2;
|
|
258
271
|
const hasTitle = titleText.trim().length > 0;
|
|
259
|
-
//
|
|
260
|
-
|
|
272
|
+
// Box width: `fill` uses the given width less the marker column; `auto`
|
|
273
|
+
// shrink-wraps the title.
|
|
274
|
+
let boxWidth = input.width - markerColumn;
|
|
261
275
|
let innerWidth;
|
|
262
276
|
if (isAuto) {
|
|
263
277
|
const titleW = hasTitle ? measureTextWidth(titleText, titleFont) : 0;
|
|
264
278
|
innerWidth = Math.max(1, titleW);
|
|
265
|
-
|
|
279
|
+
boxWidth = innerX + innerWidth + padR + (stripeRight ? stripeW : 0);
|
|
266
280
|
}
|
|
267
281
|
else {
|
|
268
|
-
innerWidth = Math.max(1,
|
|
282
|
+
innerWidth = Math.max(1, boxWidth - innerX - padR - (stripeRight ? stripeW : 0));
|
|
269
283
|
}
|
|
270
284
|
let cursorY = innerTop;
|
|
271
285
|
const overlayBlocks = [];
|
|
@@ -362,7 +376,7 @@ export function layoutCallout(input) {
|
|
|
362
376
|
blk.sourceStart = measured.lines[0].sourceStart ?? raw.sourceStart + ctx.bodyOffset;
|
|
363
377
|
blk.sourceEnd = measured.lines[measured.lines.length - 1].sourceEnd ?? raw.sourceEnd + ctx.bodyOffset;
|
|
364
378
|
}
|
|
365
|
-
// Relocate to the inner rect (
|
|
379
|
+
// Relocate to the inner rect (box-relative).
|
|
366
380
|
blk.bbox = createBoundingBox(innerX, cursorY, innerWidth, height);
|
|
367
381
|
for (const line of blk.lines) {
|
|
368
382
|
line.bbox.x += innerX;
|
|
@@ -398,16 +412,28 @@ export function layoutCallout(input) {
|
|
|
398
412
|
first = false;
|
|
399
413
|
}
|
|
400
414
|
}
|
|
401
|
-
|
|
402
|
-
|
|
415
|
+
// An icon taller than the content grows the inner area to fit it; with
|
|
416
|
+
// `align: 'center'` the title and children are centred on the icon.
|
|
417
|
+
let contentBottom = cursorY;
|
|
418
|
+
const contentH = contentBottom - innerTop;
|
|
419
|
+
if (hasIcon && iconSize > contentH) {
|
|
420
|
+
const extra = iconSize - contentH;
|
|
421
|
+
if (style.icon.align === 'center') {
|
|
422
|
+
if (titleBlock)
|
|
423
|
+
offsetDesignBlock(titleBlock, 0, extra / 2);
|
|
424
|
+
for (const blk of childBlocks)
|
|
425
|
+
offsetBlock(blk, 0, extra / 2);
|
|
426
|
+
}
|
|
427
|
+
contentBottom += extra;
|
|
428
|
+
}
|
|
429
|
+
const boxHeight = contentBottom + padB;
|
|
403
430
|
const innerRect = createBoundingBox(innerX, innerTop, innerWidth, Math.max(0, contentBottom - innerTop));
|
|
404
|
-
// ---
|
|
405
|
-
const overlay = { bbox: createBoundingBox(0, 0, width, totalHeight), blocks: overlayBlocks };
|
|
431
|
+
// --- Box decoration (paint order: background, stripe, icon, title) ---------
|
|
406
432
|
const borderOn = style.border.enabled;
|
|
407
433
|
if (style.backgroundEnabled || borderOn) {
|
|
408
434
|
overlayBlocks.push({
|
|
409
435
|
kind: 'box',
|
|
410
|
-
bbox: createBoundingBox(0, 0,
|
|
436
|
+
bbox: createBoundingBox(0, 0, boxWidth, boxHeight),
|
|
411
437
|
box: {
|
|
412
438
|
backgroundColor: style.backgroundEnabled ? style.background.hex : undefined,
|
|
413
439
|
borderColor: borderOn ? style.border.color.hex : undefined,
|
|
@@ -418,10 +444,10 @@ export function layoutCallout(input) {
|
|
|
418
444
|
}
|
|
419
445
|
if (stripeOn) {
|
|
420
446
|
const stripeBox = topStripe
|
|
421
|
-
? createBoundingBox(0, 0,
|
|
447
|
+
? createBoundingBox(0, 0, boxWidth, stripeW)
|
|
422
448
|
: stripeLeft
|
|
423
|
-
? createBoundingBox(0, 0, stripeW,
|
|
424
|
-
: createBoundingBox(
|
|
449
|
+
? createBoundingBox(0, 0, stripeW, boxHeight)
|
|
450
|
+
: createBoundingBox(boxWidth - stripeW, 0, stripeW, boxHeight);
|
|
425
451
|
overlayBlocks.push({
|
|
426
452
|
kind: 'box',
|
|
427
453
|
bbox: stripeBox,
|
|
@@ -434,41 +460,64 @@ export function layoutCallout(input) {
|
|
|
434
460
|
// Over a side stripe the icon is centred on the stripe; otherwise it
|
|
435
461
|
// sits in its own column left of the content.
|
|
436
462
|
const iconX = sideStripe
|
|
437
|
-
? (stripeLeft ? (stripeW - iconSize) / 2 :
|
|
463
|
+
? (stripeLeft ? (stripeW - iconSize) / 2 : boxWidth - stripeW + (stripeW - iconSize) / 2)
|
|
438
464
|
: innerX - iconColumn;
|
|
439
465
|
const iconY = style.icon.align === 'center'
|
|
440
|
-
? innerTop +
|
|
466
|
+
? innerTop + (contentBottom - innerTop - iconSize) / 2
|
|
441
467
|
: innerTop;
|
|
442
|
-
const
|
|
443
|
-
if (
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
iconFileId = fileId;
|
|
448
|
-
iconFormat = resource?.bitmap?.format;
|
|
449
|
-
overlayBlocks.push({ kind: 'image', bbox: iconBox, fileId });
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
else {
|
|
453
|
-
const iconFont = buildFontString(style.icon.fontFamily, iconSize, style.icon.fontWeight.toString());
|
|
454
|
-
const glyphW = measureTextWidth(style.icon.glyph, iconFont);
|
|
455
|
-
overlayBlocks.push({
|
|
456
|
-
kind: 'text',
|
|
457
|
-
bbox: iconBox,
|
|
458
|
-
fontString: iconFont,
|
|
459
|
-
color: style.icon.color.hex,
|
|
460
|
-
lines: [{
|
|
461
|
-
text: style.icon.glyph,
|
|
462
|
-
xOffset: Math.max(0, (iconSize - glyphW) / 2),
|
|
463
|
-
baselineY: iconY + iconSize * 0.8,
|
|
464
|
-
width: glyphW,
|
|
465
|
-
}],
|
|
466
|
-
clip: false,
|
|
467
|
-
});
|
|
468
|
+
const built = buildIconBlock(style.icon, iconX, iconY, iconSize, ctx);
|
|
469
|
+
if (built) {
|
|
470
|
+
overlayBlocks.push(built.block);
|
|
471
|
+
iconFileId = built.fileId;
|
|
472
|
+
iconFormat = built.format;
|
|
468
473
|
}
|
|
469
474
|
}
|
|
470
475
|
if (titleBlock)
|
|
471
476
|
overlayBlocks.push(titleBlock);
|
|
477
|
+
// --- Marker column + frame -----------------------------------------------------
|
|
478
|
+
// The frame is as tall as the tallest of box, marker and rule; the three
|
|
479
|
+
// are centred on each other (`marker.align: 'center'`) or top-aligned.
|
|
480
|
+
const ruleLen = ruleOn ? Math.max(px(style.marker.rule.length), boxHeight) : 0;
|
|
481
|
+
const totalHeight = Math.max(boxHeight, markerSize, ruleLen);
|
|
482
|
+
const centerMarker = style.marker.align === 'center';
|
|
483
|
+
const boxDy = centerMarker ? (totalHeight - boxHeight) / 2 : 0;
|
|
484
|
+
const width = markerColumn + boxWidth;
|
|
485
|
+
if (markerColumn > 0 || boxDy > 0) {
|
|
486
|
+
for (const b of overlayBlocks)
|
|
487
|
+
offsetDesignBlock(b, markerColumn, boxDy);
|
|
488
|
+
for (const blk of childBlocks)
|
|
489
|
+
offsetBlock(blk, markerColumn, boxDy);
|
|
490
|
+
innerRect.x += markerColumn;
|
|
491
|
+
innerRect.y += boxDy;
|
|
492
|
+
}
|
|
493
|
+
// Paint order: marker, rule, then the box decoration (the marker lies
|
|
494
|
+
// outside the box, so the order only matters for readers of the overlay).
|
|
495
|
+
const markerBlocks = [];
|
|
496
|
+
let markerFileId;
|
|
497
|
+
let markerFormat;
|
|
498
|
+
if (hasMarker) {
|
|
499
|
+
const markerY = centerMarker ? (totalHeight - markerSize) / 2 : 0;
|
|
500
|
+
const built = buildIconBlock(style.marker, 0, markerY, markerSize, ctx);
|
|
501
|
+
if (built) {
|
|
502
|
+
markerBlocks.push(built.block);
|
|
503
|
+
markerFileId = built.fileId;
|
|
504
|
+
markerFormat = built.format;
|
|
505
|
+
}
|
|
506
|
+
if (ruleOn) {
|
|
507
|
+
const ruleY = centerMarker ? (totalHeight - ruleLen) / 2 : 0;
|
|
508
|
+
markerBlocks.push({
|
|
509
|
+
kind: 'rule',
|
|
510
|
+
bbox: createBoundingBox(markerSize, ruleY, ruleW, ruleLen),
|
|
511
|
+
color: style.marker.rule.color.hex,
|
|
512
|
+
thicknessPx: ruleW,
|
|
513
|
+
direction: 'vertical',
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
const overlay = {
|
|
518
|
+
bbox: createBoundingBox(0, 0, width, totalHeight),
|
|
519
|
+
blocks: [...markerBlocks, ...overlayBlocks],
|
|
520
|
+
};
|
|
472
521
|
// --- Frame block -------------------------------------------------------------
|
|
473
522
|
const frame = createVDTBlock(frameId, 'callout', bodyStyle.fontString, bodyStyle.color, bodyStyle.textAlign);
|
|
474
523
|
frame.bbox = createBoundingBox(0, 0, width, totalHeight);
|
|
@@ -485,6 +534,8 @@ export function layoutCallout(input) {
|
|
|
485
534
|
childIds: childBlocks.map((b) => b.id),
|
|
486
535
|
iconFileId,
|
|
487
536
|
iconFormat,
|
|
537
|
+
markerFileId,
|
|
538
|
+
markerFormat,
|
|
488
539
|
};
|
|
489
540
|
return {
|
|
490
541
|
frame,
|
|
@@ -495,4 +546,56 @@ export function layoutCallout(input) {
|
|
|
495
546
|
marginBottomPx: px(style.marginBottom),
|
|
496
547
|
};
|
|
497
548
|
}
|
|
549
|
+
/** Whether an icon / marker spec draws anything. */
|
|
550
|
+
function iconPresent(spec) {
|
|
551
|
+
if (spec.kind === 'glyph')
|
|
552
|
+
return spec.glyph.length > 0;
|
|
553
|
+
if (spec.kind === 'resource')
|
|
554
|
+
return spec.resourceId.length > 0;
|
|
555
|
+
return false;
|
|
556
|
+
}
|
|
557
|
+
/** Fit a `w × h` image inside the square `(x, y, size)`, centred, keeping
|
|
558
|
+
* its aspect ratio. Unknown dimensions fill the square. */
|
|
559
|
+
function fitInSquare(x, y, size, w, h) {
|
|
560
|
+
if (!w || !h || w <= 0 || h <= 0)
|
|
561
|
+
return createBoundingBox(x, y, size, size);
|
|
562
|
+
const scale = size / Math.max(w, h);
|
|
563
|
+
const fw = w * scale;
|
|
564
|
+
const fh = h * scale;
|
|
565
|
+
return createBoundingBox(x + (size - fw) / 2, y + (size - fh) / 2, fw, fh);
|
|
566
|
+
}
|
|
567
|
+
/** The design block for an icon spec drawn in the square `(x, y, size)`:
|
|
568
|
+
* an image block for a resource (aspect-fitted; `undefined` when the
|
|
569
|
+
* resource is missing), a centred text block for a glyph. */
|
|
570
|
+
function buildIconBlock(spec, x, y, size, ctx) {
|
|
571
|
+
if (spec.kind === 'resource') {
|
|
572
|
+
const resource = ctx.resourceById.get(spec.resourceId);
|
|
573
|
+
const fileId = resource?.bitmap?.fileId ?? resource?.svg?.fileId;
|
|
574
|
+
if (!fileId)
|
|
575
|
+
return undefined;
|
|
576
|
+
const dims = resource?.bitmap ?? resource?.svg;
|
|
577
|
+
return {
|
|
578
|
+
block: { kind: 'image', bbox: fitInSquare(x, y, size, dims?.width, dims?.height), fileId },
|
|
579
|
+
fileId,
|
|
580
|
+
format: resource?.bitmap?.format,
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
const font = buildFontString(spec.fontFamily, size, spec.fontWeight.toString());
|
|
584
|
+
const glyphW = measureTextWidth(spec.glyph, font);
|
|
585
|
+
return {
|
|
586
|
+
block: {
|
|
587
|
+
kind: 'text',
|
|
588
|
+
bbox: createBoundingBox(x, y, size, size),
|
|
589
|
+
fontString: font,
|
|
590
|
+
color: spec.color.hex,
|
|
591
|
+
lines: [{
|
|
592
|
+
text: spec.glyph,
|
|
593
|
+
xOffset: Math.max(0, (size - glyphW) / 2),
|
|
594
|
+
baselineY: y + size * 0.8,
|
|
595
|
+
width: glyphW,
|
|
596
|
+
}],
|
|
597
|
+
clip: false,
|
|
598
|
+
},
|
|
599
|
+
};
|
|
600
|
+
}
|
|
498
601
|
//# sourceMappingURL=calloutLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calloutLayout.js","sourceRoot":"","sources":["../../src/pipeline/calloutLayout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calloutLayout.js","sourceRoot":"","sources":["../../src/pipeline/calloutLayout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAa,WAAW,EAAW,MAAM,QAAQ,CAAC;AAK9D,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE5E,UAAU,gBAAgB;IACxB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd;gDAC4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAa,WAAW,EAAW,MAAM,QAAQ,CAAC;AAK9D,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE5E,UAAU,gBAAgB;IACxB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd;gDAC4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,SAAS,EAAE,CAyHb;AAED;kCACkC;AAClC,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,MAAM,CAER;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+DAA+D;IAC/D,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2EAA2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;2EAE2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,qEAAqE;IACrE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,qEAAqE;IACrE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,sBAAsB,GAC9B,eAAe,CAkEjB"}
|
|
@@ -111,7 +111,23 @@ export function collectColumnGaps(doc, forcedBreakPages) {
|
|
|
111
111
|
// A `:::columnbreak` ended this column on purpose — leave its gap.
|
|
112
112
|
if (col.forcedBreak)
|
|
113
113
|
continue;
|
|
114
|
-
|
|
114
|
+
// A column closed by a list tail: the tail's box bakes the list's
|
|
115
|
+
// bottom margin and grid snap in (so the flow after it lands on the
|
|
116
|
+
// grid), which can hide a whole empty line under the last item — one
|
|
117
|
+
// a stretch point above could still use; the item would simply land
|
|
118
|
+
// with less margin below it. Measure the room below its last line.
|
|
119
|
+
let free = col.availableHeight;
|
|
120
|
+
for (let i = col.blocks.length - 1; i >= 0; i--) {
|
|
121
|
+
const b = col.blocks[i];
|
|
122
|
+
if (b.hidden)
|
|
123
|
+
continue;
|
|
124
|
+
const lastLine = b.lines[b.lines.length - 1];
|
|
125
|
+
if (b.type === 'listItem' && lastLine) {
|
|
126
|
+
free = Math.max(free, col.bbox.y + col.bbox.height - (lastLine.bbox.y + lastLine.bbox.height));
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
const gapLines = Math.floor((free + EPS) / doc.baselineGrid);
|
|
115
131
|
if (gapLines < 1)
|
|
116
132
|
continue;
|
|
117
133
|
const candidates = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnBalancing.js","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"columnBalancing.js","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LayoutContinuation, PostextConfig, PostextContent } from '../types';
|
|
2
|
+
/** The counters a document laid out after `content` continues from: what
|
|
3
|
+
* `content` itself inherited (`before`) advanced by its headings and
|
|
4
|
+
* resource references. Chain it chapter by chapter to number a book that
|
|
5
|
+
* is laid out one chapter at a time. */
|
|
6
|
+
export declare function continuationAfter(content: Pick<PostextContent, 'markdown' | 'resources'>, config?: PostextConfig, before?: LayoutContinuation): LayoutContinuation;
|
|
7
|
+
//# sourceMappingURL=continuation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAKnG;;;yCAGyC;AACzC,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC,EACvD,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,kBAAkB,CAgBpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// What a document laid out after another one inherits from it — the
|
|
2
|
+
// counter half of `PostextContent.continuation`. Pure over the parsed
|
|
3
|
+
// markdown: no layout is involved, so the page half (`pageIndexOffset`,
|
|
4
|
+
// `pageNumbering`) is left to the caller, which knows how many pages the
|
|
5
|
+
// preceding content produced and how its last page was numbered.
|
|
6
|
+
import { extractFrontmatter } from '../frontmatter';
|
|
7
|
+
import { parseMarkdownMemo } from '../parse';
|
|
8
|
+
import { defaultResourceTypes } from '../defaults';
|
|
9
|
+
import { computeHeadingContext, computeResourceNumberingState } from './resourceNumbering';
|
|
10
|
+
const NO_HEADINGS = { h1: 0, h2: 0, h3: 0, h4: 0, h5: 0, h6: 0 };
|
|
11
|
+
/** The counters a document laid out after `content` continues from: what
|
|
12
|
+
* `content` itself inherited (`before`) advanced by its headings and
|
|
13
|
+
* resource references. Chain it chapter by chapter to number a book that
|
|
14
|
+
* is laid out one chapter at a time. */
|
|
15
|
+
export function continuationAfter(content, config, before) {
|
|
16
|
+
const body = extractFrontmatter(content.markdown).content;
|
|
17
|
+
const blocks = parseMarkdownMemo(body);
|
|
18
|
+
const headingContext = computeHeadingContext(blocks, before?.headings);
|
|
19
|
+
const headings = headingContext.length > 0
|
|
20
|
+
? headingContext[headingContext.length - 1]
|
|
21
|
+
: before?.headings ?? NO_HEADINGS;
|
|
22
|
+
const resourceTypes = config?.resourceTypes ?? defaultResourceTypes();
|
|
23
|
+
const { map, counters } = computeResourceNumberingState(blocks, resourceTypes, content.resources ?? [], headingContext, before ? { counters: before.resourceCounters, numbered: before.resourceNumbers } : undefined);
|
|
24
|
+
return { headings, resourceCounters: counters, resourceNumbers: map };
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=continuation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sEAAsE;AACtE,wEAAwE;AACxE,yEAAyE;AACzE,iEAAiE;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,MAAM,WAAW,GAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAElF;;;yCAGyC;AACzC,MAAM,UAAU,iBAAiB,CAC/B,OAAuD,EACvD,MAAsB,EACtB,MAA2B;IAE3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAE;QAC5C,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC;IACpC,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,oBAAoB,EAAE,CAAC;IACtE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CACrD,MAAM,EACN,aAAa,EACb,OAAO,CAAC,SAAS,IAAI,EAAE,EACvB,cAAc,EACd,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAC7F,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC5H,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAMnB,MAAM,QAAQ,CAAC;AAQhB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,KAAK,YAAY,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AA6GvE;;;;;;;mDAOmD;AACnD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC9G,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM;AACjB;;;;oCAIoC;AACpC,MAAM,CAAC,EAAE,YAAY;AACrB;+CAC+C;AAC/C,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,MAAM,CAgCR;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;iEAC6D;IAC7D,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClF;qEACiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,gBAAgB,GACxB,aAAa,GAAG,SAAS,CA+C3B;AAsID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC5H,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAMnB,MAAM,QAAQ,CAAC;AAQhB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,KAAK,YAAY,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AA6GvE;;;;;;;mDAOmD;AACnD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC9G,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM;AACjB;;;;oCAIoC;AACpC,MAAM,CAAC,EAAE,YAAY;AACrB;+CAC+C;AAC/C,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,MAAM,CAgCR;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;iEAC6D;IAC7D,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClF;qEACiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,gBAAgB,GACxB,aAAa,GAAG,SAAS,CA+C3B;AAsID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CA2O7D"}
|
|
@@ -325,7 +325,9 @@ export function buildHeadersAndFooters(doc) {
|
|
|
325
325
|
// Page roles drive the per-element `pages` filter of every slot below.
|
|
326
326
|
classifyPages(doc, resolved);
|
|
327
327
|
const chapterTitleByPageIndex = computeChapterTitles(doc.blocks, doc.pages.length, doc.pages);
|
|
328
|
-
const chapterNumberByPageIndex = computeChapterNumbers(doc.blocks, doc.pages.length, doc.pages);
|
|
328
|
+
const chapterNumberByPageIndex = computeChapterNumbers(doc.blocks, doc.pages.length, doc.pages, doc.chapterOrdinalOffset ?? 0);
|
|
329
|
+
// Parity (odd/even elements) counts the pages before a continued document.
|
|
330
|
+
const pageIndexOffset = doc.pageIndexOffset ?? 0;
|
|
329
331
|
const chapterAttrsByPageIndex = computeChapterAttrs(doc.blocks, doc.pages.length, doc.pages);
|
|
330
332
|
const { partTitleByPageIndex, partNumberByPageIndex } = computePartValues(doc.pages);
|
|
331
333
|
const headingLevelByNumber = buildHeadingLevelMap(resolved);
|
|
@@ -345,7 +347,7 @@ export function buildHeadersAndFooters(doc) {
|
|
|
345
347
|
partTitleByPageIndex,
|
|
346
348
|
partNumberByPageIndex,
|
|
347
349
|
};
|
|
348
|
-
page.header = layoutSlotToVdt(resolved.header, headerContainerBbox(contentArea), page.index, placeholders, dpi, extras);
|
|
350
|
+
page.header = layoutSlotToVdt(resolved.header, headerContainerBbox(contentArea), page.index + pageIndexOffset, placeholders, dpi, extras);
|
|
349
351
|
}
|
|
350
352
|
// Back of a part divider: a blank page right after a part page takes the
|
|
351
353
|
// part's verso design (the model book tints the whole leaf).
|
|
@@ -372,7 +374,7 @@ export function buildHeadersAndFooters(doc) {
|
|
|
372
374
|
chapterNumber: chapterNumberByPageIndex[page.index] ?? '',
|
|
373
375
|
},
|
|
374
376
|
};
|
|
375
|
-
page.openerBand = layoutSlotToVdt(resolved.parts.versoDesign, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index, placeholders, dpi, extras);
|
|
377
|
+
page.openerBand = layoutSlotToVdt(resolved.parts.versoDesign, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index + pageIndexOffset, placeholders, dpi, extras);
|
|
376
378
|
}
|
|
377
379
|
// Part-divider page: the opener design covers the full trim box and is
|
|
378
380
|
// purely decorative (the body column already comes from `parts.margins`).
|
|
@@ -405,7 +407,7 @@ export function buildHeadersAndFooters(doc) {
|
|
|
405
407
|
...partTitleSourceMap(title, page.partInfo.titleSourceStart),
|
|
406
408
|
}
|
|
407
409
|
: undefined;
|
|
408
|
-
page.openerBand = layoutSlotToVdt(slot, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index, placeholders, dpi, { ...extras, titleSource: partTitleSource });
|
|
410
|
+
page.openerBand = layoutSlotToVdt(slot, { x: frames.page.x, y: frames.page.y, width: frames.page.width, height: frames.page.height }, page.index + pageIndexOffset, placeholders, dpi, { ...extras, titleSource: partTitleSource });
|
|
409
411
|
}
|
|
410
412
|
const opener = findOpenerHeading(page, headingLevelByNumber);
|
|
411
413
|
if (opener) {
|
|
@@ -442,7 +444,7 @@ export function buildHeadersAndFooters(doc) {
|
|
|
442
444
|
: opener.block.sourceStart !== undefined && opener.block.sourceEnd !== undefined
|
|
443
445
|
? { start: opener.block.sourceStart, end: opener.block.sourceEnd }
|
|
444
446
|
: undefined;
|
|
445
|
-
page.openerBand = layoutSlotToVdt(slot, openerContainerBbox(opener.block, contentArea), page.index, placeholders, dpi, { ...extras, titleSource: headingTitleSource, attrSources: opener.block.attrSources, attrs: opener.block.attrs });
|
|
447
|
+
page.openerBand = layoutSlotToVdt(slot, openerContainerBbox(opener.block, contentArea), page.index + pageIndexOffset, placeholders, dpi, { ...extras, titleSource: headingTitleSource, attrSources: opener.block.attrSources, attrs: opener.block.attrs });
|
|
446
448
|
if (page.openerBand) {
|
|
447
449
|
opener.block.hidden = true;
|
|
448
450
|
}
|
|
@@ -490,7 +492,7 @@ export function buildHeadersAndFooters(doc) {
|
|
|
490
492
|
attrs: block.attrs,
|
|
491
493
|
},
|
|
492
494
|
};
|
|
493
|
-
const overlay = layoutSlotToVdt(lvl.advancedDesign.slot, { x: block.bbox.x, y: block.bbox.y, width: block.bbox.width, height: block.bbox.height }, page.index, placeholders, dpi, extras);
|
|
495
|
+
const overlay = layoutSlotToVdt(lvl.advancedDesign.slot, { x: block.bbox.x, y: block.bbox.y, width: block.bbox.width, height: block.bbox.height }, page.index + pageIndexOffset, placeholders, dpi, extras);
|
|
494
496
|
if (overlay)
|
|
495
497
|
block.designOverlay = overlay;
|
|
496
498
|
}
|
|
@@ -507,7 +509,7 @@ export function buildHeadersAndFooters(doc) {
|
|
|
507
509
|
partTitleByPageIndex,
|
|
508
510
|
partNumberByPageIndex,
|
|
509
511
|
};
|
|
510
|
-
page.footer = layoutSlotToVdt(resolved.footer, footerContainerBbox(contentArea, page.height), page.index, placeholders, dpi, extras);
|
|
512
|
+
page.footer = layoutSlotToVdt(resolved.footer, footerContainerBbox(contentArea, page.height), page.index + pageIndexOffset, placeholders, dpi, extras);
|
|
511
513
|
}
|
|
512
514
|
}
|
|
513
515
|
}
|