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
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { buildDocument } from '../../pipeline';
|
|
3
|
+
import { createMeasurementCache } from '../../measure';
|
|
4
|
+
import { collectConfigWarnings } from '../../configWarnings';
|
|
5
|
+
import { styleWithLook } from '../../pipeline/composedLayout';
|
|
6
|
+
import { resolveCalloutStylesConfig } from '../../defaults/calloutStyles';
|
|
7
|
+
import { resolveBodyTextConfig } from '../../defaults/bodyText';
|
|
8
|
+
import { resolveHeadingsConfig } from '../../defaults/headings';
|
|
9
|
+
import { resolveUnorderedListsConfig } from '../../defaults/unorderedLists';
|
|
10
|
+
// #1059: box styles with a radius per corner, a border per side, and a
|
|
11
|
+
// card joined to its label tab.
|
|
12
|
+
class StubCtx {
|
|
13
|
+
font = '';
|
|
14
|
+
measureText(s) {
|
|
15
|
+
const size = Number(/(\d+(?:\.\d+)?)px/.exec(this.font)?.[1] ?? 10);
|
|
16
|
+
return { width: [...s].length * size * 0.6 };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
globalThis.OffscreenCanvas = class {
|
|
20
|
+
getContext() {
|
|
21
|
+
return new StubCtx();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const pt = (value) => ({ value, unit: 'pt' });
|
|
25
|
+
const hex = (h) => ({ hex: h, model: 'hex' });
|
|
26
|
+
const config = (style) => ({
|
|
27
|
+
page: { width: pt(500), height: pt(700), dpi: 72, margins: { top: pt(40), bottom: pt(20), left: pt(30), right: pt(20) } },
|
|
28
|
+
layout: { layoutType: 'single' },
|
|
29
|
+
header: { elements: [] },
|
|
30
|
+
footer: { elements: [] },
|
|
31
|
+
bodyText: { fontSize: pt(10), lineHeight: pt(14) },
|
|
32
|
+
calloutStyles: [{ id: 'card', title: '', background: hex('#fafafa'), padding: { top: pt(6), right: pt(6), bottom: pt(6), left: pt(6) }, ...style }],
|
|
33
|
+
});
|
|
34
|
+
const build = (style, markdown = ':::callout{type="card" label="Words"}\nBody of the box.\n:::') => buildDocument({ markdown }, config(style), createMeasurementCache());
|
|
35
|
+
const callout = (doc) => doc.blocks.find((b) => b.type === 'callout');
|
|
36
|
+
const overlay = (doc) => callout(doc).designOverlay?.blocks ?? [];
|
|
37
|
+
const frameBox = (doc) => overlay(doc).find((b) => b.kind === 'box');
|
|
38
|
+
const paths = (doc) => overlay(doc).filter((b) => b.kind === 'path');
|
|
39
|
+
const label = (extra = {}) => ({
|
|
40
|
+
fontSize: pt(10), height: pt(14), paddingX: pt(5), color: hex('#ffffff'), background: hex('#336699'), ...extra,
|
|
41
|
+
});
|
|
42
|
+
describe('callout box shapes (#1059)', () => {
|
|
43
|
+
it('paints a style with one radius and a whole border as before', () => {
|
|
44
|
+
const doc = build({ borderRadius: pt(4), border: { enabled: true, color: hex('#000000'), width: pt(1) } });
|
|
45
|
+
expect(frameBox(doc).box).toEqual({ backgroundColor: '#fafafa', borderColor: '#000000', borderWidthPx: 1, borderRadiusPx: 4 });
|
|
46
|
+
});
|
|
47
|
+
it('rounds only the corners a style names', () => {
|
|
48
|
+
const doc = build({ borderRadius: { topLeft: pt(8), bottomRight: pt(8) } });
|
|
49
|
+
const box = frameBox(doc).box;
|
|
50
|
+
expect(box.borderRadiiPx).toEqual([8, 0, 8, 0]);
|
|
51
|
+
expect(box.borderRadiusPx).toBe(8);
|
|
52
|
+
});
|
|
53
|
+
it('draws a border on the top side only', () => {
|
|
54
|
+
const doc = build({ border: { enabled: false, color: hex('#cc0000'), width: pt(2), sides: { top: { enabled: true } } } });
|
|
55
|
+
const box = frameBox(doc).box;
|
|
56
|
+
expect(box.borderSides).toEqual({ top: { color: '#cc0000', widthPx: 2 }, right: null, bottom: null, left: null });
|
|
57
|
+
expect(box.borderColor).toBe('#cc0000');
|
|
58
|
+
});
|
|
59
|
+
it('folds sides set alike back to the whole border', () => {
|
|
60
|
+
const side = { enabled: true };
|
|
61
|
+
const doc = build({ border: { enabled: true, color: hex('#000000'), width: pt(1), sides: { top: side, right: side, bottom: side, left: side } } });
|
|
62
|
+
const box = frameBox(doc).box;
|
|
63
|
+
expect(box.borderSides).toBeUndefined();
|
|
64
|
+
expect(box.borderWidthPx).toBe(1);
|
|
65
|
+
});
|
|
66
|
+
it('clips the stripe to the corners a style rounds', () => {
|
|
67
|
+
const doc = build({ borderRadius: { topLeft: pt(6), bottomLeft: pt(6) }, stripe: { enabled: true, side: 'left', width: pt(4) } });
|
|
68
|
+
const stripe = overlay(doc).find((b) => b.kind === 'box' && b.bbox.width === 4);
|
|
69
|
+
expect(stripe.clip?.radii).toEqual([6, 0, 0, 6]);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('a card joined to its tab (#1059)', () => {
|
|
73
|
+
const joined = (position, extra = {}) => build({
|
|
74
|
+
borderRadius: pt(6),
|
|
75
|
+
border: { enabled: true, color: hex('#336699'), width: pt(1) },
|
|
76
|
+
label: label({ position, joined: true, inset: pt(12) }),
|
|
77
|
+
...extra,
|
|
78
|
+
});
|
|
79
|
+
it('draws the box and its tab as one outline, filled once, with the border round it', () => {
|
|
80
|
+
const doc = joined('top-left');
|
|
81
|
+
expect(overlay(doc).some((b) => b.kind === 'box' && b.bbox.height === 14)).toBe(false);
|
|
82
|
+
const [fill, border] = paths(doc);
|
|
83
|
+
expect(fill.boxPart).toBe('fill');
|
|
84
|
+
expect(fill.fill).toBe('#fafafa');
|
|
85
|
+
expect(fill.subpaths).toHaveLength(1);
|
|
86
|
+
expect(border.boxPart).toBe('border');
|
|
87
|
+
expect(border.fillRule).toBe('evenodd');
|
|
88
|
+
expect(border.borderWidthPx).toBe(1);
|
|
89
|
+
});
|
|
90
|
+
it('stands the tab on the box: the block grows by the tab height above the box', () => {
|
|
91
|
+
const plain = build({ borderRadius: pt(6) });
|
|
92
|
+
const doc = joined('top-left');
|
|
93
|
+
expect(callout(doc).bbox.height).toBeCloseTo(callout(plain).bbox.height + 14, 6);
|
|
94
|
+
const fill = paths(doc)[0];
|
|
95
|
+
// The outline reaches the block's top (the tab) and the box's foot.
|
|
96
|
+
const top = callout(doc).bbox.y;
|
|
97
|
+
expect(fill.bbox.y).toBeCloseTo(top, 6);
|
|
98
|
+
expect(fill.bbox.y + fill.bbox.height).toBeCloseTo(top + callout(doc).bbox.height, 6);
|
|
99
|
+
const words = overlay(doc).find((b) => b.kind === 'text' && b.lines[0]?.text === 'Words');
|
|
100
|
+
expect(words.bbox.y).toBeCloseTo(top, 6);
|
|
101
|
+
});
|
|
102
|
+
it('hugs the right corner, and hangs from the foot', () => {
|
|
103
|
+
const right = paths(joined('top-right'))[0];
|
|
104
|
+
const left = paths(joined('top-left'))[0];
|
|
105
|
+
expect(right.bbox).toEqual(left.bbox);
|
|
106
|
+
const foot = joined('bottom-left');
|
|
107
|
+
const words = overlay(foot).find((b) => b.kind === 'text' && b.lines[0]?.text === 'Words');
|
|
108
|
+
// The tab hangs under the box: its words sit in the block's last 14 px.
|
|
109
|
+
const { y, height } = callout(foot).bbox;
|
|
110
|
+
expect(words.bbox.y + words.bbox.height).toBeCloseTo(y + height, 6);
|
|
111
|
+
});
|
|
112
|
+
it('keeps the tab glyph icon on a joined tab', () => {
|
|
113
|
+
const doc = build({
|
|
114
|
+
borderRadius: pt(6),
|
|
115
|
+
label: label({ position: 'top-left', joined: true, icon: { kind: 'glyph', glyph: '◉', placement: 'inside' } }),
|
|
116
|
+
});
|
|
117
|
+
expect(overlay(doc).some((b) => b.kind === 'text' && b.lines[0]?.text === '◉' && b.artifact === true)).toBe(true);
|
|
118
|
+
});
|
|
119
|
+
it('squares the stripe where the tab goes on up the side', () => {
|
|
120
|
+
const doc = build({
|
|
121
|
+
borderRadius: pt(6),
|
|
122
|
+
stripe: { enabled: true, side: 'left', width: pt(4) },
|
|
123
|
+
label: label({ position: 'top-left', joined: true }),
|
|
124
|
+
});
|
|
125
|
+
const stripe = overlay(doc).find((b) => b.kind === 'box' && b.bbox.width === 4);
|
|
126
|
+
expect(stripe.clip?.radii).toEqual([0, 6, 6, 6]);
|
|
127
|
+
});
|
|
128
|
+
it('runs a border per side round the tab with the side it stands on', () => {
|
|
129
|
+
const doc = joined('top-left', {
|
|
130
|
+
border: { enabled: false, color: hex('#336699'), width: pt(1), sides: { top: { enabled: true, width: pt(2) }, left: { enabled: true, color: hex('#999999') } } },
|
|
131
|
+
});
|
|
132
|
+
const borders = paths(doc).filter((p) => p.boxPart === 'border');
|
|
133
|
+
expect(borders.map((b) => [b.fill, b.borderWidthPx])).toEqual([['#336699', 2], ['#999999', 1]]);
|
|
134
|
+
});
|
|
135
|
+
it('reports an offset on a joined tab, and positions and keys a box does not have', () => {
|
|
136
|
+
const warnings = collectConfigWarnings({
|
|
137
|
+
calloutStyles: [{
|
|
138
|
+
id: 'card',
|
|
139
|
+
borderRadius: { topLeft: pt(2), topRigth: pt(2) },
|
|
140
|
+
border: { sides: { top: { enabled: true, colour: hex('#000') }, middle: {} } },
|
|
141
|
+
label: { joined: true, offset: pt(3), position: 'top-centre' },
|
|
142
|
+
}],
|
|
143
|
+
});
|
|
144
|
+
const at = (path) => warnings.find((w) => w.path === path);
|
|
145
|
+
expect(at('calloutStyles[0].borderRadius.topRigth')?.suggestion).toBe('topRight');
|
|
146
|
+
expect(at('calloutStyles[0].border.sides.middle')?.kind).toBe('unknownConfigKey');
|
|
147
|
+
expect(at('calloutStyles[0].border.sides.top.colour')?.suggestion).toBe('color');
|
|
148
|
+
expect(at('calloutStyles[0].label.offset')).toMatchObject({ kind: 'unknownConfigValue', used: '0' });
|
|
149
|
+
expect(at('calloutStyles[0].label.position')?.kind).toBe('unknownConfigValue');
|
|
150
|
+
});
|
|
151
|
+
it('recolours every side with a frame look', () => {
|
|
152
|
+
const body = resolveBodyTextConfig(undefined);
|
|
153
|
+
const [style] = resolveCalloutStylesConfig([{ id: 'card', border: { enabled: true, sides: { top: { color: hex('#111111') } } } }], body, resolveHeadingsConfig(undefined), resolveUnorderedListsConfig(undefined, body));
|
|
154
|
+
const looked = styleWithLook(style, { border: { color: hex('#ee0000') } });
|
|
155
|
+
expect(looked.border.color.hex).toBe('#ee0000');
|
|
156
|
+
expect(Object.values(looked.border.sides).map((s) => s.color.hex)).toEqual(['#ee0000', '#ee0000', '#ee0000', '#ee0000']);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
//# sourceMappingURL=calloutShapes.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calloutShapes.test.js","sourceRoot":"","sources":["../../../src/__tests__/pipeline/calloutShapes.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,7 +155,7 @@ describe('layout.boxChildSplitMinLines', () => {
|
|
|
155
155
|
it('is pinned to 1 for configurations stored before rules 6 whose book holds a box', () => {
|
|
156
156
|
const cfg = { layout: { layoutType: 'single', inlineResourceGap: 'around', inlineResourceGapInBoxes: true } };
|
|
157
157
|
const box = twoLineItems(3);
|
|
158
|
-
expect(CONFIG_VERSION).toBe(
|
|
158
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
159
159
|
// Unversioned (1.4) and stamped 5 (a 1.5 prerelease): pinned.
|
|
160
160
|
expect(migrateConfig(cfg, undefined, { content: box }).layout?.boxChildSplitMinLines).toBe(1);
|
|
161
161
|
expect(migrateConfig(cfg, 5, { content: ['No box here.', box] }).layout?.boxChildSplitMinLines).toBe(1);
|
|
@@ -110,7 +110,7 @@ describe('colonListRoom: \'line\' keeps the postext 1.4 room check (EF-110)', ()
|
|
|
110
110
|
describe('configurations stored before rules 6 keep the 1.4 colon-list room', () => {
|
|
111
111
|
const LIST = 'Look for these signs:\n\n- one\n- two';
|
|
112
112
|
it('pins a configuration older than 6 whose book introduces a list with a colon, once', () => {
|
|
113
|
-
expect(CONFIG_VERSION).toBe(
|
|
113
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
114
114
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
115
115
|
for (const version of [undefined, 3, 4, 5]) {
|
|
116
116
|
expect(migrateConfig(stored, version, { content: LIST }).bodyText, `${version}`)
|
|
@@ -121,7 +121,7 @@ describe('a break after a compound’s hyphen on both paths (EF-186)', () => {
|
|
|
121
121
|
expect(other).toBeGreaterThan(0);
|
|
122
122
|
});
|
|
123
123
|
it('is pinned off for configurations stored before rules 8 whose text sets a compound', () => {
|
|
124
|
-
expect(CONFIG_VERSION).toBe(
|
|
124
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
125
125
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
126
126
|
for (const version of [undefined, 3, 6, 7]) {
|
|
127
127
|
expect(migrateConfig(stored, version, { content: EN }).bodyText?.breakAfterHyphens, `${version}`).toBe(false);
|
|
@@ -303,7 +303,7 @@ describe('breakAfterDashes in the configuration', () => {
|
|
|
303
303
|
expect(stripBodyTextDefaults({ breakAfterDashes: false })).toEqual({ breakAfterDashes: false });
|
|
304
304
|
});
|
|
305
305
|
it('is pinned off for configurations stored before rules 7 whose text sets a closed dash', () => {
|
|
306
|
-
expect(CONFIG_VERSION).toBe(
|
|
306
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
307
307
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
308
308
|
for (const version of [undefined, 3, 5, 6]) {
|
|
309
309
|
expect(migrateConfig(stored, version, { content: ALICE }).bodyText?.breakAfterDashes, `${version}`).toBe(false);
|
|
@@ -103,7 +103,7 @@ describe('a paragraph kept with the heading above it splits by the orphan rule t
|
|
|
103
103
|
}
|
|
104
104
|
// Stored under today's rules, it is read as it is.
|
|
105
105
|
expect(migrateConfig(stored, CONFIG_VERSION, { content: markdown })).toBe(stored);
|
|
106
|
-
expect(CONFIG_VERSION).toBe(
|
|
106
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
107
107
|
});
|
|
108
108
|
it('pins only what the setting changes', () => {
|
|
109
109
|
const plain = { bodyText: { fontFamily: 'Georgia' } };
|
|
@@ -126,7 +126,7 @@ describe('layout.inlineResourceGap and configurations stored before postext 1.5
|
|
|
126
126
|
});
|
|
127
127
|
it('pins a stored configuration whose book embeds a resource, once', () => {
|
|
128
128
|
const config = { layout: { layoutType: 'single' } };
|
|
129
|
-
expect(CONFIG_VERSION).toBe(
|
|
129
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
130
130
|
const pinned = migrateConfig(config, undefined, { content: MD });
|
|
131
131
|
expect(pinned.layout).toEqual({ layoutType: 'single', inlineResourceGap: 'above' });
|
|
132
132
|
// Stamped 4 (a 1.5 prerelease): the gap is the only pin it gets.
|
|
@@ -240,7 +240,7 @@ describe('paragraphStyles[].snapToGrid (EF-184)', () => {
|
|
|
240
240
|
describe('configurations stored before rules 8 keep the 1.4 space under containers', () => {
|
|
241
241
|
const stored = { bodyText: { fontFamily: 'Georgia' }, paragraphStyles: [{ id: 's' }] };
|
|
242
242
|
it('pins \'add\' when the book holds a :::paragraphs container', () => {
|
|
243
|
-
expect(CONFIG_VERSION).toBe(
|
|
243
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
244
244
|
for (const version of [undefined, 3, 5, 6, 7]) {
|
|
245
245
|
expect(migrateConfig(stored, version, { content: GROUP_THEN_HEADING }).bodyText?.paragraphContainerSpacing, `${version}`).toBe('add');
|
|
246
246
|
}
|
|
@@ -168,7 +168,7 @@ describe('optimalRagged in the configuration', () => {
|
|
|
168
168
|
expect(stripBodyTextDefaults({ optimalRagged: false })).toEqual({ optimalRagged: false });
|
|
169
169
|
});
|
|
170
170
|
it('is pinned off for configurations stored before rules 7 that set running text ragged', () => {
|
|
171
|
-
expect(CONFIG_VERSION).toBe(
|
|
171
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
172
172
|
const ragged = { bodyText: { textAlign: 'left' } };
|
|
173
173
|
for (const version of [undefined, 3, 5, 6]) {
|
|
174
174
|
expect(migrateConfig(ragged, version, { content: 'Text.' }).bodyText, `${version}`).toEqual({ textAlign: 'left', optimalRagged: false, scriptContext: false, shapingLanguage: 'host' });
|
|
@@ -438,7 +438,7 @@ describe('bodyText.verse and the configurations stored before #620', () => {
|
|
|
438
438
|
const PLAIN = ':::verse\nA line\nAnother\n:::';
|
|
439
439
|
const BAYT = ':::verse\nA || B\n:::';
|
|
440
440
|
it('pins the 1.22 verse layout when the text holds a poem with no separator', () => {
|
|
441
|
-
expect(CONFIG_VERSION).toBe(
|
|
441
|
+
expect(CONFIG_VERSION).toBe(16);
|
|
442
442
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
443
443
|
for (const version of [undefined, 3, 7, 8]) {
|
|
444
444
|
expect(migrateConfig(stored, version, { content: PLAIN }).bodyText?.verse, `${version}`).toEqual({ layout: 'bayt' });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PostextConfig } from '../types';
|
|
2
2
|
/**
|
|
3
|
-
* The configuration rules this engine writes:
|
|
3
|
+
* The configuration rules this engine writes: 16 since #1056 (15 from #853, 14 from
|
|
4
4
|
* postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
|
|
5
5
|
* more since, and a configuration
|
|
6
6
|
* stored under an older
|
|
@@ -179,6 +179,11 @@ import type { PostextConfig } from '../types';
|
|
|
179
179
|
* changes meaning, so one stored under 14 is read as it is (no pin): the
|
|
180
180
|
* number marks a configuration that may hold templates, so an older
|
|
181
181
|
* reader can say it lays out without them.
|
|
182
|
+
* - 16 (#1056), composed pages round 2: a template's decoration may hold
|
|
183
|
+
* connectors (`kind: 'connector'`), the first decoration element that is
|
|
184
|
+
* not placed by an anchor. An engine that reads 15 or less leaves them
|
|
185
|
+
* out (`unknownConfigValue`). Nothing older changes meaning: one stored
|
|
186
|
+
* under 15 is read as it is (no pin).
|
|
182
187
|
*
|
|
183
188
|
* A configuration stored without a version was written for postext 1.4 or
|
|
184
189
|
* earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
|
|
@@ -197,13 +202,17 @@ import type { PostextConfig } from '../types';
|
|
|
197
202
|
* version-13 pins (which every older one gets too); one stored under 13
|
|
198
203
|
* was written by postext 1.29 and gets the version-14 pin (which every
|
|
199
204
|
* older one gets too); one stored under 14 was written by postext 1.30 to
|
|
200
|
-
* 1.33 and gets nothing.
|
|
205
|
+
* 1.33 and gets nothing; one stored under 15 was written by postext 1.34 to
|
|
206
|
+
* 1.47 and gets nothing either.
|
|
201
207
|
*/
|
|
202
|
-
export declare const CONFIG_VERSION =
|
|
208
|
+
export declare const CONFIG_VERSION = 16;
|
|
203
209
|
/** The rules that read page templates and label styles (#853). They add
|
|
204
210
|
* keys and change no older one, so they pin nothing: kept to say where
|
|
205
211
|
* the number came from. */
|
|
206
212
|
export declare const COMPOSED_PAGES_RULES = 15;
|
|
213
|
+
/** The rules that draw connectors in a template's decoration (#1056): new
|
|
214
|
+
* keys only, nothing to pin. */
|
|
215
|
+
export declare const CONNECTOR_RULES = 16;
|
|
207
216
|
/**
|
|
208
217
|
* How much larger postext 1.4 set maths than the size it documents:
|
|
209
218
|
* MathJax gives a formula's box in `ex`, one `ex` of its TeX font is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA4I,aAAa,EAAuD,MAAM,UAAU,CAAC;AAa7O
|
|
1
|
+
{"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { KNOWN_CONTAINERS } from '../parse/blockParser';
|
|
|
14
14
|
import { codeFenceOpen } from '../parse/codeFence';
|
|
15
15
|
import { hasCJK } from '../measure/cjk';
|
|
16
16
|
/**
|
|
17
|
-
* The configuration rules this engine writes:
|
|
17
|
+
* The configuration rules this engine writes: 16 since #1056 (15 from #853, 14 from
|
|
18
18
|
* postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
|
|
19
19
|
* more since, and a configuration
|
|
20
20
|
* stored under an older
|
|
@@ -193,6 +193,11 @@ import { hasCJK } from '../measure/cjk';
|
|
|
193
193
|
* changes meaning, so one stored under 14 is read as it is (no pin): the
|
|
194
194
|
* number marks a configuration that may hold templates, so an older
|
|
195
195
|
* reader can say it lays out without them.
|
|
196
|
+
* - 16 (#1056), composed pages round 2: a template's decoration may hold
|
|
197
|
+
* connectors (`kind: 'connector'`), the first decoration element that is
|
|
198
|
+
* not placed by an anchor. An engine that reads 15 or less leaves them
|
|
199
|
+
* out (`unknownConfigValue`). Nothing older changes meaning: one stored
|
|
200
|
+
* under 15 is read as it is (no pin).
|
|
196
201
|
*
|
|
197
202
|
* A configuration stored without a version was written for postext 1.4 or
|
|
198
203
|
* earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
|
|
@@ -211,9 +216,10 @@ import { hasCJK } from '../measure/cjk';
|
|
|
211
216
|
* version-13 pins (which every older one gets too); one stored under 13
|
|
212
217
|
* was written by postext 1.29 and gets the version-14 pin (which every
|
|
213
218
|
* older one gets too); one stored under 14 was written by postext 1.30 to
|
|
214
|
-
* 1.33 and gets nothing.
|
|
219
|
+
* 1.33 and gets nothing; one stored under 15 was written by postext 1.34 to
|
|
220
|
+
* 1.47 and gets nothing either.
|
|
215
221
|
*/
|
|
216
|
-
export const CONFIG_VERSION =
|
|
222
|
+
export const CONFIG_VERSION = 16;
|
|
217
223
|
/** The rules that merge a partial heading break onto its level's. */
|
|
218
224
|
const HEADING_BREAK_RULES = 3;
|
|
219
225
|
/** The rules that set a formula's em at the documented size. */
|
|
@@ -319,6 +325,9 @@ const TASK_BOX_RULES = 13;
|
|
|
319
325
|
* keys and change no older one, so they pin nothing: kept to say where
|
|
320
326
|
* the number came from. */
|
|
321
327
|
export const COMPOSED_PAGES_RULES = 15;
|
|
328
|
+
/** The rules that draw connectors in a template's decoration (#1056): new
|
|
329
|
+
* keys only, nothing to pin. */
|
|
330
|
+
export const CONNECTOR_RULES = 16;
|
|
322
331
|
/** Up to 1.4 a drop cap with no `fontSize` was as tall as the line boxes it
|
|
323
332
|
* spans divided by this, the share of a letter's size its capitals take. */
|
|
324
333
|
const CAP_HEIGHT = 0.72;
|
|
@@ -1860,7 +1869,8 @@ export function migrateConfig(config, configVersion, options = {}) {
|
|
|
1860
1869
|
out = pinLegacyShapingLanguage(out);
|
|
1861
1870
|
if (rules < TASK_BOX_RULES && mayHaveTaskItems(content))
|
|
1862
1871
|
out = pinLegacyTaskBox(out);
|
|
1863
|
-
// COMPOSED_PAGES_RULES (15, #853)
|
|
1872
|
+
// COMPOSED_PAGES_RULES (15, #853) and CONNECTOR_RULES (16, #1056): new
|
|
1873
|
+
// keys only, nothing to pin.
|
|
1864
1874
|
return out;
|
|
1865
1875
|
}
|
|
1866
1876
|
/**
|
|
@@ -1984,7 +1994,8 @@ export function migrateBundleConfig(base, layers, configVersion, options = {}) {
|
|
|
1984
1994
|
merged = pinLegacyShapingLanguage(merged);
|
|
1985
1995
|
if (rules < TASK_BOX_RULES && mayHaveTaskItems(content))
|
|
1986
1996
|
merged = pinLegacyTaskBox(merged);
|
|
1987
|
-
// COMPOSED_PAGES_RULES (15, #853)
|
|
1997
|
+
// COMPOSED_PAGES_RULES (15, #853) and CONNECTOR_RULES (16, #1056): new
|
|
1998
|
+
// keys only, nothing to pin.
|
|
1988
1999
|
return merged;
|
|
1989
2000
|
}
|
|
1990
2001
|
//# sourceMappingURL=configVersion.js.map
|