postext 1.47.0 → 1.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/bundle/designOverflowPin.test.js +1 -1
- package/dist/__tests__/bundle/gridBreakRulesPin.test.js +2 -2
- package/dist/__tests__/bundle/shapingLanguagePin.test.js +3 -3
- package/dist/__tests__/bundle/taskBoxPin.test.js +1 -1
- package/dist/__tests__/bundle.test.js +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/composed/cardShapes.test.d.ts +2 -0
- package/dist/__tests__/composed/cardShapes.test.d.ts.map +1 -0
- package/dist/__tests__/composed/cardShapes.test.js +82 -0
- package/dist/__tests__/composed/cardShapes.test.js.map +1 -0
- package/dist/__tests__/composed/connectors.test.d.ts +2 -0
- package/dist/__tests__/composed/connectors.test.d.ts.map +1 -0
- package/dist/__tests__/composed/connectors.test.js +349 -0
- package/dist/__tests__/composed/connectors.test.js.map +1 -0
- package/dist/__tests__/composed/decorationSidePoints.test.d.ts +2 -0
- package/dist/__tests__/composed/decorationSidePoints.test.d.ts.map +1 -0
- package/dist/__tests__/composed/decorationSidePoints.test.js +164 -0
- package/dist/__tests__/composed/decorationSidePoints.test.js.map +1 -0
- package/dist/__tests__/composed/fit.test.js +2 -1
- package/dist/__tests__/composed/fit.test.js.map +1 -1
- package/dist/__tests__/composed/fixtures/connectors.d.ts +33 -0
- package/dist/__tests__/composed/fixtures/connectors.d.ts.map +1 -0
- package/dist/__tests__/composed/fixtures/connectors.js +142 -0
- package/dist/__tests__/composed/fixtures/connectors.js.map +1 -0
- package/dist/__tests__/composed/fixtures/grid.d.ts +32 -0
- package/dist/__tests__/composed/fixtures/grid.d.ts.map +1 -0
- package/dist/__tests__/composed/fixtures/grid.js +53 -0
- package/dist/__tests__/composed/fixtures/grid.js.map +1 -0
- package/dist/__tests__/composed/fixtures/legendMap.d.ts +24 -0
- package/dist/__tests__/composed/fixtures/legendMap.d.ts.map +1 -0
- package/dist/__tests__/composed/fixtures/legendMap.js +117 -0
- package/dist/__tests__/composed/fixtures/legendMap.js.map +1 -0
- package/dist/__tests__/composed/fixtures/mapParts.d.ts +58 -0
- package/dist/__tests__/composed/fixtures/mapParts.d.ts.map +1 -0
- package/dist/__tests__/composed/fixtures/mapParts.js +192 -0
- package/dist/__tests__/composed/fixtures/mapParts.js.map +1 -0
- package/dist/__tests__/composed/fixtures/modules.d.ts +55 -0
- package/dist/__tests__/composed/fixtures/modules.d.ts.map +1 -0
- package/dist/__tests__/composed/fixtures/modules.js +123 -0
- package/dist/__tests__/composed/fixtures/modules.js.map +1 -0
- package/dist/__tests__/composed/grid.test.d.ts +2 -0
- package/dist/__tests__/composed/grid.test.d.ts.map +1 -0
- package/dist/__tests__/composed/grid.test.js +357 -0
- package/dist/__tests__/composed/grid.test.js.map +1 -0
- package/dist/__tests__/composed/groups.test.js +6 -3
- package/dist/__tests__/composed/groups.test.js.map +1 -1
- package/dist/__tests__/composed/labelLegend.test.d.ts +2 -0
- package/dist/__tests__/composed/labelLegend.test.d.ts.map +1 -0
- package/dist/__tests__/composed/labelLegend.test.js +268 -0
- package/dist/__tests__/composed/labelLegend.test.js.map +1 -0
- package/dist/__tests__/composed/labelsChecks.test.js.map +1 -1
- package/dist/__tests__/composed/leaders.test.d.ts +2 -0
- package/dist/__tests__/composed/leaders.test.d.ts.map +1 -0
- package/dist/__tests__/composed/leaders.test.js +372 -0
- package/dist/__tests__/composed/leaders.test.js.map +1 -0
- package/dist/__tests__/composed/modules.test.d.ts +2 -0
- package/dist/__tests__/composed/modules.test.d.ts.map +1 -0
- package/dist/__tests__/composed/modules.test.js +352 -0
- package/dist/__tests__/composed/modules.test.js.map +1 -0
- package/dist/__tests__/composed/overConnectors.test.d.ts +2 -0
- package/dist/__tests__/composed/overConnectors.test.d.ts.map +1 -0
- package/dist/__tests__/composed/overConnectors.test.js +232 -0
- package/dist/__tests__/composed/overConnectors.test.js.map +1 -0
- package/dist/__tests__/composed/overlap.test.d.ts +2 -0
- package/dist/__tests__/composed/overlap.test.d.ts.map +1 -0
- package/dist/__tests__/composed/overlap.test.js +339 -0
- package/dist/__tests__/composed/overlap.test.js.map +1 -0
- package/dist/__tests__/composedTemplates.test.js +1 -1
- package/dist/__tests__/design/boxShape.test.d.ts +2 -0
- package/dist/__tests__/design/boxShape.test.d.ts.map +1 -0
- package/dist/__tests__/design/boxShape.test.js +126 -0
- package/dist/__tests__/design/boxShape.test.js.map +1 -0
- package/dist/__tests__/design/boxShapePaint.test.d.ts +2 -0
- package/dist/__tests__/design/boxShapePaint.test.d.ts.map +1 -0
- package/dist/__tests__/design/boxShapePaint.test.js +130 -0
- package/dist/__tests__/design/boxShapePaint.test.js.map +1 -0
- package/dist/__tests__/design/openerBottomAnchor.test.js.map +1 -1
- package/dist/__tests__/design/pathBlock.test.d.ts +2 -0
- package/dist/__tests__/design/pathBlock.test.d.ts.map +1 -0
- package/dist/__tests__/design/pathBlock.test.js +194 -0
- package/dist/__tests__/design/pathBlock.test.js.map +1 -0
- package/dist/__tests__/design/pathElement.test.d.ts +2 -0
- package/dist/__tests__/design/pathElement.test.d.ts.map +1 -0
- package/dist/__tests__/design/pathElement.test.js +257 -0
- package/dist/__tests__/design/pathElement.test.js.map +1 -0
- package/dist/__tests__/design/svgPath.test.d.ts +2 -0
- package/dist/__tests__/design/svgPath.test.d.ts.map +1 -0
- package/dist/__tests__/design/svgPath.test.js +144 -0
- package/dist/__tests__/design/svgPath.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +52 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/hardBreaks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/labelGlyphPaint.test.d.ts +2 -0
- package/dist/__tests__/labelGlyphPaint.test.d.ts.map +1 -0
- package/dist/__tests__/labelGlyphPaint.test.js +86 -0
- package/dist/__tests__/labelGlyphPaint.test.js.map +1 -0
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/migrate/labelsOnPictures.test.js +1 -1
- package/dist/__tests__/migrate/labelsOnPictures.test.js.map +1 -1
- package/dist/__tests__/parse/containers.test.js +1 -1
- package/dist/__tests__/parse/containers.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutLabelGlyph.test.d.ts +2 -0
- package/dist/__tests__/pipeline/calloutLabelGlyph.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/calloutLabelGlyph.test.js +198 -0
- package/dist/__tests__/pipeline/calloutLabelGlyph.test.js.map +1 -0
- package/dist/__tests__/pipeline/calloutShapes.test.d.ts +2 -0
- package/dist/__tests__/pipeline/calloutShapes.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/calloutShapes.test.js +159 -0
- package/dist/__tests__/pipeline/calloutShapes.test.js.map +1 -0
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/verseLines.test.js +1 -1
- package/dist/bundle/configVersion.d.ts +12 -3
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +16 -5
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/canvas-backend/blockRender.js +3 -3
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/composed.d.ts +4 -2
- package/dist/canvas-backend/composed.d.ts.map +1 -1
- package/dist/canvas-backend/composed.js +12 -7
- package/dist/canvas-backend/composed.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts +17 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +64 -1
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +7 -1
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +17 -6
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/canvas-backend/swatch.d.ts +20 -1
- package/dist/canvas-backend/swatch.d.ts.map +1 -1
- package/dist/canvas-backend/swatch.js +51 -1
- package/dist/canvas-backend/swatch.js.map +1 -1
- package/dist/comics/layoutPage.d.ts.map +1 -1
- package/dist/comics/layoutPage.js +6 -1
- package/dist/comics/layoutPage.js.map +1 -1
- package/dist/composed/continuation.d.ts +10 -2
- package/dist/composed/continuation.d.ts.map +1 -1
- package/dist/composed/continuation.js +10 -2
- package/dist/composed/continuation.js.map +1 -1
- package/dist/composed/document.d.ts +45 -1
- package/dist/composed/document.d.ts.map +1 -1
- package/dist/composed/document.js +76 -17
- package/dist/composed/document.js.map +1 -1
- package/dist/composed/labelText.d.ts +6 -2
- package/dist/composed/labelText.d.ts.map +1 -1
- package/dist/composed/labelText.js +19 -3
- package/dist/composed/labelText.js.map +1 -1
- package/dist/composed/labels.d.ts +57 -3
- package/dist/composed/labels.d.ts.map +1 -1
- package/dist/composed/labels.js +261 -12
- package/dist/composed/labels.js.map +1 -1
- package/dist/composed/modules.d.ts +30 -0
- package/dist/composed/modules.d.ts.map +1 -0
- package/dist/composed/modules.js +194 -0
- package/dist/composed/modules.js.map +1 -0
- package/dist/composed/overlap.d.ts +52 -0
- package/dist/composed/overlap.d.ts.map +1 -0
- package/dist/composed/overlap.js +611 -0
- package/dist/composed/overlap.js.map +1 -0
- package/dist/composed/paint.d.ts +28 -5
- package/dist/composed/paint.d.ts.map +1 -1
- package/dist/composed/paint.js +26 -5
- package/dist/composed/paint.js.map +1 -1
- package/dist/composed/reflowLog.d.ts +6 -1
- package/dist/composed/reflowLog.d.ts.map +1 -1
- package/dist/composed/reflowLog.js +43 -0
- package/dist/composed/reflowLog.js.map +1 -1
- package/dist/composed/repeat.d.ts +66 -0
- package/dist/composed/repeat.d.ts.map +1 -0
- package/dist/composed/repeat.js +217 -0
- package/dist/composed/repeat.js.map +1 -0
- package/dist/composed/slotChecks.d.ts +1 -1
- package/dist/composed/slotChecks.d.ts.map +1 -1
- package/dist/composed/slotChecks.js +114 -8
- package/dist/composed/slotChecks.js.map +1 -1
- package/dist/composed/sourceMap.d.ts.map +1 -1
- package/dist/composed/sourceMap.js +16 -4
- package/dist/composed/sourceMap.js.map +1 -1
- package/dist/composed/spread.d.ts.map +1 -1
- package/dist/composed/spread.js +6 -2
- package/dist/composed/spread.js.map +1 -1
- package/dist/composed/templates.d.ts +22 -2
- package/dist/composed/templates.d.ts.map +1 -1
- package/dist/composed/templates.js +159 -9
- package/dist/composed/templates.js.map +1 -1
- package/dist/composed/types.d.ts +140 -7
- package/dist/composed/types.d.ts.map +1 -1
- package/dist/composed/validate.d.ts +1 -1
- package/dist/composed/validate.d.ts.map +1 -1
- package/dist/composed/validate.js +101 -4
- package/dist/composed/validate.js.map +1 -1
- package/dist/composed/wrap.d.ts.map +1 -1
- package/dist/composed/wrap.js +95 -17
- package/dist/composed/wrap.js.map +1 -1
- package/dist/configWarnings.d.ts +7 -1
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +275 -4
- package/dist/configWarnings.js.map +1 -1
- package/dist/contrast.d.ts.map +1 -1
- package/dist/contrast.js +8 -0
- package/dist/contrast.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts +10 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +46 -7
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +38 -0
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/design/boxShape.d.ts +101 -0
- package/dist/design/boxShape.d.ts.map +1 -0
- package/dist/design/boxShape.js +398 -0
- package/dist/design/boxShape.js.map +1 -0
- package/dist/design/connector.d.ts +75 -0
- package/dist/design/connector.d.ts.map +1 -0
- package/dist/design/connector.js +325 -0
- package/dist/design/connector.js.map +1 -0
- package/dist/design/layout.d.ts +56 -3
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +214 -12
- package/dist/design/layout.js.map +1 -1
- package/dist/design/logicalEdges.d.ts +7 -0
- package/dist/design/logicalEdges.d.ts.map +1 -1
- package/dist/design/logicalEdges.js +28 -0
- package/dist/design/logicalEdges.js.map +1 -1
- package/dist/design/pathBlock.d.ts +69 -0
- package/dist/design/pathBlock.d.ts.map +1 -0
- package/dist/design/pathBlock.js +286 -0
- package/dist/design/pathBlock.js.map +1 -0
- package/dist/design/svgPath.d.ts +48 -0
- package/dist/design/svgPath.d.ts.map +1 -0
- package/dist/design/svgPath.js +402 -0
- package/dist/design/svgPath.js.map +1 -0
- package/dist/fonts/usage.d.ts +5 -0
- package/dist/fonts/usage.d.ts.map +1 -1
- package/dist/fonts/usage.js +36 -3
- package/dist/fonts/usage.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +127 -22
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +19 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/measure/cache.js +1 -1
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/inlineIcon.d.ts +34 -0
- package/dist/measure/inlineIcon.d.ts.map +1 -0
- package/dist/measure/inlineIcon.js +89 -0
- package/dist/measure/inlineIcon.js.map +1 -0
- package/dist/measure/rich.d.ts +2 -1
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +6 -0
- package/dist/measure/rich.js.map +1 -1
- package/dist/migrate/pageDesign.d.ts.map +1 -1
- package/dist/migrate/pageDesign.js +4 -2
- package/dist/migrate/pageDesign.js.map +1 -1
- package/dist/migrate/textToMarkdown.js +2 -0
- package/dist/migrate/textToMarkdown.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +171 -20
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/index.d.ts +1 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +11 -3
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +63 -5
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/inlineSnippet.d.ts +2 -1
- package/dist/parse/inlineSnippet.d.ts.map +1 -1
- package/dist/parse/inlineSnippet.js +3 -2
- package/dist/parse/inlineSnippet.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +8 -1
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +71 -1
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +23 -11
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +23 -11
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +142 -32
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/composedLayout.d.ts +1 -33
- package/dist/pipeline/composedLayout.d.ts.map +1 -1
- package/dist/pipeline/composedLayout.js +526 -36
- package/dist/pipeline/composedLayout.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +46 -1
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +3 -2
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +19 -1
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +145 -5
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +40 -1
- package/dist/pipeline/partPalette.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +1 -1
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +44 -15
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +36 -1
- package/dist/preflight.js.map +1 -1
- package/dist/types.d.ts +305 -22
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +384 -11
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/package.json +1 -1
- package/dist/composed/round2Types.d.ts +0 -185
- package/dist/composed/round2Types.d.ts.map +0 -1
- package/dist/composed/round2Types.js +0 -2
- package/dist/composed/round2Types.js.map +0 -1
package/dist/composed/wrap.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { composedPages, takenBlocks } from './document';
|
|
2
|
-
import { resolvePageTemplate } from './templates';
|
|
1
|
+
import { composedPages, pageModuleUses, takenBlocks } from './document';
|
|
2
|
+
import { isModuleTemplate, repeatInstance, repeatInstanceName, resolvePageTemplate } from './templates';
|
|
3
|
+
import { pageRepeats } from './repeat';
|
|
3
4
|
import { nextFrameOf } from './geometry';
|
|
4
5
|
/** Style id of a story's box. Not a user style: no configuration can name
|
|
5
6
|
* it. A story whose frame is missing on its page (a variant dropped it)
|
|
@@ -44,11 +45,16 @@ export function chainHead(template, name) {
|
|
|
44
45
|
}
|
|
45
46
|
return at;
|
|
46
47
|
}
|
|
48
|
+
/** The flow frame of a template: the frame with `flow` that no grid
|
|
49
|
+
* repeats (an instance takes its own item's content only, #1061). */
|
|
50
|
+
function flowFrameOf(template, repeated) {
|
|
51
|
+
return template.frames.find((f) => f.flow && !repeated.has(f.name));
|
|
52
|
+
}
|
|
47
53
|
/** Which story each slot of `page` goes to: the head of its frame's chain,
|
|
48
54
|
* or undefined for content left outside every story. */
|
|
49
|
-
function storyOf(template, variantNames) {
|
|
55
|
+
function storyOf(template, variantNames, repeated) {
|
|
50
56
|
const names = new Set(template.frames.map((f) => f.name));
|
|
51
|
-
const flow = template
|
|
57
|
+
const flow = flowFrameOf(template, repeated);
|
|
52
58
|
return (slot) => {
|
|
53
59
|
if (slot !== undefined && names.has(slot))
|
|
54
60
|
return chainHead(template, slot);
|
|
@@ -85,8 +91,9 @@ export function wrapComposedPages(blocks, config) {
|
|
|
85
91
|
let at = 0;
|
|
86
92
|
let wrapped = 0;
|
|
87
93
|
for (const page of pages) {
|
|
88
|
-
|
|
89
|
-
|
|
94
|
+
// With the page's modules (#1062) laid in it; a module is never a page.
|
|
95
|
+
const template = resolvePageTemplate(config, page.template, { modules: pageModuleUses(page) });
|
|
96
|
+
if (!template || isModuleTemplate(template))
|
|
90
97
|
continue;
|
|
91
98
|
const start = blocks.findIndex((b, i) => i >= at && b.type === 'containerStart' && b.containerName === 'composedPage' && b.composedPage?.fenceIndex === page.fenceIndex);
|
|
92
99
|
if (start < 0)
|
|
@@ -118,7 +125,8 @@ function endOf(blocks, start) {
|
|
|
118
125
|
/** The blocks between a page's fences, regrouped: its stories (each a box
|
|
119
126
|
* of the frame style), then what no story takes. */
|
|
120
127
|
function regroupPage(blocks, page, template, variantNames, nextId) {
|
|
121
|
-
const
|
|
128
|
+
const repeats = pageRepeats(page, template);
|
|
129
|
+
const story = storyOf(template, variantNames, repeats.repeated);
|
|
122
130
|
/** Pieces per frame name (a frame's own content), in Markdown order. */
|
|
123
131
|
const pieces = new Map();
|
|
124
132
|
const loose = [];
|
|
@@ -132,22 +140,59 @@ function regroupPage(blocks, page, template, variantNames, nextId) {
|
|
|
132
140
|
pieces.set(frame, list);
|
|
133
141
|
};
|
|
134
142
|
const names = new Set(template.frames.map((f) => f.name));
|
|
135
|
-
const flow = template
|
|
143
|
+
const flow = flowFrameOf(template, repeats.repeated)?.name;
|
|
136
144
|
const taken = new Map();
|
|
137
145
|
for (const f of template.frames) {
|
|
146
|
+
if (repeats.repeated.has(f.name))
|
|
147
|
+
continue;
|
|
138
148
|
for (const idx of takenBlocks(page, f.takes))
|
|
139
149
|
if (!taken.has(idx))
|
|
140
150
|
taken.set(idx, f.name);
|
|
141
151
|
}
|
|
142
152
|
for (const [slot, indices] of Object.entries(page.slots)) {
|
|
153
|
+
// A grid's frames take their content item by item (#1061).
|
|
154
|
+
if (repeats.repeated.has(slot))
|
|
155
|
+
continue;
|
|
143
156
|
put(names.has(slot) || variantNames.has(slot) ? slot : flow, indices);
|
|
144
157
|
}
|
|
158
|
+
/** The `:::frame` fence each instance's content came in (#1061). */
|
|
159
|
+
const instanceFences = new Map();
|
|
160
|
+
for (const item of repeats.items) {
|
|
161
|
+
for (const [f, indices] of item.frames) {
|
|
162
|
+
const name = repeatInstanceName(f, item.item);
|
|
163
|
+
put(name, indices);
|
|
164
|
+
const fence = item.fences.get(f);
|
|
165
|
+
if (fence !== undefined)
|
|
166
|
+
instanceFences.set(name, fence);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Items past a grid's `max` go where content naming no frame goes.
|
|
170
|
+
for (const o of repeats.overflow)
|
|
171
|
+
put(flow, o.indices);
|
|
145
172
|
for (const i of page.unassigned)
|
|
146
173
|
put(taken.get(i) ?? flow, [i]);
|
|
174
|
+
// A module's content that names no slot (#1062): the module's `takes`
|
|
175
|
+
// frame, else its flow frame, else the page's (a module not laid).
|
|
176
|
+
for (const m of page.modules) {
|
|
177
|
+
const laid = template.modules?.find((x) => x.name === m.fence.name);
|
|
178
|
+
const own = new Map();
|
|
179
|
+
for (const [take, frame] of Object.entries(laid?.takes ?? {})) {
|
|
180
|
+
for (const idx of takenBlocks({ firstHeadings: m.firstHeadings, tocRows: [] }, take))
|
|
181
|
+
if (!own.has(idx))
|
|
182
|
+
own.set(idx, frame);
|
|
183
|
+
}
|
|
184
|
+
for (const i of m.unassigned)
|
|
185
|
+
put(own.get(i) ?? laid?.flow ?? flow, [i]);
|
|
186
|
+
}
|
|
147
187
|
// The attributes of a slot's first `:::frame` fence (its `label`,
|
|
148
188
|
// `title`): the frame's tab and title.
|
|
149
189
|
const fenceAttrs = new Map();
|
|
150
190
|
const fenceAttrSources = new Map();
|
|
191
|
+
const readFence = (key, b) => {
|
|
192
|
+
fenceAttrs.set(key, Object.fromEntries(Object.entries(b.containerAttrs ?? {}).filter(([k]) => k !== 'slot')));
|
|
193
|
+
if (b.containerAttrSources)
|
|
194
|
+
fenceAttrSources.set(key, Object.fromEntries(Object.entries(b.containerAttrSources).filter(([k]) => k !== 'slot')));
|
|
195
|
+
};
|
|
151
196
|
for (let i = 0; i < blocks.length; i++) {
|
|
152
197
|
const b = blocks[i];
|
|
153
198
|
if (b.type !== 'containerStart' || b.containerName !== 'frame' || i < 0)
|
|
@@ -155,21 +200,39 @@ function regroupPage(blocks, page, template, variantNames, nextId) {
|
|
|
155
200
|
if (b.sourceStart < page.sourceStart || b.sourceStart > page.sourceEnd)
|
|
156
201
|
continue;
|
|
157
202
|
const slot = b.slot?.name;
|
|
158
|
-
if (slot === undefined || fenceAttrs.has(slot))
|
|
203
|
+
if (slot === undefined || fenceAttrs.has(slot) || repeats.repeated.has(slot))
|
|
159
204
|
continue;
|
|
160
|
-
|
|
161
|
-
if (b.containerAttrSources)
|
|
162
|
-
fenceAttrSources.set(slot, Object.fromEntries(Object.entries(b.containerAttrSources).filter(([k]) => k !== 'slot')));
|
|
205
|
+
readFence(slot, b);
|
|
163
206
|
}
|
|
207
|
+
// Each instance is dressed by its own item's fence (#1061).
|
|
208
|
+
for (const [name, at] of instanceFences)
|
|
209
|
+
readFence(name, blocks[at]);
|
|
164
210
|
// Stories: each chain's frames' pieces, head first.
|
|
165
211
|
const stories = [];
|
|
166
212
|
const done = new Set();
|
|
213
|
+
/** An instance's story (#1061): the instance of its chain's head, the
|
|
214
|
+
* chain's frames of the set as the same item's instances. */
|
|
215
|
+
const instanceStory = (name) => {
|
|
216
|
+
const at = repeatInstance(name);
|
|
217
|
+
if (!at || !repeats.repeated.has(at.frame) || !names.has(at.frame))
|
|
218
|
+
return undefined;
|
|
219
|
+
const inSet = (f) => repeats.repeated.has(f);
|
|
220
|
+
const baseHead = chainHead(template, at.frame);
|
|
221
|
+
const head = inSet(baseHead) ? baseHead : at.frame;
|
|
222
|
+
const chain = frameChain(template, head).map((f) => f.name);
|
|
223
|
+
// (A link out of the set is not followed: an instance's content is its
|
|
224
|
+
// item's.)
|
|
225
|
+
const stop = chain.findIndex((f) => !inSet(f));
|
|
226
|
+
const kept = stop < 0 ? chain : chain.slice(0, Math.max(1, stop));
|
|
227
|
+
return { head: repeatInstanceName(head, at.item), chain: kept.map((f) => repeatInstanceName(f, at.item)) };
|
|
228
|
+
};
|
|
167
229
|
for (const name of pieces.keys()) {
|
|
168
|
-
const
|
|
230
|
+
const inst = names.has(name) ? undefined : instanceStory(name);
|
|
231
|
+
const head = names.has(name) ? story(name) : inst?.head ?? name;
|
|
169
232
|
if (done.has(head))
|
|
170
233
|
continue;
|
|
171
234
|
done.add(head);
|
|
172
|
-
const chain = names.has(head) ? frameChain(template, head).map((f) => f.name) : [head];
|
|
235
|
+
const chain = names.has(head) ? frameChain(template, head).map((f) => f.name) : inst?.chain ?? [head];
|
|
173
236
|
const indices = [];
|
|
174
237
|
for (const f of chain)
|
|
175
238
|
indices.push(...(pieces.get(f) ?? []).slice().sort((a, b) => a - b));
|
|
@@ -204,7 +267,10 @@ function regroupPage(blocks, page, template, variantNames, nextId) {
|
|
|
204
267
|
// A frame's own `direction` (#944): its story is set in it, as a box
|
|
205
268
|
// fenced `{dir=…}` is; a block or a box inside that writes its own
|
|
206
269
|
// `dir` keeps it.
|
|
207
|
-
|
|
270
|
+
// An instance of a repeated frame (#1061) is set as its frame.
|
|
271
|
+
const base = names.has(s.head) ? s.head : repeatInstance(s.head)?.frame;
|
|
272
|
+
const baseFrame = base !== undefined && names.has(base) ? base : undefined;
|
|
273
|
+
const frameDir = baseFrame !== undefined ? frameChain(template, baseFrame)[0]?.direction : undefined;
|
|
208
274
|
// Boxes inside the story that write their own `dir` are open while
|
|
209
275
|
// their blocks pass: those keep the direction they were given.
|
|
210
276
|
const owning = [];
|
|
@@ -235,14 +301,15 @@ function regroupPage(blocks, page, template, variantNames, nextId) {
|
|
|
235
301
|
// A frame set in columns (`columns`), alone in its story: its content
|
|
236
302
|
// is a `:::columns` group of the box (a chain's frames may differ in
|
|
237
303
|
// columns; they are set in one).
|
|
238
|
-
const chain = names.has(s.head) ? frameChain(template, s.head) : [];
|
|
304
|
+
const chain = names.has(s.head) ? frameChain(template, s.head) : baseFrame !== undefined ? [template.frames.find((f) => f.name === baseFrame)] : [];
|
|
239
305
|
const cols = chain.length === 1 && chain[0].columns > 1 ? chain[0] : undefined;
|
|
240
306
|
if (cols) {
|
|
241
307
|
const gap = cols.columnGap ? { gap: `${cols.columnGap.value}${cols.columnGap.unit}` } : {};
|
|
242
308
|
out.push({ type: 'containerStart', text: '', spans: [], containerName: 'columns', containerAttrs: { count: String(cols.columns), ...gap }, containerId: id + COLUMNS_ID_OFFSET, sourceStart: first.sourceStart, sourceEnd: first.sourceStart, sourceMap: [] });
|
|
243
309
|
}
|
|
310
|
+
const instance = baseFrame !== undefined && baseFrame !== s.head ? s.head : undefined;
|
|
244
311
|
for (const i of s.indices)
|
|
245
|
-
out.push(directed(blocks[i]));
|
|
312
|
+
out.push(directed(instance !== undefined ? withInstanceLabels(blocks[i], page.fenceIndex, baseFrame, instance) : blocks[i]));
|
|
246
313
|
if (cols)
|
|
247
314
|
out.push({ type: 'containerEnd', text: '', spans: [], containerName: 'columns', containerId: id + COLUMNS_ID_OFFSET, sourceStart: last.sourceEnd, sourceEnd: last.sourceEnd, sourceMap: [] });
|
|
248
315
|
out.push({ type: 'containerEnd', text: '', spans: [], containerName: 'callout', containerId: id, sourceStart: last.sourceEnd, sourceEnd: last.sourceEnd, sourceMap: [] });
|
|
@@ -251,6 +318,17 @@ function regroupPage(blocks, page, template, variantNames, nextId) {
|
|
|
251
318
|
out.push(blocks[i]);
|
|
252
319
|
return out;
|
|
253
320
|
}
|
|
321
|
+
/** A figure of an instance's content with its labels' ids named by the
|
|
322
|
+
* instance (#1061): `cp<n>:card[2]:label:<anchor>`, one per item, not the
|
|
323
|
+
* frame's id the parser gave every item alike. */
|
|
324
|
+
function withInstanceLabels(b, fenceIndex, frame, instance) {
|
|
325
|
+
const labels = b.figure?.labels;
|
|
326
|
+
const from = `cp${fenceIndex}:${frame}:label:`;
|
|
327
|
+
if (!labels || !labels.some((l) => l.id?.startsWith(from)))
|
|
328
|
+
return b;
|
|
329
|
+
const to = `cp${fenceIndex}:${instance}:label:`;
|
|
330
|
+
return { ...b, figure: { ...b.figure, labels: labels.map((l) => (l.id?.startsWith(from) ? { ...l, id: to + l.id.slice(from.length) } : l)) } };
|
|
331
|
+
}
|
|
254
332
|
/** Whether a block sets its own direction in the Markdown (a heading's or
|
|
255
333
|
* a box's `{dir=…}`), which a frame's `direction` leaves as written. */
|
|
256
334
|
function ownsDirection(b) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/composed/wrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/composed/wrap.ts"],"names":[],"mappings":"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"}
|
package/dist/configWarnings.d.ts
CHANGED
|
@@ -38,7 +38,13 @@ import type { ConfigWarning } from './vdt';
|
|
|
38
38
|
* - page templates and label styles (see `validatePageTemplates`), and a
|
|
39
39
|
* box style whose `extends` names no style or comes back to itself;
|
|
40
40
|
* - the design texts that hold the book's content instead of placeholders
|
|
41
|
-
* (`contentInConfig`, #849, tuned by `checks.contentInConfig`)
|
|
41
|
+
* (`contentInConfig`, #849, tuned by `checks.contentInConfig`);
|
|
42
|
+
* - a design element's point along a side (`anchor.at`) or size edge
|
|
43
|
+
* (`size.width.edge`…) outside its choices (`unknownConfigValue`, #1055);
|
|
44
|
+
* - a path element's keys, path data, `viewBox` and
|
|
45
|
+
* `preserveAspectRatio` (#1060);
|
|
46
|
+
* - box shapes (#1059): corner and side keys a box does not have, a label
|
|
47
|
+
* tab's `position` outside its choices, a joined tab with an `offset`.
|
|
42
48
|
* Pure.
|
|
43
49
|
*/
|
|
44
50
|
export declare function collectConfigWarnings(config: PostextConfig | undefined, options?: ConfigWarningOptions): ConfigWarning[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configWarnings.d.ts","sourceRoot":"","sources":["../src/configWarnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"configWarnings.d.ts","sourceRoot":"","sources":["../src/configWarnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EASV,aAAa,EAgBb,QAAQ,EAGR,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AAkD3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,EAAE,OAAO,GAAE,oBAAyB,GAAG,aAAa,EAAE,CAW5H;AAkRD,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;+CAC2C;IAC3C,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChC;;;gBAGY;IACZ,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AA6qBD;kEACkE;AAClE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAkBD;;;8CAG8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;iEAGiE;AACjE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,EAAE,OAAO,GAAE,oBAAyB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,CAiBjJ"}
|
package/dist/configWarnings.js
CHANGED
|
@@ -26,13 +26,15 @@ import { isTabStopAlign, parseTabStopPosition } from './defaults/tabStops';
|
|
|
26
26
|
import { resolveContentInConfigCheck } from './defaults/checks';
|
|
27
27
|
import { stripPlaceholders } from './pipeline/placeholders';
|
|
28
28
|
import { configDesignSlots } from './design/slots';
|
|
29
|
+
import { parseSvgPath, pathViewBox } from './design/svgPath';
|
|
30
|
+
import { CONNECTOR_CAPS, CONNECTOR_ROUTINGS, CONNECTOR_SIDES, connectorPaintsOver } from './design/connector';
|
|
29
31
|
import { metadataText } from './frontmatter';
|
|
30
32
|
import { DROP_CAP_PUNCTUATION, DROP_CAP_SHORT_PARAGRAPH, isDropCap, readDropCap } from './defaults/dropCap';
|
|
31
33
|
import { outputProfileInfo } from './color/catalogue';
|
|
32
34
|
import { CODE_OVERFLOWS, CODE_TOKEN_KINDS } from './defaults/codeStyle';
|
|
33
35
|
import { closestKey } from './util/closestKey';
|
|
34
36
|
import { isResourceCounterReset } from './defaults/resourceTypes';
|
|
35
|
-
import { calloutStyleChain } from './defaults/calloutStyles';
|
|
37
|
+
import { calloutStyleChain, labelIconKind, labelIconScale } from './defaults/calloutStyles';
|
|
36
38
|
import { validatePageTemplates } from './composed/validate';
|
|
37
39
|
import { LINE_NUMBERS_ALIGNS, LINE_NUMBERS_COUNTS, LINE_NUMBERS_MULTI_COLUMN, LINE_NUMBERS_POSITIONS, LINE_NUMBERS_RESTARTS } from './defaults/lineNumbers';
|
|
38
40
|
/** The format fields and the decimal spelling each falls back to. A
|
|
@@ -82,7 +84,13 @@ function percentText(n) {
|
|
|
82
84
|
* - page templates and label styles (see `validatePageTemplates`), and a
|
|
83
85
|
* box style whose `extends` names no style or comes back to itself;
|
|
84
86
|
* - the design texts that hold the book's content instead of placeholders
|
|
85
|
-
* (`contentInConfig`, #849, tuned by `checks.contentInConfig`)
|
|
87
|
+
* (`contentInConfig`, #849, tuned by `checks.contentInConfig`);
|
|
88
|
+
* - a design element's point along a side (`anchor.at`) or size edge
|
|
89
|
+
* (`size.width.edge`…) outside its choices (`unknownConfigValue`, #1055);
|
|
90
|
+
* - a path element's keys, path data, `viewBox` and
|
|
91
|
+
* `preserveAspectRatio` (#1060);
|
|
92
|
+
* - box shapes (#1059): corner and side keys a box does not have, a label
|
|
93
|
+
* tab's `position` outside its choices, a joined tab with an `offset`.
|
|
86
94
|
* Pure.
|
|
87
95
|
*/
|
|
88
96
|
export function collectConfigWarnings(config, options = {}) {
|
|
@@ -91,10 +99,234 @@ export function collectConfigWarnings(config, options = {}) {
|
|
|
91
99
|
return [
|
|
92
100
|
...collectValueWarnings(config), ...collectSideColumnWarnings(config), ...collectColumnCountWarnings(config), ...collectUnknownKeyWarnings(config),
|
|
93
101
|
...collectCjkGridWarnings(config), ...collectChoiceWarnings(config), ...collectNumeralsWarnings(config),
|
|
94
|
-
...collectPageTemplateWarnings(config, options), ...collectCalloutStyleWarnings(config),
|
|
102
|
+
...collectPageTemplateWarnings(config, options), ...collectCalloutStyleWarnings(config), ...collectLabelIconWarnings(config),
|
|
95
103
|
...collectContentInConfigWarnings(config, options),
|
|
104
|
+
...collectDesignAnchorWarnings(config),
|
|
105
|
+
...collectDesignPathWarnings(config), ...collectBoxShapeWarnings(config),
|
|
106
|
+
...collectConnectorWarnings(config),
|
|
96
107
|
];
|
|
97
108
|
}
|
|
109
|
+
/** Connectors (#1056): one outside a page template's decoration (a
|
|
110
|
+
* running head, a heading design, a part page, a box design has no frames
|
|
111
|
+
* to join: not drawn), and a `routing`, `startCap` / `endCap`, an `over`
|
|
112
|
+
* that is not a boolean (#1076) or an end's `side` / `at` outside its
|
|
113
|
+
* choices (`unknownConfigValue`). */
|
|
114
|
+
function collectConnectorWarnings(config) {
|
|
115
|
+
const out = [];
|
|
116
|
+
const word = (path, value, choices, used) => {
|
|
117
|
+
if (value === undefined || (typeof value === 'string' && choices.includes(value)))
|
|
118
|
+
return;
|
|
119
|
+
const suggestion = typeof value === 'string' ? closestKey(value, choices) : undefined;
|
|
120
|
+
out.push({ kind: 'unknownConfigValue', path, value: String(value), used, ...(suggestion ? { suggestion } : {}) });
|
|
121
|
+
};
|
|
122
|
+
for (const slot of configDesignSlots(config)) {
|
|
123
|
+
slot.slot.elements.forEach((el, i) => {
|
|
124
|
+
const e = el;
|
|
125
|
+
if (!e || typeof e !== 'object' || e.kind !== 'connector')
|
|
126
|
+
return;
|
|
127
|
+
const path = `${slot.path}.elements[${i}]`;
|
|
128
|
+
if (slot.kind !== 'decoration') {
|
|
129
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.kind`, value: 'connector', used: '' });
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
word(`${path}.routing`, e.routing, CONNECTOR_ROUTINGS, 'elbow');
|
|
133
|
+
word(`${path}.startCap`, e.startCap, CONNECTOR_CAPS, 'none');
|
|
134
|
+
word(`${path}.endCap`, e.endCap, CONNECTOR_CAPS, 'none');
|
|
135
|
+
// Over the frames or under them (#1076): a boolean; anything else is
|
|
136
|
+
// read as unset (over when an end names a picture's anchor).
|
|
137
|
+
if (e.over !== undefined && typeof e.over !== 'boolean') {
|
|
138
|
+
const used = connectorPaintsOver({ from: e.from, to: e.to });
|
|
139
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.over`, value: String(e.over), used: String(used) });
|
|
140
|
+
}
|
|
141
|
+
const end = (raw, at) => {
|
|
142
|
+
if (!raw || typeof raw !== 'object')
|
|
143
|
+
return;
|
|
144
|
+
const r = raw;
|
|
145
|
+
word(`${at}.side`, r.side, CONNECTOR_SIDES, '');
|
|
146
|
+
// An anchor of the frame's picture (#1057): a name; which names the
|
|
147
|
+
// picture has is known only once the page is laid out.
|
|
148
|
+
if (r.anchor !== undefined && (typeof r.anchor !== 'string' || r.anchor.trim() === '')) {
|
|
149
|
+
out.push({ kind: 'unknownConfigValue', path: `${at}.anchor`, value: String(r.anchor), used: '' });
|
|
150
|
+
}
|
|
151
|
+
const pos = r.at;
|
|
152
|
+
if (pos === undefined)
|
|
153
|
+
return;
|
|
154
|
+
if (typeof pos === 'number' && Number.isFinite(pos)) {
|
|
155
|
+
if (pos < 0 || pos > 1)
|
|
156
|
+
out.push({ kind: 'unknownConfigValue', path: `${at}.at`, value: String(pos), used: String(Math.max(0, Math.min(1, pos))) });
|
|
157
|
+
}
|
|
158
|
+
else
|
|
159
|
+
word(`${at}.at`, pos, SIDE_POSITIONS, 'center');
|
|
160
|
+
};
|
|
161
|
+
end(e.from, `${path}.from`);
|
|
162
|
+
if (Array.isArray(e.to))
|
|
163
|
+
e.to.forEach((t, k) => end(t, `${path}.to[${k}]`));
|
|
164
|
+
else
|
|
165
|
+
end(e.to, `${path}.to`);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
return out;
|
|
169
|
+
}
|
|
170
|
+
const DESIGN_PATH_KEYS = {
|
|
171
|
+
kind: true, id: true, parity: true, pages: true, pin: true, reserve: true, placement: true,
|
|
172
|
+
d: true, viewBox: true, fill: true, stroke: true, width: true, dash: true, preserveAspectRatio: true,
|
|
173
|
+
};
|
|
174
|
+
/** The longest piece of bad path data a warning repeats. */
|
|
175
|
+
const PATH_DATA_SAMPLE = 60;
|
|
176
|
+
/** The path elements of every design slot (#1060): a key a path element
|
|
177
|
+
* does not have (`unknownConfigKey`); path data that cannot be read (its
|
|
178
|
+
* first characters in `value`) and a `viewBox` that is no pair of
|
|
179
|
+
* positive numbers (`unknownConfigValue`, `used` empty: the element draws
|
|
180
|
+
* nothing); a `preserveAspectRatio` other than `none` and `meet`
|
|
181
|
+
* (`used: 'none'`). */
|
|
182
|
+
function collectDesignPathWarnings(config) {
|
|
183
|
+
const out = [];
|
|
184
|
+
const names = Object.keys(DESIGN_PATH_KEYS);
|
|
185
|
+
for (const slot of configDesignSlots(config)) {
|
|
186
|
+
slot.slot.elements.forEach((el, i) => {
|
|
187
|
+
if (!el || typeof el !== 'object' || el.kind !== 'path')
|
|
188
|
+
return;
|
|
189
|
+
const path = `${slot.path}.elements[${i}]`;
|
|
190
|
+
for (const key of Object.keys(el)) {
|
|
191
|
+
if (Object.prototype.hasOwnProperty.call(DESIGN_PATH_KEYS, key))
|
|
192
|
+
continue;
|
|
193
|
+
const suggestion = closestKey(key, names);
|
|
194
|
+
out.push({ kind: 'unknownConfigKey', path: `${path}.${key}`, value: key, used: '', ...(suggestion ? { suggestion } : {}) });
|
|
195
|
+
}
|
|
196
|
+
const e = el;
|
|
197
|
+
const d = e.d;
|
|
198
|
+
const parsed = typeof d === 'string' ? parseSvgPath(d) : undefined;
|
|
199
|
+
if (!parsed?.ok) {
|
|
200
|
+
const text = typeof d === 'string' ? d : String(d);
|
|
201
|
+
const sample = text.length > PATH_DATA_SAMPLE ? `${text.slice(0, PATH_DATA_SAMPLE - 1)}…` : text;
|
|
202
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.d`, value: sample, used: '' });
|
|
203
|
+
}
|
|
204
|
+
if (e.viewBox !== undefined && !pathViewBox(e.viewBox)) {
|
|
205
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.viewBox`, value: JSON.stringify(e.viewBox) ?? String(e.viewBox), used: '' });
|
|
206
|
+
}
|
|
207
|
+
const par = e.preserveAspectRatio;
|
|
208
|
+
if (par !== undefined && par !== 'none' && par !== 'meet') {
|
|
209
|
+
const suggestion = closestKey(String(par), ['none', 'meet']);
|
|
210
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.preserveAspectRatio`, value: String(par), used: 'none', ...(suggestion ? { suggestion } : {}) });
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
return out;
|
|
215
|
+
}
|
|
216
|
+
const CORNER_KEYS = ['topLeft', 'topRight', 'bottomRight', 'bottomLeft'];
|
|
217
|
+
const SIDE_KEYS = ['top', 'right', 'bottom', 'left'];
|
|
218
|
+
const BORDER_SIDE_KEYS = ['enabled', 'color', 'width'];
|
|
219
|
+
const LABEL_POSITIONS = ['top-right', 'top-left', 'top-start', 'top-end', 'bottom-right', 'bottom-left', 'bottom-start', 'bottom-end'];
|
|
220
|
+
/** The keys of `value` (a plain object) that are not in `known`, as
|
|
221
|
+
* `unknownConfigKey` warnings under `path`. */
|
|
222
|
+
function unknownKeys(value, known, path, out) {
|
|
223
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
224
|
+
return;
|
|
225
|
+
for (const [key, v] of Object.entries(value)) {
|
|
226
|
+
if (v === undefined || known.includes(key))
|
|
227
|
+
continue;
|
|
228
|
+
const suggestion = closestKey(key, known);
|
|
229
|
+
out.push({ kind: 'unknownConfigKey', path: `${path}.${key}`, value: key, used: '', ...(suggestion ? { suggestion } : {}) });
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/** A corner radius that names its corners and a border per side (#1059):
|
|
233
|
+
* keys they do not have. */
|
|
234
|
+
function shapeKeyWarnings(radius, sides, radiusPath, sidesPath, out) {
|
|
235
|
+
if (radius && typeof radius === 'object' && !('value' in radius && 'unit' in radius))
|
|
236
|
+
unknownKeys(radius, CORNER_KEYS, radiusPath, out);
|
|
237
|
+
if (!sides || typeof sides !== 'object' || Array.isArray(sides))
|
|
238
|
+
return;
|
|
239
|
+
unknownKeys(sides, SIDE_KEYS, sidesPath, out);
|
|
240
|
+
for (const k of SIDE_KEYS)
|
|
241
|
+
unknownKeys(sides[k], BORDER_SIDE_KEYS, `${sidesPath}.${k}`, out);
|
|
242
|
+
}
|
|
243
|
+
/** Box shapes (#1059): a box style's `borderRadius` corners and
|
|
244
|
+
* `border.sides`, a design box's `borderRadius` and `borderSides` (keys
|
|
245
|
+
* they do not have: `unknownConfigKey`); a label tab's `position` outside
|
|
246
|
+
* its choices, and a joined tab with an `offset` (it stands on the edge:
|
|
247
|
+
* the offset is not read) — `unknownConfigValue`. */
|
|
248
|
+
function collectBoxShapeWarnings(config) {
|
|
249
|
+
const out = [];
|
|
250
|
+
(config.calloutStyles ?? []).forEach((s, i) => {
|
|
251
|
+
if (!s || typeof s !== 'object')
|
|
252
|
+
return;
|
|
253
|
+
const path = `calloutStyles[${i}]`;
|
|
254
|
+
shapeKeyWarnings(s.borderRadius, s.border?.sides, `${path}.borderRadius`, `${path}.border.sides`, out);
|
|
255
|
+
const label = s.label;
|
|
256
|
+
if (!label || typeof label !== 'object')
|
|
257
|
+
return;
|
|
258
|
+
const position = label.position;
|
|
259
|
+
if (position !== undefined && !LABEL_POSITIONS.includes(position)) {
|
|
260
|
+
const suggestion = typeof position === 'string' ? closestKey(position, LABEL_POSITIONS) : undefined;
|
|
261
|
+
const used = typeof position === 'string' && position.startsWith('bottom-') ? 'bottom-left' : 'top-left';
|
|
262
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.label.position`, value: String(position), used, ...(suggestion ? { suggestion } : {}) });
|
|
263
|
+
}
|
|
264
|
+
const offset = label.offset;
|
|
265
|
+
if (label.joined === true && offset && typeof offset === 'object' && typeof offset.value === 'number' && offset.value !== 0) {
|
|
266
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.label.offset`, value: String(offset.value), used: '0' });
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
for (const slot of configDesignSlots(config)) {
|
|
270
|
+
slot.slot.elements.forEach((el, i) => {
|
|
271
|
+
if (!el || typeof el !== 'object')
|
|
272
|
+
return;
|
|
273
|
+
const path = `${slot.path}.elements[${i}]`;
|
|
274
|
+
// A box element's `style`, a text element's `box`.
|
|
275
|
+
for (const key of ['style', 'box']) {
|
|
276
|
+
const box = el[key];
|
|
277
|
+
if (!box || typeof box !== 'object')
|
|
278
|
+
continue;
|
|
279
|
+
const b = box;
|
|
280
|
+
shapeKeyWarnings(b.borderRadius, b.borderSides, `${path}.${key}.borderRadius`, `${path}.${key}.borderSides`, out);
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
return out;
|
|
285
|
+
}
|
|
286
|
+
const SIDE_POSITIONS = ['start', 'center', 'end'];
|
|
287
|
+
const SIZE_TO_EDGES = ['top', 'bottom', 'left', 'right', 'center'];
|
|
288
|
+
/** The points along a side and the edges of a size of every design
|
|
289
|
+
* element (#1055): an `anchor.at` that is no side position — a word other
|
|
290
|
+
* than `start`, `center` and `end` (ignored: the edge's own point), a
|
|
291
|
+
* number outside 0…1 (held there) — and a `{ to, edge }` size whose edge
|
|
292
|
+
* is none of `top`, `bottom`, `left`, `right` and `center` (`'fill'`). */
|
|
293
|
+
function collectDesignAnchorWarnings(config) {
|
|
294
|
+
const out = [];
|
|
295
|
+
for (const slot of configDesignSlots(config)) {
|
|
296
|
+
slot.slot.elements.forEach((el, i) => {
|
|
297
|
+
const placement = el?.placement;
|
|
298
|
+
if (!placement || typeof placement !== 'object')
|
|
299
|
+
return;
|
|
300
|
+
const path = `${slot.path}.elements[${i}].placement`;
|
|
301
|
+
const anchor = placement.anchor;
|
|
302
|
+
const at = anchor && typeof anchor === 'object' ? anchor.at : undefined;
|
|
303
|
+
if (at !== undefined) {
|
|
304
|
+
if (typeof at === 'number' && Number.isFinite(at)) {
|
|
305
|
+
if (at < 0 || at > 1)
|
|
306
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.anchor.at`, value: String(at), used: String(Math.max(0, Math.min(1, at))) });
|
|
307
|
+
}
|
|
308
|
+
else if (typeof at !== 'string' || !SIDE_POSITIONS.includes(at)) {
|
|
309
|
+
const suggestion = typeof at === 'string' ? closestKey(at, SIDE_POSITIONS) : undefined;
|
|
310
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.anchor.at`, value: String(at), used: '', ...(suggestion ? { suggestion } : {}) });
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const size = placement.size;
|
|
314
|
+
if (!size || typeof size !== 'object')
|
|
315
|
+
return;
|
|
316
|
+
for (const key of ['width', 'height', 'maxWidth']) {
|
|
317
|
+
const v = size[key];
|
|
318
|
+
if (!v || typeof v !== 'object' || !('to' in v))
|
|
319
|
+
continue;
|
|
320
|
+
const edge = v.edge;
|
|
321
|
+
if (typeof edge === 'string' && SIZE_TO_EDGES.includes(edge))
|
|
322
|
+
continue;
|
|
323
|
+
const suggestion = typeof edge === 'string' ? closestKey(edge, SIZE_TO_EDGES) : undefined;
|
|
324
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.size.${key}.edge`, value: String(edge), used: 'fill', ...(suggestion ? { suggestion } : {}) });
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
return out;
|
|
329
|
+
}
|
|
98
330
|
/** Box styles based on another (#905): an `extends` that names no style
|
|
99
331
|
* (`calloutStyleExtendsUnknown`) or that comes back to the style
|
|
100
332
|
* (`calloutStyleExtendsCycle`, once per loop, on its first style). */
|
|
@@ -126,6 +358,45 @@ function collectCalloutStyleWarnings(config) {
|
|
|
126
358
|
});
|
|
127
359
|
return out;
|
|
128
360
|
}
|
|
361
|
+
const LABEL_ICON_KEYS = {
|
|
362
|
+
kind: true, resourceId: true, width: true, gap: true, placement: true, tint: true,
|
|
363
|
+
glyph: true, fontFamily: true, fontWeight: true, scale: true, color: true,
|
|
364
|
+
};
|
|
365
|
+
/** The icon of a box style's label tab (#981, #995, #1054): a key it does
|
|
366
|
+
* not have (`unknownConfigKey`), and a `kind`, `placement` or `scale`
|
|
367
|
+
* the engine does not read (`unknownConfigValue`, with what it reads
|
|
368
|
+
* instead). */
|
|
369
|
+
function collectLabelIconWarnings(config) {
|
|
370
|
+
const out = [];
|
|
371
|
+
(config.calloutStyles ?? []).forEach((s, i) => {
|
|
372
|
+
const icon = s?.label?.icon;
|
|
373
|
+
if (!icon || typeof icon !== 'object' || Array.isArray(icon))
|
|
374
|
+
return;
|
|
375
|
+
const path = `calloutStyles[${i}].label.icon`;
|
|
376
|
+
const names = Object.keys(LABEL_ICON_KEYS);
|
|
377
|
+
for (const [key, value] of Object.entries(icon)) {
|
|
378
|
+
if (value === undefined || Object.prototype.hasOwnProperty.call(LABEL_ICON_KEYS, key))
|
|
379
|
+
continue;
|
|
380
|
+
const suggestion = closestKey(key, names);
|
|
381
|
+
out.push({ kind: 'unknownConfigKey', path: `${path}.${key}`, value: key, used: '', ...(suggestion ? { suggestion } : {}) });
|
|
382
|
+
}
|
|
383
|
+
const ic = icon;
|
|
384
|
+
const kind = ic.kind;
|
|
385
|
+
if (kind !== undefined && kind !== 'resource' && kind !== 'glyph') {
|
|
386
|
+
const suggestion = closestKey(String(kind), ['resource', 'glyph']);
|
|
387
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.kind`, value: String(kind), used: labelIconKind(ic), ...(suggestion ? { suggestion } : {}) });
|
|
388
|
+
}
|
|
389
|
+
const placement = ic.placement;
|
|
390
|
+
if (placement !== undefined && placement !== 'beside' && placement !== 'inside') {
|
|
391
|
+
const suggestion = closestKey(String(placement), ['beside', 'inside']);
|
|
392
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.placement`, value: String(placement), used: 'beside', ...(suggestion ? { suggestion } : {}) });
|
|
393
|
+
}
|
|
394
|
+
if (ic.scale !== undefined && labelIconScale(ic.scale) !== ic.scale) {
|
|
395
|
+
out.push({ kind: 'unknownConfigValue', path: `${path}.scale`, value: String(ic.scale), used: String(labelIconScale(ic.scale)) });
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
return out;
|
|
399
|
+
}
|
|
129
400
|
/** Page templates and label styles (#853): see `validatePageTemplates`.
|
|
130
401
|
* Lengths in different units are compared at the page's dpi, an em at
|
|
131
402
|
* the body text's size. */
|
|
@@ -133,7 +404,7 @@ function collectPageTemplateWarnings(config, options) {
|
|
|
133
404
|
const overrides = config.htmlViewer?.overrides;
|
|
134
405
|
const any = config.pageTemplates !== undefined || config.labelStyles !== undefined
|
|
135
406
|
|| overrides?.pageTemplates !== undefined || overrides?.labelStyles !== undefined
|
|
136
|
-
|| (options.resources ?? []).some((r) => r.anchors?.some((a) => a.style !== undefined));
|
|
407
|
+
|| (options.resources ?? []).some((r) => r.anchors?.some((a) => a.style !== undefined || a.labelAt !== undefined || a.leader !== undefined));
|
|
137
408
|
if (!any)
|
|
138
409
|
return [];
|
|
139
410
|
const resolved = resolveAllConfig(config);
|