postext 1.23.0 → 1.24.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/bitmapInfo.test.d.ts +2 -0
- package/dist/__tests__/bundle/bitmapInfo.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/bitmapInfo.test.js +78 -0
- package/dist/__tests__/bundle/bitmapInfo.test.js.map +1 -0
- package/dist/__tests__/bundle/designOverflowPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/designOverflowPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/designOverflowPin.test.js +87 -0
- package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -0
- package/dist/__tests__/bundle.test.js +1 -1
- package/dist/__tests__/bundle.test.js.map +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/codeBlocks.test.js.map +1 -1
- package/dist/__tests__/design/designTextOverflow.test.d.ts +2 -0
- package/dist/__tests__/design/designTextOverflow.test.d.ts.map +1 -0
- package/dist/__tests__/design/designTextOverflow.test.js +102 -0
- package/dist/__tests__/design/designTextOverflow.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +11 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/frontmatterInvalid.test.d.ts +2 -0
- package/dist/__tests__/frontmatterInvalid.test.d.ts.map +1 -0
- package/dist/__tests__/frontmatterInvalid.test.js +101 -0
- package/dist/__tests__/frontmatterInvalid.test.js.map +1 -0
- package/dist/__tests__/hardBreaks.test.js +1 -1
- package/dist/__tests__/hardBreaks.test.js.map +1 -1
- package/dist/__tests__/headingFirstLineIndent.test.d.ts +2 -0
- package/dist/__tests__/headingFirstLineIndent.test.d.ts.map +1 -0
- package/dist/__tests__/headingFirstLineIndent.test.js +185 -0
- package/dist/__tests__/headingFirstLineIndent.test.js.map +1 -0
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.test.js.map +1 -1
- package/dist/__tests__/headingLetterSpacing.test.js +1 -1
- package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/mathSizeMigration.test.js.map +1 -1
- package/dist/__tests__/pipeline/bitmapResolution.test.d.ts +2 -0
- package/dist/__tests__/pipeline/bitmapResolution.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/bitmapResolution.test.js +139 -0
- package/dist/__tests__/pipeline/bitmapResolution.test.js.map +1 -0
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js.map +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js.map +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js.map +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js.map +1 -1
- package/dist/__tests__/pipeline/designTextTruncated.test.d.ts +2 -0
- package/dist/__tests__/pipeline/designTextTruncated.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/designTextTruncated.test.js +116 -0
- package/dist/__tests__/pipeline/designTextTruncated.test.js.map +1 -0
- package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
- package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
- package/dist/__tests__/pipeline/floatShrink.test.d.ts +2 -0
- package/dist/__tests__/pipeline/floatShrink.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/floatShrink.test.js +298 -0
- package/dist/__tests__/pipeline/floatShrink.test.js.map +1 -0
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js.map +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js.map +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js.map +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js.map +1 -1
- package/dist/__tests__/pipeline/textWrap.test.d.ts +2 -0
- package/dist/__tests__/pipeline/textWrap.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/textWrap.test.js +453 -0
- package/dist/__tests__/pipeline/textWrap.test.js.map +1 -0
- package/dist/__tests__/preflight.test.js +30 -1
- package/dist/__tests__/preflight.test.js.map +1 -1
- package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts +2 -0
- package/dist/__tests__/presets/showcaseDesignOverflow.test.d.ts.map +1 -0
- package/dist/__tests__/presets/showcaseDesignOverflow.test.js +58 -0
- package/dist/__tests__/presets/showcaseDesignOverflow.test.js.map +1 -0
- package/dist/__tests__/table/booktabs.test.d.ts +2 -0
- package/dist/__tests__/table/booktabs.test.d.ts.map +1 -0
- package/dist/__tests__/table/booktabs.test.js +290 -0
- package/dist/__tests__/table/booktabs.test.js.map +1 -0
- package/dist/__tests__/textWrapMeasure.test.d.ts +2 -0
- package/dist/__tests__/textWrapMeasure.test.d.ts.map +1 -0
- package/dist/__tests__/textWrapMeasure.test.js +162 -0
- package/dist/__tests__/textWrapMeasure.test.js.map +1 -0
- package/dist/__tests__/verseLines.test.js +134 -4
- package/dist/__tests__/verseLines.test.js.map +1 -1
- package/dist/bitmapResolution.d.ts +42 -0
- package/dist/bitmapResolution.d.ts.map +1 -0
- package/dist/bitmapResolution.js +82 -0
- package/dist/bitmapResolution.js.map +1 -0
- package/dist/bundle/codec.d.ts +9 -2
- package/dist/bundle/codec.d.ts.map +1 -1
- package/dist/bundle/codec.js +24 -2
- package/dist/bundle/codec.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +49 -8
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +161 -6
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +3 -3
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +2 -2
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/manifest.d.ts +12 -2
- package/dist/bundle/manifest.d.ts.map +1 -1
- package/dist/bundle/manifest.js +132 -6
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/bundle/types.d.ts +28 -2
- package/dist/bundle/types.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +6 -4
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +15 -1
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/configWarnings.js +29 -2
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/headerFooter.d.ts +21 -6
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +37 -14
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/defaults/headings.d.ts +5 -4
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +15 -4
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +1 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +1 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/layout.d.ts +30 -1
- package/dist/defaults/layout.d.ts.map +1 -1
- package/dist/defaults/layout.js +105 -1
- package/dist/defaults/layout.js.map +1 -1
- package/dist/defaults/parts.js +4 -4
- package/dist/defaults/parts.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +44 -0
- package/dist/defaults/tableStyle.js.map +1 -1
- package/dist/defaults/toc.js +2 -2
- package/dist/defaults/verse.d.ts +2 -1
- package/dist/defaults/verse.d.ts.map +1 -1
- package/dist/defaults/verse.js +6 -1
- package/dist/defaults/verse.js.map +1 -1
- package/dist/design/layout.d.ts +15 -1
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +28 -4
- package/dist/design/layout.js.map +1 -1
- package/dist/frontmatter.d.ts +20 -0
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +69 -3
- package/dist/frontmatter.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +22 -4
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/measure/bidiLines.d.ts +4 -3
- package/dist/measure/bidiLines.d.ts.map +1 -1
- package/dist/measure/bidiLines.js +12 -7
- package/dist/measure/bidiLines.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +7 -3
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/hardBreaks.d.ts.map +1 -1
- package/dist/measure/hardBreaks.js +13 -1
- package/dist/measure/hardBreaks.js.map +1 -1
- package/dist/measure/index.d.ts +3 -3
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +4 -4
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +11 -7
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +9 -6
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/types.d.ts +49 -3
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js +67 -3
- package/dist/measure/types.js.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +488 -31
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts +5 -0
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +14 -1
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildMeasurement.js +1 -1
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +5 -0
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +16 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +113 -17
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts +34 -4
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +35 -5
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/floatSlots.d.ts +7 -0
- package/dist/pipeline/floatSlots.d.ts.map +1 -1
- package/dist/pipeline/floatSlots.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +4 -1
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +19 -5
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/measureContentBlock.d.ts +7 -0
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +15 -6
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +7 -0
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +15 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +95 -15
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +8 -5
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/pipeline/textWrap.d.ts +94 -0
- package/dist/pipeline/textWrap.d.ts.map +1 -0
- package/dist/pipeline/textWrap.js +188 -0
- package/dist/pipeline/textWrap.js.map +1 -0
- package/dist/pipeline/verseLines.d.ts +22 -2
- package/dist/pipeline/verseLines.d.ts.map +1 -1
- package/dist/pipeline/verseLines.js +52 -4
- package/dist/pipeline/verseLines.js.map +1 -1
- package/dist/preflight.d.ts +46 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +42 -7
- package/dist/preflight.js.map +1 -1
- package/dist/table/booktabs.d.ts +37 -0
- package/dist/table/booktabs.d.ts.map +1 -0
- package/dist/table/booktabs.js +82 -0
- package/dist/table/booktabs.js.map +1 -0
- package/dist/types.d.ts +227 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +131 -6
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +3 -2
- package/dist/vdt.js.map +1 -1
- package/dist/word/index.d.ts +1 -1
- package/dist/word/index.d.ts.map +1 -1
- package/dist/word/index.js +1 -1
- package/dist/word/index.js.map +1 -1
- package/dist/word/toMarkdown.d.ts +10 -0
- package/dist/word/toMarkdown.d.ts.map +1 -1
- package/dist/word/toMarkdown.js +16 -1
- package/dist/word/toMarkdown.js.map +1 -1
- package/package.json +1 -1
package/dist/preflight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rules of a `'booktabs'` table (#625): LaTeX's `\toprule`, `\midrule`,
|
|
3
|
+
* `\cmidrule` and `\bottomrule`, computed once from a laid-out table (or a
|
|
4
|
+
* slice of one) so that every renderer strokes the same lines.
|
|
5
|
+
*/
|
|
6
|
+
import type { TableContinuedFootRule, TableSpanRules } from '../types';
|
|
7
|
+
import type { VDTResourceTableLayout, VDTTableStroke } from '../vdt';
|
|
8
|
+
/** The widths (px) and options of a booktabs table, resolved. */
|
|
9
|
+
export interface BooktabsRuleSpec {
|
|
10
|
+
/** Top and bottom rules. */
|
|
11
|
+
heavyPx: number;
|
|
12
|
+
/** Rule under the header rows, group rules, a `'light'` continued foot. */
|
|
13
|
+
lightPx: number;
|
|
14
|
+
/** Rules under spanning header cells. */
|
|
15
|
+
spanPx: number;
|
|
16
|
+
spanRules: TableSpanRules;
|
|
17
|
+
/** How much a `'trimmed'` span rule is shortened at each end. */
|
|
18
|
+
spanTrimPx: number;
|
|
19
|
+
groupRules: boolean;
|
|
20
|
+
continuedFootRule: TableContinuedFootRule;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The strokes of a booktabs table laid out with its top at y = 0 (cells and
|
|
24
|
+
* `rowEdges` in the table's frame, already mirrored for a table that runs
|
|
25
|
+
* the other way): a heavy rule on the top edge, a light rule under the last
|
|
26
|
+
* header row, a rule under every header cell spanning several columns above
|
|
27
|
+
* that row, a light rule above each group-head body row (`groupRules`) and a
|
|
28
|
+
* heavy rule under the last row — or the `continuedFootRule` when the table
|
|
29
|
+
* (slice) goes on overleaf. A continuation slice repeats the header rows, so
|
|
30
|
+
* it gets the top and header rules again. Strokes of zero width are left
|
|
31
|
+
* out.
|
|
32
|
+
*
|
|
33
|
+
* `headerRowCount` is the model's (`tableHeaderRowCount`): its rows are
|
|
34
|
+
* the first ones of every slice.
|
|
35
|
+
*/
|
|
36
|
+
export declare function booktabsStrokes(table: Pick<VDTResourceTableLayout, 'cells' | 'rowEdges' | 'columnEdges'>, headerRowCount: number, spec: BooktabsRuleSpec, continues: boolean): VDTTableStroke[];
|
|
37
|
+
//# sourceMappingURL=booktabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booktabs.d.ts","sourceRoot":"","sources":["../../src/table/booktabs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAErE,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,CAAC;IAC1B,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,sBAAsB,CAAC;CAC3C;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,CAAC,EACzE,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,OAAO,GACjB,cAAc,EAAE,CA6DlB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/** Edges closer than this are the same edge (rounding of summed heights). */
|
|
2
|
+
const EPS = 0.01;
|
|
3
|
+
/**
|
|
4
|
+
* The strokes of a booktabs table laid out with its top at y = 0 (cells and
|
|
5
|
+
* `rowEdges` in the table's frame, already mirrored for a table that runs
|
|
6
|
+
* the other way): a heavy rule on the top edge, a light rule under the last
|
|
7
|
+
* header row, a rule under every header cell spanning several columns above
|
|
8
|
+
* that row, a light rule above each group-head body row (`groupRules`) and a
|
|
9
|
+
* heavy rule under the last row — or the `continuedFootRule` when the table
|
|
10
|
+
* (slice) goes on overleaf. A continuation slice repeats the header rows, so
|
|
11
|
+
* it gets the top and header rules again. Strokes of zero width are left
|
|
12
|
+
* out.
|
|
13
|
+
*
|
|
14
|
+
* `headerRowCount` is the model's (`tableHeaderRowCount`): its rows are
|
|
15
|
+
* the first ones of every slice.
|
|
16
|
+
*/
|
|
17
|
+
export function booktabsStrokes(table, headerRowCount, spec, continues) {
|
|
18
|
+
const { cells, rowEdges, columnEdges } = table;
|
|
19
|
+
const rowCount = rowEdges.length - 1;
|
|
20
|
+
if (rowCount <= 0 || cells.length === 0)
|
|
21
|
+
return [];
|
|
22
|
+
const left = Math.min(...columnEdges);
|
|
23
|
+
const right = Math.max(...columnEdges);
|
|
24
|
+
const top = rowEdges[0] ?? 0;
|
|
25
|
+
const bottom = rowEdges[rowCount] ?? top;
|
|
26
|
+
const colCount = columnEdges.length - 1;
|
|
27
|
+
const strokes = [];
|
|
28
|
+
const rule = (x1, x2, y, widthPx) => {
|
|
29
|
+
if (widthPx > 0 && x2 - x1 > EPS)
|
|
30
|
+
strokes.push({ x1, y1: y, x2, y2: y, widthPx });
|
|
31
|
+
};
|
|
32
|
+
rule(left, right, top, spec.heavyPx);
|
|
33
|
+
// The header rows open every slice: they end at the edge of the slice's
|
|
34
|
+
// `headerRowCount`-th row.
|
|
35
|
+
const headRows = Math.min(headerRowCount, rowCount);
|
|
36
|
+
const headerBottom = headRows > 0 ? rowEdges[headRows] ?? top : top;
|
|
37
|
+
const hasHeaderRule = headRows > 0 && headerBottom < bottom - EPS;
|
|
38
|
+
if (headRows > 0 && spec.spanRules !== 'none') {
|
|
39
|
+
for (const cell of cells) {
|
|
40
|
+
if (cell.row >= headerRowCount || cell.colSpan <= 1)
|
|
41
|
+
continue;
|
|
42
|
+
const y = cell.rect.y + cell.rect.height;
|
|
43
|
+
if (y >= headerBottom - EPS)
|
|
44
|
+
continue;
|
|
45
|
+
const trim = spec.spanRules === 'trimmed' ? spec.spanTrimPx : 0;
|
|
46
|
+
rule(cell.rect.x + trim, cell.rect.x + cell.rect.width - trim, y, spec.spanPx);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (hasHeaderRule)
|
|
50
|
+
rule(left, right, headerBottom, spec.lightPx);
|
|
51
|
+
if (spec.groupRules) {
|
|
52
|
+
// A body row heads a group when its only cell runs across every column
|
|
53
|
+
// (in a table of several), or when all its cells are header cells —
|
|
54
|
+
// the rows `TableRowMetrics.groupHeaderRow` marks.
|
|
55
|
+
const rows = new Map();
|
|
56
|
+
for (const cell of cells) {
|
|
57
|
+
if (cell.row < headerRowCount)
|
|
58
|
+
continue;
|
|
59
|
+
const r = rows.get(cell.row) ?? { primaries: 0, fullSpan: false, allHeader: true, y: cell.rect.y };
|
|
60
|
+
r.primaries++;
|
|
61
|
+
if (cell.colSpan >= colCount)
|
|
62
|
+
r.fullSpan = true;
|
|
63
|
+
if (!cell.isHeader)
|
|
64
|
+
r.allHeader = false;
|
|
65
|
+
r.y = Math.min(r.y, cell.rect.y);
|
|
66
|
+
rows.set(cell.row, r);
|
|
67
|
+
}
|
|
68
|
+
for (const r of rows.values()) {
|
|
69
|
+
const heads = (r.primaries === 1 && r.fullSpan && colCount > 1) || r.allHeader;
|
|
70
|
+
// Not on the row that opens the slice: the top or header rule is there.
|
|
71
|
+
if (heads && r.y > headerBottom + EPS && r.y < bottom - EPS)
|
|
72
|
+
rule(left, right, r.y, spec.lightPx);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const foot = !continues ? spec.heavyPx
|
|
76
|
+
: spec.continuedFootRule === 'bottom' ? spec.heavyPx
|
|
77
|
+
: spec.continuedFootRule === 'light' ? spec.lightPx
|
|
78
|
+
: 0;
|
|
79
|
+
rule(left, right, bottom, foot);
|
|
80
|
+
return strokes;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=booktabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booktabs.js","sourceRoot":"","sources":["../../src/table/booktabs.ts"],"names":[],"mappings":"AAuBA,6EAA6E;AAC7E,MAAM,GAAG,GAAG,IAAI,CAAC;AAEjB;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAyE,EACzE,cAAsB,EACtB,IAAsB,EACtB,SAAkB;IAElB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,CAAS,EAAE,OAAe,EAAE,EAAE;QAClE,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAErC,wEAAwE;IACxE,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,MAAM,aAAa,GAAG,QAAQ,GAAG,CAAC,IAAI,YAAY,GAAG,MAAM,GAAG,GAAG,CAAC;IAElE,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;gBAAE,SAAS;YAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,IAAI,YAAY,GAAG,GAAG;gBAAE,SAAS;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,uEAAuE;QACvE,oEAAoE;QACpE,mDAAmD;QACnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmF,CAAC;QACxG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,GAAG,cAAc;gBAAE,SAAS;YACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnG,CAAC,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ;gBAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YACxC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YAC/E,wEAAwE;YACxE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;QACpC,CAAC,CAAC,IAAI,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;YACpD,CAAC,CAAC,IAAI,CAAC,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;gBACnD,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -88,7 +88,79 @@ export interface ResourcePlacement {
|
|
|
88
88
|
* figure's top (its bottom for a bottom float). A page without such a
|
|
89
89
|
* column keeps the caption under the figure. Column floats only. */
|
|
90
90
|
captionSide?: boolean;
|
|
91
|
-
|
|
91
|
+
/** Scale a floated picture (bitmap, SVG, a video's poster) down, keeping
|
|
92
|
+
* its proportions, to the room a slot has, instead of moving it on
|
|
93
|
+
* (#626). `'never'`: a float either fits a slot at its size or waits
|
|
94
|
+
* for a later one. `'page'`: a float too tall for the band of a fresh
|
|
95
|
+
* page — the content area less what already stands there: an opener,
|
|
96
|
+
* other floats, footnotes, the float gap — shrinks to that band.
|
|
97
|
+
* `'slot'`: as `'page'`, and a float too tall for a slot of the page it
|
|
98
|
+
* is cited on (or for a fresh page's band beside another float) shrinks
|
|
99
|
+
* to it when it fits there at {@link minScale} or more; the slots are
|
|
100
|
+
* tried in their usual order. A picture with a safe area is cropped
|
|
101
|
+
* within it first. Tables (which split), floated boxes, comic strips,
|
|
102
|
+
* rotated floats and inline embeds are never scaled by it. Default:
|
|
103
|
+
* the type's `defaultPlacement`, then `layout.floatShrink.mode`, then
|
|
104
|
+
* `'never'`. */
|
|
105
|
+
shrink?: FloatShrinkMode;
|
|
106
|
+
/** The smallest scale {@link shrink} sets a picture at, 0 to 1 (default
|
|
107
|
+
* 0.7, then `layout.floatShrink.minScale`). A slot that needs less is
|
|
108
|
+
* passed over; on a fresh page, where the float has nowhere else to go,
|
|
109
|
+
* it is set at this scale and runs past the band. */
|
|
110
|
+
minScale?: number;
|
|
111
|
+
/** The measure of a picture's caption and note when the picture is
|
|
112
|
+
* narrower than its slot (scaled by {@link shrink} or
|
|
113
|
+
* `layout.fitFiguresToPage`, or a bitmap smaller than the column):
|
|
114
|
+
* `'slot'` (the default) keeps the slot's measure; `'body'` sets them
|
|
115
|
+
* as wide as the picture, under it per {@link align}. */
|
|
116
|
+
captionMeasure?: 'slot' | 'body';
|
|
117
|
+
/** Run the text beside the resource (#627): it sits at this side of its
|
|
118
|
+
* column, and the lines beside it are set to the measure left over,
|
|
119
|
+
* {@link wrapGap} clear of its box (caption included), then return to
|
|
120
|
+
* the full measure under it. `'left'` / `'right'` are sides of the body
|
|
121
|
+
* flow, as {@link align}'s (on a right-to-left document's mirrored
|
|
122
|
+
* pages `'left'` is the sheet's right); `'start'` / `'end'` are the
|
|
123
|
+
* same sides by their logical names. Applies to an inline embed
|
|
124
|
+
* (`position: 'here'`, the text after the `::resource` line runs beside
|
|
125
|
+
* it) and to a `span: 'column'` float at the head or foot of one column
|
|
126
|
+
* (the column's first or last lines run beside it); a page-span float,
|
|
127
|
+
* a float across several columns, a side-column float, a rotated one
|
|
128
|
+
* and anything in vertical text keep their whole band. The resource
|
|
129
|
+
* takes {@link width} of the column, or `layout.wrap.defaultWidth`
|
|
130
|
+
* when it sets none. Where the text left beside it would be narrower
|
|
131
|
+
* than `layout.wrap.minTextWidth`, or the resource shorter than
|
|
132
|
+
* `layout.wrap.minLinesBeside` lines, it takes its band whole and a
|
|
133
|
+
* `textWrap` warning says so. Default `'none'`. */
|
|
134
|
+
wrap?: WrapSide;
|
|
135
|
+
/** The space between a wrapped resource's box (caption included) and
|
|
136
|
+
* the text beside it, and under it before the text runs full width
|
|
137
|
+
* again (rounded up to whole grid lines). Default `layout.wrap.gap`,
|
|
138
|
+
* else one body line, the float gap. */
|
|
139
|
+
wrapGap?: Dimension;
|
|
140
|
+
}
|
|
141
|
+
/** The side of its column a resource or a box sits on with text running
|
|
142
|
+
* beside it (see `ResourcePlacement.wrap`, #627). */
|
|
143
|
+
export type WrapSide = 'none' | 'left' | 'right' | 'start' | 'end';
|
|
144
|
+
/** The document's text wrap settings (`LayoutConfig.wrap`, #627). */
|
|
145
|
+
export interface TextWrapConfig {
|
|
146
|
+
/** Default `ResourcePlacement.wrapGap`: the space between a wrapped
|
|
147
|
+
* picture and the text. Default: one body line (the float gap). */
|
|
148
|
+
gap?: Dimension;
|
|
149
|
+
/** The narrowest measure the text beside a wrapped picture may take: a
|
|
150
|
+
* length, or a share of the column (`0.3`). Narrower, the picture takes
|
|
151
|
+
* its band whole (`textWrap` warning). Default 12 em of body text. */
|
|
152
|
+
minTextWidth?: Dimension | number;
|
|
153
|
+
/** The fewest lines of text worth setting beside a picture. A picture
|
|
154
|
+
* shorter than that (gap included) takes its band whole (`textWrap`
|
|
155
|
+
* warning). Default 2. */
|
|
156
|
+
minLinesBeside?: number;
|
|
157
|
+
/** The share of the column a wrapped resource takes when its placement
|
|
158
|
+
* sets no `width`, 0 to 1. Default 0.45. */
|
|
159
|
+
defaultWidth?: number;
|
|
160
|
+
}
|
|
161
|
+
/** How a floated picture is scaled to the room of a slot (see
|
|
162
|
+
* `ResourcePlacement.shrink`). */
|
|
163
|
+
export type FloatShrinkMode = 'never' | 'page' | 'slot';
|
|
92
164
|
/** A user-definable category of resource (e.g. "Figure", "Table"). Drives
|
|
93
165
|
* numbering, caption prefixes, and inline-reference labels. */
|
|
94
166
|
export interface ResourceType {
|
|
@@ -351,8 +423,21 @@ export interface Resource {
|
|
|
351
423
|
bitmap?: {
|
|
352
424
|
fileId: string;
|
|
353
425
|
format: string;
|
|
426
|
+
/** The file's width in pixels (not its print size). */
|
|
354
427
|
width: number;
|
|
428
|
+
/** The file's height in pixels. */
|
|
355
429
|
height: number;
|
|
430
|
+
/** Pixels per inch of the picture at its natural print size (#631):
|
|
431
|
+
* its natural width in layout px is `width × page.dpi / resolution`
|
|
432
|
+
* (the height likewise), and the column still caps it. Absent:
|
|
433
|
+
* `layout.bitmapResolution` decides (by default the pixels are read
|
|
434
|
+
* at `page.dpi`). */
|
|
435
|
+
resolution?: number;
|
|
436
|
+
/** The resolution stored in the file (PNG `pHYs`, JPEG JFIF / EXIF,
|
|
437
|
+
* WebP EXIF; a Word picture's printed extent), as the host read it,
|
|
438
|
+
* horizontal ppi. Used under `layout.bitmapResolution: 'file'`, where
|
|
439
|
+
* 72 and 96 count as unset; shown by the Sandbox. */
|
|
440
|
+
fileResolution?: number;
|
|
356
441
|
};
|
|
357
442
|
/** Present when `kind === 'svg'`. */
|
|
358
443
|
svg?: {
|
|
@@ -756,6 +841,10 @@ export interface PageConfig {
|
|
|
756
841
|
width?: Dimension;
|
|
757
842
|
height?: Dimension;
|
|
758
843
|
margins?: PageMargins;
|
|
844
|
+
/** Layout px per inch: every length is converted at this rate, and a
|
|
845
|
+
* bitmap without a resolution of its own (see `Resource.bitmap.resolution`
|
|
846
|
+
* and `layout.bitmapResolution`) is laid out one pixel per layout px.
|
|
847
|
+
* Default 300. */
|
|
759
848
|
dpi?: number;
|
|
760
849
|
cutLines?: CutLinesConfig;
|
|
761
850
|
baselineGrid?: BaselineGridConfig;
|
|
@@ -857,6 +946,25 @@ export interface LayoutConfig {
|
|
|
857
946
|
* pages are sized for their figures; the HTML viewer, whose pages are as
|
|
858
947
|
* tall as the screen, turns it on. */
|
|
859
948
|
fitFiguresToPage?: boolean;
|
|
949
|
+
/** How a bitmap without its own `resolution` takes its natural print
|
|
950
|
+
* size (#631): `'document'` (default) reads its pixels at `page.dpi`;
|
|
951
|
+
* a number is the ppi of every such bitmap; `'file'` uses the
|
|
952
|
+
* resolution read from the file (`Resource.bitmap.fileResolution`),
|
|
953
|
+
* 72 and 96 counting as unset, else `page.dpi`. The column caps the
|
|
954
|
+
* natural size either way; a smaller picture is never enlarged. */
|
|
955
|
+
bitmapResolution?: BitmapResolution;
|
|
956
|
+
/** The document's default for scaling a floated picture to the room of
|
|
957
|
+
* its slot (#626): `mode` as `ResourcePlacement.shrink`, `minScale` as
|
|
958
|
+
* `ResourcePlacement.minScale` (default 0.7). A resource's placement,
|
|
959
|
+
* then its type's `defaultPlacement`, override it. Default
|
|
960
|
+
* `{ mode: 'never' }`. Unlike {@link fitFiguresToPage}, a hard cap at
|
|
961
|
+
* the content area, this looks at the band the float would take. */
|
|
962
|
+
floatShrink?: FloatShrinkConfig;
|
|
963
|
+
/** Text wrap round a resource or a box narrower than its column (#627):
|
|
964
|
+
* the gap, the narrowest text measure, the fewest lines beside and the
|
|
965
|
+
* default width (see {@link TextWrapConfig}). A resource opts in with
|
|
966
|
+
* `placement.wrap`, a box with its `wrap` attribute. */
|
|
967
|
+
wrap?: TextWrapConfig;
|
|
860
968
|
/** On the closing page of a chapter (and of the document), move the
|
|
861
969
|
* page-wide figures and tables set below the last band of text up to sit
|
|
862
970
|
* one float gap under it, stacked in their order, instead of at the page
|
|
@@ -909,6 +1017,22 @@ export interface LayoutConfig {
|
|
|
909
1017
|
* document's writing mode unless it sets its own. */
|
|
910
1018
|
writingMode?: WritingMode;
|
|
911
1019
|
}
|
|
1020
|
+
/** How bitmaps without a resolution of their own are sized (see
|
|
1021
|
+
* `LayoutConfig.bitmapResolution`): `'document'`, `'file'` or a ppi. */
|
|
1022
|
+
export type BitmapResolution = 'document' | 'file' | number;
|
|
1023
|
+
/** The document default for scaling floated pictures (see
|
|
1024
|
+
* `LayoutConfig.floatShrink`). */
|
|
1025
|
+
export interface FloatShrinkConfig {
|
|
1026
|
+
mode?: FloatShrinkMode;
|
|
1027
|
+
minScale?: number;
|
|
1028
|
+
}
|
|
1029
|
+
/** {@link TextWrapConfig} resolved; `gap` absent is one body line. */
|
|
1030
|
+
export interface ResolvedTextWrapConfig {
|
|
1031
|
+
gap?: Dimension;
|
|
1032
|
+
minTextWidth: Dimension | number;
|
|
1033
|
+
minLinesBeside: number;
|
|
1034
|
+
defaultWidth: number;
|
|
1035
|
+
}
|
|
912
1036
|
/** Where an inline resource keeps the float gap (see
|
|
913
1037
|
* `LayoutConfig.inlineResourceGap`). */
|
|
914
1038
|
export type InlineResourceGap = 'around' | 'above';
|
|
@@ -927,6 +1051,12 @@ export interface ResolvedLayoutConfig {
|
|
|
927
1051
|
lineWidth: Dimension;
|
|
928
1052
|
};
|
|
929
1053
|
fitFiguresToPage: boolean;
|
|
1054
|
+
bitmapResolution: BitmapResolution;
|
|
1055
|
+
floatShrink: {
|
|
1056
|
+
mode: FloatShrinkMode;
|
|
1057
|
+
minScale: number;
|
|
1058
|
+
};
|
|
1059
|
+
wrap: ResolvedTextWrapConfig;
|
|
930
1060
|
hugClosingFloats: boolean;
|
|
931
1061
|
inlineResourceGap: InlineResourceGap;
|
|
932
1062
|
inlineResourceGapInBoxes: boolean;
|
|
@@ -1426,6 +1556,13 @@ export interface VerseConfig {
|
|
|
1426
1556
|
* column (a haiku, a tanka): it moves on whole when it does not fit.
|
|
1427
1557
|
* Default `0`, off. */
|
|
1428
1558
|
keepStanzas?: number;
|
|
1559
|
+
/** A line of verse a little wider than the measure tightens its word
|
|
1560
|
+
* spaces, down to `bodyText.minWordSpacing` of their natural width, and
|
|
1561
|
+
* stays on one line; only a line that does not fit even then turns
|
|
1562
|
+
* over. `false`: every line wider than the measure turns over, as
|
|
1563
|
+
* postext 1.23 set them (configurations stored by 1.23 are read with it
|
|
1564
|
+
* when they hold a poem set line by line). Default `true`. */
|
|
1565
|
+
tighten?: boolean;
|
|
1429
1566
|
}
|
|
1430
1567
|
export interface ResolvedVerseConfig {
|
|
1431
1568
|
layout: 'auto' | 'bayt';
|
|
@@ -1435,6 +1572,7 @@ export interface ResolvedVerseConfig {
|
|
|
1435
1572
|
turnoverMark: string;
|
|
1436
1573
|
stanzaSpace: number;
|
|
1437
1574
|
keepStanzas: number;
|
|
1575
|
+
tighten: boolean;
|
|
1438
1576
|
}
|
|
1439
1577
|
/** What `lineNumbers` counts (#621): `'verse'`, the lines of `:::verse`
|
|
1440
1578
|
* poems (a turnover takes no number); `'all'`, every laid-out line of the
|
|
@@ -1875,14 +2013,50 @@ export interface TableStyleConfig {
|
|
|
1875
2013
|
borderWidth?: Dimension;
|
|
1876
2014
|
/** Inner padding inside each cell. Default `0.375em`. */
|
|
1877
2015
|
cellPadding?: Dimension;
|
|
1878
|
-
/** Which rules to stroke when {@link borders} is on. Default `'grid'`.
|
|
2016
|
+
/** Which rules to stroke when {@link borders} is on. Default `'grid'`.
|
|
2017
|
+
* `'booktabs'` strokes its own widths ({@link heavyRuleWidth},
|
|
2018
|
+
* {@link lightRuleWidth}, {@link spanRuleWidth}) and ignores
|
|
2019
|
+
* {@link borderWidth}. */
|
|
1879
2020
|
rules?: TableRules;
|
|
1880
2021
|
/** Corner radius of the table's outer frame. Default `0` (square). The
|
|
1881
2022
|
* cell fills are clipped to the rounded frame, whatever the rules (with
|
|
1882
2023
|
* `'none'` the fills alone show the rounded shape); the inner rules stay
|
|
1883
2024
|
* straight. A table split across pages rounds the top corners of its
|
|
1884
|
-
* first part and the bottom corners of its last.
|
|
2025
|
+
* first part and the bottom corners of its last. `'booktabs'` rules
|
|
2026
|
+
* have no frame to round: they stay straight (the fills are still
|
|
2027
|
+
* clipped). */
|
|
1885
2028
|
borderRadius?: Dimension;
|
|
2029
|
+
/** `'booktabs'` (#625): width of the rules above the table and under its
|
|
2030
|
+
* last row (LaTeX `\heavyrulewidth`). An `em` value is relative to
|
|
2031
|
+
* {@link bodyFontSize}. Default `0.08em`. */
|
|
2032
|
+
heavyRuleWidth?: Dimension;
|
|
2033
|
+
/** `'booktabs'`: width of the rule under the header rows and of the
|
|
2034
|
+
* group rules (`\lightrulewidth`). An `em` value is relative to
|
|
2035
|
+
* {@link bodyFontSize}. Default `0.05em`. */
|
|
2036
|
+
lightRuleWidth?: Dimension;
|
|
2037
|
+
/** `'booktabs'`: width of the rules under header cells that span several
|
|
2038
|
+
* columns (`\cmidrulewidth`). An `em` value is relative to
|
|
2039
|
+
* {@link bodyFontSize}. Default `0.03em`. */
|
|
2040
|
+
spanRuleWidth?: Dimension;
|
|
2041
|
+
/** `'booktabs'`: the rules under header cells that span more than one
|
|
2042
|
+
* column, above the last header row: shortened at both ends by
|
|
2043
|
+
* {@link spanRuleTrim} so neighbouring rules do not touch
|
|
2044
|
+
* (`'trimmed'`, the default, `\cmidrule(lr)`), across the whole cell
|
|
2045
|
+
* (`'full'`), or none (`'none'`). */
|
|
2046
|
+
spanRules?: TableSpanRules;
|
|
2047
|
+
/** `'booktabs'`: how much a `'trimmed'` span rule is shortened at each
|
|
2048
|
+
* end. An `em` value is relative to {@link bodyFontSize}. Default
|
|
2049
|
+
* `0.5em`. */
|
|
2050
|
+
spanRuleTrim?: Dimension;
|
|
2051
|
+
/** `'booktabs'`: a light rule above every body row that heads a group
|
|
2052
|
+
* (one cell across every column, or all header cells), except one that
|
|
2053
|
+
* opens a page. Default `false`. */
|
|
2054
|
+
groupRules?: boolean;
|
|
2055
|
+
/** `'booktabs'`: the rule that closes a part of a split table that goes
|
|
2056
|
+
* on overleaf: the heavy bottom rule (`'bottom'`), a light rule
|
|
2057
|
+
* (`'light'`, the default: the heavy rule closes only the real last
|
|
2058
|
+
* row), or none (`'none'`). */
|
|
2059
|
+
continuedFootRule?: TableContinuedFootRule;
|
|
1886
2060
|
/** What happens to a table taller than the space a page offers: continue
|
|
1887
2061
|
* it on the following pages (`'split'`, the default), keep only the rows
|
|
1888
2062
|
* that fit (`'clip'`), or leave it out (`'hide'`). See {@link TableOverflow}. */
|
|
@@ -1914,8 +2088,17 @@ export interface ResolvedNamedTableStyleConfig extends ResolvedTableStyleConfig
|
|
|
1914
2088
|
/** Letter case of a table's header cells (`TableStyleConfig.headerTextTransform`). */
|
|
1915
2089
|
export type TableTextTransform = 'none' | 'uppercase';
|
|
1916
2090
|
/** Rule pattern of a table: the full cell grid, horizontal rules only (top
|
|
1917
|
-
* and bottom edge of every row), the outer frame only, or
|
|
1918
|
-
|
|
2091
|
+
* and bottom edge of every row), the outer frame only, none, or the
|
|
2092
|
+
* booktabs pattern of journal tables (#625): a heavy rule above the table
|
|
2093
|
+
* and under its last row, a light rule under the header, short rules
|
|
2094
|
+
* under spanning header cells and no vertical rules. */
|
|
2095
|
+
export type TableRules = 'grid' | 'horizontal' | 'outer' | 'none' | 'booktabs';
|
|
2096
|
+
/** Rules of a `'booktabs'` table under header cells that span several
|
|
2097
|
+
* columns (`TableStyleConfig.spanRules`). */
|
|
2098
|
+
export type TableSpanRules = 'trimmed' | 'full' | 'none';
|
|
2099
|
+
/** What closes a part of a `'booktabs'` table that continues on the next
|
|
2100
|
+
* page (`TableStyleConfig.continuedFootRule`). */
|
|
2101
|
+
export type TableContinuedFootRule = 'bottom' | 'light' | 'none';
|
|
1919
2102
|
/** Behaviour of a table taller than the page: `'split'` breaks it between
|
|
1920
2103
|
* rows and continues on the following pages, repeating the header rows and
|
|
1921
2104
|
* suffixing the caption; `'clip'` keeps the leading rows that fit and drops
|
|
@@ -1944,6 +2127,13 @@ export interface ResolvedTableStyleConfig {
|
|
|
1944
2127
|
cellPadding: Dimension;
|
|
1945
2128
|
rules: TableRules;
|
|
1946
2129
|
borderRadius: Dimension;
|
|
2130
|
+
heavyRuleWidth: Dimension;
|
|
2131
|
+
lightRuleWidth: Dimension;
|
|
2132
|
+
spanRuleWidth: Dimension;
|
|
2133
|
+
spanRules: TableSpanRules;
|
|
2134
|
+
spanRuleTrim: Dimension;
|
|
2135
|
+
groupRules: boolean;
|
|
2136
|
+
continuedFootRule: TableContinuedFootRule;
|
|
1947
2137
|
overflow: TableOverflow;
|
|
1948
2138
|
continuedSuffix: string;
|
|
1949
2139
|
continuesMarkerEnabled: boolean;
|
|
@@ -3258,6 +3448,18 @@ export interface HeadingLevelConfig {
|
|
|
3258
3448
|
* book). The measure narrows by it; a centred heading centres in what is
|
|
3259
3449
|
* left. Default `0`. */
|
|
3260
3450
|
indent?: Dimension;
|
|
3451
|
+
/** Indent of the heading's first line only (#636), measured from
|
|
3452
|
+
* {@link indent} (so the first line starts `indent + firstLineIndent`
|
|
3453
|
+
* in): the lines it wraps onto start at `indent`, as a body paragraph's
|
|
3454
|
+
* turnover lines start at the margin. GB/T 9704 sets every level of
|
|
3455
|
+
* head two cells in with its turnover back at the margin:
|
|
3456
|
+
* `{ value: 2, unit: 'em' }`. `em` is the BODY size, as for `indent`,
|
|
3457
|
+
* so two ems are two cells of the body grid at any heading size. A
|
|
3458
|
+
* numbered heading's number comes after the indent. A centred heading
|
|
3459
|
+
* takes it as a centred body paragraph does: its first line centres in
|
|
3460
|
+
* the room after the indent. A heading overrides it with
|
|
3461
|
+
* `{firstLineIndent=N}` (`0` clears it). Default `0`. */
|
|
3462
|
+
firstLineIndent?: Dimension;
|
|
3261
3463
|
/** 字取り (jidori, JLReq §3.7.3, §4.1): a heading shorter than this many
|
|
3262
3464
|
* of its own characters is spaced out evenly to fill exactly that width
|
|
3263
3465
|
* (`jidori: 3` sets 序章 as 序 章). Applies to a heading that fits one
|
|
@@ -3307,6 +3509,8 @@ export interface ResolvedHeadingLevelConfig {
|
|
|
3307
3509
|
lineSpan?: number;
|
|
3308
3510
|
/** Absent unless set (see {@link HeadingLevelConfig.indent}). */
|
|
3309
3511
|
indent?: Dimension;
|
|
3512
|
+
/** Absent unless set (see {@link HeadingLevelConfig.firstLineIndent}). */
|
|
3513
|
+
firstLineIndent?: Dimension;
|
|
3310
3514
|
/** Absent unless set (see {@link HeadingLevelConfig.jidori}). */
|
|
3311
3515
|
jidori?: number;
|
|
3312
3516
|
/** Absent unless set (see {@link HeadingLevelConfig.dropCap}); a heading
|
|
@@ -4993,7 +5197,16 @@ export interface ElementBoxStyle {
|
|
|
4993
5197
|
* mid-word only when what the boundary leaves, that punctuation dropped,
|
|
4994
5198
|
* is less than half of what fits (a long word, a URL). A no-break space
|
|
4995
5199
|
* or hyphen (U+2011) is no boundary. `'ellipsis-middle'` cuts anywhere but
|
|
4996
|
-
* drops the spaces beside it.
|
|
5200
|
+
* drops the spaces beside it.
|
|
5201
|
+
*
|
|
5202
|
+
* An element that sets none takes its slot's default (#628): `'wrap'` in a
|
|
5203
|
+
* heading design (`advancedDesign.slot`, an opener or an in-column title)
|
|
5204
|
+
* and on a part page (`parts.design`, `parts.versoDesign`), where a long
|
|
5205
|
+
* title should break onto more lines; `'ellipsis-end'` in a running head
|
|
5206
|
+
* or folio (`header`, `footer`, a heading style's own) and in a contents
|
|
5207
|
+
* part row (`toc.parts.design`, whose row has a fixed height). A line cut
|
|
5208
|
+
* by an ellipsis, or clipped with ink past the box, is reported as a
|
|
5209
|
+
* `designTextTruncated` content warning. */
|
|
4997
5210
|
export type TextOverflow = 'wrap' | 'ellipsis-start' | 'ellipsis-end' | 'ellipsis-middle' | 'clip';
|
|
4998
5211
|
/** Outline drawn around the glyphs of a design text (a hollow display
|
|
4999
5212
|
* number, a title that stands off a photograph). */
|
|
@@ -5074,7 +5287,11 @@ export interface DesignTextElement {
|
|
|
5074
5287
|
* number, a malformed dimension) sets the default leading. */
|
|
5075
5288
|
lineHeight?: number | Dimension;
|
|
5076
5289
|
letterSpacing?: Dimension;
|
|
5077
|
-
|
|
5290
|
+
/** What a line wider than the element's room does (see
|
|
5291
|
+
* {@link TextOverflow}). Unset, the slot decides: `'wrap'` in heading
|
|
5292
|
+
* and part designs, `'ellipsis-end'` in running heads, folios and
|
|
5293
|
+
* contents part rows. */
|
|
5294
|
+
overflow?: TextOverflow;
|
|
5078
5295
|
/** When true, break long words at syllable boundaries while wrapping.
|
|
5079
5296
|
* Uses the document's active hyphenation locale. */
|
|
5080
5297
|
hyphenate?: boolean;
|
|
@@ -5197,8 +5414,10 @@ export interface DesignSlot {
|
|
|
5197
5414
|
/** Array order = paint order: first = back, last = front. */
|
|
5198
5415
|
elements: DesignElement[];
|
|
5199
5416
|
}
|
|
5200
|
-
export interface ResolvedDesignTextElement extends Omit<DesignTextElement, 'fontFamily' | 'fontWeight' | 'italic' | 'color' | 'align' | 'verticalAlign' | 'lineHeight' | 'parity'> {
|
|
5417
|
+
export interface ResolvedDesignTextElement extends Omit<DesignTextElement, 'fontFamily' | 'fontWeight' | 'italic' | 'color' | 'align' | 'verticalAlign' | 'lineHeight' | 'parity' | 'overflow'> {
|
|
5201
5418
|
parity: PageParity;
|
|
5419
|
+
/** The element's own `overflow`, else its slot's default. */
|
|
5420
|
+
overflow: TextOverflow;
|
|
5202
5421
|
fontFamily: string;
|
|
5203
5422
|
fontWeight: number;
|
|
5204
5423
|
italic: boolean;
|