markdown-flow-ui 0.2.35 → 0.3.0-dev.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/README.md +12 -0
- package/dist/_virtual/index.es10.js +2 -2
- package/dist/_virtual/index.es3.js +5 -4
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +4 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -5
- package/dist/_virtual/index.es6.js +5 -3
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es7.js +3 -5
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/_virtual/index10.cjs +1 -1
- package/dist/_virtual/index3.cjs +1 -1
- package/dist/_virtual/index4.cjs +1 -1
- package/dist/_virtual/index5.cjs +1 -1
- package/dist/_virtual/index6.cjs +1 -1
- package/dist/_virtual/index7.cjs +1 -1
- package/dist/_virtual/index8.cjs +1 -1
- package/dist/_virtual/variable-marker.cjs +2 -0
- package/dist/_virtual/variable-marker.cjs.map +1 -0
- package/dist/_virtual/variable-marker.es.js +5 -0
- package/dist/_virtual/variable-marker.es.js.map +1 -0
- package/dist/_virtual/variable-name.cjs +2 -0
- package/dist/_virtual/variable-name.cjs.map +1 -0
- package/dist/_virtual/variable-name.es.js +5 -0
- package/dist/_virtual/variable-name.es.js.map +1 -0
- package/dist/components/ContentRender/ContentRender.cjs +2 -2
- package/dist/components/ContentRender/ContentRender.cjs.map +1 -1
- package/dist/components/ContentRender/ContentRender.es.js +206 -205
- package/dist/components/ContentRender/ContentRender.es.js.map +1 -1
- package/dist/components/ContentRender/plugins/CustomVariable.cjs +1 -1
- package/dist/components/ContentRender/plugins/CustomVariable.cjs.map +1 -1
- package/dist/components/ContentRender/plugins/CustomVariable.es.js +52 -51
- package/dist/components/ContentRender/plugins/CustomVariable.es.js.map +1 -1
- package/dist/components/ContentRender/utils/inline-code-ranges.cjs +9 -9
- package/dist/components/ContentRender/utils/inline-code-ranges.cjs.map +1 -1
- package/dist/components/ContentRender/utils/inline-code-ranges.d.ts +3 -0
- package/dist/components/ContentRender/utils/inline-code-ranges.es.js +185 -161
- package/dist/components/ContentRender/utils/inline-code-ranges.es.js.map +1 -1
- package/dist/components/ContentRender/utils/mermaid-parse.cjs +4 -4
- package/dist/components/ContentRender/utils/mermaid-parse.cjs.map +1 -1
- package/dist/components/ContentRender/utils/mermaid-parse.es.js +53 -48
- package/dist/components/ContentRender/utils/mermaid-parse.es.js.map +1 -1
- package/dist/components/ContentRender/utils/split-content.cjs +6 -6
- package/dist/components/ContentRender/utils/split-content.cjs.map +1 -1
- package/dist/components/ContentRender/utils/split-content.d.ts +1 -0
- package/dist/components/ContentRender/utils/split-content.es.js +361 -313
- package/dist/components/ContentRender/utils/split-content.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.es.js +286 -290
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.es.js +62 -63
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.es.js +1 -1
- package/dist/components/MarkdownFlowEditor/locales/de-DE.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/de-DE.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/de-DE.json.es.js +13 -13
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.es.js +19 -19
- package/dist/components/MarkdownFlowEditor/locales/es-ES.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/es-ES.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/es-ES.json.es.js +13 -13
- package/dist/components/MarkdownFlowEditor/locales/fil-PH.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/fil-PH.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/fil-PH.json.es.js +16 -16
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.es.js +13 -13
- package/dist/components/MarkdownFlowEditor/locales/ja-JP.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ja-JP.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ja-JP.json.es.js +1 -1
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.es.js +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ur-PK.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ur-PK.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/ur-PK.json.es.js +1 -1
- package/dist/components/MarkdownFlowEditor/locales/vi-VN.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/vi-VN.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/vi-VN.json.es.js +13 -13
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.es.js +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.cjs +3 -3
- package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.es.js +176 -174
- package/dist/components/MarkdownFlowEditor/plugins/SyntaxHighlighter.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.cjs +2 -1
- package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.d.ts +3 -1
- package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.es.js +38 -55
- package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/VariablePlaceholder.test.d.ts +1 -0
- package/dist/components/MarkdownFlowEditor/utils.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/utils.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/utils.d.ts +2 -3
- package/dist/components/MarkdownFlowEditor/utils.es.js +47 -51
- package/dist/components/MarkdownFlowEditor/utils.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/utils.variables.test.d.ts +1 -0
- package/dist/components/ui/inputGroup/textarea.cjs +1 -1
- package/dist/components/ui/inputGroup/textarea.es.js +1 -1
- package/dist/lib/interaction-defaults.cjs +1 -1
- package/dist/lib/interaction-defaults.cjs.map +1 -1
- package/dist/lib/interaction-defaults.es.js +123 -132
- package/dist/lib/interaction-defaults.es.js.map +1 -1
- package/dist/lib/interaction-defaults.failure.test.d.ts +1 -0
- package/dist/node_modules/@braintree/sanitize-url/dist/index.cjs +1 -1
- package/dist/node_modules/@braintree/sanitize-url/dist/index.es.js +1 -1
- package/dist/node_modules/classnames/index.cjs +1 -1
- package/dist/node_modules/classnames/index.es.js +1 -1
- package/dist/node_modules/cose-base/cose-base.cjs +1 -1
- package/dist/node_modules/cose-base/cose-base.cjs.map +1 -1
- package/dist/node_modules/cose-base/cose-base.es.js +1 -1
- package/dist/node_modules/cytoscape-fcose/node_modules/cose-base/cose-base.cjs +1 -1
- package/dist/node_modules/cytoscape-fcose/node_modules/cose-base/cose-base.cjs.map +1 -1
- package/dist/node_modules/cytoscape-fcose/node_modules/cose-base/cose-base.es.js +1 -1
- package/dist/node_modules/cytoscape-fcose/node_modules/layout-base/layout-base.cjs +1 -1
- package/dist/node_modules/cytoscape-fcose/node_modules/layout-base/layout-base.cjs.map +1 -1
- package/dist/node_modules/cytoscape-fcose/node_modules/layout-base/layout-base.es.js +1 -1
- package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.cjs +1 -1
- package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.es.js +1 -1
- package/dist/node_modules/layout-base/layout-base.cjs +1 -1
- package/dist/node_modules/layout-base/layout-base.cjs.map +1 -1
- package/dist/node_modules/layout-base/layout-base.es.js +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAMF2YG6.cjs +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAMF2YG6.es.js +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-OMD6QJNC.cjs +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-OMD6QJNC.es.js +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-U37J5Y7L.cjs +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-U37J5Y7L.es.js +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-WV7ZQ7D5.cjs +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-WV7ZQ7D5.es.js +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-4MX5Z3NR.cjs +1 -1
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-4MX5Z3NR.es.js +1 -1
- package/dist/node_modules/rc-input/es/BaseInput.cjs +1 -1
- package/dist/node_modules/rc-input/es/BaseInput.es.js +1 -1
- package/dist/node_modules/rc-textarea/es/ResizableTextArea.cjs +1 -1
- package/dist/node_modules/rc-textarea/es/ResizableTextArea.es.js +1 -1
- package/dist/node_modules/rc-textarea/es/TextArea.cjs +1 -1
- package/dist/node_modules/rc-textarea/es/TextArea.es.js +1 -1
- package/dist/node_modules/rc-textarea/es/index.cjs +1 -1
- package/dist/node_modules/rc-textarea/es/index.es.js +1 -1
- package/dist/node_modules/remark-flow/dist/escaping.cjs +2 -2
- package/dist/node_modules/remark-flow/dist/escaping.cjs.map +1 -1
- package/dist/node_modules/remark-flow/dist/escaping.es.js +128 -63
- package/dist/node_modules/remark-flow/dist/escaping.es.js.map +1 -1
- package/dist/node_modules/remark-flow/dist/index.cjs +1 -1
- package/dist/node_modules/remark-flow/dist/index.cjs.map +1 -1
- package/dist/node_modules/remark-flow/dist/index.es.js +62 -33
- package/dist/node_modules/remark-flow/dist/index.es.js.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-parser.cjs +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-parser.cjs.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-parser.es.js +260 -256
- package/dist/node_modules/remark-flow/dist/interaction-parser.es.js.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-plugin-core.cjs +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-plugin-core.cjs.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-plugin-core.es.js +71 -42
- package/dist/node_modules/remark-flow/dist/interaction-plugin-core.es.js.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-syntax.cjs +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-syntax.cjs.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-syntax.es.js +500 -46
- package/dist/node_modules/remark-flow/dist/interaction-syntax.es.js.map +1 -1
- package/dist/node_modules/remark-flow/dist/variable-marker.cjs +2 -0
- package/dist/node_modules/remark-flow/dist/variable-marker.cjs.map +1 -0
- package/dist/node_modules/remark-flow/dist/variable-marker.es.js +77 -0
- package/dist/node_modules/remark-flow/dist/variable-marker.es.js.map +1 -0
- package/dist/node_modules/remark-flow/dist/variable-name.cjs +15 -0
- package/dist/node_modules/remark-flow/dist/variable-name.cjs.map +1 -0
- package/dist/node_modules/remark-flow/dist/variable-name.es.js +748 -0
- package/dist/node_modules/remark-flow/dist/variable-name.es.js.map +1 -0
- package/dist/node_modules/style-to-object/cjs/index.cjs +1 -1
- package/dist/node_modules/style-to-object/cjs/index.cjs.map +1 -1
- package/dist/node_modules/style-to-object/cjs/index.es.js +1 -1
- package/dist/node_modules/unified/lib/index.cjs +1 -1
- package/dist/node_modules/unified/lib/index.es.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-name.es.js","sources":["../../../../node_modules/remark-flow/dist/variable-name.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extractVariableNames = exports.findRejectedDocumentInlineOpenings = exports.findDocumentVariableMarkers = exports.isInlineCodeBoundaryLine = void 0;\n__exportStar(require(\"./variable-marker\"), exports);\nconst escaping_1 = require(\"./escaping\");\nconst variable_marker_1 = require(\"./variable-marker\");\n/** Store only line starts; line objects are temporary views, never retained per input line. */\nclass DocumentLines {\n constructor(text) {\n this.text = text;\n let count = 1;\n for (let at = 0; at < text.length; at++) {\n if (text[at] === '\\r') {\n count++;\n if (text[at + 1] === '\\n')\n at++;\n }\n else if (text[at] === '\\n')\n count++;\n }\n this.starts = new Uint32Array(count);\n let index = 1;\n for (let at = 0; at < text.length; at++) {\n if (text[at] === '\\r') {\n if (text[at + 1] === '\\n')\n at++;\n this.starts[index++] = at + 1;\n }\n else if (text[at] === '\\n')\n this.starts[index++] = at + 1;\n }\n }\n get length() {\n return this.starts.length;\n }\n start(index) {\n return this.starts[index];\n }\n at(index) {\n const start = this.starts[index];\n const end = this.starts[index + 1] ?? this.text.length;\n let contentEnd = end;\n if (index + 1 < this.starts.length) {\n contentEnd--;\n if (this.text[contentEnd] === '\\n' && this.text[contentEnd - 1] === '\\r')\n contentEnd--;\n }\n return { start, contentEnd, end };\n }\n}\nfunction containingLine(lines, offset) {\n let low = 0;\n let high = lines.length;\n while (low < high) {\n const middle = (low + high) >>> 1;\n if (lines.start(middle) <= offset)\n low = middle + 1;\n else\n high = middle;\n }\n return Math.max(0, low - 1);\n}\nconst HTML_SPACE = /[\\t\\n\\f\\r ]/;\nconst RESOURCE_SPACE = /[\\t\\n\\r ]/;\nconst MARKDOWN_PUNCTUATION = /[!-/:-@[-`{-~]/;\nconst MAX_LINK_DESTINATION_DEPTH = 32;\nconst MAX_AUTOLINK_SCHEME_LENGTH = 32;\nconst MAX_AUTOLINK_DOMAIN_LABEL_LENGTH = 63;\nconst AUTOLINK_ATEXT = /[A-Za-z0-9.!#$%&'*+/=?^_`{|}~-]/;\nconst ASCII_ALPHANUMERIC = /[A-Za-z0-9]/;\nconst ATX_HEADING_LINE = /^ {0,3}#{1,6}(?:[ \\t]|$)/;\nconst THEMATIC_BREAK_LINE = /^ {0,3}(?:(?:\\*[ \\t]*){3,}|(?:-[ \\t]*){3,}|(?:_[ \\t]*){3,})$/;\nconst SETEXT_UNDERLINE_LINE = /^ {0,3}(?:=+|-+)[\\t ]*$/;\nconst CONTAINER_INTERRUPT_LINE = /^ {0,3}(?:>|(?:[-+*]|1[.)])[ \\t]+[^ \\t])/;\nconst INLINE_CODE_BREAK_LINE = /^[ \\t]*\\r?$|^ {0,3}(?:`{3,}[^`\\r\\n]*|~{3,}[^\\r\\n]*)\\r?$/;\n/** @internal Shared document/flow boundary for an unfinished inline code span. */\nconst isInlineCodeBoundaryLine = (line) => INLINE_CODE_BREAK_LINE.test(line) ||\n ATX_HEADING_LINE.test(line) ||\n SETEXT_UNDERLINE_LINE.test(line) ||\n THEMATIC_BREAK_LINE.test(line) ||\n CONTAINER_INTERRUPT_LINE.test(line) ||\n ordinaryHtmlInterrupt(line);\nexports.isInlineCodeBoundaryLine = isInlineCodeBoundaryLine;\n/** Reuse failed suffix searches across malformed literal candidates in one document. */\nfunction findClosing(text, closing, from, missingClosers) {\n const missingFrom = missingClosers.get(closing);\n if (missingFrom !== undefined && from >= missingFrom)\n return -1;\n const end = text.indexOf(closing, from);\n if (end < 0)\n missingClosers.set(closing, from);\n return end;\n}\n/** Read a complete HTML token, using CommonMark's tag and attribute name shapes. */\nfunction htmlLiteralEnd(text, start, missingClosers) {\n for (const [opening, closing] of [\n ['<!--', '-->'],\n ['<![CDATA[', ']]>'],\n ['<?', '?>'],\n ]) {\n if (text.startsWith(opening, start)) {\n const end = findClosing(text, closing, start + opening.length, missingClosers);\n return end < 0 ? null : end + closing.length;\n }\n }\n if (/^<![A-Za-z]/.test(text.slice(start, start + 3))) {\n const end = findClosing(text, '>', start + 3, missingClosers);\n return end < 0 ? null : end + 1;\n }\n let cursor = start + 1;\n const closingTag = text[cursor] === '/';\n if (closingTag)\n cursor++;\n const tagName = /[A-Za-z][A-Za-z0-9-]*/y;\n tagName.lastIndex = cursor;\n if (!tagName.exec(text))\n return null;\n cursor = tagName.lastIndex;\n for (;;) {\n const beforePadding = cursor;\n while (cursor < text.length && HTML_SPACE.test(text[cursor]))\n cursor++;\n if (text[cursor] === '>')\n return cursor + 1;\n if (!closingTag && text.startsWith('/>', cursor))\n return cursor + 2;\n if (closingTag || cursor === beforePadding)\n return null;\n const attribute = /[A-Za-z_:][A-Za-z0-9_.:-]*/y;\n attribute.lastIndex = cursor;\n if (!attribute.exec(text))\n return null;\n cursor = attribute.lastIndex;\n const afterName = cursor;\n while (cursor < text.length && HTML_SPACE.test(text[cursor]))\n cursor++;\n if (text[cursor] !== '=') {\n cursor = afterName;\n continue;\n }\n cursor++;\n while (cursor < text.length && HTML_SPACE.test(text[cursor]))\n cursor++;\n const quote = text[cursor];\n if (quote === '\"' || quote === \"'\") {\n const end = findClosing(text, quote, cursor + 1, missingClosers);\n if (end < 0)\n return null;\n cursor = end + 1;\n }\n else {\n const valueStart = cursor;\n while (cursor < text.length && !/[\\t\\n\\f\\r \"'=<>`]/.test(text[cursor]))\n cursor++;\n if (cursor === valueStart)\n return null;\n }\n }\n}\n/** Read only complete CommonMark angle URI/email autolinks, without URL safety policy. */\nfunction autolinkSpan(text, start) {\n let cursor = start + 1;\n if (/[A-Za-z]/.test(text[cursor] ?? '')) {\n let size = 0;\n while (size < MAX_AUTOLINK_SCHEME_LENGTH &&\n /[A-Za-z0-9+.-]/.test(text[cursor] ?? '')) {\n cursor++;\n size++;\n }\n if (size >= 2 && text[cursor] === ':') {\n cursor++;\n while (cursor < text.length) {\n const code = text.charCodeAt(cursor);\n if (text[cursor] === '>')\n return { bodyStart: start + 1, bodyEnd: cursor, end: cursor + 1 };\n // Markdown replaces NUL for literal admission; raw marker validity still sees the NUL.\n if ((code > 0 && code <= 32) || code === 127 || text[cursor] === '<')\n return null;\n cursor++;\n }\n return null;\n }\n }\n cursor = start + 1;\n while (cursor < text.length && AUTOLINK_ATEXT.test(text[cursor]))\n cursor++;\n if (cursor === start + 1 || text[cursor] !== '@')\n return null;\n cursor++;\n for (;;) {\n if (!ASCII_ALPHANUMERIC.test(text[cursor] ?? ''))\n return null;\n const labelStart = cursor;\n while (cursor < text.length && /[A-Za-z0-9-]/.test(text[cursor]))\n cursor++;\n if (cursor - labelStart > MAX_AUTOLINK_DOMAIN_LABEL_LENGTH ||\n text[cursor - 1] === '-')\n return null;\n if (text[cursor] === '>')\n return { bodyStart: start + 1, bodyEnd: cursor, end: cursor + 1 };\n if (text[cursor] !== '.')\n return null;\n cursor++;\n }\n}\n/** Consume virtual whitespace columns while keeping the original UTF-16 offset. */\nfunction consumeContainerPadding(line, position, maximum) {\n let consumed = 0;\n while (consumed < maximum) {\n if (!position.virtualPadding) {\n const character = line[position.offset];\n if (character !== ' ' && character !== '\\t')\n break;\n const width = character === '\\t' ? 4 - (position.column % 4) : 1;\n position.offset++;\n position.column += width;\n position.virtualPadding = width;\n }\n const width = Math.min(maximum - consumed, position.virtualPadding);\n position.virtualPadding -= width;\n consumed += width;\n }\n return consumed;\n}\n/** Four columns suffice to distinguish native indented code from inline content. */\nfunction contentIndentColumns(line, position) {\n return consumeContainerPadding(line, { ...position }, 4);\n}\n/** Bound indented code to its last nonblank indented line, leaving trailing blanks outside. */\nfunction indentedCodeEnd(text, lines, index, followsBlock, firstPosition, steps = []) {\n if (index > 0 && !followsBlock)\n return null;\n let lastContentEnd = null;\n const firstIndex = index;\n for (; index < lines.length; index++) {\n const { start, contentEnd } = lines.at(index);\n const line = text.slice(start, contentEnd);\n const position = index === firstIndex\n ? firstPosition\n : containerContentPosition(line, steps);\n if (position === null) {\n if (!steps.some(step => 'quote' in step) && /^[\\t ]*$/.test(line))\n continue;\n return lastContentEnd;\n }\n const content = line.slice(position.offset);\n if (/^[\\t ]*$/.test(content)) {\n if (lastContentEnd === null)\n return null;\n }\n else {\n const columns = contentIndentColumns(line, position);\n if (columns < 4)\n return lastContentEnd;\n lastContentEnd = contentEnd;\n }\n }\n return lastContentEnd;\n}\nfunction rawHtmlOpening(text, start, missingClosers) {\n const opening = /^ {0,3}<(script|style|pre|textarea)(?=[\\t\\n\\f\\r >]|$)/i.exec(text.slice(start, start + 16));\n if (!opening)\n return null;\n const end = htmlLiteralEnd(text, start + opening[0].indexOf('<'), missingClosers);\n return { name: opening[1], end: end ?? start + opening[0].length };\n}\n/** Preserve the opening token's attribute scope separately from a raw-text HTML body. */\nfunction rawHtmlSpan(text, start, missingClosers, lines, blockEnd) {\n const opening = rawHtmlOpening(text, start, missingClosers);\n if (!opening)\n return null;\n const limit = blockEnd?.() ?? text.length;\n if (opening.end > limit)\n return null;\n const closing = new RegExp(`</${opening.name}[ \\\\t\\\\r\\\\n]*>`, 'gi');\n closing.lastIndex = opening.end;\n const matched = closing.exec(text);\n const closingEnd = matched ? matched.index + matched[0].length : limit;\n const end = Math.min(limit, lines.at(containingLine(lines, closingEnd)).contentEnd);\n return { bodyStart: opening.end, bodyEnd: end, end };\n}\n/** Comments, instructions, declarations and CDATA keep their whole closing line literal. */\nfunction terminatedHtmlBlockSpan(text, start, missingClosers, lines, blockEnd, steps = []) {\n const opening = /^ {0,3}<(?:!--|\\?|!\\[CDATA\\[|![A-Z])/.exec(text.slice(start, start + 12));\n if (!opening)\n return null;\n const limit = blockEnd?.() ?? text.length;\n const prefix = opening[0].slice(opening[0].indexOf('<'));\n const closing = prefix === '<!--'\n ? '-->'\n : prefix === '<?'\n ? '?>'\n : prefix === '<![CDATA['\n ? ']]>'\n : '>';\n let from = start + opening[0].length;\n let closingLine = containingLine(lines, from);\n let tokenEnd = null;\n for (;;) {\n const closingStart = findClosing(text, closing, from, missingClosers);\n if (closingStart < 0 || closingStart + closing.length > limit)\n break;\n if (closing === '>' && steps.length) {\n while (closingLine + 1 < lines.length &&\n lines.start(closingLine + 1) <= closingStart)\n closingLine++;\n const line = lines.at(closingLine);\n const content = containerContentStart(text.slice(line.start, line.contentEnd), steps);\n if (content !== null && closingStart < line.start + content) {\n from = closingStart + closing.length;\n continue;\n }\n }\n tokenEnd = closingStart + closing.length;\n break;\n }\n // Keep the historical plain incomplete-token fallback; a confirmed container\n // boundary can still end a native block without its terminator.\n if (tokenEnd === null)\n return limit < text.length\n ? { bodyStart: start + opening[0].length, bodyEnd: limit, end: limit }\n : null;\n const end = Math.min(limit, lines.at(containingLine(lines, tokenEnd)).contentEnd);\n return { bodyStart: tokenEnd, bodyEnd: end, end };\n}\n/** A blank line ends complete inline resources and inline math/code paragraphs. */\nfunction blankLineAfter(text, cursor) {\n if (text[cursor] !== '\\n' && text[cursor] !== '\\r')\n return false;\n let next = cursor + (text[cursor] === '\\r' && text[cursor + 1] === '\\n' ? 2 : 1);\n while (text[next] === ' ' || text[next] === '\\t')\n next++;\n return text[next] === '\\n' || text[next] === '\\r';\n}\nfunction resourceSpaceEnd(text, cursor) {\n while (cursor < text.length && RESOURCE_SPACE.test(text[cursor])) {\n if (blankLineAfter(text, cursor))\n return null;\n cursor++;\n }\n return cursor;\n}\n/** Shared destination reader; native reference definitions have no nesting-depth cap. */\nfunction resourceDestinationEnd(text, start, maxDepth = MAX_LINK_DESTINATION_DEPTH) {\n let cursor = start;\n const escaped = () => text[cursor] === '\\\\' && MARKDOWN_PUNCTUATION.test(text[cursor + 1] ?? '');\n if (text[cursor] === '<') {\n cursor++;\n while (cursor < text.length && text[cursor] !== '>') {\n if (text[cursor] === '\\n' ||\n text[cursor] === '\\r' ||\n text[cursor] === '<')\n return null;\n cursor += escaped() ? 2 : 1;\n }\n if (text[cursor] !== '>')\n return null;\n cursor++;\n }\n else {\n let depth = 0;\n while (cursor < text.length && !RESOURCE_SPACE.test(text[cursor])) {\n if (escaped())\n cursor += 2;\n else if (text[cursor] === '(') {\n if (++depth > maxDepth)\n return null;\n cursor++;\n }\n else if (text[cursor] === ')') {\n if (depth === 0)\n break;\n depth--;\n cursor++;\n }\n else {\n const code = text.charCodeAt(cursor);\n if (code < 32 || code === 127)\n return null;\n cursor++;\n }\n }\n if (depth)\n return null;\n }\n return cursor;\n}\nfunction resourceTitleEnd(text, start, blankBoundary = blankLineAfter) {\n let cursor = start;\n const escaped = () => text[cursor] === '\\\\' && MARKDOWN_PUNCTUATION.test(text[cursor + 1] ?? '');\n const quote = text[cursor];\n const closing = quote === '(' ? ')' : quote;\n if (!['\"', \"'\", '('].includes(quote))\n return null;\n cursor++;\n while (cursor < text.length && text[cursor] !== closing) {\n if (blankBoundary(text, cursor))\n return null;\n cursor += escaped() ? 2 : 1;\n }\n return text[cursor] === closing ? cursor + 1 : null;\n}\n/** Read only a complete link resource after a previously matched label. */\nfunction linkResourceEnd(text, start) {\n let cursor = resourceSpaceEnd(text, start + 1);\n if (cursor === null)\n return null;\n cursor = resourceDestinationEnd(text, cursor);\n if (cursor === null)\n return null;\n const destinationEnd = cursor;\n cursor = resourceSpaceEnd(text, cursor);\n if (cursor === null)\n return null;\n if (text[cursor] === ')')\n return cursor + 1;\n if (cursor === destinationEnd)\n return null;\n cursor = resourceTitleEnd(text, cursor);\n if (cursor === null)\n return null;\n cursor = resourceSpaceEnd(text, cursor);\n if (cursor === null)\n return null;\n return text[cursor] === ')' ? cursor + 1 : null;\n}\n/** Bound valid reference resources, reusing the inline destination and title readers. */\nfunction referenceDefinitionEnd(text, lines, index, start = lines.start(index), steps = [], blockEnd) {\n const line = lines.at(index);\n const label = /^ {0,3}\\[((?:\\\\[^\\r\\n]|[^[\\]\\\\\\r\\n]){1,999})\\]:/.exec(text.slice(start, line.contentEnd));\n if (!label || /^[\\t ]*$/.test(label[1]))\n return null;\n const limit = blockEnd?.() ?? containerBlockEnd(text, lines, index, steps, true);\n const blankBoundary = (_text, at) => {\n if (text[at] !== '\\n' && text[at] !== '\\r')\n return false;\n const next = containingLine(lines, at) + 1;\n if (next >= lines.length || lines.start(next) >= limit)\n return true;\n const nextLine = lines.at(next);\n const value = text.slice(nextLine.start, nextLine.contentEnd);\n const contentStart = containerContentStart(value, steps);\n return contentStart === null\n ? (0, exports.isInlineCodeBoundaryLine)(value)\n : /^[\\t ]*$/.test(value.slice(contentStart));\n };\n const paddingEnd = (from) => {\n let cursor = from;\n for (;;) {\n cursor = resourceSpaceEnd(text, cursor) ?? -1;\n if (cursor < 0 || cursor >= limit)\n return null;\n const current = lines.at(containingLine(lines, cursor));\n if (!steps.length || cursor !== current.start)\n return cursor;\n const value = text.slice(current.start, current.contentEnd);\n const contentStart = containerContentStart(value, steps);\n if (contentStart === null)\n return cursor;\n if (/^[\\t ]*$/.test(value.slice(contentStart)))\n return null;\n if (!contentStart)\n return cursor;\n cursor += contentStart;\n }\n };\n let cursor = paddingEnd(start + label[0].length);\n if (cursor === null)\n return null;\n const destinationStart = cursor;\n const destinationEnd = resourceDestinationEnd(text, cursor, Infinity);\n if (destinationEnd === null || destinationEnd === destinationStart)\n return null;\n cursor = destinationEnd;\n while (text[cursor] === ' ' || text[cursor] === '\\t')\n cursor++;\n const destinationLineEnd = cursor;\n const lineEnded = cursor === text.length || text[cursor] === '\\r' || text[cursor] === '\\n';\n if (lineEnded) {\n cursor = paddingEnd(cursor);\n if (cursor === null)\n return destinationLineEnd;\n }\n else if (cursor === destinationEnd)\n return null;\n const titleEnd = resourceTitleEnd(text, cursor, blankBoundary);\n if (titleEnd === null)\n return lineEnded ? destinationLineEnd : null;\n cursor = titleEnd;\n while (text[cursor] === ' ' || text[cursor] === '\\t')\n cursor++;\n if (cursor <= limit &&\n (cursor === text.length || text[cursor] === '\\r' || text[cursor] === '\\n'))\n return cursor;\n return lineEnded ? destinationLineEnd : null;\n}\n/** Retain compact numeric closer indexes only after a delimiter is actually encountered. */\nfunction inlineLiteralSpans(text, delimiter, missingClosers, lines) {\n let count = 0;\n for (let at = text.indexOf(delimiter); at >= 0;) {\n count++;\n do {\n at++;\n } while (text[at] === delimiter);\n at = text.indexOf(delimiter, at);\n }\n const starts = new Uint32Array(count);\n const sizes = new Uint32Array(count);\n const closes = new Uint32Array(count);\n const absent = 0xffffffff;\n closes.fill(absent);\n let suffixes;\n let run = 0;\n for (let at = text.indexOf(delimiter); at >= 0;) {\n const opening = at;\n do {\n at++;\n } while (text[at] === delimiter);\n starts[run] = opening;\n sizes[run++] = at - opening;\n at = text.indexOf(delimiter, at);\n }\n let segmentStart = 0;\n let container = [];\n for (let index = 0; index < lines.length; index++) {\n const { start, contentEnd, end } = lines.at(index);\n const line = text.slice(start, contentEnd);\n const projected = projectedContainerLine(line, container, index === 0 ||\n /^[\\t ]*$/.test(text.slice(lines.at(index - 1).start, lines.at(index - 1).contentEnd)));\n const content = line.slice(projected.contentStart);\n if (projected.indentation < 4 && ATX_HEADING_LINE.test(content)) {\n indexSegment(segmentStart, start);\n indexSegment(start, contentEnd);\n segmentStart = end;\n container = projected.steps;\n }\n else if (projected.entered) {\n // Entering a quote/item starts a new paragraph; its own complete and\n // continued literals keep their normal same-container matching.\n indexSegment(segmentStart, start);\n segmentStart = start;\n container = projected.steps;\n }\n else if ((projected.indentation < 4 || /^[\\t ]*$/.test(content)) &&\n ((0, exports.isInlineCodeBoundaryLine)(content) ||\n rawHtmlOpening(text, start + projected.contentStart, missingClosers))) {\n indexSegment(segmentStart, start);\n segmentStart = end;\n container = projected.steps;\n }\n }\n indexSegment(segmentStart, text.length);\n let searchHint = 0;\n return {\n get(opening) {\n while (searchHint < count && starts[searchHint] < opening)\n searchHint++;\n let index = searchHint;\n let closing = absent;\n let bodyStart = opening;\n let size = 0;\n if (starts[index] === opening) {\n size = sizes[index];\n closing = closes[index];\n bodyStart += size;\n }\n else if (index > 0 && starts[index - 1] + 1 === opening && suffixes) {\n index--;\n size = sizes[index] - 1;\n closing = suffixes[index];\n bodyStart += size;\n }\n return closing === absent\n ? undefined\n : { bodyStart, bodyEnd: closing, end: closing + size };\n },\n };\n function lowerBound(position) {\n let low = 0;\n let high = count;\n while (low < high) {\n const middle = (low + high) >>> 1;\n if (starts[middle] < position)\n low = middle + 1;\n else\n high = middle;\n }\n return low;\n }\n function indexSegment(start, end) {\n const first = lowerBound(start);\n const last = lowerBound(end);\n if (first === last)\n return;\n const next = new Map();\n for (let index = last - 1; index >= first; index--) {\n const opening = starts[index];\n const size = sizes[index];\n closes[index] = next.get(size) ?? absent;\n let slashes = 0;\n for (let at = opening - 1; at >= 0 && text[at] === '\\\\'; at--)\n slashes++;\n if (slashes % 2 && size > 1) {\n if (!suffixes) {\n suffixes = new Uint32Array(count);\n suffixes.fill(absent);\n }\n suffixes[index] = next.get(size - 1) ?? absent;\n }\n next.set(size, opening);\n }\n }\n}\n/** Reuse native container continuation before looking for a nested block opening. */\nfunction projectedContainerLine(line, active, startsBlock) {\n const continued = containerContentPosition(line, active);\n const base = continued ?? { offset: 0, column: 0, virtualPadding: 0 };\n const remainder = line.slice(base.offset);\n const nested = containerOpening(line, base);\n const entered = nested.steps.length > 0 &&\n !THEMATIC_BREAK_LINE.test(remainder) &&\n (startsBlock || CONTAINER_INTERRUPT_LINE.test(remainder));\n const position = entered ? nested.position : base;\n const blockMarker = { ...position };\n consumeContainerPadding(line, blockMarker, 3);\n return {\n contentStart: blockMarker.offset,\n position,\n indentation: contentIndentColumns(line, position),\n steps: entered\n ? [...(continued === null ? [] : active), ...nested.steps]\n : continued === null\n ? []\n : active,\n entered,\n };\n}\n/** Literal blocks cannot continue beyond a nonblank container dedent. */\nfunction containerBlockEnd(text, lines, index, steps, lazyReference = false) {\n if (!steps.length)\n return text.length;\n for (let at = index + 1; at < lines.length; at++) {\n const line = lines.at(at);\n const value = text.slice(line.start, line.contentEnd);\n if (containerContentStart(value, steps) !== null)\n continue;\n if (/^[\\t ]*$/.test(value)) {\n if (!lazyReference && !steps.some(step => 'quote' in step))\n continue;\n }\n else if (lazyReference && !(0, exports.isInlineCodeBoundaryLine)(value))\n continue;\n return line.start;\n }\n return text.length;\n}\n/** Read quote/list steps without rewriting the original text or source offsets. */\nfunction containerOpening(line, initial) {\n let position = { ...initial };\n const steps = [];\n for (;;) {\n const beforeSpace = { ...position };\n const leading = consumeContainerPadding(line, position, 3);\n if (!position.virtualPadding && line[position.offset] === '>') {\n steps.push({ quote: true });\n position.offset++;\n position.column++;\n consumeContainerPadding(line, position, 1);\n continue;\n }\n const list = position.virtualPadding\n ? null\n : /^(?:[-+*]|\\d{1,9}[.)])(?=[ \\t])/.exec(line.slice(position.offset));\n if (list) {\n position.offset += list[0].length;\n position.column += list[0].length;\n const afterMarker = { ...position };\n let padding = consumeContainerPadding(line, position, 5);\n if (padding > 4) {\n position = afterMarker;\n padding = consumeContainerPadding(line, position, 1);\n }\n steps.push({ indent: leading + list[0].length + padding });\n continue;\n }\n return { position: beforeSpace, steps };\n }\n}\nfunction fenceOpening(line, position, steps) {\n if (contentIndentColumns(line, position) >= 4)\n return null;\n const marker = { ...position };\n consumeContainerPadding(line, marker, 3);\n const fence = /^(`{3,})([^`]*$)|^(~{3,})(.*$)/.exec(line.slice(marker.offset));\n const run = fence?.[1] ?? fence?.[3];\n return run ? { marker: run[0], size: run.length, steps } : null;\n}\nfunction containerContentPosition(line, steps) {\n const position = { offset: 0, column: 0, virtualPadding: 0 };\n for (let index = 0; index < steps.length; index++) {\n const step = steps[index];\n if ('quote' in step) {\n consumeContainerPadding(line, position, 3);\n if (position.virtualPadding || line[position.offset] !== '>')\n return null;\n position.offset++;\n position.column++;\n consumeContainerPadding(line, position, 1);\n }\n else if (consumeContainerPadding(line, position, step.indent) < step.indent) {\n // Empty lines can omit list padding while still continuing their enclosing quotes.\n return /^[\\t ]*$/.test(line.slice(position.offset)) &&\n !steps.slice(index + 1).some(next => 'quote' in next)\n ? position\n : null;\n }\n }\n return position;\n}\nfunction containerContentStart(line, steps) {\n return containerContentPosition(line, steps)?.offset ?? null;\n}\nfunction fencedCodeSpan(text, lines, index, position, steps) {\n const openingLine = lines.at(index);\n const opening = fenceOpening(text.slice(openingLine.start, openingLine.contentEnd), position, steps);\n if (!opening)\n return null;\n const closing = new RegExp(`^ {0,3}${opening.marker}{${opening.size},}[\\\\t ]*$`);\n for (let at = index + 1; at < lines.length; at++) {\n const line = lines.at(at);\n const value = text.slice(line.start, line.contentEnd);\n const contentPosition = containerContentPosition(value, opening.steps);\n if (contentPosition === null) {\n if (/^[\\t ]*$/.test(value))\n continue;\n return {\n bodyStart: openingLine.end,\n bodyEnd: line.start,\n end: line.start,\n };\n }\n const marker = { ...contentPosition };\n consumeContainerPadding(value, marker, 3);\n if (contentIndentColumns(value, contentPosition) < 4 &&\n closing.test(value.slice(marker.offset)))\n return {\n bodyStart: openingLine.end,\n bodyEnd: line.start,\n end: line.contentEnd,\n };\n }\n return { bodyStart: openingLine.end, bodyEnd: text.length, end: text.length };\n}\nconst HTML_BLOCK_TAGS = new Set('address article aside base basefont blockquote body caption center col colgroup dd details dialog dir div dl dt fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hr html iframe legend li link main menu menuitem nav noframes ol optgroup option p param search section summary table tbody td tfoot th thead title tr track ul'.split(' '));\nfunction ordinaryHtmlInterrupt(line) {\n const tag = /^ {0,3}<\\/?([A-Za-z][A-Za-z0-9-]*)(?=[ \\t/>]|$)/.exec(line);\n return tag !== null && HTML_BLOCK_TAGS.has(tag[1].toLowerCase());\n}\n/** Native ordinary HTML blocks stop at a blank line, after any complete opening token. */\nfunction ordinaryHtmlSpan(text, lines, index, missingClosers, start = lines.start(index), steps = [], blockEnd) {\n const line = lines.at(index);\n const source = text.slice(start, line.contentEnd);\n const tag = /^ {0,3}<\\/?([A-Za-z][A-Za-z0-9-]*)(?=[ \\t/>]|$)/.exec(source);\n if (!tag)\n return null;\n const tokenStart = start + source.indexOf('<');\n const tokenEnd = htmlLiteralEnd(text, tokenStart, missingClosers);\n if (!HTML_BLOCK_TAGS.has(tag[1].toLowerCase())) {\n const previous = index > 0 ? lines.at(index - 1) : undefined;\n if ((previous &&\n !/^[\\t ]*$/.test(text.slice(previous.start, previous.contentEnd))) ||\n tokenEnd === null ||\n tokenEnd > line.contentEnd ||\n !/^[\\t ]*$/.test(text.slice(tokenEnd, line.contentEnd)))\n return null;\n }\n const limit = blockEnd?.() ?? containerBlockEnd(text, lines, index, steps);\n const bodyStart = tokenEnd === null || tokenEnd > limit ? start : tokenEnd;\n for (let at = Math.max(index + 1, containingLine(lines, bodyStart)); at < lines.length; at++) {\n const next = lines.at(at);\n if (next.start >= limit)\n return { bodyStart, bodyEnd: limit, end: limit };\n const value = text.slice(next.start, next.contentEnd);\n const contentStart = containerContentStart(value, steps);\n if (next.start >= bodyStart &&\n (contentStart === null || /^[\\t ]*$/.test(value.slice(contentStart))))\n return { bodyStart, bodyEnd: next.start, end: next.start };\n }\n return { bodyStart, bodyEnd: limit, end: limit };\n}\n/**\n * Read document marker ranges in source order, using original UTF-16 source offsets.\n * Complete markers in code/HTML examples retain their names; incomplete markers have `name: null`\n * and end at the literal boundary, or at document EOF for a true unclosed outside marker.\n * Raw readers remain available when the caller needs opaque markers without Markdown context.\n */\nconst scanDocumentVariableMarkers = (text, rejectedOpenings) => {\n // Documents without an opening cannot produce a marker or need literal indexes.\n if (!text.includes('{{'))\n return [];\n const markers = [];\n const missingHtmlClosers = new Map();\n const lines = new DocumentLines(text);\n let inlineSpans;\n let mathSpans;\n const labels = [];\n const activeLinkLabels = new Set();\n const collectLiteral = (start, end) => {\n const literal = text.slice(start, end);\n let cursor = 0;\n for (;;) {\n const opening = literal.indexOf('{{', cursor);\n if (opening < 0)\n return;\n const marker = (0, variable_marker_1.readVariableMarker)(literal, opening);\n if (!marker) {\n markers.push({\n start: start + opening,\n end,\n rawName: literal.slice(opening + 2),\n name: null,\n });\n return;\n }\n markers.push({\n ...marker,\n start: start + marker.start,\n end: start + marker.end,\n });\n cursor = marker.end;\n }\n };\n let cursor = 0;\n let blockEndedAt = -1;\n let nextLine = 0;\n let container = [];\n let cachedContainerEnd;\n let cachedReferenceEnd;\n while (cursor < text.length) {\n while (nextLine < lines.length && lines.start(nextLine) < cursor)\n nextLine++;\n if (nextLine < lines.length && lines.start(nextLine) === cursor) {\n const lineIndex = nextLine;\n const current = lines.at(lineIndex);\n if (current.start === current.contentEnd) {\n cursor = current.end;\n continue;\n }\n const previous = lineIndex > 0 ? lines.at(lineIndex - 1) : undefined;\n const previousText = previous\n ? text.slice(previous.start, previous.contentEnd)\n : '';\n const previousPosition = containerContentPosition(previousText, container);\n const previousMarker = {\n ...(previousPosition ?? { offset: 0, column: 0, virtualPadding: 0 }),\n };\n consumeContainerPadding(previousText, previousMarker, 3);\n const previousContent = previousText.slice(previousMarker.offset);\n const previousIndented = previousPosition !== null &&\n contentIndentColumns(previousText, previousPosition) >= 4;\n const followsBlock = !previous ||\n /^[\\t ]*$/.test(previousContent) ||\n (!previousIndented && ATX_HEADING_LINE.test(previousContent)) ||\n (!previousIndented && THEMATIC_BREAK_LINE.test(previousContent)) ||\n previous.contentEnd === blockEndedAt;\n const projected = projectedContainerLine(text.slice(current.start, current.contentEnd), container, followsBlock);\n if (container !== projected.steps) {\n cachedContainerEnd = undefined;\n cachedReferenceEnd = undefined;\n }\n container = projected.steps;\n const blockEnd = () => (cachedContainerEnd ?? (cachedContainerEnd = containerBlockEnd(text, lines, lineIndex, container)));\n const referenceEnd = () => {\n if (cachedReferenceEnd === undefined ||\n cachedReferenceEnd <= current.start)\n cachedReferenceEnd = containerBlockEnd(text, lines, lineIndex, container, true);\n return cachedReferenceEnd;\n };\n const contentStart = current.start + projected.contentStart;\n const definitionEnd = projected.indentation < 4 && (followsBlock || projected.entered)\n ? referenceDefinitionEnd(text, lines, lineIndex, contentStart, container, referenceEnd)\n : null;\n if (definitionEnd !== null) {\n collectLiteral(cursor, definitionEnd);\n blockEndedAt = definitionEnd;\n cursor = definitionEnd;\n continue;\n }\n if (!previous ||\n /^[\\t ]*$/.test(text.slice(previous.start, previous.contentEnd))) {\n labels.length = 0;\n activeLinkLabels.clear();\n }\n const fence = fencedCodeSpan(text, lines, lineIndex, projected.position, container);\n if (fence) {\n collectLiteral(cursor, fence.bodyEnd);\n blockEndedAt = fence.end;\n cursor = fence.end;\n continue;\n }\n const indentedEnd = indentedCodeEnd(text, lines, lineIndex, followsBlock || projected.entered, projected.position, container);\n if (indentedEnd !== null) {\n collectLiteral(cursor, indentedEnd);\n cursor = indentedEnd;\n continue;\n }\n const rawHtml = projected.indentation < 4\n ? rawHtmlSpan(text, contentStart, missingHtmlClosers, lines, blockEnd)\n : null;\n if (rawHtml) {\n collectLiteral(cursor, rawHtml.bodyStart);\n collectLiteral(rawHtml.bodyStart, rawHtml.bodyEnd);\n blockEndedAt = rawHtml.end;\n cursor = rawHtml.end;\n continue;\n }\n const terminatedHtml = projected.indentation < 4\n ? terminatedHtmlBlockSpan(text, contentStart, missingHtmlClosers, lines, blockEnd, container)\n : null;\n if (terminatedHtml) {\n collectLiteral(cursor, terminatedHtml.bodyStart);\n collectLiteral(terminatedHtml.bodyStart, terminatedHtml.bodyEnd);\n blockEndedAt = terminatedHtml.end;\n cursor = terminatedHtml.end;\n continue;\n }\n const html = projected.indentation < 4\n ? ordinaryHtmlSpan(text, lines, lineIndex, missingHtmlClosers, contentStart, container, blockEnd)\n : null;\n if (html) {\n collectLiteral(cursor, html.bodyStart);\n collectLiteral(html.bodyStart, html.bodyEnd);\n cursor = html.end;\n continue;\n }\n }\n // A marker reached first owns its whole body, including any code/HTML-looking text.\n if (text.startsWith('{{', cursor)) {\n const marker = (0, variable_marker_1.readVariableMarker)(text, cursor);\n if (!marker) {\n markers.push({\n start: cursor,\n end: text.length,\n rawName: text.slice(cursor + 2),\n name: null,\n });\n break;\n }\n markers.push(marker);\n cursor = marker.end;\n continue;\n }\n if (text[cursor] === '\\\\') {\n cursor += 2;\n continue;\n }\n const interaction = text.startsWith('?[', cursor)\n ? (0, escaping_1.readDocumentInteraction)(text, cursor, index => {\n if (blankLineAfter(text, index))\n return true;\n if (text[index] !== '\\n' && text[index] !== '\\r')\n return false;\n const next = containingLine(lines, index) + 1;\n if (next >= lines.length)\n return false;\n const line = lines.at(next);\n const value = text.slice(line.start, line.contentEnd);\n const projected = projectedContainerLine(value, container, false);\n return (projected.entered ||\n (projected.indentation < 4 &&\n (0, exports.isInlineCodeBoundaryLine)(value.slice(projected.contentStart))));\n })\n : null;\n if (interaction) {\n collectLiteral(cursor + 2, interaction.end - (interaction.complete ? 1 : 0));\n cursor = interaction.end;\n continue;\n }\n if (text[cursor] === '[') {\n let slashes = 0;\n for (let at = cursor - 2; at >= 0 && text[at] === '\\\\'; at--)\n slashes++;\n const label = {\n image: text[cursor - 1] === '!' && slashes % 2 === 0,\n active: true,\n };\n labels.push(label);\n if (!label.image)\n activeLinkLabels.add(label);\n }\n if (text[cursor] === ']' && labels.length) {\n const label = labels.pop();\n if (label)\n activeLinkLabels.delete(label);\n if (label?.active && text[cursor + 1] === '(') {\n const end = linkResourceEnd(text, cursor + 1);\n if (end !== null) {\n if (!label.image) {\n // Each non-image ancestor is invalidated at most once; image-only\n // ancestors never need to be rescanned for every following link.\n for (const outer of activeLinkLabels)\n outer.active = false;\n activeLinkLabels.clear();\n }\n collectLiteral(cursor + 2, end - 1);\n cursor = end;\n continue;\n }\n }\n }\n if (text[cursor] === '$') {\n const span = (mathSpans ?? (mathSpans = inlineLiteralSpans(text, '$', missingHtmlClosers, lines))).get(cursor);\n if (span) {\n collectLiteral(span.bodyStart, span.bodyEnd);\n cursor = span.end;\n continue;\n }\n rejectedOpenings?.push(cursor);\n while (text[cursor] === '$')\n cursor++;\n continue;\n }\n if (text[cursor] === '`' || text[cursor] === '~') {\n const span = text[cursor] === '`'\n ? (inlineSpans ?? (inlineSpans = inlineLiteralSpans(text, '`', missingHtmlClosers, lines))).get(cursor)\n : undefined;\n if (span) {\n collectLiteral(cursor, span.bodyEnd);\n cursor = span.end;\n continue;\n }\n if (text[cursor] === '`')\n rejectedOpenings?.push(cursor);\n // Only the full opening run can start a span; its suffix is not another opening.\n const character = text[cursor];\n while (text[cursor] === character)\n cursor++;\n continue;\n }\n if (text[cursor] === '<') {\n const link = autolinkSpan(text, cursor);\n if (link) {\n collectLiteral(link.bodyStart, link.bodyEnd);\n cursor = link.end;\n continue;\n }\n const end = htmlLiteralEnd(text, cursor, missingHtmlClosers);\n if (end !== null) {\n collectLiteral(cursor, end);\n cursor = end;\n continue;\n }\n }\n cursor++;\n }\n return markers;\n};\nconst findDocumentVariableMarkers = (text) => scanDocumentVariableMarkers(text);\nexports.findDocumentVariableMarkers = findDocumentVariableMarkers;\n/** @internal Seed native inline guards from the same complete-document scan. */\nconst findRejectedDocumentInlineOpenings = (text) => {\n const offsets = [];\n scanDocumentVariableMarkers(text, offsets);\n return Uint32Array.from(offsets);\n};\nexports.findRejectedDocumentInlineOpenings = findRejectedDocumentInlineOpenings;\n/** Collect unique document names in source order, including complete literal example markers. */\nconst extractVariableNames = (text) => {\n const names = new Set();\n for (const marker of (0, exports.findDocumentVariableMarkers)(text)) {\n if (marker.name !== null)\n names.add(marker.name);\n }\n return [...names];\n};\nexports.extractVariableNames = extractVariableNames;\n//# sourceMappingURL=variable-name.js.map"],"names":["__createBinding","this","o","m","k","k2","desc","__exportStar","exports","p","require$$0","escaping_1","require$$1","variable_marker_1","DocumentLines","text","count","at","index","start","end","contentEnd","containingLine","lines","offset","low","high","middle","HTML_SPACE","RESOURCE_SPACE","MARKDOWN_PUNCTUATION","MAX_LINK_DESTINATION_DEPTH","MAX_AUTOLINK_SCHEME_LENGTH","MAX_AUTOLINK_DOMAIN_LABEL_LENGTH","AUTOLINK_ATEXT","ASCII_ALPHANUMERIC","ATX_HEADING_LINE","THEMATIC_BREAK_LINE","SETEXT_UNDERLINE_LINE","CONTAINER_INTERRUPT_LINE","INLINE_CODE_BREAK_LINE","isInlineCodeBoundaryLine","line","ordinaryHtmlInterrupt","findClosing","closing","from","missingClosers","missingFrom","htmlLiteralEnd","opening","cursor","closingTag","tagName","beforePadding","attribute","afterName","quote","valueStart","autolinkSpan","size","code","labelStart","consumeContainerPadding","position","maximum","consumed","character","width","contentIndentColumns","indentedCodeEnd","followsBlock","firstPosition","steps","lastContentEnd","firstIndex","containerContentPosition","step","content","rawHtmlOpening","rawHtmlSpan","blockEnd","limit","matched","closingEnd","terminatedHtmlBlockSpan","prefix","closingLine","tokenEnd","closingStart","containerContentStart","blankLineAfter","next","resourceSpaceEnd","resourceDestinationEnd","maxDepth","escaped","depth","resourceTitleEnd","blankBoundary","linkResourceEnd","destinationEnd","referenceDefinitionEnd","label","containerBlockEnd","_text","nextLine","value","contentStart","paddingEnd","current","destinationStart","destinationLineEnd","lineEnded","titleEnd","inlineLiteralSpans","delimiter","starts","sizes","closes","absent","suffixes","run","segmentStart","container","projected","projectedContainerLine","indexSegment","searchHint","bodyStart","lowerBound","first","last","slashes","active","startsBlock","continued","base","remainder","nested","containerOpening","entered","blockMarker","lazyReference","initial","beforeSpace","leading","list","afterMarker","padding","fenceOpening","marker","fence","fencedCodeSpan","openingLine","contentPosition","HTML_BLOCK_TAGS","tag","ordinaryHtmlSpan","source","tokenStart","previous","scanDocumentVariableMarkers","rejectedOpenings","markers","missingHtmlClosers","inlineSpans","mathSpans","labels","activeLinkLabels","collectLiteral","literal","blockEndedAt","cachedContainerEnd","cachedReferenceEnd","lineIndex","previousText","previousPosition","previousMarker","previousContent","previousIndented","referenceEnd","definitionEnd","indentedEnd","rawHtml","terminatedHtml","html","interaction","outer","span","link","findDocumentVariableMarkers","findRejectedDocumentInlineOpenings","offsets","extractVariableNames","names"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../_virtual/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../_virtual/index9.cjs"),c=require("../../inline-style-parser/index.cjs");var o;function v(){if(o)return r.__exports;o=1;var f=r.__exports&&r.__exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r.__exports,"__esModule",{value:!0}),r.__exports.default=a;var s=f(c.__require());function a(e,n){var t=null;if(!e||typeof e!="string")return t;var p=(0,s.default)(e),l=typeof n=="function";return p.forEach(function(u){if(u.type==="declaration"){var i=u.property,_=u.value;l?n(i,_,u):_&&(t=t||{},t[i]=_)}}),t}return r.__exports}exports.__require=v;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../node_modules/style-to-object/cjs/index.js"],"sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map"],"names":["__importDefault","this","mod","cjs","StyleToObject","inline_style_parser_1","require$$0","style","iterator","styleObject","declarations","hasIterator","declaration","property","value"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../node_modules/style-to-object/cjs/index.js"],"sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map"],"names":["__importDefault","this","mod","cjs","StyleToObject","inline_style_parser_1","require$$0","style","iterator","styleObject","declarations","hasIterator","declaration","property","value"],"mappings":"gOACA,IAAIA,EAAmBC,EAAAA,WAAQA,EAAAA,UAAK,iBAAoB,SAAUC,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,CAAG,CAC3D,EACA,OAAO,eAAeC,EAAAA,UAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAAA,UAAA,QAAkBC,EAClB,IAAIC,EAAwBL,EAAgBM,EAAAA,WAA8B,EAe1E,SAASF,EAAcG,EAAOC,EAAU,CACpC,IAAIC,EAAc,KAClB,GAAI,CAACF,GAAS,OAAOA,GAAU,SAC3B,OAAOE,EAEX,IAAIC,KAAmBL,EAAsB,SAASE,CAAK,EACvDI,EAAc,OAAOH,GAAa,WACtC,OAAAE,EAAa,QAAQ,SAAUE,EAAa,CACxC,GAAIA,EAAY,OAAS,cAGzB,KAAIC,EAAWD,EAAY,SAAUE,EAAQF,EAAY,MACrDD,EACAH,EAASK,EAAUC,EAAOF,CAAW,EAEhCE,IACLL,EAAcA,GAAe,CAAA,EAC7BA,EAAYI,CAAQ,EAAIC,GAEpC,CAAK,EACML,CACX","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../../bail/index.cjs"),w=require("../../../_virtual/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../../bail/index.cjs"),w=require("../../../_virtual/index3.cjs"),z=require("../../is-plain-obj/index.cjs"),C=require("./callable-instance.cjs"),S=require("../../trough/lib/index.cjs"),A=require("../../vfile/lib/index.cjs"),F={}.hasOwnProperty;class m extends C.CallableInstance{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=S.trough()}copy(){const e=new m;let n=-1;for(;++n<this.attachers.length;){const t=this.attachers[n];e.use(...t)}return e.data(w.default(!0,{},this.namespace)),e}data(e,n){return typeof e=="string"?arguments.length===2?(x("data",this.frozen),this.namespace[e]=n,this):F.call(this.namespace,e)&&this.namespace[e]||void 0:e?(x("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...t]=this.attachers[this.freezeIndex];if(t[0]===!1)continue;t[0]===!0&&(t[0]=void 0);const i=n.call(e,...t);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const n=y(e),t=this.parser||this.Parser;return g("parse",t),t(String(n),n)}process(e,n){const t=this;return this.freeze(),g("process",this.parser||this.Parser),b("process",this.compiler||this.Compiler),n?i(void 0,n):new Promise(i);function i(a,h){const u=y(e),l=t.parse(u);t.run(l,u,function(o,c,f){if(o||!c||!f)return s(o);const p=c,d=t.stringify(p,f);D(d)?f.value=d:f.result=d,s(o,f)});function s(o,c){o||!c?h(o):a?a(c):n(void 0,c)}}}processSync(e){let n=!1,t;return this.freeze(),g("processSync",this.parser||this.Parser),b("processSync",this.compiler||this.Compiler),this.process(e,i),T("processSync","process",n),t;function i(a,h){n=!0,P.bail(a),t=h}}run(e,n,t){I(e),this.freeze();const i=this.transformers;return!t&&typeof n=="function"&&(t=n,n=void 0),t?a(void 0,t):new Promise(a);function a(h,u){const l=y(n);i.run(e,l,s);function s(o,c,f){const p=c||e;o?u(o):h?h(p):t(void 0,p,f)}}}runSync(e,n){let t=!1,i;return this.run(e,n,a),T("runSync","run",t),i;function a(h,u){P.bail(h),i=u,t=!0}}stringify(e,n){this.freeze();const t=y(n),i=this.compiler||this.Compiler;return b("stringify",i),I(e),i(e,t)}use(e,...n){const t=this.attachers,i=this.namespace;if(x("use",this.frozen),e!=null)if(typeof e=="function")l(e,n);else if(typeof e=="object")Array.isArray(e)?u(e):h(e);else throw new TypeError("Expected usable value, not `"+e+"`");return this;function a(s){if(typeof s=="function")l(s,[]);else if(typeof s=="object")if(Array.isArray(s)){const[o,...c]=s;l(o,c)}else h(s);else throw new TypeError("Expected usable value, not `"+s+"`")}function h(s){if(!("plugins"in s)&&!("settings"in s))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");u(s.plugins),s.settings&&(i.settings=w.default(!0,i.settings,s.settings))}function u(s){let o=-1;if(s!=null)if(Array.isArray(s))for(;++o<s.length;){const c=s[o];a(c)}else throw new TypeError("Expected a list of plugins, not `"+s+"`")}function l(s,o){let c=-1,f=-1;for(;++c<t.length;)if(t[c][0]===s){f=c;break}if(f===-1)t.push([s,...o]);else if(o.length>0){let[p,...d]=o;const E=t[f][1];z.default(E)&&z.default(p)&&(p=w.default(!0,E,p)),t[f]=[s,p,...d]}}}}const q=new m().freeze();function g(r,e){if(typeof e!="function")throw new TypeError("Cannot `"+r+"` without `parser`")}function b(r,e){if(typeof e!="function")throw new TypeError("Cannot `"+r+"` without `compiler`")}function x(r,e){if(e)throw new Error("Cannot call `"+r+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function I(r){if(!z.default(r)||typeof r.type!="string")throw new TypeError("Expected node, got `"+r+"`")}function T(r,e,n){if(!n)throw new Error("`"+r+"` finished async. Use `"+e+"` instead")}function y(r){return j(r)?r:new A.VFile(r)}function j(r){return!!(r&&typeof r=="object"&&"message"in r&&"messages"in r)}function D(r){return typeof r=="string"||L(r)}function L(r){return!!(r&&typeof r=="object"&&"byteLength"in r&&"byteOffset"in r)}exports.Processor=m;exports.unified=q;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { bail as P } from "../../bail/index.es.js";
|
|
2
|
-
import y from "../../../_virtual/index.
|
|
2
|
+
import y from "../../../_virtual/index.es3.js";
|
|
3
3
|
import z from "../../is-plain-obj/index.es.js";
|
|
4
4
|
import { CallableInstance as C } from "./callable-instance.es.js";
|
|
5
5
|
import { trough as A } from "../../trough/lib/index.es.js";
|
package/package.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"rehype-katex": "^7.0.1",
|
|
42
42
|
"rehype-raw": "^7.0.0",
|
|
43
43
|
"remark-breaks": "^4.0.0",
|
|
44
|
-
"remark-flow": "
|
|
44
|
+
"remark-flow": "1.4.0-dev.1",
|
|
45
45
|
"remark-gfm": "^4.0.1",
|
|
46
46
|
"remark-math": "^6.0.0",
|
|
47
47
|
"remark-parse": "^11.0.0",
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
]
|
|
188
188
|
}
|
|
189
189
|
},
|
|
190
|
-
"version": "0.
|
|
190
|
+
"version": "0.3.0-dev.1",
|
|
191
191
|
"type": "module",
|
|
192
192
|
"exports": {
|
|
193
193
|
".": {
|