@scrider/formatter 1.4.2 → 1.4.3
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/index.cjs +42 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +38 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1294,8 +1294,12 @@ declare function cloneDelta(delta: Delta): Delta;
|
|
|
1294
1294
|
|
|
1295
1295
|
/** Per-paragraph line spacing stored on `\n` (Word paste, Settings Apply, toolbar). */
|
|
1296
1296
|
declare const SCRIDER_LINE_HEIGHT_KEY = "scrider-line-height";
|
|
1297
|
+
/** Space after plain paragraph (`margin-bottom`) on `\n` (Settings Apply). */
|
|
1298
|
+
declare const SCRIDER_MARGIN_AFTER_KEY = "scrider-margin-after";
|
|
1297
1299
|
/** Block tags that receive line spacing (not headings). */
|
|
1298
1300
|
declare const LINE_HEIGHT_BLOCK_TAGS: Set<string>;
|
|
1301
|
+
/** Block tags that receive paragraph spacing after (plain `<p>` only). */
|
|
1302
|
+
declare const PARAGRAPH_SPACING_BLOCK_TAGS: Set<string>;
|
|
1299
1303
|
/**
|
|
1300
1304
|
* Parse a line-height multiplier from Delta / inline CSS values
|
|
1301
1305
|
* (`1.5`, `2`, `150%`).
|
|
@@ -1305,16 +1309,27 @@ declare function parseScriderLineHeightMultiplier(value: string): number | undef
|
|
|
1305
1309
|
* Line-height for a block tag: `scrider-line-height` on the line → documentPresentation → none.
|
|
1306
1310
|
*/
|
|
1307
1311
|
declare function blockLineHeightStyleParts(tag: string, blockAttributes: AttributeMap | undefined, resolved: ResolvedDocumentPresentation | undefined): string[];
|
|
1312
|
+
/**
|
|
1313
|
+
* Parse `margin-bottom` in em from Delta / inline CSS (`0.5em`, `0.5`).
|
|
1314
|
+
*/
|
|
1315
|
+
declare function parseScriderMarginAfterEm(value: string): number | undefined;
|
|
1316
|
+
/**
|
|
1317
|
+
* Paragraph spacing after: `scrider-margin-after` on the line → documentPresentation → none.
|
|
1318
|
+
*/
|
|
1319
|
+
declare function blockMarginAfterStyleParts(tag: string, blockAttributes: AttributeMap | undefined, resolved: ResolvedDocumentPresentation | undefined): string[];
|
|
1308
1320
|
|
|
1309
1321
|
/**
|
|
1310
1322
|
* Document-level HTML presentation for deltaToHtml (clipboard, export).
|
|
1311
1323
|
* Mirrors editor Settings when block attrs are absent.
|
|
1312
1324
|
* Per-block line spacing: {@link blockLineHeightStyleParts} (`scrider-line-height` on `\n`).
|
|
1325
|
+
* Per-block paragraph spacing: {@link blockMarginAfterStyleParts} (`scrider-margin-after` on `\n`).
|
|
1313
1326
|
*/
|
|
1314
1327
|
|
|
1315
1328
|
interface DocumentPresentation {
|
|
1316
1329
|
/** Line spacing multiplier, e.g. 1.5 */
|
|
1317
1330
|
lineSpacing?: number;
|
|
1331
|
+
/** Space after plain paragraphs in em, e.g. 0.5 */
|
|
1332
|
+
paragraphSpacingAfterEm?: number;
|
|
1318
1333
|
/** First-line indent in cm on `<p>` only (lists: use listBlockIndentCm). */
|
|
1319
1334
|
textIndentCm?: number;
|
|
1320
1335
|
/** Extra left padding on top-level `<ul>`/`<ol>` — shifts marker + text as a block. */
|
|
@@ -1322,6 +1337,7 @@ interface DocumentPresentation {
|
|
|
1322
1337
|
}
|
|
1323
1338
|
interface ResolvedDocumentPresentation {
|
|
1324
1339
|
lineSpacing: number | undefined;
|
|
1340
|
+
paragraphSpacingAfterEm: number | undefined;
|
|
1325
1341
|
textIndentCm: number | undefined;
|
|
1326
1342
|
listBlockIndentCm: number | undefined;
|
|
1327
1343
|
}
|
|
@@ -1909,4 +1925,4 @@ declare function isTableNewlineOp(op: Op | undefined): boolean;
|
|
|
1909
1925
|
*/
|
|
1910
1926
|
declare function extractTableRegion(ops: readonly Op[], hintOpIdx: number): TableRegion | null;
|
|
1911
1927
|
|
|
1912
|
-
export { ALERT_TYPES, type AlertBlockData, type AlertType, type AlignType, BOX_FLOAT_VALUES, BOX_OVERFLOW_VALUES, type BlockContext, type BlockHandler, BlockHandlerRegistry, type BlockRenderOptions, type BoxBlockData, type BoxFloat, type BoxOpAttributes, type BoxOverflow, BrowserDOMAdapter, type CellAlign, type CellData, type ColumnsBlockData, type DOMAdapter, type DOMDocument, type DOMDocumentFragment, type DOMElement, type DOMNode, type DOMNodeList, type DeltaToHtmlOptions, type DeltaToMarkdownOptions, type DocumentPresentation, type FootnotesBlockData, type Format, type FormatDefinition, type FormatMatchResult, type FormatScope, type HtmlToDeltaOptions, LINE_HEIGHT_BLOCK_TAGS, type ListType, type MarkdownToDeltaOptions, NODE_TYPE, NodeDOMAdapter, Registry, type ResolvedDocumentPresentation, type ResolvedTablePresentation, SCRIDER_LINE_HEIGHT_KEY, type SanitizeOptions, type TableBlockData, type TableCellAlign, type TableColAlignType, type TablePresentation, type TableRegion, alertBlockHandler, alignFormat, backgroundFormat, blockFormat, blockLineHeightStyleParts, blockPresentationStyleParts, blockquoteFormat, boldFormat, boxBlockHandler, browserAdapter, cloneDelta, codeBlockFormat, codeFormat, colorFormat, columnsBlockHandler, createDefaultBlockHandlers, createDefaultRegistry, defaultBlockFormats, defaultEmbedFormats, defaultFormats, defaultInlineFormats, deltaToHtml, deltaToMarkdown, dividerFormat, documentPresentationStyleParts, escapeHtml, extractBoxOpAttributes, extractTableRegion, fontFormat, footnoteRefFormat, footnotesBlockHandler, formulaFormat, getAdapter, getNamedColors, headerFormat, headerIdFormat, htmlToDelta, imageFormat, indentFormat, isAdapterAvailable, isElement, isRemarkAvailable, isTableNewlineOp, isTextNode, isValidColor, isValidHexColor, isZebraBodyRow, italicFormat, kbdFormat, linkFormat, listFormat, markFormat, markdownToDelta, markdownToDeltaSync, nodeAdapter, normalizeDelta, parseScriderLineHeightMultiplier, preloadRemark, resolveDocumentPresentation, resolveTablePresentation, sanitizeDelta, sizeFormat, slugify, slugifyWithDedup, softBreakFormat, strikeFormat, subscriptFormat, superscriptFormat, tableBlockHandler, tableColAlignFormat, tableColFormat, tableHeaderFormat, tableRowFormat, toHexColor, underlineFormat, unescapeHtml, validateDelta, videoFormat };
|
|
1928
|
+
export { ALERT_TYPES, type AlertBlockData, type AlertType, type AlignType, BOX_FLOAT_VALUES, BOX_OVERFLOW_VALUES, type BlockContext, type BlockHandler, BlockHandlerRegistry, type BlockRenderOptions, type BoxBlockData, type BoxFloat, type BoxOpAttributes, type BoxOverflow, BrowserDOMAdapter, type CellAlign, type CellData, type ColumnsBlockData, type DOMAdapter, type DOMDocument, type DOMDocumentFragment, type DOMElement, type DOMNode, type DOMNodeList, type DeltaToHtmlOptions, type DeltaToMarkdownOptions, type DocumentPresentation, type FootnotesBlockData, type Format, type FormatDefinition, type FormatMatchResult, type FormatScope, type HtmlToDeltaOptions, LINE_HEIGHT_BLOCK_TAGS, type ListType, type MarkdownToDeltaOptions, NODE_TYPE, NodeDOMAdapter, PARAGRAPH_SPACING_BLOCK_TAGS, Registry, type ResolvedDocumentPresentation, type ResolvedTablePresentation, SCRIDER_LINE_HEIGHT_KEY, SCRIDER_MARGIN_AFTER_KEY, type SanitizeOptions, type TableBlockData, type TableCellAlign, type TableColAlignType, type TablePresentation, type TableRegion, alertBlockHandler, alignFormat, backgroundFormat, blockFormat, blockLineHeightStyleParts, blockMarginAfterStyleParts, blockPresentationStyleParts, blockquoteFormat, boldFormat, boxBlockHandler, browserAdapter, cloneDelta, codeBlockFormat, codeFormat, colorFormat, columnsBlockHandler, createDefaultBlockHandlers, createDefaultRegistry, defaultBlockFormats, defaultEmbedFormats, defaultFormats, defaultInlineFormats, deltaToHtml, deltaToMarkdown, dividerFormat, documentPresentationStyleParts, escapeHtml, extractBoxOpAttributes, extractTableRegion, fontFormat, footnoteRefFormat, footnotesBlockHandler, formulaFormat, getAdapter, getNamedColors, headerFormat, headerIdFormat, htmlToDelta, imageFormat, indentFormat, isAdapterAvailable, isElement, isRemarkAvailable, isTableNewlineOp, isTextNode, isValidColor, isValidHexColor, isZebraBodyRow, italicFormat, kbdFormat, linkFormat, listFormat, markFormat, markdownToDelta, markdownToDeltaSync, nodeAdapter, normalizeDelta, parseScriderLineHeightMultiplier, parseScriderMarginAfterEm, preloadRemark, resolveDocumentPresentation, resolveTablePresentation, sanitizeDelta, sizeFormat, slugify, slugifyWithDedup, softBreakFormat, strikeFormat, subscriptFormat, superscriptFormat, tableBlockHandler, tableColAlignFormat, tableColFormat, tableHeaderFormat, tableRowFormat, toHexColor, underlineFormat, unescapeHtml, validateDelta, videoFormat };
|
package/dist/index.d.ts
CHANGED
|
@@ -1294,8 +1294,12 @@ declare function cloneDelta(delta: Delta): Delta;
|
|
|
1294
1294
|
|
|
1295
1295
|
/** Per-paragraph line spacing stored on `\n` (Word paste, Settings Apply, toolbar). */
|
|
1296
1296
|
declare const SCRIDER_LINE_HEIGHT_KEY = "scrider-line-height";
|
|
1297
|
+
/** Space after plain paragraph (`margin-bottom`) on `\n` (Settings Apply). */
|
|
1298
|
+
declare const SCRIDER_MARGIN_AFTER_KEY = "scrider-margin-after";
|
|
1297
1299
|
/** Block tags that receive line spacing (not headings). */
|
|
1298
1300
|
declare const LINE_HEIGHT_BLOCK_TAGS: Set<string>;
|
|
1301
|
+
/** Block tags that receive paragraph spacing after (plain `<p>` only). */
|
|
1302
|
+
declare const PARAGRAPH_SPACING_BLOCK_TAGS: Set<string>;
|
|
1299
1303
|
/**
|
|
1300
1304
|
* Parse a line-height multiplier from Delta / inline CSS values
|
|
1301
1305
|
* (`1.5`, `2`, `150%`).
|
|
@@ -1305,16 +1309,27 @@ declare function parseScriderLineHeightMultiplier(value: string): number | undef
|
|
|
1305
1309
|
* Line-height for a block tag: `scrider-line-height` on the line → documentPresentation → none.
|
|
1306
1310
|
*/
|
|
1307
1311
|
declare function blockLineHeightStyleParts(tag: string, blockAttributes: AttributeMap | undefined, resolved: ResolvedDocumentPresentation | undefined): string[];
|
|
1312
|
+
/**
|
|
1313
|
+
* Parse `margin-bottom` in em from Delta / inline CSS (`0.5em`, `0.5`).
|
|
1314
|
+
*/
|
|
1315
|
+
declare function parseScriderMarginAfterEm(value: string): number | undefined;
|
|
1316
|
+
/**
|
|
1317
|
+
* Paragraph spacing after: `scrider-margin-after` on the line → documentPresentation → none.
|
|
1318
|
+
*/
|
|
1319
|
+
declare function blockMarginAfterStyleParts(tag: string, blockAttributes: AttributeMap | undefined, resolved: ResolvedDocumentPresentation | undefined): string[];
|
|
1308
1320
|
|
|
1309
1321
|
/**
|
|
1310
1322
|
* Document-level HTML presentation for deltaToHtml (clipboard, export).
|
|
1311
1323
|
* Mirrors editor Settings when block attrs are absent.
|
|
1312
1324
|
* Per-block line spacing: {@link blockLineHeightStyleParts} (`scrider-line-height` on `\n`).
|
|
1325
|
+
* Per-block paragraph spacing: {@link blockMarginAfterStyleParts} (`scrider-margin-after` on `\n`).
|
|
1313
1326
|
*/
|
|
1314
1327
|
|
|
1315
1328
|
interface DocumentPresentation {
|
|
1316
1329
|
/** Line spacing multiplier, e.g. 1.5 */
|
|
1317
1330
|
lineSpacing?: number;
|
|
1331
|
+
/** Space after plain paragraphs in em, e.g. 0.5 */
|
|
1332
|
+
paragraphSpacingAfterEm?: number;
|
|
1318
1333
|
/** First-line indent in cm on `<p>` only (lists: use listBlockIndentCm). */
|
|
1319
1334
|
textIndentCm?: number;
|
|
1320
1335
|
/** Extra left padding on top-level `<ul>`/`<ol>` — shifts marker + text as a block. */
|
|
@@ -1322,6 +1337,7 @@ interface DocumentPresentation {
|
|
|
1322
1337
|
}
|
|
1323
1338
|
interface ResolvedDocumentPresentation {
|
|
1324
1339
|
lineSpacing: number | undefined;
|
|
1340
|
+
paragraphSpacingAfterEm: number | undefined;
|
|
1325
1341
|
textIndentCm: number | undefined;
|
|
1326
1342
|
listBlockIndentCm: number | undefined;
|
|
1327
1343
|
}
|
|
@@ -1909,4 +1925,4 @@ declare function isTableNewlineOp(op: Op | undefined): boolean;
|
|
|
1909
1925
|
*/
|
|
1910
1926
|
declare function extractTableRegion(ops: readonly Op[], hintOpIdx: number): TableRegion | null;
|
|
1911
1927
|
|
|
1912
|
-
export { ALERT_TYPES, type AlertBlockData, type AlertType, type AlignType, BOX_FLOAT_VALUES, BOX_OVERFLOW_VALUES, type BlockContext, type BlockHandler, BlockHandlerRegistry, type BlockRenderOptions, type BoxBlockData, type BoxFloat, type BoxOpAttributes, type BoxOverflow, BrowserDOMAdapter, type CellAlign, type CellData, type ColumnsBlockData, type DOMAdapter, type DOMDocument, type DOMDocumentFragment, type DOMElement, type DOMNode, type DOMNodeList, type DeltaToHtmlOptions, type DeltaToMarkdownOptions, type DocumentPresentation, type FootnotesBlockData, type Format, type FormatDefinition, type FormatMatchResult, type FormatScope, type HtmlToDeltaOptions, LINE_HEIGHT_BLOCK_TAGS, type ListType, type MarkdownToDeltaOptions, NODE_TYPE, NodeDOMAdapter, Registry, type ResolvedDocumentPresentation, type ResolvedTablePresentation, SCRIDER_LINE_HEIGHT_KEY, type SanitizeOptions, type TableBlockData, type TableCellAlign, type TableColAlignType, type TablePresentation, type TableRegion, alertBlockHandler, alignFormat, backgroundFormat, blockFormat, blockLineHeightStyleParts, blockPresentationStyleParts, blockquoteFormat, boldFormat, boxBlockHandler, browserAdapter, cloneDelta, codeBlockFormat, codeFormat, colorFormat, columnsBlockHandler, createDefaultBlockHandlers, createDefaultRegistry, defaultBlockFormats, defaultEmbedFormats, defaultFormats, defaultInlineFormats, deltaToHtml, deltaToMarkdown, dividerFormat, documentPresentationStyleParts, escapeHtml, extractBoxOpAttributes, extractTableRegion, fontFormat, footnoteRefFormat, footnotesBlockHandler, formulaFormat, getAdapter, getNamedColors, headerFormat, headerIdFormat, htmlToDelta, imageFormat, indentFormat, isAdapterAvailable, isElement, isRemarkAvailable, isTableNewlineOp, isTextNode, isValidColor, isValidHexColor, isZebraBodyRow, italicFormat, kbdFormat, linkFormat, listFormat, markFormat, markdownToDelta, markdownToDeltaSync, nodeAdapter, normalizeDelta, parseScriderLineHeightMultiplier, preloadRemark, resolveDocumentPresentation, resolveTablePresentation, sanitizeDelta, sizeFormat, slugify, slugifyWithDedup, softBreakFormat, strikeFormat, subscriptFormat, superscriptFormat, tableBlockHandler, tableColAlignFormat, tableColFormat, tableHeaderFormat, tableRowFormat, toHexColor, underlineFormat, unescapeHtml, validateDelta, videoFormat };
|
|
1928
|
+
export { ALERT_TYPES, type AlertBlockData, type AlertType, type AlignType, BOX_FLOAT_VALUES, BOX_OVERFLOW_VALUES, type BlockContext, type BlockHandler, BlockHandlerRegistry, type BlockRenderOptions, type BoxBlockData, type BoxFloat, type BoxOpAttributes, type BoxOverflow, BrowserDOMAdapter, type CellAlign, type CellData, type ColumnsBlockData, type DOMAdapter, type DOMDocument, type DOMDocumentFragment, type DOMElement, type DOMNode, type DOMNodeList, type DeltaToHtmlOptions, type DeltaToMarkdownOptions, type DocumentPresentation, type FootnotesBlockData, type Format, type FormatDefinition, type FormatMatchResult, type FormatScope, type HtmlToDeltaOptions, LINE_HEIGHT_BLOCK_TAGS, type ListType, type MarkdownToDeltaOptions, NODE_TYPE, NodeDOMAdapter, PARAGRAPH_SPACING_BLOCK_TAGS, Registry, type ResolvedDocumentPresentation, type ResolvedTablePresentation, SCRIDER_LINE_HEIGHT_KEY, SCRIDER_MARGIN_AFTER_KEY, type SanitizeOptions, type TableBlockData, type TableCellAlign, type TableColAlignType, type TablePresentation, type TableRegion, alertBlockHandler, alignFormat, backgroundFormat, blockFormat, blockLineHeightStyleParts, blockMarginAfterStyleParts, blockPresentationStyleParts, blockquoteFormat, boldFormat, boxBlockHandler, browserAdapter, cloneDelta, codeBlockFormat, codeFormat, colorFormat, columnsBlockHandler, createDefaultBlockHandlers, createDefaultRegistry, defaultBlockFormats, defaultEmbedFormats, defaultFormats, defaultInlineFormats, deltaToHtml, deltaToMarkdown, dividerFormat, documentPresentationStyleParts, escapeHtml, extractBoxOpAttributes, extractTableRegion, fontFormat, footnoteRefFormat, footnotesBlockHandler, formulaFormat, getAdapter, getNamedColors, headerFormat, headerIdFormat, htmlToDelta, imageFormat, indentFormat, isAdapterAvailable, isElement, isRemarkAvailable, isTableNewlineOp, isTextNode, isValidColor, isValidHexColor, isZebraBodyRow, italicFormat, kbdFormat, linkFormat, listFormat, markFormat, markdownToDelta, markdownToDeltaSync, nodeAdapter, normalizeDelta, parseScriderLineHeightMultiplier, parseScriderMarginAfterEm, preloadRemark, resolveDocumentPresentation, resolveTablePresentation, sanitizeDelta, sizeFormat, slugify, slugifyWithDedup, softBreakFormat, strikeFormat, subscriptFormat, superscriptFormat, tableBlockHandler, tableColAlignFormat, tableColFormat, tableHeaderFormat, tableRowFormat, toHexColor, underlineFormat, unescapeHtml, validateDelta, videoFormat };
|
package/dist/index.js
CHANGED
|
@@ -2495,7 +2495,9 @@ function slugifyWithDedup(text, usedSlugs) {
|
|
|
2495
2495
|
|
|
2496
2496
|
// src/conversion/html/block-presentation.ts
|
|
2497
2497
|
var SCRIDER_LINE_HEIGHT_KEY = "scrider-line-height";
|
|
2498
|
+
var SCRIDER_MARGIN_AFTER_KEY = "scrider-margin-after";
|
|
2498
2499
|
var LINE_HEIGHT_BLOCK_TAGS = /* @__PURE__ */ new Set(["p", "li", "blockquote"]);
|
|
2500
|
+
var PARAGRAPH_SPACING_BLOCK_TAGS = /* @__PURE__ */ new Set(["p"]);
|
|
2499
2501
|
function parseScriderLineHeightMultiplier(value) {
|
|
2500
2502
|
const trimmed = value.trim();
|
|
2501
2503
|
if (!trimmed) return void 0;
|
|
@@ -2524,6 +2526,34 @@ function blockLineHeightStyleParts(tag, blockAttributes, resolved) {
|
|
|
2524
2526
|
}
|
|
2525
2527
|
return [];
|
|
2526
2528
|
}
|
|
2529
|
+
function parseScriderMarginAfterEm(value) {
|
|
2530
|
+
const trimmed = value.trim();
|
|
2531
|
+
if (!trimmed) return void 0;
|
|
2532
|
+
const emMatch = trimmed.match(/^(-?\d+(?:\.\d+)?)\s*em$/i);
|
|
2533
|
+
if (emMatch) {
|
|
2534
|
+
const n2 = Number.parseFloat(emMatch[1]);
|
|
2535
|
+
if (Number.isFinite(n2) && n2 >= 0) return n2;
|
|
2536
|
+
return void 0;
|
|
2537
|
+
}
|
|
2538
|
+
const n = Number.parseFloat(trimmed);
|
|
2539
|
+
if (Number.isFinite(n) && n >= 0) return n;
|
|
2540
|
+
return void 0;
|
|
2541
|
+
}
|
|
2542
|
+
function marginAfterStyleParts(em) {
|
|
2543
|
+
return [`margin-top:0`, `margin-bottom:${em}em`];
|
|
2544
|
+
}
|
|
2545
|
+
function blockMarginAfterStyleParts(tag, blockAttributes, resolved) {
|
|
2546
|
+
if (!PARAGRAPH_SPACING_BLOCK_TAGS.has(tag)) return [];
|
|
2547
|
+
const raw = blockAttributes?.[SCRIDER_MARGIN_AFTER_KEY];
|
|
2548
|
+
if (typeof raw === "string") {
|
|
2549
|
+
const fromBlock = parseScriderMarginAfterEm(raw);
|
|
2550
|
+
if (fromBlock !== void 0) return marginAfterStyleParts(fromBlock);
|
|
2551
|
+
}
|
|
2552
|
+
if (resolved?.paragraphSpacingAfterEm !== void 0) {
|
|
2553
|
+
return marginAfterStyleParts(resolved.paragraphSpacingAfterEm);
|
|
2554
|
+
}
|
|
2555
|
+
return [];
|
|
2556
|
+
}
|
|
2527
2557
|
|
|
2528
2558
|
// src/conversion/html/document-presentation.ts
|
|
2529
2559
|
function resolveDocumentPresentation(presentation) {
|
|
@@ -2531,10 +2561,11 @@ function resolveDocumentPresentation(presentation) {
|
|
|
2531
2561
|
const lineSpacing = typeof presentation.lineSpacing === "number" && presentation.lineSpacing > 0 ? presentation.lineSpacing : void 0;
|
|
2532
2562
|
const textIndentCm = typeof presentation.textIndentCm === "number" && presentation.textIndentCm > 0 ? presentation.textIndentCm : void 0;
|
|
2533
2563
|
const listBlockIndentCm = typeof presentation.listBlockIndentCm === "number" && presentation.listBlockIndentCm > 0 ? presentation.listBlockIndentCm : void 0;
|
|
2534
|
-
|
|
2564
|
+
const paragraphSpacingAfterEm = typeof presentation.paragraphSpacingAfterEm === "number" && Number.isFinite(presentation.paragraphSpacingAfterEm) && presentation.paragraphSpacingAfterEm >= 0 ? presentation.paragraphSpacingAfterEm : void 0;
|
|
2565
|
+
if (lineSpacing === void 0 && paragraphSpacingAfterEm === void 0 && textIndentCm === void 0 && listBlockIndentCm === void 0) {
|
|
2535
2566
|
return void 0;
|
|
2536
2567
|
}
|
|
2537
|
-
return { lineSpacing, textIndentCm, listBlockIndentCm };
|
|
2568
|
+
return { lineSpacing, paragraphSpacingAfterEm, textIndentCm, listBlockIndentCm };
|
|
2538
2569
|
}
|
|
2539
2570
|
var TEXT_INDENT_TAGS = /* @__PURE__ */ new Set(["p"]);
|
|
2540
2571
|
function documentPresentationListWrapperStyleParts(resolved) {
|
|
@@ -2552,6 +2583,7 @@ function documentPresentationStyleParts(tag, resolved) {
|
|
|
2552
2583
|
function blockPresentationStyleParts(tag, blockAttributes, resolved) {
|
|
2553
2584
|
return [
|
|
2554
2585
|
...blockLineHeightStyleParts(tag, blockAttributes, resolved),
|
|
2586
|
+
...blockMarginAfterStyleParts(tag, blockAttributes, resolved),
|
|
2555
2587
|
...documentPresentationStyleParts(tag, resolved)
|
|
2556
2588
|
];
|
|
2557
2589
|
}
|
|
@@ -5186,13 +5218,16 @@ export {
|
|
|
5186
5218
|
LINE_HEIGHT_BLOCK_TAGS,
|
|
5187
5219
|
NODE_TYPE,
|
|
5188
5220
|
NodeDOMAdapter,
|
|
5221
|
+
PARAGRAPH_SPACING_BLOCK_TAGS,
|
|
5189
5222
|
Registry,
|
|
5190
5223
|
SCRIDER_LINE_HEIGHT_KEY,
|
|
5224
|
+
SCRIDER_MARGIN_AFTER_KEY,
|
|
5191
5225
|
alertBlockHandler,
|
|
5192
5226
|
alignFormat,
|
|
5193
5227
|
backgroundFormat,
|
|
5194
5228
|
blockFormat,
|
|
5195
5229
|
blockLineHeightStyleParts,
|
|
5230
|
+
blockMarginAfterStyleParts,
|
|
5196
5231
|
blockPresentationStyleParts,
|
|
5197
5232
|
blockquoteFormat,
|
|
5198
5233
|
boldFormat,
|
|
@@ -5245,6 +5280,7 @@ export {
|
|
|
5245
5280
|
nodeAdapter,
|
|
5246
5281
|
normalizeDelta,
|
|
5247
5282
|
parseScriderLineHeightMultiplier,
|
|
5283
|
+
parseScriderMarginAfterEm,
|
|
5248
5284
|
preloadRemark,
|
|
5249
5285
|
resolveDocumentPresentation,
|
|
5250
5286
|
resolveTablePresentation,
|