stream-markdown-parser 0.0.83 → 0.0.85

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.d.ts CHANGED
@@ -413,6 +413,8 @@ interface HtmlToken {
413
413
  }
414
414
  declare function isCustomHtmlComponentTag(tagName: string, customComponents: Record<string, unknown>): boolean;
415
415
  declare function sanitizeHtmlAttrs(attrs: Record<string, string>): Record<string, string>;
416
+ declare function tokenAttrsToRecord(attrs?: Array<[string, string | null]> | null): Record<string, string>;
417
+ declare function sanitizeHtmlTokenAttrs(attrs?: Array<[string, string | null]> | null): [string, string][] | undefined;
416
418
  declare function convertHtmlPropValue(value: string, key: string): any;
417
419
  declare function convertHtmlAttrsToProps(attrs: Record<string, string>): Record<string, any>;
418
420
  declare function tokenizeHtml(html: string): HtmlToken[];
@@ -427,6 +429,7 @@ declare const EXTENDED_STANDARD_HTML_TAG_NAMES: readonly ["address", "audio", "b
427
429
  declare const DANGEROUS_HTML_ATTR_NAMES: readonly ["onclick", "onerror", "onload", "onmouseover", "onmouseout", "onmousedown", "onmouseup", "onkeydown", "onkeyup", "onfocus", "onblur", "onsubmit", "onreset", "onchange", "onselect", "ondblclick", "ontouchstart", "ontouchend", "ontouchmove", "ontouchcancel", "onwheel", "onscroll", "oncopy", "oncut", "onpaste", "oninput", "oninvalid", "onsearch"];
428
430
  declare const URL_HTML_ATTR_NAMES: readonly ["href", "src", "srcset", "xlink:href", "formaction"];
429
431
  declare const BLOCKED_HTML_TAG_NAMES: readonly ["script"];
432
+ declare const NON_STRUCTURING_HTML_TAG_NAMES: readonly ["pre", "script", "style", "textarea", "title"];
430
433
  declare const VOID_HTML_TAGS: Set<string>;
431
434
  declare const STANDARD_BLOCK_HTML_TAGS: Set<string>;
432
435
  declare const STANDARD_HTML_TAGS: Set<string>;
@@ -434,6 +437,7 @@ declare const EXTENDED_STANDARD_HTML_TAGS: Set<string>;
434
437
  declare const DANGEROUS_HTML_ATTRS: Set<string>;
435
438
  declare const URL_HTML_ATTRS: Set<string>;
436
439
  declare const BLOCKED_HTML_TAGS: Set<string>;
440
+ declare const NON_STRUCTURING_HTML_TAGS: Set<string>;
437
441
  declare function stripHtmlControlAndWhitespace(value: string): string;
438
442
  declare function isUnsafeHtmlUrl(value: string): boolean;
439
443
  //#endregion
@@ -467,5 +471,5 @@ interface GetMarkdownOptions extends FactoryOptions {
467
471
  }
468
472
  declare function getMarkdown(msgId?: string, options?: GetMarkdownOptions): MarkdownIt;
469
473
  //#endregion
470
- export { AdmonitionNode, BLOCKED_HTML_TAGS, BLOCKED_HTML_TAG_NAMES, BLOCK_HTML_TAG_NAMES, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponentAttrs, CustomComponentNode, CustomComponents, DANGEROUS_HTML_ATTRS, DANGEROUS_HTML_ATTR_NAMES, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EXTENDED_STANDARD_HTML_TAGS, EXTENDED_STANDARD_HTML_TAG_NAMES, EmojiNode, EmphasisNode, FootnoteAnchorNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, HtmlBlockNode, HtmlInlineNode, HtmlToken, INLINE_HTML_TAG_NAMES, ImageNode, InlineCodeNode, InlineNode, InsertNode, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, type MarkdownIt, MarkdownRender, MarkdownToken, MarkdownTokenLite, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, STANDARD_BLOCK_HTML_TAGS, STANDARD_HTML_TAGS, SVG_HTML_TAG_NAMES, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, URL_HTML_ATTRS, URL_HTML_ATTR_NAMES, UnknownNode, VOID_HTML_TAGS, VOID_HTML_TAG_NAMES, VmrContainerNode, applyContainers, applyMath, clearRegisteredMarkdownPlugins, convertHtmlAttrsToProps, convertHtmlPropValue, findMatchingClose, getHtmlTagFromContent, getMarkdown, hasCompleteHtmlTagContent, hasCustomHtmlComponents, isCustomHtmlComponentTag, isHtmlLikeTagName, isMathLike, isUnsafeHtmlUrl, mergeCustomHtmlTags, normalizeCustomHtmlTagName, normalizeCustomHtmlTags, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, registerMarkdownPlugin, resolveCustomHtmlTags, sanitizeHtmlAttrs, setDefaultMathOptions, shouldRenderUnknownHtmlTagAsText, stripCustomHtmlWrapper, stripHtmlControlAndWhitespace, tokenizeHtml };
474
+ export { AdmonitionNode, BLOCKED_HTML_TAGS, BLOCKED_HTML_TAG_NAMES, BLOCK_HTML_TAG_NAMES, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponentAttrs, CustomComponentNode, CustomComponents, DANGEROUS_HTML_ATTRS, DANGEROUS_HTML_ATTR_NAMES, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EXTENDED_STANDARD_HTML_TAGS, EXTENDED_STANDARD_HTML_TAG_NAMES, EmojiNode, EmphasisNode, FootnoteAnchorNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, HtmlBlockNode, HtmlInlineNode, HtmlToken, INLINE_HTML_TAG_NAMES, ImageNode, InlineCodeNode, InlineNode, InsertNode, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, type MarkdownIt, MarkdownRender, MarkdownToken, MarkdownTokenLite, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, NON_STRUCTURING_HTML_TAGS, NON_STRUCTURING_HTML_TAG_NAMES, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, STANDARD_BLOCK_HTML_TAGS, STANDARD_HTML_TAGS, SVG_HTML_TAG_NAMES, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, URL_HTML_ATTRS, URL_HTML_ATTR_NAMES, UnknownNode, VOID_HTML_TAGS, VOID_HTML_TAG_NAMES, VmrContainerNode, applyContainers, applyMath, clearRegisteredMarkdownPlugins, convertHtmlAttrsToProps, convertHtmlPropValue, findMatchingClose, getHtmlTagFromContent, getMarkdown, hasCompleteHtmlTagContent, hasCustomHtmlComponents, isCustomHtmlComponentTag, isHtmlLikeTagName, isMathLike, isUnsafeHtmlUrl, mergeCustomHtmlTags, normalizeCustomHtmlTagName, normalizeCustomHtmlTags, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, registerMarkdownPlugin, resolveCustomHtmlTags, sanitizeHtmlAttrs, sanitizeHtmlTokenAttrs, setDefaultMathOptions, shouldRenderUnknownHtmlTagAsText, stripCustomHtmlWrapper, stripHtmlControlAndWhitespace, tokenAttrsToRecord, tokenizeHtml };
471
475
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/customHtmlTags.ts","../src/findMatchingClose.ts","../src/htmlRenderUtils.ts","../src/htmlTags.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/customHtmlTags.ts","../src/findMatchingClose.ts","../src/htmlRenderUtils.ts","../src/htmlTags.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9573,6 +9573,13 @@ const URL_HTML_ATTR_NAMES = [
9573
9573
  "formaction"
9574
9574
  ];
9575
9575
  const BLOCKED_HTML_TAG_NAMES = ["script"];
9576
+ const NON_STRUCTURING_HTML_TAG_NAMES = [
9577
+ "pre",
9578
+ "script",
9579
+ "style",
9580
+ "textarea",
9581
+ "title"
9582
+ ];
9576
9583
  const VOID_HTML_TAGS = new Set(VOID_HTML_TAG_NAMES);
9577
9584
  const STANDARD_BLOCK_HTML_TAGS = new Set(BLOCK_HTML_TAG_NAMES);
9578
9585
  const STANDARD_HTML_TAGS = new Set([
@@ -9585,6 +9592,7 @@ const EXTENDED_STANDARD_HTML_TAGS = new Set([...STANDARD_HTML_TAGS, ...EXTENDED_
9585
9592
  const DANGEROUS_HTML_ATTRS = new Set(DANGEROUS_HTML_ATTR_NAMES);
9586
9593
  const URL_HTML_ATTRS = new Set(URL_HTML_ATTR_NAMES);
9587
9594
  const BLOCKED_HTML_TAGS = new Set(BLOCKED_HTML_TAG_NAMES);
9595
+ const NON_STRUCTURING_HTML_TAGS = new Set(NON_STRUCTURING_HTML_TAG_NAMES);
9588
9596
  function stripHtmlControlAndWhitespace(value) {
9589
9597
  let out = "";
9590
9598
  for (const ch of value) {
@@ -11772,6 +11780,16 @@ function applyMath(md, mathOpts) {
11772
11780
  const s = state;
11773
11781
  const strict = !!mathOpts?.strictDelimiters;
11774
11782
  const allowLoading = !s?.env?.__markstreamFinal;
11783
+ const preserveSpacesBeforeLineBreak = (src, start) => {
11784
+ let end = start;
11785
+ while (end < src.length && (src[end] === " " || src[end] === " ")) end++;
11786
+ if (end === start) return start;
11787
+ if (!(src[end] === "\n" || src[end] === "\r" && src[end + 1] === "\n")) return start;
11788
+ const text$1 = src.slice(start, end);
11789
+ const token = s.push("text", "", 0);
11790
+ token.content = text$1;
11791
+ return end;
11792
+ };
11775
11793
  if (/^\*[^*]+/.test(s.src)) return false;
11776
11794
  const delimiters = [
11777
11795
  ["$$", "$$"],
@@ -12054,11 +12072,11 @@ function applyMath(md, mathOpts) {
12054
12072
  token.loading = false;
12055
12073
  const isBeforeClose = src.slice(endIdx + close.length).startsWith(strongMarker);
12056
12074
  if (isBeforeClose) s.push("strong_close", "", 0);
12057
- s.pos = endIdx + close.length;
12075
+ s.pos = preserveSpacesBeforeLineBreak(src, endIdx + close.length);
12058
12076
  searchPos = s.pos;
12059
12077
  preMathPos = searchPos;
12060
12078
  if (!isBeforeClose) s.push("strong_close", "", 0);
12061
- continue;
12079
+ return true;
12062
12080
  } else {
12063
12081
  const token = s.push("math_inline", "math", 0);
12064
12082
  token.content = normalizeStandaloneBackslashT(content, mathOpts);
@@ -12067,9 +12085,10 @@ function applyMath(md, mathOpts) {
12067
12085
  token.loading = false;
12068
12086
  }
12069
12087
  }
12070
- searchPos = endIdx + close.length;
12088
+ searchPos = preserveSpacesBeforeLineBreak(src, endIdx + close.length);
12071
12089
  preMathPos = searchPos;
12072
12090
  s.pos = searchPos;
12091
+ return true;
12073
12092
  }
12074
12093
  if (foundAny) {
12075
12094
  if (!silent) {
@@ -12531,6 +12550,40 @@ function normalizeLinkAttrs$1(attrs, href, title) {
12531
12550
  function stringifyTokens(tokens) {
12532
12551
  return tokens.map(tokenToRaw).join("");
12533
12552
  }
12553
+ function normalizeStandardHtmlChildren(children) {
12554
+ const normalized = [];
12555
+ const pushText = (rawText) => {
12556
+ const text$1 = String(rawText ?? "");
12557
+ if (!text$1) return;
12558
+ const last = normalized[normalized.length - 1];
12559
+ if (last?.type === "text") {
12560
+ last.content = String(last.content ?? "") + text$1;
12561
+ last.raw = String(last.raw ?? "") + text$1;
12562
+ return;
12563
+ }
12564
+ normalized.push({
12565
+ type: "text",
12566
+ content: text$1,
12567
+ raw: text$1
12568
+ });
12569
+ };
12570
+ for (const child of children) {
12571
+ if (!child) continue;
12572
+ if (child.type === "reference" || child.type === "footnote_reference") {
12573
+ pushText(String(child.raw ?? ""));
12574
+ continue;
12575
+ }
12576
+ if (Array.isArray(child.children)) {
12577
+ normalized.push({
12578
+ ...child,
12579
+ children: normalizeStandardHtmlChildren(child.children ?? [])
12580
+ });
12581
+ continue;
12582
+ }
12583
+ normalized.push(child);
12584
+ }
12585
+ return normalized;
12586
+ }
12534
12587
  function findMatchingClosing(tokens, startIndex, tag) {
12535
12588
  let depth = 0;
12536
12589
  for (let idx = startIndex; idx < tokens.length; idx++) {
@@ -12615,9 +12668,9 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
12615
12668
  const titleAttr = getAttrValue$1(attrs$1, "title");
12616
12669
  const title = titleAttr == null ? null : String(titleAttr);
12617
12670
  const normalizedAttrs = normalizeLinkAttrs$1(attrs$1, href, title);
12618
- const children$1 = innerTokens.length ? parseInlineTokens$1(innerTokens, raw, pPreToken, options) : [];
12671
+ const normalizedChildren$1 = normalizeStandardHtmlChildren(innerTokens.length ? parseInlineTokens$1(innerTokens, raw, pPreToken, options) : []);
12619
12672
  const textContent = innerTokens.length ? stringifyTokens(innerTokens) : href || "";
12620
- if (!children$1.length && textContent) children$1.push({
12673
+ if (!normalizedChildren$1.length && textContent) normalizedChildren$1.push({
12621
12674
  type: "text",
12622
12675
  content: textContent,
12623
12676
  raw: textContent
@@ -12628,7 +12681,7 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
12628
12681
  title,
12629
12682
  text: textContent,
12630
12683
  attrs: normalizedAttrs,
12631
- children: children$1,
12684
+ children: normalizedChildren$1,
12632
12685
  loading: !fragment$1.closed,
12633
12686
  raw: fragment$1.html || code$1
12634
12687
  }, fragment$1.nextIndex];
@@ -12644,10 +12697,10 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
12644
12697
  const fragment = collectHtmlFragment(tokens, i, tag);
12645
12698
  if (tag === "p" || tag === "div") return [{
12646
12699
  type: "paragraph",
12647
- children: fragment.innerTokens.length ? parseInlineTokens$1(fragment.innerTokens, raw, pPreToken, options) : [],
12700
+ children: normalizeStandardHtmlChildren(fragment.innerTokens.length ? parseInlineTokens$1(fragment.innerTokens, raw, pPreToken, options) : []),
12648
12701
  raw: fragment.html
12649
12702
  }, fragment.nextIndex];
12650
- const children = fragment.innerTokens.length ? parseInlineTokens$1(fragment.innerTokens, raw, pPreToken, options) : [];
12703
+ const normalizedChildren = normalizeStandardHtmlChildren(fragment.innerTokens.length ? parseInlineTokens$1(fragment.innerTokens, raw, pPreToken, options) : []);
12651
12704
  let content = fragment.html || code$1;
12652
12705
  let loading = !fragment.closed;
12653
12706
  let autoClosed = false;
@@ -12680,7 +12733,7 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
12680
12733
  tag,
12681
12734
  attrs,
12682
12735
  content,
12683
- children,
12736
+ children: normalizedChildren,
12684
12737
  raw: content,
12685
12738
  loading,
12686
12739
  autoClosed
@@ -12972,7 +13025,7 @@ function parseTextToken(token) {
12972
13025
  const STRONG_PAIR_RE = /\*\*([\s\S]*?)\*\*/;
12973
13026
  const STRIKETHROUGH_RE = /[^~]*~{2,}[^~]+/;
12974
13027
  const HAS_STRONG_RE = /\*\*/;
12975
- const INLINE_REPARSE_MARKER_RE = /\*\*\*|___|\*\*|__|\*|_|~~/;
13028
+ const INLINE_REPARSE_MARKER_RE = /[[_*^~]/;
12976
13029
  const ESCAPED_PUNCTUATION_RE = /\\([\\()[\]`$|*_\-!])/g;
12977
13030
  const ESCAPABLE_PUNCTUATION = new Set([
12978
13031
  "\\",
@@ -13434,10 +13487,10 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
13434
13487
  }
13435
13488
  function tryReparseCollapsedInlineText(rawContent) {
13436
13489
  const md = options?.__markdownIt;
13437
- if (!md || !options?.final) return null;
13490
+ if (!md) return null;
13438
13491
  if (tokens.length <= 1 || !tokens.some((token) => token?.type === "math_inline")) return null;
13439
13492
  if (!INLINE_REPARSE_MARKER_RE.test(rawContent)) return null;
13440
- const reparsed = md.parseInline(rawContent, { __markstreamFinal: true });
13493
+ const reparsed = md.parseInline(rawContent, { __markstreamFinal: !!options?.final });
13441
13494
  if (!Array.isArray(reparsed) || reparsed.length === 0) return null;
13442
13495
  const children = (reparsed.find((token) => token?.type === "inline")?.children ?? []).filter((child) => !(child?.type === "text" && String(child.content ?? "") === ""));
13443
13496
  if (!children.length) return null;
@@ -15242,6 +15295,14 @@ function buildHtmlBlockContent(raw, tag, closed) {
15242
15295
  if (closed) return raw;
15243
15296
  return `${raw.replace(/<[^>]*$/, "")}\n</${tag}>`;
15244
15297
  }
15298
+ function normalizeIndentedSourceForLookup(value) {
15299
+ return value.replace(/\r\n/g, "\n").replace(/(^|\n)[ \t]{1,4}/g, "$1");
15300
+ }
15301
+ function canFindNodeRawAfterSourceIndex(source, startIndex, nodeRaw) {
15302
+ if (!nodeRaw) return false;
15303
+ if (source.indexOf(nodeRaw, startIndex) !== -1) return true;
15304
+ return normalizeIndentedSourceForLookup(source.slice(Math.max(0, startIndex))).includes(normalizeIndentedSourceForLookup(nodeRaw));
15305
+ }
15245
15306
  function extendHtmlBlockCloseToLineEnding(source, startIndex) {
15246
15307
  let end = Math.max(0, startIndex);
15247
15308
  while (end < source.length && (source[end] === " " || source[end] === " ")) end++;
@@ -15279,6 +15340,54 @@ function buildDetailsChildParseOptions(options, final) {
15279
15340
  validateLink: options.validateLink
15280
15341
  };
15281
15342
  }
15343
+ const STRUCTURED_HTML_WRAPPER_BLOCK_TYPES = new Set([
15344
+ "admonition",
15345
+ "blockquote",
15346
+ "code_block",
15347
+ "definition_list",
15348
+ "footnote",
15349
+ "heading",
15350
+ "list",
15351
+ "math_block",
15352
+ "table",
15353
+ "thematic_break"
15354
+ ]);
15355
+ const STRUCTURED_HTML_WRAPPER_MARKER_RE = /(?:^|\n)(?:\s{0,3}(?:#{1,6}\s+\S|[-+*]\s+\S|\d+[.)]\s+\S|>\s*\S|(?:`{3,}|~{3,})|(?:\*{3,}|-{3,}|_{3,})(?:\s|$)|\|.*\|))/m;
15356
+ function hasStructuredHtmlWrapperMarkers(fragment) {
15357
+ return /\n\s*\n/.test(fragment) || STRUCTURED_HTML_WRAPPER_MARKER_RE.test(fragment);
15358
+ }
15359
+ function shouldStructureGenericHtmlBlockChildren(innerRaw, children) {
15360
+ if (!innerRaw.trim() || children.length === 0) return false;
15361
+ if (children.some((child) => STRUCTURED_HTML_WRAPPER_BLOCK_TYPES.has(String(child?.type ?? "").toLowerCase()))) return true;
15362
+ if (children.some((child) => {
15363
+ if (child?.type !== "html_block") return false;
15364
+ return Array.isArray(child?.children) && child.children.length > 0;
15365
+ })) return true;
15366
+ if (!hasStructuredHtmlWrapperMarkers(innerRaw)) return false;
15367
+ if (children.length > 1) return true;
15368
+ const [first] = children;
15369
+ return Boolean(first && first.type === "paragraph");
15370
+ }
15371
+ function structureGenericHtmlBlockChildren(nodes, md, options, final) {
15372
+ return nodes.map((node) => {
15373
+ if (node?.type !== "html_block") return node;
15374
+ const tag = String(node?.tag ?? "").toLowerCase();
15375
+ if (!tag || tag === "details" || NON_STRUCTURING_HTML_TAGS.has(tag) || Array.isArray(node?.children)) return node;
15376
+ const raw = String(node?.raw ?? node?.content ?? "");
15377
+ if (!raw) return node;
15378
+ const openEnd = findTagCloseIndexOutsideQuotes(raw);
15379
+ if (openEnd === -1) return node;
15380
+ const closeStart = findLastClosingTagStart(raw, tag);
15381
+ const innerRaw = closeStart !== -1 && closeStart >= openEnd + 1 ? raw.slice(openEnd + 1, closeStart) : raw.slice(openEnd + 1);
15382
+ if (!innerRaw.trim()) return node;
15383
+ const children = parseDetailsFragmentChildren(innerRaw, md, buildDetailsChildParseOptions(options, final));
15384
+ if (!shouldStructureGenericHtmlBlockChildren(innerRaw, children)) return node;
15385
+ return {
15386
+ ...node,
15387
+ children
15388
+ };
15389
+ });
15390
+ }
15282
15391
  function parseDetailsFragmentChildren(fragment, md, options) {
15283
15392
  if (!fragment.trim()) return [];
15284
15393
  return parseMarkdownToStructure(fragment, md, options);
@@ -15411,9 +15520,13 @@ function mergeSplitTopLevelHtmlBlocks(nodes, final, source) {
15411
15520
  const nextContent = buildHtmlBlockContent(exact.raw, tag, exact.closed);
15412
15521
  const desiredLoading = !final && !exact.closed;
15413
15522
  const needsExpansion = currentContent !== nextContent || currentRaw !== exact.raw || Boolean(node?.loading) !== desiredLoading;
15523
+ const exactOpenEnd = findTagCloseIndexOutsideQuotes(exact.raw);
15524
+ const exactOpenTag = exactOpenEnd === -1 ? "" : exact.raw.slice(0, exactOpenEnd + 1);
15525
+ const exactAttrs = exactOpenTag ? parseTagAttrs(exactOpenTag) : [];
15414
15526
  node.content = nextContent;
15415
15527
  node.raw = exact.raw;
15416
15528
  node.loading = desiredLoading;
15529
+ node.attrs = exactAttrs.length ? exactAttrs : void 0;
15417
15530
  if (!needsExpansion) continue;
15418
15531
  let tailCursor = findApproximateConsumedPrefixEnd(exact.raw, currentRaw);
15419
15532
  if (tailCursor === -1) tailCursor = 0;
@@ -15426,7 +15539,11 @@ function mergeSplitTopLevelHtmlBlocks(nodes, final, source) {
15426
15539
  const nextRaw = getMergeableNodeRaw(merged[j]);
15427
15540
  if (!nextRaw) break;
15428
15541
  const nextPos = exact.raw.indexOf(nextRaw, tailCursor);
15429
- if (nextPos === -1) break;
15542
+ if (nextPos === -1) {
15543
+ if (canFindNodeRawAfterSourceIndex(source, exact.end, nextRaw)) break;
15544
+ merged.splice(j, 1);
15545
+ continue;
15546
+ }
15430
15547
  tailCursor = nextPos + nextRaw.length;
15431
15548
  merged.splice(j, 1);
15432
15549
  }
@@ -16270,6 +16387,7 @@ function parseMarkdownToStructure(markdown, md, options = {}) {
16270
16387
  }
16271
16388
  result = mergeSplitTopLevelHtmlBlocks(result, isFinal, safeMarkdown);
16272
16389
  result = combineStructuredDetailsHtmlBlocks(result, safeMarkdown, md, options, isFinal)[0];
16390
+ result = structureGenericHtmlBlockChildren(result, md, options, isFinal);
16273
16391
  if (isFinal) {
16274
16392
  const seen = /* @__PURE__ */ new WeakSet();
16275
16393
  const finalizeHtmlBlockLoading = (value) => {
@@ -16398,6 +16516,20 @@ function sanitizeHtmlAttrs(attrs) {
16398
16516
  }
16399
16517
  return clean;
16400
16518
  }
16519
+ function tokenAttrsToRecord(attrs) {
16520
+ const record = {};
16521
+ if (!Array.isArray(attrs) || attrs.length === 0) return record;
16522
+ for (const [key, value] of attrs) {
16523
+ if (!key) continue;
16524
+ record[String(key)] = value == null ? "" : String(value);
16525
+ }
16526
+ return record;
16527
+ }
16528
+ function sanitizeHtmlTokenAttrs(attrs) {
16529
+ const sanitized = sanitizeHtmlAttrs(tokenAttrsToRecord(attrs));
16530
+ const pairs = Object.entries(sanitized).map(([key, value]) => [key, value]);
16531
+ return pairs.length > 0 ? pairs : void 0;
16532
+ }
16401
16533
  function convertHtmlPropValue(value, key) {
16402
16534
  const lowerKey = key.toLowerCase();
16403
16535
  if ([
@@ -16657,6 +16789,7 @@ function getMarkdown(msgId = `editor-${Date.now()}`, options = {}) {
16657
16789
  const token = s.push("reference", "span", 0);
16658
16790
  token.content = id;
16659
16791
  token.markup = match[0];
16792
+ token.raw = match[0];
16660
16793
  }
16661
16794
  s.pos += match[0].length;
16662
16795
  return true;
@@ -16671,5 +16804,5 @@ function getMarkdown(msgId = `editor-${Date.now()}`, options = {}) {
16671
16804
  }
16672
16805
 
16673
16806
  //#endregion
16674
- export { BLOCKED_HTML_TAGS, BLOCKED_HTML_TAG_NAMES, BLOCK_HTML_TAG_NAMES, DANGEROUS_HTML_ATTRS, DANGEROUS_HTML_ATTR_NAMES, ESCAPED_TEX_BRACE_COMMANDS, EXTENDED_STANDARD_HTML_TAGS, EXTENDED_STANDARD_HTML_TAG_NAMES, INLINE_HTML_TAG_NAMES, KATEX_COMMANDS, STANDARD_BLOCK_HTML_TAGS, STANDARD_HTML_TAGS, SVG_HTML_TAG_NAMES, TEX_BRACE_COMMANDS, URL_HTML_ATTRS, URL_HTML_ATTR_NAMES, VOID_HTML_TAGS, VOID_HTML_TAG_NAMES, applyContainers, applyMath, clearRegisteredMarkdownPlugins, convertHtmlAttrsToProps, convertHtmlPropValue, findMatchingClose, getHtmlTagFromContent, getMarkdown, hasCompleteHtmlTagContent, hasCustomHtmlComponents, isCustomHtmlComponentTag, isHtmlLikeTagName, isMathLike, isUnsafeHtmlUrl, mergeCustomHtmlTags, normalizeCustomHtmlTagName, normalizeCustomHtmlTags, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, registerMarkdownPlugin, resolveCustomHtmlTags, sanitizeHtmlAttrs, setDefaultMathOptions, shouldRenderUnknownHtmlTagAsText, stripCustomHtmlWrapper, stripHtmlControlAndWhitespace, tokenizeHtml };
16807
+ export { BLOCKED_HTML_TAGS, BLOCKED_HTML_TAG_NAMES, BLOCK_HTML_TAG_NAMES, DANGEROUS_HTML_ATTRS, DANGEROUS_HTML_ATTR_NAMES, ESCAPED_TEX_BRACE_COMMANDS, EXTENDED_STANDARD_HTML_TAGS, EXTENDED_STANDARD_HTML_TAG_NAMES, INLINE_HTML_TAG_NAMES, KATEX_COMMANDS, NON_STRUCTURING_HTML_TAGS, NON_STRUCTURING_HTML_TAG_NAMES, STANDARD_BLOCK_HTML_TAGS, STANDARD_HTML_TAGS, SVG_HTML_TAG_NAMES, TEX_BRACE_COMMANDS, URL_HTML_ATTRS, URL_HTML_ATTR_NAMES, VOID_HTML_TAGS, VOID_HTML_TAG_NAMES, applyContainers, applyMath, clearRegisteredMarkdownPlugins, convertHtmlAttrsToProps, convertHtmlPropValue, findMatchingClose, getHtmlTagFromContent, getMarkdown, hasCompleteHtmlTagContent, hasCustomHtmlComponents, isCustomHtmlComponentTag, isHtmlLikeTagName, isMathLike, isUnsafeHtmlUrl, mergeCustomHtmlTags, normalizeCustomHtmlTagName, normalizeCustomHtmlTags, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, registerMarkdownPlugin, resolveCustomHtmlTags, sanitizeHtmlAttrs, sanitizeHtmlTokenAttrs, setDefaultMathOptions, shouldRenderUnknownHtmlTagAsText, stripCustomHtmlWrapper, stripHtmlControlAndWhitespace, tokenAttrsToRecord, tokenizeHtml };
16675
16808
  //# sourceMappingURL=index.js.map