@scrider/formatter 1.9.1 → 1.10.1
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 +44 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +55 -2
- package/dist/index.d.ts +55 -2
- package/dist/index.js +39 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -44,6 +44,8 @@ __export(index_exports, {
|
|
|
44
44
|
SCRIDER_LINE_HEIGHT_KEY: () => SCRIDER_LINE_HEIGHT_KEY,
|
|
45
45
|
SCRIDER_MARGIN_AFTER_KEY: () => SCRIDER_MARGIN_AFTER_KEY,
|
|
46
46
|
SCRIDER_MARGIN_BEFORE_KEY: () => SCRIDER_MARGIN_BEFORE_KEY,
|
|
47
|
+
SCRIDER_TEXT_INDENT_KEY: () => SCRIDER_TEXT_INDENT_KEY,
|
|
48
|
+
TEXT_INDENT_BLOCK_TAGS: () => TEXT_INDENT_BLOCK_TAGS,
|
|
47
49
|
alertBlockHandler: () => alertBlockHandler,
|
|
48
50
|
alignFormat: () => alignFormat,
|
|
49
51
|
backgroundFormat: () => backgroundFormat,
|
|
@@ -53,6 +55,7 @@ __export(index_exports, {
|
|
|
53
55
|
blockMarginBeforeStyleParts: () => blockMarginBeforeStyleParts,
|
|
54
56
|
blockParagraphMarginStyleParts: () => blockParagraphMarginStyleParts,
|
|
55
57
|
blockPresentationStyleParts: () => blockPresentationStyleParts,
|
|
58
|
+
blockTextIndentStyleParts: () => blockTextIndentStyleParts,
|
|
56
59
|
blockquoteFormat: () => blockquoteFormat,
|
|
57
60
|
boldFormat: () => boldFormat,
|
|
58
61
|
boxBlockHandler: () => boxBlockHandler,
|
|
@@ -70,6 +73,7 @@ __export(index_exports, {
|
|
|
70
73
|
defaultEmbedFormats: () => defaultEmbedFormats,
|
|
71
74
|
defaultFormats: () => defaultFormats,
|
|
72
75
|
defaultInlineFormats: () => defaultInlineFormats,
|
|
76
|
+
deltaToDom: () => deltaToDom,
|
|
73
77
|
deltaToHtml: () => deltaToHtml,
|
|
74
78
|
deltaToMarkdown: () => deltaToMarkdown,
|
|
75
79
|
dividerFormat: () => dividerFormat,
|
|
@@ -112,6 +116,7 @@ __export(index_exports, {
|
|
|
112
116
|
parseScriderMarginBeforeEm: () => parseScriderMarginBeforeEm,
|
|
113
117
|
parseScriderMarginEm: () => parseScriderMarginEm,
|
|
114
118
|
preloadRemark: () => preloadRemark,
|
|
119
|
+
renderDelta: () => renderDelta,
|
|
115
120
|
resolveDocumentPresentation: () => resolveDocumentPresentation,
|
|
116
121
|
resolveTablePresentation: () => resolveTablePresentation,
|
|
117
122
|
sanitizeDelta: () => sanitizeDelta,
|
|
@@ -590,9 +595,13 @@ var EMBED_RENDERERS = {
|
|
|
590
595
|
const embedSrc = toCodeWidgetEmbedUrl(src);
|
|
591
596
|
return `<iframe data-code-widget src="${escapeHtml(embedSrc)}" frameborder="0" allowfullscreen${renderEmbedIframeIsolationAttrs(context, "codeWidget")}${float}${style}></iframe>`;
|
|
592
597
|
},
|
|
598
|
+
// `data-scrider-embed` marks this span as 1 Delta char for DomBridge before
|
|
599
|
+
// KaTeX post-render replaces the text body with a `.katex` subtree. Without
|
|
600
|
+
// the marker, DomBridge counts the raw LaTeX length and drifts indices for
|
|
601
|
+
// everything after the formula (e.g. Simple Table chrome probe fails).
|
|
593
602
|
formula: (value) => {
|
|
594
603
|
const latex = typeof value === "string" ? value : "";
|
|
595
|
-
return `<span class="formula" data-formula="${escapeHtml(latex)}">${escapeHtml(latex)}</span>`;
|
|
604
|
+
return `<span class="formula" data-formula="${escapeHtml(latex)}" data-scrider-embed>${escapeHtml(latex)}</span>`;
|
|
596
605
|
},
|
|
597
606
|
diagram: (value) => {
|
|
598
607
|
const source = typeof value === "string" ? value : "";
|
|
@@ -2718,7 +2727,7 @@ var formulaFormat = {
|
|
|
2718
2727
|
},
|
|
2719
2728
|
render(value) {
|
|
2720
2729
|
const latex = typeof value === "string" ? value : "";
|
|
2721
|
-
return `<span class="formula" data-formula="${escapeHtml(latex)}">${escapeHtml(latex)}</span>`;
|
|
2730
|
+
return `<span class="formula" data-formula="${escapeHtml(latex)}" data-scrider-embed>${escapeHtml(latex)}</span>`;
|
|
2722
2731
|
},
|
|
2723
2732
|
match(element) {
|
|
2724
2733
|
if (element.tagName.toLowerCase() !== "span") return null;
|
|
@@ -3130,7 +3139,9 @@ function slugifyWithDedup(text, usedSlugs) {
|
|
|
3130
3139
|
var SCRIDER_LINE_HEIGHT_KEY = "scrider-line-height";
|
|
3131
3140
|
var SCRIDER_MARGIN_AFTER_KEY = "scrider-margin-after";
|
|
3132
3141
|
var SCRIDER_MARGIN_BEFORE_KEY = "scrider-margin-before";
|
|
3142
|
+
var SCRIDER_TEXT_INDENT_KEY = "scrider-text-indent";
|
|
3133
3143
|
var LINE_HEIGHT_BLOCK_TAGS = /* @__PURE__ */ new Set(["p", "li", "blockquote"]);
|
|
3144
|
+
var TEXT_INDENT_BLOCK_TAGS = /* @__PURE__ */ new Set(["p"]);
|
|
3134
3145
|
var PARAGRAPH_SPACING_BLOCK_TAGS = /* @__PURE__ */ new Set(["p"]);
|
|
3135
3146
|
function parseScriderLineHeightMultiplier(value) {
|
|
3136
3147
|
const trimmed = value.trim();
|
|
@@ -3160,6 +3171,18 @@ function blockLineHeightStyleParts(tag, blockAttributes, resolved) {
|
|
|
3160
3171
|
}
|
|
3161
3172
|
return [];
|
|
3162
3173
|
}
|
|
3174
|
+
function blockTextIndentStyleParts(tag, blockAttributes, resolved) {
|
|
3175
|
+
if (!TEXT_INDENT_BLOCK_TAGS.has(tag)) return [];
|
|
3176
|
+
const raw = blockAttributes?.[SCRIDER_TEXT_INDENT_KEY];
|
|
3177
|
+
if (typeof raw === "string") {
|
|
3178
|
+
const trimmed = raw.trim();
|
|
3179
|
+
if (trimmed) return [`text-indent:${trimmed}`];
|
|
3180
|
+
}
|
|
3181
|
+
if (resolved?.textIndentCm !== void 0) {
|
|
3182
|
+
return [`text-indent:${resolved.textIndentCm}cm`];
|
|
3183
|
+
}
|
|
3184
|
+
return [];
|
|
3185
|
+
}
|
|
3163
3186
|
function parseScriderMarginEm(value) {
|
|
3164
3187
|
const trimmed = value.trim();
|
|
3165
3188
|
if (!trimmed) return void 0;
|
|
@@ -3284,7 +3307,7 @@ function blockPresentationStyleParts(tag, blockAttributes, resolved) {
|
|
|
3284
3307
|
return [
|
|
3285
3308
|
...blockLineHeightStyleParts(tag, blockAttributes, resolved),
|
|
3286
3309
|
...blockParagraphMarginStyleParts(tag, blockAttributes, resolved),
|
|
3287
|
-
...
|
|
3310
|
+
...blockTextIndentStyleParts(tag, blockAttributes, resolved)
|
|
3288
3311
|
];
|
|
3289
3312
|
}
|
|
3290
3313
|
function joinStyleParts(parts) {
|
|
@@ -3568,6 +3591,19 @@ function deltaToHtml(delta, options = {}) {
|
|
|
3568
3591
|
}
|
|
3569
3592
|
return html;
|
|
3570
3593
|
}
|
|
3594
|
+
function stripPresentationForEditor(options) {
|
|
3595
|
+
const rest = { ...options };
|
|
3596
|
+
delete rest.documentPresentation;
|
|
3597
|
+
delete rest.documentMetadata;
|
|
3598
|
+
delete rest.tablePresentation;
|
|
3599
|
+
return rest;
|
|
3600
|
+
}
|
|
3601
|
+
function renderDelta(delta, profile, options = {}) {
|
|
3602
|
+
return profile === "editor" ? deltaToHtml(delta, stripPresentationForEditor(options)) : deltaToHtml(delta, options);
|
|
3603
|
+
}
|
|
3604
|
+
function deltaToDom(delta, options = {}) {
|
|
3605
|
+
return renderDelta(delta, "editor", options);
|
|
3606
|
+
}
|
|
3571
3607
|
function getIndent(level) {
|
|
3572
3608
|
return " ".repeat(level);
|
|
3573
3609
|
}
|
|
@@ -6206,6 +6242,8 @@ function astToDelta(tree, customHandlers, mathBlock, mermaidBlock, plantumlBlock
|
|
|
6206
6242
|
SCRIDER_LINE_HEIGHT_KEY,
|
|
6207
6243
|
SCRIDER_MARGIN_AFTER_KEY,
|
|
6208
6244
|
SCRIDER_MARGIN_BEFORE_KEY,
|
|
6245
|
+
SCRIDER_TEXT_INDENT_KEY,
|
|
6246
|
+
TEXT_INDENT_BLOCK_TAGS,
|
|
6209
6247
|
alertBlockHandler,
|
|
6210
6248
|
alignFormat,
|
|
6211
6249
|
backgroundFormat,
|
|
@@ -6215,6 +6253,7 @@ function astToDelta(tree, customHandlers, mathBlock, mermaidBlock, plantumlBlock
|
|
|
6215
6253
|
blockMarginBeforeStyleParts,
|
|
6216
6254
|
blockParagraphMarginStyleParts,
|
|
6217
6255
|
blockPresentationStyleParts,
|
|
6256
|
+
blockTextIndentStyleParts,
|
|
6218
6257
|
blockquoteFormat,
|
|
6219
6258
|
boldFormat,
|
|
6220
6259
|
boxBlockHandler,
|
|
@@ -6232,6 +6271,7 @@ function astToDelta(tree, customHandlers, mathBlock, mermaidBlock, plantumlBlock
|
|
|
6232
6271
|
defaultEmbedFormats,
|
|
6233
6272
|
defaultFormats,
|
|
6234
6273
|
defaultInlineFormats,
|
|
6274
|
+
deltaToDom,
|
|
6235
6275
|
deltaToHtml,
|
|
6236
6276
|
deltaToMarkdown,
|
|
6237
6277
|
dividerFormat,
|
|
@@ -6274,6 +6314,7 @@ function astToDelta(tree, customHandlers, mathBlock, mermaidBlock, plantumlBlock
|
|
|
6274
6314
|
parseScriderMarginBeforeEm,
|
|
6275
6315
|
parseScriderMarginEm,
|
|
6276
6316
|
preloadRemark,
|
|
6317
|
+
renderDelta,
|
|
6277
6318
|
resolveDocumentPresentation,
|
|
6278
6319
|
resolveTablePresentation,
|
|
6279
6320
|
sanitizeDelta,
|