postext 1.22.3 → 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.d.ts +2 -0
- package/dist/__tests__/codeBlocks.test.d.ts.map +1 -0
- package/dist/__tests__/codeBlocks.test.js +550 -0
- package/dist/__tests__/codeBlocks.test.js.map +1 -0
- 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 +30 -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.d.ts +2 -0
- package/dist/__tests__/hardBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/hardBreaks.test.js +226 -0
- package/dist/__tests__/hardBreaks.test.js.map +1 -0
- 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__/lineNumbers.test.d.ts +2 -0
- package/dist/__tests__/lineNumbers.test.d.ts.map +1 -0
- package/dist/__tests__/lineNumbers.test.js +304 -0
- package/dist/__tests__/lineNumbers.test.js.map +1 -0
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/mathSizeMigration.test.js.map +1 -1
- package/dist/__tests__/paragraphDropCap.test.d.ts +2 -0
- package/dist/__tests__/paragraphDropCap.test.d.ts.map +1 -0
- package/dist/__tests__/paragraphDropCap.test.js +442 -0
- package/dist/__tests__/paragraphDropCap.test.js.map +1 -0
- package/dist/__tests__/paragraphStyleIndent.test.js +26 -2
- package/dist/__tests__/paragraphStyleIndent.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/paragraphStyleFaces.test.js +7 -1
- package/dist/__tests__/pipeline/paragraphStyleFaces.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__/tabStops.test.d.ts +2 -0
- package/dist/__tests__/tabStops.test.d.ts.map +1 -0
- package/dist/__tests__/tabStops.test.js +394 -0
- package/dist/__tests__/tabStops.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.d.ts +2 -0
- package/dist/__tests__/verseLines.test.d.ts.map +1 -0
- package/dist/__tests__/verseLines.test.js +505 -0
- package/dist/__tests__/verseLines.test.js.map +1 -0
- 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 +119 -8
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +395 -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 +45 -9
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +3 -0
- 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 +15 -1
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/cjkMarks.js +1 -1
- package/dist/cjkMarks.js.map +1 -1
- package/dist/code/highlight.d.ts +34 -0
- package/dist/code/highlight.d.ts.map +1 -0
- package/dist/code/highlight.js +406 -0
- package/dist/code/highlight.js.map +1 -0
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +220 -4
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +25 -0
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +7 -0
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/codeStyle.d.ts +29 -0
- package/dist/defaults/codeStyle.d.ts.map +1 -0
- package/dist/defaults/codeStyle.js +284 -0
- package/dist/defaults/codeStyle.js.map +1 -0
- package/dist/defaults/dropCap.d.ts +49 -0
- package/dist/defaults/dropCap.d.ts.map +1 -0
- package/dist/defaults/dropCap.js +66 -0
- package/dist/defaults/dropCap.js.map +1 -0
- 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 +26 -4
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +4 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +20 -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/lineNumbers.d.ts +19 -0
- package/dist/defaults/lineNumbers.d.ts.map +1 -0
- package/dist/defaults/lineNumbers.js +101 -0
- package/dist/defaults/lineNumbers.js.map +1 -0
- package/dist/defaults/paragraphStyles.d.ts.map +1 -1
- package/dist/defaults/paragraphStyles.js +20 -0
- package/dist/defaults/paragraphStyles.js.map +1 -1
- package/dist/defaults/parts.js +4 -4
- package/dist/defaults/parts.js.map +1 -1
- package/dist/defaults/tabStops.d.ts +29 -0
- package/dist/defaults/tabStops.d.ts.map +1 -0
- package/dist/defaults/tabStops.js +94 -0
- package/dist/defaults/tabStops.js.map +1 -0
- 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 +11 -0
- package/dist/defaults/verse.d.ts.map +1 -0
- package/dist/defaults/verse.js +57 -0
- package/dist/defaults/verse.js.map +1 -0
- 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/fonts/usage.d.ts +7 -0
- package/dist/fonts/usage.d.ts.map +1 -1
- package/dist/fonts/usage.js +71 -0
- package/dist/fonts/usage.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 +107 -15
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +18 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- 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 +14 -9
- package/dist/measure/bidiLines.js.map +1 -1
- package/dist/measure/cache.js +2 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +10 -6
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/hardBreaks.d.ts +46 -0
- package/dist/measure/hardBreaks.d.ts.map +1 -0
- package/dist/measure/hardBreaks.js +228 -0
- package/dist/measure/hardBreaks.js.map +1 -0
- package/dist/measure/index.d.ts +4 -3
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +5 -4
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/leader.d.ts +20 -0
- package/dist/measure/leader.d.ts.map +1 -0
- package/dist/measure/leader.js +46 -0
- package/dist/measure/leader.js.map +1 -0
- package/dist/measure/links.js +1 -1
- package/dist/measure/links.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +23 -26
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts +19 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +215 -39
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/tabs.d.ts +103 -0
- package/dist/measure/tabs.d.ts.map +1 -0
- package/dist/measure/tabs.js +123 -0
- package/dist/measure/tabs.js.map +1 -0
- package/dist/measure/types.d.ts +72 -2
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js +87 -3
- package/dist/measure/types.js.map +1 -1
- package/dist/parse/blockParser.d.ts +13 -6
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +457 -87
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/codeFence.d.ts +18 -0
- package/dist/parse/codeFence.d.ts.map +1 -0
- package/dist/parse/codeFence.js +52 -0
- package/dist/parse/codeFence.js.map +1 -0
- 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/indexMarks.d.ts +3 -1
- package/dist/parse/indexMarks.d.ts.map +1 -1
- package/dist/parse/indexMarks.js +22 -2
- package/dist/parse/indexMarks.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +50 -0
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +94 -0
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +65 -1
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +144 -9
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +629 -47
- 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 +74 -2
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +3 -0
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +7 -2
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/buildMeasurement.js +1 -1
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +33 -2
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/chips.d.ts.map +1 -1
- package/dist/pipeline/chips.js +4 -0
- package/dist/pipeline/chips.js.map +1 -1
- package/dist/pipeline/codeBlocks.d.ts +38 -0
- package/dist/pipeline/codeBlocks.d.ts.map +1 -0
- package/dist/pipeline/codeBlocks.js +146 -0
- package/dist/pipeline/codeBlocks.js.map +1 -0
- package/dist/pipeline/codeInline.d.ts +22 -0
- package/dist/pipeline/codeInline.d.ts.map +1 -0
- package/dist/pipeline/codeInline.js +93 -0
- package/dist/pipeline/codeInline.js.map +1 -0
- package/dist/pipeline/codeLines.d.ts +91 -0
- package/dist/pipeline/codeLines.d.ts.map +1 -0
- package/dist/pipeline/codeLines.js +399 -0
- package/dist/pipeline/codeLines.js.map +1 -0
- 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/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +8 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +25 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +173 -19
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +9 -2
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/dropCap.d.ts +128 -0
- package/dist/pipeline/dropCap.d.ts.map +1 -0
- package/dist/pipeline/dropCap.js +412 -0
- package/dist/pipeline/dropCap.js.map +1 -0
- 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/hardBreaks.d.ts +19 -0
- package/dist/pipeline/hardBreaks.d.ts.map +1 -0
- package/dist/pipeline/hardBreaks.js +36 -0
- package/dist/pipeline/hardBreaks.js.map +1 -0
- package/dist/pipeline/headerFooter.d.ts +4 -1
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +23 -6
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/lineNumbers.d.ts +37 -0
- package/dist/pipeline/lineNumbers.d.ts.map +1 -0
- package/dist/pipeline/lineNumbers.js +441 -0
- package/dist/pipeline/lineNumbers.js.map +1 -0
- package/dist/pipeline/measureContentBlock.d.ts +38 -5
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +284 -69
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts +1 -1
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +24 -2
- package/dist/pipeline/partPalette.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 +18 -2
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +23 -8
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/pipeline/tabs.d.ts +35 -0
- package/dist/pipeline/tabs.d.ts.map +1 -0
- package/dist/pipeline/tabs.js +99 -0
- package/dist/pipeline/tabs.js.map +1 -0
- 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/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +3 -38
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/pipeline/verseLines.d.ts +98 -0
- package/dist/pipeline/verseLines.d.ts.map +1 -0
- package/dist/pipeline/verseLines.js +293 -0
- package/dist/pipeline/verseLines.js.map +1 -0
- package/dist/preflight.d.ts +46 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +43 -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 +787 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +367 -9
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +9 -2
- package/dist/vdt.js.map +1 -1
- package/dist/word/docxRead.d.ts.map +1 -1
- package/dist/word/docxRead.js +15 -0
- package/dist/word/docxRead.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/inline.d.ts +6 -1
- package/dist/word/inline.d.ts.map +1 -1
- package/dist/word/inline.js +35 -1
- package/dist/word/inline.js.map +1 -1
- package/dist/word/model.d.ts +14 -0
- package/dist/word/model.d.ts.map +1 -1
- package/dist/word/model.js.map +1 -1
- package/dist/word/template.d.ts +12 -3
- package/dist/word/template.d.ts.map +1 -1
- package/dist/word/template.js +13 -3
- package/dist/word/template.js.map +1 -1
- package/dist/word/toDocx.d.ts.map +1 -1
- package/dist/word/toDocx.js +52 -8
- package/dist/word/toDocx.js.map +1 -1
- package/dist/word/toMarkdown.d.ts +15 -1
- package/dist/word/toMarkdown.d.ts.map +1 -1
- package/dist/word/toMarkdown.js +133 -7
- package/dist/word/toMarkdown.js.map +1 -1
- package/dist/word/word.test.js +124 -2
- package/dist/word/word.test.js.map +1 -1
- package/dist/worker/fonts.d.ts +2 -1
- package/dist/worker/fonts.d.ts.map +1 -1
- package/dist/worker/fonts.js +6 -2
- package/dist/worker/fonts.js.map +1 -1
- package/package.json +1 -1
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?: {
|
|
@@ -604,6 +689,13 @@ export interface LayoutContinuation {
|
|
|
604
689
|
* numbered through the book (`footnotes.numbering: 'document'`) go on
|
|
605
690
|
* from it. */
|
|
606
691
|
footnoteNumber?: number;
|
|
692
|
+
/** The number of the last line the preceding content counted (#621), so
|
|
693
|
+
* line numbers counted through the book (`lineNumbers.restart:
|
|
694
|
+
* 'document'`) go on from it. `continuationAfter` counts the lines of
|
|
695
|
+
* verse from the text; a count of every line (`count: 'all'`) depends
|
|
696
|
+
* on the layout, and the host takes it from the previous chapter's
|
|
697
|
+
* `VDTDocument.lastLineNumber`. */
|
|
698
|
+
lineNumber?: number;
|
|
607
699
|
/** The `:::part` in effect at the end of the preceding content — the last
|
|
608
700
|
* part opened, whether or not its fence has closed — so a chapter laid
|
|
609
701
|
* out on its own keeps `{partTitle}` / `{partNumber}` and the part's
|
|
@@ -749,6 +841,10 @@ export interface PageConfig {
|
|
|
749
841
|
width?: Dimension;
|
|
750
842
|
height?: Dimension;
|
|
751
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. */
|
|
752
848
|
dpi?: number;
|
|
753
849
|
cutLines?: CutLinesConfig;
|
|
754
850
|
baselineGrid?: BaselineGridConfig;
|
|
@@ -850,6 +946,25 @@ export interface LayoutConfig {
|
|
|
850
946
|
* pages are sized for their figures; the HTML viewer, whose pages are as
|
|
851
947
|
* tall as the screen, turns it on. */
|
|
852
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;
|
|
853
968
|
/** On the closing page of a chapter (and of the document), move the
|
|
854
969
|
* page-wide figures and tables set below the last band of text up to sit
|
|
855
970
|
* one float gap under it, stacked in their order, instead of at the page
|
|
@@ -902,6 +1017,22 @@ export interface LayoutConfig {
|
|
|
902
1017
|
* document's writing mode unless it sets its own. */
|
|
903
1018
|
writingMode?: WritingMode;
|
|
904
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
|
+
}
|
|
905
1036
|
/** Where an inline resource keeps the float gap (see
|
|
906
1037
|
* `LayoutConfig.inlineResourceGap`). */
|
|
907
1038
|
export type InlineResourceGap = 'around' | 'above';
|
|
@@ -920,6 +1051,12 @@ export interface ResolvedLayoutConfig {
|
|
|
920
1051
|
lineWidth: Dimension;
|
|
921
1052
|
};
|
|
922
1053
|
fitFiguresToPage: boolean;
|
|
1054
|
+
bitmapResolution: BitmapResolution;
|
|
1055
|
+
floatShrink: {
|
|
1056
|
+
mode: FloatShrinkMode;
|
|
1057
|
+
minScale: number;
|
|
1058
|
+
};
|
|
1059
|
+
wrap: ResolvedTextWrapConfig;
|
|
923
1060
|
hugClosingFloats: boolean;
|
|
924
1061
|
inlineResourceGap: InlineResourceGap;
|
|
925
1062
|
inlineResourceGapInBoxes: boolean;
|
|
@@ -1154,6 +1291,28 @@ export interface BodyTextConfig {
|
|
|
1154
1291
|
* `pinLegacyHyphenBreaks`). Applies to the running text, headings, lists,
|
|
1155
1292
|
* blockquotes and boxes. */
|
|
1156
1293
|
breakAfterHyphens?: boolean;
|
|
1294
|
+
/** Read a backslash at the end of a source line, and `\\` before a space,
|
|
1295
|
+
* as a forced line break inside a paragraph, a quotation or a list item
|
|
1296
|
+
* (CommonMark's hard break, #620): the next words start a new line
|
|
1297
|
+
* of the same paragraph, and the line before the break is set at its
|
|
1298
|
+
* natural width, as a paragraph's last line is. A backslash that ends
|
|
1299
|
+
* the paragraph prints. Two trailing spaces are no break (they are
|
|
1300
|
+
* invisible, and editors leave them behind). Default `true`. `false`
|
|
1301
|
+
* keeps postext 1.22's reading: the backslashes print and the lines
|
|
1302
|
+
* join with a space (configurations stored before `configVersion` 9
|
|
1303
|
+
* whose text has such a backslash read with it, see
|
|
1304
|
+
* `pinLegacyHardBreaks`). Titles (`\\` in a heading), captions, notes
|
|
1305
|
+
* and table cells break at `\\` either way. */
|
|
1306
|
+
hardLineBreaks?: boolean;
|
|
1307
|
+
/** Tab stops of every paragraph, list item and quotation (#622): where a
|
|
1308
|
+
* tab (`:tab`, or a tab character in the text) sends the words after
|
|
1309
|
+
* it. A paragraph style or a callout body that sets its own replaces
|
|
1310
|
+
* them. Unset: none; a tab character is then a word space, as before. */
|
|
1311
|
+
tabStops?: TabStop[];
|
|
1312
|
+
/** Default stops every `tabInterval` past the last of {@link tabStops}
|
|
1313
|
+
* (#622), from the start of the measure. Unset: a tab past the last stop
|
|
1314
|
+
* is a word space. */
|
|
1315
|
+
tabInterval?: Dimension;
|
|
1157
1316
|
/** Start the line after a break at a compound's hyphen with a hyphen too:
|
|
1158
1317
|
* "vencer-" | "-se", as Portuguese spelling and the Spanish Academy's
|
|
1159
1318
|
* 2010 rules ask ("léxico-" | "-semántico"), so the reader knows the
|
|
@@ -1170,6 +1329,9 @@ export interface BodyTextConfig {
|
|
|
1170
1329
|
* postext 1.4 gave them: grey (`#666666`), italic, the body's first-line
|
|
1171
1330
|
* indent and no side indent. */
|
|
1172
1331
|
blockquote?: BlockquoteConfig;
|
|
1332
|
+
/** How `:::verse` poems in the line layout are set (#620): each fence
|
|
1333
|
+
* attribute of the same name overrides the setting for its poem. */
|
|
1334
|
+
verse?: VerseConfig;
|
|
1173
1335
|
/** When true, discourage a paragraph from ending with fewer than `orphanMinLines`
|
|
1174
1336
|
* lines at the top of the next column. Soft (penalty-based). Default true. */
|
|
1175
1337
|
avoidOrphans?: boolean;
|
|
@@ -1357,6 +1519,359 @@ export interface BlockquoteConfig {
|
|
|
1357
1519
|
* the body's `firstLineIndent`. */
|
|
1358
1520
|
firstLineIndent?: Dimension;
|
|
1359
1521
|
}
|
|
1522
|
+
/** How a turnover of verse is set (#620): `'hang'` on a line of its own,
|
|
1523
|
+
* indented from the line's start; `'right'` flush with the end side,
|
|
1524
|
+
* behind an opening bracket (`turnoverMark`), the custom of English and
|
|
1525
|
+
* Spanish editions of poetry. */
|
|
1526
|
+
export type VerseTurnover = 'hang' | 'right';
|
|
1527
|
+
/** The defaults of `:::verse` poems (#620). A poem's fence names any of
|
|
1528
|
+
* them for itself (`:::verse{indentStep=1em turnover=right}`). */
|
|
1529
|
+
export interface VerseConfig {
|
|
1530
|
+
/** How a poem whose fence names no `layout` is set. `'auto'` (default):
|
|
1531
|
+
* as bayts (#378) when a line carries a hemistich separator (`||`, a
|
|
1532
|
+
* spaced `\\`), line by line otherwise. `'bayt'`: as bayts always, a
|
|
1533
|
+
* poem with no separator as centred single hemistichs, as postext 1.22
|
|
1534
|
+
* set it (configurations stored before #620 are read with it when they
|
|
1535
|
+
* hold such a poem). */
|
|
1536
|
+
layout?: 'auto' | 'bayt';
|
|
1537
|
+
/** The width of one leading space of a line of verse (a tab counts four,
|
|
1538
|
+
* an ideographic space two); `em` is the poem's size. Default `0.5em`:
|
|
1539
|
+
* two spaces indent a line one em. */
|
|
1540
|
+
indentStep?: Dimension;
|
|
1541
|
+
/** How a line wider than the measure turns over. Default `'hang'`. */
|
|
1542
|
+
turnover?: VerseTurnover;
|
|
1543
|
+
/** The indent of a hanging turnover, from its line's own start, when
|
|
1544
|
+
* the poem's paragraph style sets no `hangingIndent`; `em` is the
|
|
1545
|
+
* poem's size. Default `2em`. */
|
|
1546
|
+
hang?: Dimension;
|
|
1547
|
+
/** The mark before a turnover set flush right (`turnover: 'right'`).
|
|
1548
|
+
* Default `[`. */
|
|
1549
|
+
turnoverMark?: string;
|
|
1550
|
+
/** The space between two stanzas, in lines of the poem's leading. On
|
|
1551
|
+
* the baseline grid it comes out a whole number of grid lines (a
|
|
1552
|
+
* paragraph style with `snapToGrid: false` keeps it exact). Default
|
|
1553
|
+
* `1`. */
|
|
1554
|
+
stanzaSpace?: number;
|
|
1555
|
+
/** Keep any stanza of this many lines of verse or fewer whole in one
|
|
1556
|
+
* column (a haiku, a tanka): it moves on whole when it does not fit.
|
|
1557
|
+
* Default `0`, off. */
|
|
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;
|
|
1566
|
+
}
|
|
1567
|
+
export interface ResolvedVerseConfig {
|
|
1568
|
+
layout: 'auto' | 'bayt';
|
|
1569
|
+
indentStep: Dimension;
|
|
1570
|
+
turnover: VerseTurnover;
|
|
1571
|
+
hang: Dimension;
|
|
1572
|
+
turnoverMark: string;
|
|
1573
|
+
stanzaSpace: number;
|
|
1574
|
+
keepStanzas: number;
|
|
1575
|
+
tighten: boolean;
|
|
1576
|
+
}
|
|
1577
|
+
/** What `lineNumbers` counts (#621): `'verse'`, the lines of `:::verse`
|
|
1578
|
+
* poems (a turnover takes no number); `'all'`, every laid-out line of the
|
|
1579
|
+
* body text — paragraphs, list items, quotations and verse. */
|
|
1580
|
+
export type LineNumbersCount = 'verse' | 'all';
|
|
1581
|
+
/** Where the line count starts again (#621): never (`'document'`, which
|
|
1582
|
+
* runs on through the chapters of a book), at every level-1 heading
|
|
1583
|
+
* (`'chapter'`), at every level-1 or level-2 heading (`'section'`), on
|
|
1584
|
+
* every page (`'page'`) or at every `:::verse` poem (`'poem'`). */
|
|
1585
|
+
export type LineNumbersRestart = 'document' | 'chapter' | 'section' | 'page' | 'poem';
|
|
1586
|
+
/** The side of the text the numbers stand on (#621): the outer margin
|
|
1587
|
+
* (away from the spine: right on a recto, left on a verso), the inner
|
|
1588
|
+
* one, the physical `'left'` or `'right'`, the start or end side of the
|
|
1589
|
+
* document's direction (`'start'` is the right of a right-to-left
|
|
1590
|
+
* book), or the side column of a one-and-a-half layout (`'side'`, set
|
|
1591
|
+
* flush with its edge next to the text). */
|
|
1592
|
+
export type LineNumbersPosition = 'outer' | 'inner' | 'left' | 'right' | 'start' | 'end' | 'side';
|
|
1593
|
+
/** Where the numbers of a page of two or more text columns go (#621):
|
|
1594
|
+
* beside every column on the {@link LineNumbersPosition} side (`'each'`),
|
|
1595
|
+
* in the gutters (`'gutter'`: the first column's on its right, the
|
|
1596
|
+
* others' on their left) or on the outer edges of the first and last
|
|
1597
|
+
* columns (`'outer-edges'`, columns between them as `'each'`). */
|
|
1598
|
+
export type LineNumbersMultiColumn = 'each' | 'gutter' | 'outer-edges';
|
|
1599
|
+
/** Line numbers in the margin (#621): every Nth line of the text gets its
|
|
1600
|
+
* number beside it, as critical editions, poetry, legal texts and
|
|
1601
|
+
* line-referenced school texts print them. The numbers are painted on
|
|
1602
|
+
* the line's baseline and never move a line. Off unless `enabled`. */
|
|
1603
|
+
export interface LineNumbersConfig {
|
|
1604
|
+
/** Default `false`. */
|
|
1605
|
+
enabled?: boolean;
|
|
1606
|
+
/** What is counted. Default `'verse'`. */
|
|
1607
|
+
count?: LineNumbersCount;
|
|
1608
|
+
/** Print the number of every Nth line (the multiples of N). Default
|
|
1609
|
+
* `5`; a `:::verse` fence sets its own with `interval=N`. */
|
|
1610
|
+
interval?: number;
|
|
1611
|
+
/** Also print the number of the first line after each restart. Default
|
|
1612
|
+
* `false`. */
|
|
1613
|
+
numberFirst?: boolean;
|
|
1614
|
+
/** Where the count starts again. Default `'poem'` when {@link count} is
|
|
1615
|
+
* `'verse'`, `'page'` when it is `'all'`. `:::numbering{lines=N}`
|
|
1616
|
+
* restarts it anywhere. */
|
|
1617
|
+
restart?: LineNumbersRestart;
|
|
1618
|
+
/** The number of the first line after a restart. Default `1`. */
|
|
1619
|
+
startAt?: number;
|
|
1620
|
+
/** Default `'outer'`. */
|
|
1621
|
+
position?: LineNumbersPosition;
|
|
1622
|
+
/** Pages of two or more text columns. Default `'outer-edges'`. */
|
|
1623
|
+
multiColumn?: LineNumbersMultiColumn;
|
|
1624
|
+
/** The distance from the column's edge to the number; `em` is the
|
|
1625
|
+
* number's size. Default `1em`. Not used with `position: 'side'`, where
|
|
1626
|
+
* the number stands flush with the side column's edge. */
|
|
1627
|
+
gap?: Dimension;
|
|
1628
|
+
/** How a number aligns: `'auto'` flush toward the text (right-aligned
|
|
1629
|
+
* in a left margin, left-aligned in a right one), `'left'` or
|
|
1630
|
+
* `'right'` within the width of the widest number of the page. Default
|
|
1631
|
+
* `'auto'`. */
|
|
1632
|
+
align?: 'auto' | 'left' | 'right';
|
|
1633
|
+
/** Default: the body font family. */
|
|
1634
|
+
fontFamily?: string;
|
|
1635
|
+
/** Default: 0.8 of the body font size. */
|
|
1636
|
+
fontSize?: Dimension;
|
|
1637
|
+
/** Default: the body font weight. */
|
|
1638
|
+
fontWeight?: number;
|
|
1639
|
+
/** Default `false`. */
|
|
1640
|
+
italic?: boolean;
|
|
1641
|
+
/** Default: the body text colour. A palette-linked colour follows part
|
|
1642
|
+
* and section palettes. */
|
|
1643
|
+
color?: ColorValue;
|
|
1644
|
+
/** The numbering format, in any spelling a list or a page number takes
|
|
1645
|
+
* (`decimal`, `lower-roman`, `arabic-indic`, `一`…). Default decimal,
|
|
1646
|
+
* in the document's digits (`numerals`). */
|
|
1647
|
+
format?: string;
|
|
1648
|
+
}
|
|
1649
|
+
export interface ResolvedLineNumbersConfig {
|
|
1650
|
+
enabled: boolean;
|
|
1651
|
+
count: LineNumbersCount;
|
|
1652
|
+
interval: number;
|
|
1653
|
+
numberFirst: boolean;
|
|
1654
|
+
restart: LineNumbersRestart;
|
|
1655
|
+
startAt: number;
|
|
1656
|
+
position: LineNumbersPosition;
|
|
1657
|
+
multiColumn: LineNumbersMultiColumn;
|
|
1658
|
+
gap: Dimension;
|
|
1659
|
+
align: 'auto' | 'left' | 'right';
|
|
1660
|
+
fontFamily: string;
|
|
1661
|
+
fontSize: Dimension;
|
|
1662
|
+
fontWeight: number;
|
|
1663
|
+
italic: boolean;
|
|
1664
|
+
color: ColorValue;
|
|
1665
|
+
/** As written; unset for decimal. */
|
|
1666
|
+
format?: string;
|
|
1667
|
+
}
|
|
1668
|
+
/** The kinds of token a code listing is coloured by (#624): what the
|
|
1669
|
+
* built-in tokenizer and a registered highlighter
|
|
1670
|
+
* (`registerCodeHighlighter`) name, and what `codeStyle.tokens` colours.
|
|
1671
|
+
* `prompt` and `output` are a shell session's (`console`): the prompt and
|
|
1672
|
+
* what the program prints. */
|
|
1673
|
+
export type CodeTokenKind = 'keyword' | 'string' | 'number' | 'comment' | 'function' | 'type' | 'operator' | 'punctuation' | 'variable' | 'meta' | 'prompt' | 'output';
|
|
1674
|
+
/** How a code line wider than its box is set (#624): `'wrap'` turns it
|
|
1675
|
+
* over, `'shrink'` sets the whole listing smaller, `'clip'` cuts it at the
|
|
1676
|
+
* box's inner edge. */
|
|
1677
|
+
export type CodeOverflow = 'wrap' | 'shrink' | 'clip';
|
|
1678
|
+
/** The look of one kind of token. Unset fields keep the listing's own. */
|
|
1679
|
+
export interface CodeTokenStyle {
|
|
1680
|
+
color?: ColorValue;
|
|
1681
|
+
bold?: boolean;
|
|
1682
|
+
italic?: boolean;
|
|
1683
|
+
}
|
|
1684
|
+
/** Inline code (`` `x` ``) set in a code face (#624). The span is set as
|
|
1685
|
+
* one unit, as a chip is: it never breaks across lines. */
|
|
1686
|
+
export interface InlineCodeStyleConfig {
|
|
1687
|
+
/** Default: `codeStyle.fontFamily`. */
|
|
1688
|
+
fontFamily?: string;
|
|
1689
|
+
/** Size; `em` is the surrounding text's. Default `0.9em`. */
|
|
1690
|
+
fontSize?: Dimension;
|
|
1691
|
+
/** Default: the surrounding text's colour. */
|
|
1692
|
+
color?: ColorValue;
|
|
1693
|
+
bold?: boolean;
|
|
1694
|
+
italic?: boolean;
|
|
1695
|
+
/** A fill behind the span. Default none. */
|
|
1696
|
+
background?: ColorValue;
|
|
1697
|
+
/** Outline colour. Default none. */
|
|
1698
|
+
borderColor?: ColorValue;
|
|
1699
|
+
/** Outline width. Default `0.5pt` when a border colour is set. */
|
|
1700
|
+
borderWidth?: Dimension;
|
|
1701
|
+
/** Corner radius; `em` is the span's size. Default `0.2em`. */
|
|
1702
|
+
borderRadius?: Dimension;
|
|
1703
|
+
/** Room left and right of the text inside the fill; `em` is the span's
|
|
1704
|
+
* size. Default `0.2em` with a fill or a border, `0` without. */
|
|
1705
|
+
paddingX?: Dimension;
|
|
1706
|
+
/** Room above and below the text band; paints outside the line box.
|
|
1707
|
+
* Default `0.1em`. */
|
|
1708
|
+
paddingY?: Dimension;
|
|
1709
|
+
}
|
|
1710
|
+
/** Code listings (#624): ```` ``` ```` and `~~~` fences, and indented code
|
|
1711
|
+
* behind {@link indentedCode}, set line by line in a box. */
|
|
1712
|
+
export interface CodeStyleConfig {
|
|
1713
|
+
/** Read fences as code blocks. Default `true`; `false` reads a fence's
|
|
1714
|
+
* lines as Markdown, as postext 1.22 did (stored documents written
|
|
1715
|
+
* before #624 get it, see `pinLegacyCodeBlocks`). */
|
|
1716
|
+
blocks?: boolean;
|
|
1717
|
+
/** Read a run of lines indented by four spaces (or a tab) after a blank
|
|
1718
|
+
* line as a code block. Default `false`: Postext text often indents
|
|
1719
|
+
* with spaces, and nested lists read leading spaces. */
|
|
1720
|
+
indentedCode?: boolean;
|
|
1721
|
+
/** Default `'Source Code Pro'`. */
|
|
1722
|
+
fontFamily?: string;
|
|
1723
|
+
/** `em` is the body's size. Default `0.85em`. */
|
|
1724
|
+
fontSize?: Dimension;
|
|
1725
|
+
fontWeight?: number;
|
|
1726
|
+
/** Weight of bold tokens. Default `700`. */
|
|
1727
|
+
boldFontWeight?: number;
|
|
1728
|
+
/** Leading of the code lines; `em` is the code's size. Default: the
|
|
1729
|
+
* body's baseline grid line. */
|
|
1730
|
+
lineHeight?: Dimension;
|
|
1731
|
+
/** The text after a listing goes back to the baseline grid. Default
|
|
1732
|
+
* `true`; `false` keeps the exact `marginBottom`. */
|
|
1733
|
+
snapToGrid?: boolean;
|
|
1734
|
+
/** Default: the body text colour. */
|
|
1735
|
+
color?: ColorValue;
|
|
1736
|
+
/** Default `true`. */
|
|
1737
|
+
backgroundEnabled?: boolean;
|
|
1738
|
+
/** Default `#f4f4f4`. */
|
|
1739
|
+
background?: ColorValue;
|
|
1740
|
+
/** Default `0.6em` on every side. */
|
|
1741
|
+
padding?: CalloutPaddingConfig;
|
|
1742
|
+
/** Default off, `#cccccc`, `0.5pt`. */
|
|
1743
|
+
border?: CalloutBorderConfig;
|
|
1744
|
+
/** Default `0`. */
|
|
1745
|
+
borderRadius?: Dimension;
|
|
1746
|
+
/** Default `0.75em`. */
|
|
1747
|
+
marginTop?: Dimension;
|
|
1748
|
+
/** Default `0.75em`. */
|
|
1749
|
+
marginBottom?: Dimension;
|
|
1750
|
+
/** Default `'column'`; a fence sets its own with `span=page`. */
|
|
1751
|
+
span?: 'column' | 'page';
|
|
1752
|
+
/** Columns a tab advances to. Default `4`. */
|
|
1753
|
+
tabSize?: number;
|
|
1754
|
+
/** Default `'wrap'`. */
|
|
1755
|
+
overflow?: CodeOverflow;
|
|
1756
|
+
/** Indent of a wrapped line's continuations, in character cells.
|
|
1757
|
+
* Default `2`. */
|
|
1758
|
+
wrapIndent?: number;
|
|
1759
|
+
/** Set in the indent of a continuation line. Default `'»'` (a mark
|
|
1760
|
+
* every Latin face carries; `'↪'` is missing from most code faces);
|
|
1761
|
+
* `''` sets none. */
|
|
1762
|
+
wrapMarker?: string;
|
|
1763
|
+
/** `'shrink'`: the smallest size the listing is set at, as a share of
|
|
1764
|
+
* `fontSize`; past it the lines wrap. Default `0.8`. */
|
|
1765
|
+
minFontScale?: number;
|
|
1766
|
+
/** Number the lines of every listing. Default `false`; a fence sets its
|
|
1767
|
+
* own with `lineNumbers` / `lineNumbers=false` and `start=N`. */
|
|
1768
|
+
lineNumbers?: boolean;
|
|
1769
|
+
/** Default `#8a8a8a`. */
|
|
1770
|
+
lineNumberColor?: ColorValue;
|
|
1771
|
+
/** Room between the numbers and the code; `em` is the code's size.
|
|
1772
|
+
* Default `1em`. */
|
|
1773
|
+
lineNumberGap?: Dimension;
|
|
1774
|
+
/** The tint behind the lines a fence's `highlight="3,5-7"` names.
|
|
1775
|
+
* Default `#fff4c2`. */
|
|
1776
|
+
highlightBackground?: ColorValue;
|
|
1777
|
+
/** Default `false`: a listing splits between lines across columns and
|
|
1778
|
+
* pages. */
|
|
1779
|
+
keepTogether?: boolean;
|
|
1780
|
+
/** Fewest lines on each side of a split. Default `2`. */
|
|
1781
|
+
splitMinLines?: number;
|
|
1782
|
+
/** Repeat the title on each continuation. Default `false`. */
|
|
1783
|
+
repeatTitle?: boolean;
|
|
1784
|
+
/** Mark a part that goes on ("Continued"). Default `false`. */
|
|
1785
|
+
continuesMarkerEnabled?: boolean;
|
|
1786
|
+
/** Default `"Continued"` in the document language. */
|
|
1787
|
+
continuesMarker?: string;
|
|
1788
|
+
/** The title row a fence's `title` prints. Default: the code face at
|
|
1789
|
+
* 0.85 of the code size, bold. */
|
|
1790
|
+
titleStyle?: CalloutTitleStyleConfig;
|
|
1791
|
+
/** When set, the fence's `title` prints in a label tab on the box's top
|
|
1792
|
+
* edge (a callout label) instead of a title row. */
|
|
1793
|
+
label?: CalloutLabelConfig;
|
|
1794
|
+
/** Default `'builtin'`: the built-in tokenizer colours `js`/`ts`,
|
|
1795
|
+
* `json`, `python`, `bash`/`sh`/`zsh`, `console`, `css`, `html`/`xml`,
|
|
1796
|
+
* `markdown` and `sql`; a registered highlighter takes precedence.
|
|
1797
|
+
* `'none'` sets every listing plain. */
|
|
1798
|
+
highlight?: 'builtin' | 'none';
|
|
1799
|
+
/** The look of each kind of token. Defaults: a muted palette (see
|
|
1800
|
+
* `DEFAULT_CODE_TOKENS`). */
|
|
1801
|
+
tokens?: Partial<Record<CodeTokenKind, CodeTokenStyle>>;
|
|
1802
|
+
/** Inline code in a code face. Unset: inline code is set in the body
|
|
1803
|
+
* face, as before #624. */
|
|
1804
|
+
inline?: InlineCodeStyleConfig;
|
|
1805
|
+
}
|
|
1806
|
+
export interface ResolvedInlineCodeStyleConfig {
|
|
1807
|
+
fontFamily: string;
|
|
1808
|
+
fontSize: Dimension;
|
|
1809
|
+
color?: ColorValue;
|
|
1810
|
+
bold: boolean;
|
|
1811
|
+
italic: boolean;
|
|
1812
|
+
background?: ColorValue;
|
|
1813
|
+
borderColor?: ColorValue;
|
|
1814
|
+
borderWidth: Dimension;
|
|
1815
|
+
borderRadius: Dimension;
|
|
1816
|
+
paddingX: Dimension;
|
|
1817
|
+
paddingY: Dimension;
|
|
1818
|
+
}
|
|
1819
|
+
export interface ResolvedCodeStyleConfig {
|
|
1820
|
+
blocks: boolean;
|
|
1821
|
+
indentedCode: boolean;
|
|
1822
|
+
fontFamily: string;
|
|
1823
|
+
fontSize: Dimension;
|
|
1824
|
+
fontWeight: number;
|
|
1825
|
+
boldFontWeight: number;
|
|
1826
|
+
/** Absent: the body's baseline grid line. */
|
|
1827
|
+
lineHeight?: Dimension;
|
|
1828
|
+
snapToGrid: boolean;
|
|
1829
|
+
color: ColorValue;
|
|
1830
|
+
backgroundEnabled: boolean;
|
|
1831
|
+
background: ColorValue;
|
|
1832
|
+
padding: {
|
|
1833
|
+
top: Dimension;
|
|
1834
|
+
right: Dimension;
|
|
1835
|
+
bottom: Dimension;
|
|
1836
|
+
left: Dimension;
|
|
1837
|
+
};
|
|
1838
|
+
border: {
|
|
1839
|
+
enabled: boolean;
|
|
1840
|
+
color: ColorValue;
|
|
1841
|
+
width: Dimension;
|
|
1842
|
+
};
|
|
1843
|
+
borderRadius: Dimension;
|
|
1844
|
+
marginTop: Dimension;
|
|
1845
|
+
marginBottom: Dimension;
|
|
1846
|
+
span: 'column' | 'page';
|
|
1847
|
+
tabSize: number;
|
|
1848
|
+
overflow: CodeOverflow;
|
|
1849
|
+
wrapIndent: number;
|
|
1850
|
+
wrapMarker: string;
|
|
1851
|
+
minFontScale: number;
|
|
1852
|
+
lineNumbers: boolean;
|
|
1853
|
+
lineNumberColor: ColorValue;
|
|
1854
|
+
lineNumberGap: Dimension;
|
|
1855
|
+
highlightBackground: ColorValue;
|
|
1856
|
+
keepTogether: boolean;
|
|
1857
|
+
splitMinLines: number;
|
|
1858
|
+
repeatTitle: boolean;
|
|
1859
|
+
continuesMarkerEnabled: boolean;
|
|
1860
|
+
/** Absent: the document language's. */
|
|
1861
|
+
continuesMarker?: string;
|
|
1862
|
+
/** As written; absent: the default title row. */
|
|
1863
|
+
titleStyle?: CalloutTitleStyleConfig;
|
|
1864
|
+
/** As written; absent: no label tab. */
|
|
1865
|
+
label?: CalloutLabelConfig;
|
|
1866
|
+
highlight: 'builtin' | 'none';
|
|
1867
|
+
tokens: Record<CodeTokenKind, {
|
|
1868
|
+
color?: ColorValue;
|
|
1869
|
+
bold: boolean;
|
|
1870
|
+
italic: boolean;
|
|
1871
|
+
}>;
|
|
1872
|
+
/** Absent: inline code in the body face. */
|
|
1873
|
+
inline?: ResolvedInlineCodeStyleConfig;
|
|
1874
|
+
}
|
|
1360
1875
|
export interface ResolvedBlockquoteConfig {
|
|
1361
1876
|
color: ColorValue;
|
|
1362
1877
|
italic: boolean;
|
|
@@ -1400,8 +1915,14 @@ export interface ResolvedBodyTextConfig {
|
|
|
1400
1915
|
optimalRagged: boolean;
|
|
1401
1916
|
breakAfterDashes: boolean;
|
|
1402
1917
|
breakAfterHyphens: boolean;
|
|
1918
|
+
hardLineBreaks: boolean;
|
|
1919
|
+
/** Absent when unset (see {@link BodyTextConfig.tabStops}). */
|
|
1920
|
+
tabStops?: TabStop[];
|
|
1921
|
+
/** Absent when unset (see {@link BodyTextConfig.tabInterval}). */
|
|
1922
|
+
tabInterval?: Dimension;
|
|
1403
1923
|
repeatHyphen: boolean;
|
|
1404
1924
|
blockquote: ResolvedBlockquoteConfig;
|
|
1925
|
+
verse: ResolvedVerseConfig;
|
|
1405
1926
|
avoidOrphans: boolean;
|
|
1406
1927
|
orphanMinLines: number;
|
|
1407
1928
|
orphanPenalty: number;
|
|
@@ -1492,14 +2013,50 @@ export interface TableStyleConfig {
|
|
|
1492
2013
|
borderWidth?: Dimension;
|
|
1493
2014
|
/** Inner padding inside each cell. Default `0.375em`. */
|
|
1494
2015
|
cellPadding?: Dimension;
|
|
1495
|
-
/** 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}. */
|
|
1496
2020
|
rules?: TableRules;
|
|
1497
2021
|
/** Corner radius of the table's outer frame. Default `0` (square). The
|
|
1498
2022
|
* cell fills are clipped to the rounded frame, whatever the rules (with
|
|
1499
2023
|
* `'none'` the fills alone show the rounded shape); the inner rules stay
|
|
1500
2024
|
* straight. A table split across pages rounds the top corners of its
|
|
1501
|
-
* 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). */
|
|
1502
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;
|
|
1503
2060
|
/** What happens to a table taller than the space a page offers: continue
|
|
1504
2061
|
* it on the following pages (`'split'`, the default), keep only the rows
|
|
1505
2062
|
* that fit (`'clip'`), or leave it out (`'hide'`). See {@link TableOverflow}. */
|
|
@@ -1531,8 +2088,17 @@ export interface ResolvedNamedTableStyleConfig extends ResolvedTableStyleConfig
|
|
|
1531
2088
|
/** Letter case of a table's header cells (`TableStyleConfig.headerTextTransform`). */
|
|
1532
2089
|
export type TableTextTransform = 'none' | 'uppercase';
|
|
1533
2090
|
/** Rule pattern of a table: the full cell grid, horizontal rules only (top
|
|
1534
|
-
* and bottom edge of every row), the outer frame only, or
|
|
1535
|
-
|
|
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';
|
|
1536
2102
|
/** Behaviour of a table taller than the page: `'split'` breaks it between
|
|
1537
2103
|
* rows and continues on the following pages, repeating the header rows and
|
|
1538
2104
|
* suffixing the caption; `'clip'` keeps the leading rows that fit and drops
|
|
@@ -1561,6 +2127,13 @@ export interface ResolvedTableStyleConfig {
|
|
|
1561
2127
|
cellPadding: Dimension;
|
|
1562
2128
|
rules: TableRules;
|
|
1563
2129
|
borderRadius: Dimension;
|
|
2130
|
+
heavyRuleWidth: Dimension;
|
|
2131
|
+
lightRuleWidth: Dimension;
|
|
2132
|
+
spanRuleWidth: Dimension;
|
|
2133
|
+
spanRules: TableSpanRules;
|
|
2134
|
+
spanRuleTrim: Dimension;
|
|
2135
|
+
groupRules: boolean;
|
|
2136
|
+
continuedFootRule: TableContinuedFootRule;
|
|
1564
2137
|
overflow: TableOverflow;
|
|
1565
2138
|
continuedSuffix: string;
|
|
1566
2139
|
continuesMarkerEnabled: boolean;
|
|
@@ -1768,6 +2341,86 @@ export interface ResolvedVideoStyleConfig {
|
|
|
1768
2341
|
* optional and inherits the body text when unset, so a style only needs to
|
|
1769
2342
|
* spell out what differs from running text. See
|
|
1770
2343
|
* {@link ResolvedParagraphStyleConfig}. */
|
|
2344
|
+
/** How a drop cap treats an opening quote, `¿`, `¡` or bracket before
|
|
2345
|
+
* the letter (#623; see {@link ParagraphDropCap.punctuation}). */
|
|
2346
|
+
export type DropCapPunctuation = 'with-cap' | 'hang' | 'text';
|
|
2347
|
+
/** What a drop cap does in a paragraph of fewer lines than it sinks
|
|
2348
|
+
* (#623; see {@link ParagraphDropCap.shortParagraph}). */
|
|
2349
|
+
export type DropCapShortParagraph = 'reserve' | 'shrink' | 'skip';
|
|
2350
|
+
/** The first words after a drop cap set in small capitals or capitals
|
|
2351
|
+
* (#623; see {@link ParagraphDropCap.leadIn}). */
|
|
2352
|
+
export interface DropCapLeadIn {
|
|
2353
|
+
/** How many words, or `'line'` for the whole first line. */
|
|
2354
|
+
words?: number | 'line';
|
|
2355
|
+
/** Small capitals (as `:smallcaps[…]`). Default `true` unless
|
|
2356
|
+
* {@link uppercase} is set. */
|
|
2357
|
+
smallCaps?: boolean;
|
|
2358
|
+
/** Capitals. Default `false`. */
|
|
2359
|
+
uppercase?: boolean;
|
|
2360
|
+
}
|
|
2361
|
+
/**
|
|
2362
|
+
* A drop cap (or a raised initial) opening a body paragraph (#623): the
|
|
2363
|
+
* first letter set large at the start of the paragraph, its first
|
|
2364
|
+
* {@link sink} lines shortened around it on the start side (the left in
|
|
2365
|
+
* Latin text, the right in Arabic and Hebrew). The paragraph is broken,
|
|
2366
|
+
* justified and hyphenated as any other, and it never breaks before its
|
|
2367
|
+
* line {@link sink}, so the letter keeps its lines across columns and
|
|
2368
|
+
* pages. Set by a paragraph style (the first paragraph of a
|
|
2369
|
+
* `:::paragraphs{style=…}` group, or every one with {@link each}) or a
|
|
2370
|
+
* heading level or style (the first body paragraph after the heading);
|
|
2371
|
+
* `{dropcap}`, `{dropcap=false}` and `{dropcap=N}` on the group's fence or
|
|
2372
|
+
* the heading line switch it on, off or set its lines.
|
|
2373
|
+
*/
|
|
2374
|
+
export interface ParagraphDropCap {
|
|
2375
|
+
/** Lines the initial spans, from the top of its capitals to its
|
|
2376
|
+
* baseline. Default `3`; `1` with a larger {@link fontSize} is a raised
|
|
2377
|
+
* initial standing on the first baseline. */
|
|
2378
|
+
lines?: number;
|
|
2379
|
+
/** Lines the initial drops into the text: it stands on the baseline of
|
|
2380
|
+
* line `sink`, and those lines are shortened. Fewer than {@link lines}
|
|
2381
|
+
* raises the initial above the first line, and the paragraph keeps that
|
|
2382
|
+
* rise clear above it (whole grid lines). Default {@link lines} (a true
|
|
2383
|
+
* drop cap). */
|
|
2384
|
+
sink?: number;
|
|
2385
|
+
/** Grapheme clusters set large: `É`, a letter with a combining mark, a
|
|
2386
|
+
* surrogate pair each count one. Default `1`. */
|
|
2387
|
+
characters?: number;
|
|
2388
|
+
/** Face of the initial. Default the paragraph's. */
|
|
2389
|
+
fontFamily?: string;
|
|
2390
|
+
/** Default the paragraph's weight. */
|
|
2391
|
+
fontWeight?: number;
|
|
2392
|
+
/** Default `false`. */
|
|
2393
|
+
italic?: boolean;
|
|
2394
|
+
/** Size of the initial. Default: the size that sets the top of its
|
|
2395
|
+
* capitals level with the capitals of the first line while it stands
|
|
2396
|
+
* {@link lines} lines down, both cap heights measured from the faces
|
|
2397
|
+
* (0.72 of the size when a face gives none). */
|
|
2398
|
+
fontSize?: Dimension;
|
|
2399
|
+
/** Default the paragraph's colour; a palette-linked colour follows part
|
|
2400
|
+
* and section palettes. */
|
|
2401
|
+
color?: ColorValue;
|
|
2402
|
+
/** Space between the initial and the shortened lines. Default `0.15em`
|
|
2403
|
+
* of the text size. */
|
|
2404
|
+
gap?: Dimension;
|
|
2405
|
+
/** An opening quote, `¿`, `¡` or bracket before the letter:
|
|
2406
|
+
* `'with-cap'` sets it at the initial's size as part of it, `'hang'`
|
|
2407
|
+
* at text size outside the measure before the initial, `'text'` at text
|
|
2408
|
+
* size at the start of the first line, after the initial. Default
|
|
2409
|
+
* `'with-cap'`. */
|
|
2410
|
+
punctuation?: DropCapPunctuation;
|
|
2411
|
+
/** The first words after the initial in small capitals or capitals. */
|
|
2412
|
+
leadIn?: DropCapLeadIn;
|
|
2413
|
+
/** A paragraph of fewer lines than {@link sink}: `'reserve'` keeps the
|
|
2414
|
+
* block {@link sink} lines tall so the next block clears the initial,
|
|
2415
|
+
* `'shrink'` sets the initial over the paragraph's own lines, `'skip'`
|
|
2416
|
+
* sets the paragraph without one. A content warning says so in each
|
|
2417
|
+
* case. Default `'reserve'`. */
|
|
2418
|
+
shortParagraph?: DropCapShortParagraph;
|
|
2419
|
+
/** A paragraph style's drop cap opens every paragraph of its group (a
|
|
2420
|
+
* catalogue of entries), not the first only. Read on paragraph styles
|
|
2421
|
+
* alone. Default `false`. */
|
|
2422
|
+
each?: boolean;
|
|
2423
|
+
}
|
|
1771
2424
|
export interface ParagraphStyleConfig {
|
|
1772
2425
|
/** Identifier referenced from `:::paragraphs{style="…"}`. */
|
|
1773
2426
|
id: string;
|
|
@@ -1822,12 +2475,19 @@ export interface ParagraphStyleConfig {
|
|
|
1822
2475
|
* N字上げ) is `textAlign: 'end'` with `endIndent: 'Nem'`; 地付き is the
|
|
1823
2476
|
* same at `0`. Default `0`; a negative value counts as `0`. */
|
|
1824
2477
|
endIndent?: Dimension;
|
|
1825
|
-
/**
|
|
1826
|
-
* {@link hangingIndent}
|
|
2478
|
+
/** Indent of the first line, from {@link indent}. Defaults to the body
|
|
2479
|
+
* first-line indent. With a non-zero {@link hangingIndent} it applies
|
|
2480
|
+
* only when the style sets it itself: the first line starts at
|
|
2481
|
+
* `indent + firstLineIndent` and its turnovers at `indent +
|
|
2482
|
+
* hangingIndent` (a line of verse indented one em that hangs its
|
|
2483
|
+
* turnover three, #620); inherited from the body it gives way, and the
|
|
2484
|
+
* first line starts at `indent`. */
|
|
1827
2485
|
firstLineIndent?: Dimension;
|
|
1828
2486
|
/** Indent applied to every line except the first (bibliographies,
|
|
1829
|
-
* glossaries), from {@link indent}.
|
|
1830
|
-
* {@link
|
|
2487
|
+
* glossaries, the turnover of a line of verse), from {@link indent}.
|
|
2488
|
+
* The first line starts at {@link indent}, or at `indent +
|
|
2489
|
+
* firstLineIndent` when the style sets {@link firstLineIndent} itself.
|
|
2490
|
+
* Default `0`. */
|
|
1831
2491
|
hangingIndent?: Dimension;
|
|
1832
2492
|
/** Vertical gap between consecutive paragraphs in the container. Default
|
|
1833
2493
|
* `0` — entries abut, off the baseline grid until the container closes. */
|
|
@@ -1857,6 +2517,53 @@ export interface ParagraphStyleConfig {
|
|
|
1857
2517
|
* punctuation (phrase-spaced kana text, 分かち書き), `'normal'` between
|
|
1858
2518
|
* any two characters. Unset: the document's `cjk.wordBreak`. */
|
|
1859
2519
|
wordBreak?: CjkWordBreak;
|
|
2520
|
+
/** Whether line numbers (`lineNumbers`, #621) count the lines of the
|
|
2521
|
+
* style's paragraphs. Unset: counted when `lineNumbers.count` is
|
|
2522
|
+
* `'all'` (or, in a poem set in the style, when it counts verse);
|
|
2523
|
+
* `true` counts them under `'verse'` too, and inside a callout, whose
|
|
2524
|
+
* text is otherwise never counted; `false` never. */
|
|
2525
|
+
lineNumbers?: boolean;
|
|
2526
|
+
/** Tab stops of the style's paragraphs (#622; see {@link TabStop}). A
|
|
2527
|
+
* tab character in their text is then a tab, and `:tab` goes to them.
|
|
2528
|
+
* Unset: the body's (`bodyText.tabStops`). An empty list sets none. */
|
|
2529
|
+
tabStops?: TabStop[];
|
|
2530
|
+
/** Default stops past the last of {@link tabStops}. Unset: the body's. */
|
|
2531
|
+
tabInterval?: Dimension;
|
|
2532
|
+
/** A drop cap opening the first paragraph of each `:::paragraphs` group
|
|
2533
|
+
* in the style (#623; every paragraph with `each: true`). Unset: none. */
|
|
2534
|
+
dropCap?: ParagraphDropCap;
|
|
2535
|
+
}
|
|
2536
|
+
/** Where a tab stop stands (#622): a length from the start edge of the
|
|
2537
|
+
* paragraph's measure (after a paragraph style's `indent`; `em` being the
|
|
2538
|
+
* paragraph's own size), `'end'` for the measure's end edge, or a share of
|
|
2539
|
+
* the measure (`'50%'`). */
|
|
2540
|
+
export type TabStopPosition = Dimension | 'end' | `${number}%`;
|
|
2541
|
+
/** How the text after a tab sits at its stop (#622): `'start'` starts
|
|
2542
|
+
* there, `'end'` ends there, `'center'` is centred on it and `'decimal'`
|
|
2543
|
+
* puts its decimal separator on it (a run with none ends there). */
|
|
2544
|
+
export type TabStopAlign = 'start' | 'end' | 'center' | 'decimal';
|
|
2545
|
+
/**
|
|
2546
|
+
* A tab stop of body text (#622): a menu's prices flush right, a cast
|
|
2547
|
+
* list's actors after a dot leader, an exam's marks at the margin. A tab
|
|
2548
|
+
* goes to the first stop past the text before it; a line holding a tab is
|
|
2549
|
+
* set by the line-by-line breaker (never Knuth–Plass), and in justified
|
|
2550
|
+
* text only its word spaces after the last tab take the slack.
|
|
2551
|
+
*/
|
|
2552
|
+
export interface TabStop {
|
|
2553
|
+
position: TabStopPosition;
|
|
2554
|
+
/** Default `'start'`. */
|
|
2555
|
+
align?: TabStopAlign;
|
|
2556
|
+
/** Repeated over the room before the stop, flush with its end so the
|
|
2557
|
+
* leaders of several lines line up: `'.'`, `'. '`, `'·'`, `'_'`, `'-'`
|
|
2558
|
+
* or any short text in the paragraph's face; `'rule'` draws a line on
|
|
2559
|
+
* the baseline (a form's blank). Default none. */
|
|
2560
|
+
leader?: string;
|
|
2561
|
+
/** Room kept between the text and the leader, and between the leader and
|
|
2562
|
+
* the text at the stop. Default `0.5em` (the contents' `leader.gap`). */
|
|
2563
|
+
leaderGap?: Dimension;
|
|
2564
|
+
/** `'decimal'` stops: the separator. Default the document language's
|
|
2565
|
+
* (`.` in English, `,` in Spanish, Catalan, Portuguese…). */
|
|
2566
|
+
decimalChar?: string;
|
|
1860
2567
|
}
|
|
1861
2568
|
export type ParagraphTextTransform = 'none' | 'uppercase';
|
|
1862
2569
|
export interface ResolvedParagraphStyleConfig {
|
|
@@ -1875,10 +2582,17 @@ export interface ResolvedParagraphStyleConfig {
|
|
|
1875
2582
|
italic: boolean;
|
|
1876
2583
|
smallCaps: boolean;
|
|
1877
2584
|
hyphenation: boolean;
|
|
2585
|
+
/** The style sets {@link hyphenation} itself: a poem in the style
|
|
2586
|
+
* hyphenates its turnovers only then (#620). Absent when inherited. */
|
|
2587
|
+
ownHyphenation?: true;
|
|
1878
2588
|
indent: Dimension;
|
|
1879
2589
|
/** Absent when the style sets none (or `0`). */
|
|
1880
2590
|
endIndent?: Dimension;
|
|
1881
2591
|
firstLineIndent: Dimension;
|
|
2592
|
+
/** The style sets {@link firstLineIndent} itself (it is not the body's):
|
|
2593
|
+
* with a non-zero {@link hangingIndent} the two pair up (#620). Absent
|
|
2594
|
+
* when inherited. */
|
|
2595
|
+
ownFirstLineIndent?: true;
|
|
1882
2596
|
hangingIndent: Dimension;
|
|
1883
2597
|
spaceBetween: Dimension;
|
|
1884
2598
|
marginTop: Dimension;
|
|
@@ -1887,6 +2601,15 @@ export interface ResolvedParagraphStyleConfig {
|
|
|
1887
2601
|
textTransform: ParagraphTextTransform;
|
|
1888
2602
|
/** Absent when the style sets none (the document's `cjk.wordBreak`). */
|
|
1889
2603
|
wordBreak?: CjkWordBreak;
|
|
2604
|
+
/** Absent when the style sets none (see
|
|
2605
|
+
* {@link ParagraphStyleConfig.lineNumbers}). */
|
|
2606
|
+
lineNumbers?: boolean;
|
|
2607
|
+
/** Absent when the style sets none: its paragraphs take the body's. */
|
|
2608
|
+
tabStops?: TabStop[];
|
|
2609
|
+
/** Absent when the style sets none. */
|
|
2610
|
+
tabInterval?: Dimension;
|
|
2611
|
+
/** Absent when the style sets none (#623). */
|
|
2612
|
+
dropCap?: ParagraphDropCap;
|
|
1890
2613
|
}
|
|
1891
2614
|
/** Horizontal extent of a callout: its column, or the full content width. */
|
|
1892
2615
|
/** `'side'` sets the box in the float-only side column of a `oneAndHalf`
|
|
@@ -2108,6 +2831,11 @@ export interface CalloutBodyStyleConfig {
|
|
|
2108
2831
|
hyphenation?: boolean;
|
|
2109
2832
|
paragraphSpacing?: boolean;
|
|
2110
2833
|
firstLineIndent?: Dimension;
|
|
2834
|
+
/** Tab stops of the box's paragraphs and list items (#622). Unset: the
|
|
2835
|
+
* body's (`bodyText.tabStops`). */
|
|
2836
|
+
tabStops?: TabStop[];
|
|
2837
|
+
/** Default stops past the last of {@link tabStops}. Unset: the body's. */
|
|
2838
|
+
tabInterval?: Dimension;
|
|
2111
2839
|
}
|
|
2112
2840
|
/** List typography inside the callout. Every field inherits
|
|
2113
2841
|
* `unorderedLists` (`color`, `indent`, `gap`, `itemSpacing` also apply to
|
|
@@ -2429,6 +3157,9 @@ export interface ResolvedCalloutStyleConfig {
|
|
|
2429
3157
|
hyphenation: boolean;
|
|
2430
3158
|
paragraphSpacing: boolean;
|
|
2431
3159
|
firstLineIndent: Dimension;
|
|
3160
|
+
/** Absent when the style sets none. */
|
|
3161
|
+
tabStops?: TabStop[];
|
|
3162
|
+
tabInterval?: Dimension;
|
|
2432
3163
|
};
|
|
2433
3164
|
lists: {
|
|
2434
3165
|
bulletChar: string;
|
|
@@ -2717,6 +3448,18 @@ export interface HeadingLevelConfig {
|
|
|
2717
3448
|
* book). The measure narrows by it; a centred heading centres in what is
|
|
2718
3449
|
* left. Default `0`. */
|
|
2719
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;
|
|
2720
3463
|
/** 字取り (jidori, JLReq §3.7.3, §4.1): a heading shorter than this many
|
|
2721
3464
|
* of its own characters is spaced out evenly to fill exactly that width
|
|
2722
3465
|
* (`jidori: 3` sets 序章 as 序 章). Applies to a heading that fits one
|
|
@@ -2724,6 +3467,12 @@ export interface HeadingLevelConfig {
|
|
|
2724
3467
|
* `{jidori=N}` (`{jidori=0}` turns it off). Unset (default): no
|
|
2725
3468
|
* spacing. */
|
|
2726
3469
|
jidori?: number;
|
|
3470
|
+
/** A drop cap opening the first body paragraph after a heading of this
|
|
3471
|
+
* level or style (#623), found past markers, boxes that left the flow
|
|
3472
|
+
* and floated figures; never a paragraph inside a box. A heading turns
|
|
3473
|
+
* it off with `{dropcap=false}` or sets its lines with `{dropcap=N}`; a
|
|
3474
|
+
* heading style turns its level's off with `false`. Unset: none. */
|
|
3475
|
+
dropCap?: ParagraphDropCap | false;
|
|
2727
3476
|
}
|
|
2728
3477
|
export type HeadingTextTransform = 'none' | 'uppercase';
|
|
2729
3478
|
export interface ResolvedHeadingLevelConfig {
|
|
@@ -2760,8 +3509,13 @@ export interface ResolvedHeadingLevelConfig {
|
|
|
2760
3509
|
lineSpan?: number;
|
|
2761
3510
|
/** Absent unless set (see {@link HeadingLevelConfig.indent}). */
|
|
2762
3511
|
indent?: Dimension;
|
|
3512
|
+
/** Absent unless set (see {@link HeadingLevelConfig.firstLineIndent}). */
|
|
3513
|
+
firstLineIndent?: Dimension;
|
|
2763
3514
|
/** Absent unless set (see {@link HeadingLevelConfig.jidori}). */
|
|
2764
3515
|
jidori?: number;
|
|
3516
|
+
/** Absent unless set (see {@link HeadingLevelConfig.dropCap}); a heading
|
|
3517
|
+
* style's `false` lays an explicit `undefined` over its level's. */
|
|
3518
|
+
dropCap?: ParagraphDropCap;
|
|
2765
3519
|
}
|
|
2766
3520
|
export interface HeadingsConfig {
|
|
2767
3521
|
fontFamily?: string;
|
|
@@ -4443,7 +5197,16 @@ export interface ElementBoxStyle {
|
|
|
4443
5197
|
* mid-word only when what the boundary leaves, that punctuation dropped,
|
|
4444
5198
|
* is less than half of what fits (a long word, a URL). A no-break space
|
|
4445
5199
|
* or hyphen (U+2011) is no boundary. `'ellipsis-middle'` cuts anywhere but
|
|
4446
|
-
* 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. */
|
|
4447
5210
|
export type TextOverflow = 'wrap' | 'ellipsis-start' | 'ellipsis-end' | 'ellipsis-middle' | 'clip';
|
|
4448
5211
|
/** Outline drawn around the glyphs of a design text (a hollow display
|
|
4449
5212
|
* number, a title that stands off a photograph). */
|
|
@@ -4524,7 +5287,11 @@ export interface DesignTextElement {
|
|
|
4524
5287
|
* number, a malformed dimension) sets the default leading. */
|
|
4525
5288
|
lineHeight?: number | Dimension;
|
|
4526
5289
|
letterSpacing?: Dimension;
|
|
4527
|
-
|
|
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;
|
|
4528
5295
|
/** When true, break long words at syllable boundaries while wrapping.
|
|
4529
5296
|
* Uses the document's active hyphenation locale. */
|
|
4530
5297
|
hyphenate?: boolean;
|
|
@@ -4647,8 +5414,10 @@ export interface DesignSlot {
|
|
|
4647
5414
|
/** Array order = paint order: first = back, last = front. */
|
|
4648
5415
|
elements: DesignElement[];
|
|
4649
5416
|
}
|
|
4650
|
-
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'> {
|
|
4651
5418
|
parity: PageParity;
|
|
5419
|
+
/** The element's own `overflow`, else its slot's default. */
|
|
5420
|
+
overflow: TextOverflow;
|
|
4652
5421
|
fontFamily: string;
|
|
4653
5422
|
fontWeight: number;
|
|
4654
5423
|
italic: boolean;
|
|
@@ -5599,6 +6368,12 @@ export interface PostextConfig {
|
|
|
5599
6368
|
/** East Asian typography: line breaking and justification of Chinese,
|
|
5600
6369
|
* Japanese and Korean text (see {@link CjkConfig}). */
|
|
5601
6370
|
cjk?: CjkConfig;
|
|
6371
|
+
/** Line numbers in the margin, for verse or for every line of the text
|
|
6372
|
+
* (#621). Off by default. */
|
|
6373
|
+
lineNumbers?: LineNumbersConfig;
|
|
6374
|
+
/** Code listings (fenced and indented code blocks) and inline code
|
|
6375
|
+
* (#624). */
|
|
6376
|
+
codeStyle?: CodeStyleConfig;
|
|
5602
6377
|
header?: HeaderFooterSlot;
|
|
5603
6378
|
footer?: HeaderFooterSlot;
|
|
5604
6379
|
/** Document language, a BCP 47 tag (see {@link LocaleTag}). The fallback
|