@wix/web5-core 1.59.0 → 1.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js +33 -1
- package/dist/cjs/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js +9 -5
- package/dist/cjs/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js +10 -5
- package/dist/cjs/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -1
- package/dist/cjs/component/componentDefinitions/parse-utils.js +45 -8
- package/dist/cjs/component/componentDefinitions/parse-utils.js.map +1 -1
- package/dist/cjs/component/componentParser.js +15 -0
- package/dist/cjs/component/componentParser.js.map +1 -1
- package/dist/cjs/component/section-definition.js +14 -0
- package/dist/cjs/component/section-definition.js.map +1 -1
- package/dist/cjs/components/ui/MarkdownText.js +41 -42
- package/dist/cjs/components/ui/MarkdownText.js.map +1 -1
- package/dist/cjs/components/ui/UnifiedLink.js +22 -10
- package/dist/cjs/components/ui/UnifiedLink.js.map +1 -1
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles/base-tokens.css +0 -26
- package/dist/cjs/styles/tailwind-theme.css +0 -17
- package/dist/cjs/utils/markdownPreprocessor.js +162 -8
- package/dist/cjs/utils/markdownPreprocessor.js.map +1 -1
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js +34 -1
- package/dist/esm/component/componentDefinitions/ComparisonSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js +10 -6
- package/dist/esm/component/componentDefinitions/FeatureSection9PlusDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js +11 -6
- package/dist/esm/component/componentDefinitions/listItemsSectionDefinition.js.map +1 -1
- package/dist/esm/component/componentDefinitions/parse-utils.js +44 -8
- package/dist/esm/component/componentDefinitions/parse-utils.js.map +1 -1
- package/dist/esm/component/componentParser.js +15 -0
- package/dist/esm/component/componentParser.js.map +1 -1
- package/dist/esm/component/section-definition.js +13 -1
- package/dist/esm/component/section-definition.js.map +1 -1
- package/dist/esm/components/ui/MarkdownText.js +8 -9
- package/dist/esm/components/ui/MarkdownText.js.map +1 -1
- package/dist/esm/components/ui/UnifiedLink.js +7 -1
- package/dist/esm/components/ui/UnifiedLink.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles/base-tokens.css +0 -26
- package/dist/esm/styles/tailwind-theme.css +0 -17
- package/dist/esm/utils/markdownPreprocessor.js +160 -8
- package/dist/esm/utils/markdownPreprocessor.js.map +1 -1
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts +2 -2
- package/dist/types/component/componentDefinitions/ComparisonSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/FeatureSection9PlusDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/listItemsSectionDefinition.d.ts.map +1 -1
- package/dist/types/component/componentDefinitions/parse-utils.d.ts +10 -0
- package/dist/types/component/componentDefinitions/parse-utils.d.ts.map +1 -1
- package/dist/types/component/componentParser.d.ts.map +1 -1
- package/dist/types/component/section-definition.d.ts +13 -1
- package/dist/types/component/section-definition.d.ts.map +1 -1
- package/dist/types/components/ui/MarkdownText.d.ts +13 -0
- package/dist/types/components/ui/MarkdownText.d.ts.map +1 -1
- package/dist/types/components/ui/UnifiedLink.d.ts +1 -1
- package/dist/types/components/ui/UnifiedLink.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/markdownPreprocessor.d.ts +30 -5
- package/dist/types/utils/markdownPreprocessor.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/styles/base-tokens.css +0 -26
- package/src/styles/tailwind-theme.css +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["escapeWeb5Links","markdown","replace","match","linkText","protocol","url","decodedUrl","decodeURIComponent","encodedUrl","encodeURI","fixMalformedLinks","recoverOrphanedEmphasisLinks","diagnostics","result","prefix","href","normalized","trim","push","type","original","trimTrailingWhitespace","lines","split","processedLines","line","trimmedLine","length","trimEnd","join","normalizeIconUrls","rest","spaceName","cleanName","isFenceToggle","test","splitPipeRow","trimmed","startsWith","endsWith","slice","map","cell","isPipeRow","isTableDelimiterRow","cells","every","insertMissingTableSeparators","inFence","i","previousLine","nextLine","headerCells","nextCells","separator","decodeLinkText","decoded","preprocessMarkdown","recoveredLinks","recoveredLinkDiagnostics","processed","decodedText","decodeDiagnostics","iconDiagnostics","tableNormalized","tableDiagnostics"],"sources":["../../../src/utils/markdownPreprocessor.ts"],"sourcesContent":["/**\n * Markdown preprocessing utilities\n *\n * These functions fix common markdown formatting issues before AST parsing.\n * They are applied in a specific order to ensure proper processing.\n */\n\nexport interface PreprocessorDiagnostic {\n type: string;\n original: string;\n normalized: string;\n}\n\nexport interface PreprocessResult {\n markdown: string;\n diagnostics: PreprocessorDiagnostic[];\n}\n\n/**\n * Escape web5:// links by URL-encoding the URL part\n * e.g. [text](web5://some text with spaces) → [text](web5://some%20text%20with%20spaces)\n *\n * @param markdown - The markdown string to process\n * @returns The markdown string with web5:// URLs properly encoded\n */\nexport function escapeWeb5Links(markdown: string): string {\n // Match markdown links with web5:// protocol\n // Pattern: [text](web5://...)\n return markdown.replace(\n /\\[([^\\]]+)\\]\\((web5|entity|image):\\/\\/([^)]+)\\)/g,\n (match, linkText, protocol, url) => {\n try {\n // Decode first to avoid double-encoding (e.g. %20 → %2520)\n const decodedUrl = decodeURIComponent(url);\n // Use encodeURI (not encodeURIComponent) to preserve URL structure\n // characters like /, ?, &, = while encoding spaces and unsafe chars\n const encodedUrl = encodeURI(decodedUrl);\n return `[${linkText}](${protocol}://${encodedUrl})`;\n } catch {\n // decodeURIComponent throws on a malformed percent sequence (raw `%`\n // or truncated `%X`), encodeURI on a lone surrogate. During streaming\n // this happens when chunks are concatenated mid-escape or a multi-byte\n // char is split. Leave the link untouched rather than throw — an\n // uncaught error here aborts the whole streaming parse and surfaces as\n // a 908 conversation-streaming-error even though the page rendered.\n return match;\n }\n },\n );\n}\n\n/**\n * Fix malformed markdown links with whitespace (spaces, tabs, newlines) between ] and (\n * e.g. [text] (url) → [text](url)\n * e.g. [text]\\n(url) → [text](url)\n *\n * @param markdown - The markdown string to process\n * @returns The markdown string with fixed link formatting\n */\nexport function fixMalformedLinks(markdown: string): string {\n // \\s matches spaces, tabs, and newlines; + means one or more\n // Also handle cases with newlines explicitly\n return markdown.replace(/\\][\\s\\r\\n]+\\(/g, '](');\n}\n\n/**\n * Recover inline CTA chips where the LLM emitted emphasized text followed by a\n * dangling markdown link close, e.g. `**label →**](web5://ask/query)`.\n */\nexport function recoverOrphanedEmphasisLinks(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n /(^|[^\\[])\\*\\*([^\\n\\]*]+?)\\*\\*\\]\\((web5:\\/\\/(?:ask|action)\\/[^)]+)\\)/g,\n (match, prefix: string, linkText: string, href: string) => {\n const normalized = `${prefix}[${linkText.trim()}](${href})`;\n diagnostics.push({\n type: 'orphaned_emphasis_link_recovered',\n original: match,\n normalized,\n });\n return normalized;\n },\n );\n return { result, diagnostics };\n}\n\n/**\n * Trim trailing whitespace from lines that contain text\n *\n * @param markdown - The markdown string to process\n * @returns The markdown string with trailing whitespace trimmed from text lines\n */\nexport function trimTrailingWhitespace(markdown: string): string {\n const lines = markdown.split('\\n');\n const processedLines: string[] = [];\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n // If the line has content, trim trailing whitespace (keep leading spaces for indentation)\n if (trimmedLine.length > 0) {\n processedLines.push(line.trimEnd());\n } else {\n // Lines with only whitespace become empty lines\n processedLines.push('');\n }\n }\n\n return processedLines.join('\\n');\n}\n\n/**\n * Normalize malformed web5://icon URLs to the canonical web5://icon/{name} format.\n * Handles variants like web5://icon:arrow, web5://icon-arrow, web5://icon arrow → web5://icon/arrow.\n * Only alphanumeric characters and dashes are kept in the icon name.\n */\nexport function normalizeIconUrls(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n /web5:\\/\\/icon(?:([:/-][^)\\s]+)|(?:\\s+([a-zA-Z0-9-]+)))/g,\n (match, rest: string | undefined, spaceName: string | undefined) => {\n const cleanName = (spaceName ?? rest ?? '')\n .replace(/[^a-zA-Z0-9-]/g, '')\n .replace(/^-+|-+$/g, '');\n const normalized = `web5://icon/${cleanName}`;\n if (match !== normalized) {\n diagnostics.push({\n type: 'icon_url_normalized',\n original: match,\n normalized,\n });\n }\n return normalized;\n },\n );\n return { result, diagnostics };\n}\n\nfunction isFenceToggle(line: string): boolean {\n return /^\\s*(`{3,}|~{3,})/.test(line);\n}\n\nfunction splitPipeRow(line: string): string[] {\n const trimmed = line.trim();\n if (!trimmed.startsWith('|') || !trimmed.endsWith('|')) {\n return [];\n }\n return trimmed\n .slice(1, -1)\n .split('|')\n .map((cell) => cell.trim());\n}\n\nfunction isPipeRow(line: string): boolean {\n return splitPipeRow(line).length >= 2;\n}\n\nfunction isTableDelimiterRow(line: string): boolean {\n const cells = splitPipeRow(line);\n return (\n cells.length >= 2 &&\n cells.every((cell) => /^:?-{3,}:?$/.test(cell.replace(/\\s+/g, '')))\n );\n}\n\n/**\n * Repair LLM-emitted pipe tables that omit the GFM delimiter row.\n * Without this line remark-gfm parses the rows as plain paragraphs, so\n * registry sections such as comparison never receive a `table` part.\n */\nexport function insertMissingTableSeparators(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const lines = markdown.split('\\n');\n const result: string[] = [];\n let inFence = false;\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const previousLine = result[result.length - 1] ?? '';\n const nextLine = lines[i + 1] ?? '';\n\n if (isFenceToggle(line)) {\n inFence = !inFence;\n result.push(line);\n continue;\n }\n\n result.push(line);\n\n if (inFence || !isPipeRow(line) || isPipeRow(previousLine)) {\n continue;\n }\n if (!isPipeRow(nextLine) || isTableDelimiterRow(nextLine)) {\n continue;\n }\n\n const headerCells = splitPipeRow(line);\n const nextCells = splitPipeRow(nextLine);\n if (headerCells.length !== nextCells.length) {\n continue;\n }\n\n const separator = `| ${headerCells.map(() => '---').join(' | ')} |`;\n result.push(separator);\n diagnostics.push({\n type: 'table_separator_inserted',\n original: line,\n normalized: `${line}\\n${separator}`,\n });\n }\n\n return { result: result.join('\\n'), diagnostics };\n}\n\n/**\n * Decode URL-encoded text in markdown link labels.\n * e.g. [Some%20Text](https://example.com) → [Some Text](https://example.com)\n * e.g. [Which+solution%3F](web5://...) → [Which solution?](web5://...)\n *\n * Only decodes the text portion [text], never the URL portion (url).\n * Handles both `+` (form-encoded space) and `%XX` escapes; falls back to\n * the original string on malformed percent sequences.\n */\nexport function decodeLinkText(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n /\\[([^\\]]+)\\]\\(/g,\n (match, linkText: string) => {\n try {\n const decoded = decodeURIComponent(linkText.replace(/\\+/g, '%20'));\n if (decoded !== linkText) {\n diagnostics.push({\n type: 'link_text_decoded',\n original: linkText,\n normalized: decoded,\n });\n }\n return `[${decoded}](`;\n } catch {\n // If decodeURIComponent fails (e.g. malformed percent sequence like %ZZ),\n // leave the text unchanged\n return match;\n }\n },\n );\n return { result, diagnostics };\n}\n\n/**\n * Preprocess markdown to fix common formatting issues before AST parsing.\n *\n * The preprocessing steps are applied in the following order:\n * 1. Recover orphaned emphasized web5 links\n * 2. Fix malformed links (remove whitespace between ] and () - must happen before web5 links are matched)\n * 3. Decode URL-encoded link text\n * 4. Escape web5:// links (URL-encode URLs)\n * 5. Normalize icon URLs\n * 6. Insert missing table separators for obvious pipe tables\n * 7. Trim trailing whitespace from lines\n *\n * @param markdown - The raw markdown string to preprocess\n * @returns The preprocessed markdown string ready for AST parsing\n */\nexport function preprocessMarkdown(markdown: string): PreprocessResult {\n const { result: recoveredLinks, diagnostics: recoveredLinkDiagnostics } =\n recoverOrphanedEmphasisLinks(markdown);\n let processed = fixMalformedLinks(recoveredLinks);\n const { result: decodedText, diagnostics: decodeDiagnostics } =\n decodeLinkText(processed);\n processed = escapeWeb5Links(decodedText);\n const { result: normalized, diagnostics: iconDiagnostics } =\n normalizeIconUrls(processed);\n const { result: tableNormalized, diagnostics: tableDiagnostics } =\n insertMissingTableSeparators(normalized);\n processed = trimTrailingWhitespace(tableNormalized);\n return {\n markdown: processed,\n diagnostics: [\n ...recoveredLinkDiagnostics,\n ...decodeDiagnostics,\n ...iconDiagnostics,\n ...tableDiagnostics,\n ],\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,eAAeA,CAACC,QAAgB,EAAU;EACxD;EACA;EACA,OAAOA,QAAQ,CAACC,OAAO,CACrB,kDAAkD,EAClD,CAACC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,KAAK;IAClC,IAAI;MACF;MACA,MAAMC,UAAU,GAAGC,kBAAkB,CAACF,GAAG,CAAC;MAC1C;MACA;MACA,MAAMG,UAAU,GAAGC,SAAS,CAACH,UAAU,CAAC;MACxC,OAAO,IAAIH,QAAQ,KAAKC,QAAQ,MAAMI,UAAU,GAAG;IACrD,CAAC,CAAC,MAAM;MACN;MACA;MACA;MACA;MACA;MACA;MACA,OAAON,KAAK;IACd;EACF,CACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,iBAAiBA,CAACV,QAAgB,EAAU;EAC1D;EACA;EACA,OAAOA,QAAQ,CAACC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;AACjD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASU,4BAA4BA,CAACX,QAAgB,EAG3D;EACA,MAAMY,WAAqC,GAAG,EAAE;EAChD,MAAMC,MAAM,GAAGb,QAAQ,CAACC,OAAO,CAC7B,sEAAsE,EACtE,CAACC,KAAK,EAAEY,MAAc,EAAEX,QAAgB,EAAEY,IAAY,KAAK;IACzD,MAAMC,UAAU,GAAG,GAAGF,MAAM,IAAIX,QAAQ,CAACc,IAAI,CAAC,CAAC,KAAKF,IAAI,GAAG;IAC3DH,WAAW,CAACM,IAAI,CAAC;MACfC,IAAI,EAAE,kCAAkC;MACxCC,QAAQ,EAAElB,KAAK;MACfc;IACF,CAAC,CAAC;IACF,OAAOA,UAAU;EACnB,CACF,CAAC;EACD,OAAO;IAAEH,MAAM;IAAED;EAAY,CAAC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,sBAAsBA,CAACrB,QAAgB,EAAU;EAC/D,MAAMsB,KAAK,GAAGtB,QAAQ,CAACuB,KAAK,CAAC,IAAI,CAAC;EAClC,MAAMC,cAAwB,GAAG,EAAE;EAEnC,KAAK,MAAMC,IAAI,IAAIH,KAAK,EAAE;IACxB,MAAMI,WAAW,GAAGD,IAAI,CAACR,IAAI,CAAC,CAAC;;IAE/B;IACA,IAAIS,WAAW,CAACC,MAAM,GAAG,CAAC,EAAE;MAC1BH,cAAc,CAACN,IAAI,CAACO,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC,MAAM;MACL;MACAJ,cAAc,CAACN,IAAI,CAAC,EAAE,CAAC;IACzB;EACF;EAEA,OAAOM,cAAc,CAACK,IAAI,CAAC,IAAI,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC9B,QAAgB,EAGhD;EACA,MAAMY,WAAqC,GAAG,EAAE;EAChD,MAAMC,MAAM,GAAGb,QAAQ,CAACC,OAAO,CAC7B,yDAAyD,EACzD,CAACC,KAAK,EAAE6B,IAAwB,EAAEC,SAA6B,KAAK;IAClE,MAAMC,SAAS,GAAG,CAACD,SAAS,IAAID,IAAI,IAAI,EAAE,EACvC9B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAC7BA,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IAC1B,MAAMe,UAAU,GAAG,eAAeiB,SAAS,EAAE;IAC7C,IAAI/B,KAAK,KAAKc,UAAU,EAAE;MACxBJ,WAAW,CAACM,IAAI,CAAC;QACfC,IAAI,EAAE,qBAAqB;QAC3BC,QAAQ,EAAElB,KAAK;QACfc;MACF,CAAC,CAAC;IACJ;IACA,OAAOA,UAAU;EACnB,CACF,CAAC;EACD,OAAO;IAAEH,MAAM;IAAED;EAAY,CAAC;AAChC;AAEA,SAASsB,aAAaA,CAACT,IAAY,EAAW;EAC5C,OAAO,mBAAmB,CAACU,IAAI,CAACV,IAAI,CAAC;AACvC;AAEA,SAASW,YAAYA,CAACX,IAAY,EAAY;EAC5C,MAAMY,OAAO,GAAGZ,IAAI,CAACR,IAAI,CAAC,CAAC;EAC3B,IAAI,CAACoB,OAAO,CAACC,UAAU,CAAC,GAAG,CAAC,IAAI,CAACD,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;IACtD,OAAO,EAAE;EACX;EACA,OAAOF,OAAO,CACXG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACZjB,KAAK,CAAC,GAAG,CAAC,CACVkB,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACzB,IAAI,CAAC,CAAC,CAAC;AAC/B;AAEA,SAAS0B,SAASA,CAAClB,IAAY,EAAW;EACxC,OAAOW,YAAY,CAACX,IAAI,CAAC,CAACE,MAAM,IAAI,CAAC;AACvC;AAEA,SAASiB,mBAAmBA,CAACnB,IAAY,EAAW;EAClD,MAAMoB,KAAK,GAAGT,YAAY,CAACX,IAAI,CAAC;EAChC,OACEoB,KAAK,CAAClB,MAAM,IAAI,CAAC,IACjBkB,KAAK,CAACC,KAAK,CAAEJ,IAAI,IAAK,aAAa,CAACP,IAAI,CAACO,IAAI,CAACzC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvE;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS8C,4BAA4BA,CAAC/C,QAAgB,EAG3D;EACA,MAAMY,WAAqC,GAAG,EAAE;EAChD,MAAMU,KAAK,GAAGtB,QAAQ,CAACuB,KAAK,CAAC,IAAI,CAAC;EAClC,MAAMV,MAAgB,GAAG,EAAE;EAC3B,IAAImC,OAAO,GAAG,KAAK;EAEnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG3B,KAAK,CAACK,MAAM,EAAEsB,CAAC,EAAE,EAAE;IACrC,MAAMxB,IAAI,GAAGH,KAAK,CAAC2B,CAAC,CAAC;IACrB,MAAMC,YAAY,GAAGrC,MAAM,CAACA,MAAM,CAACc,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;IACpD,MAAMwB,QAAQ,GAAG7B,KAAK,CAAC2B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAEnC,IAAIf,aAAa,CAACT,IAAI,CAAC,EAAE;MACvBuB,OAAO,GAAG,CAACA,OAAO;MAClBnC,MAAM,CAACK,IAAI,CAACO,IAAI,CAAC;MACjB;IACF;IAEAZ,MAAM,CAACK,IAAI,CAACO,IAAI,CAAC;IAEjB,IAAIuB,OAAO,IAAI,CAACL,SAAS,CAAClB,IAAI,CAAC,IAAIkB,SAAS,CAACO,YAAY,CAAC,EAAE;MAC1D;IACF;IACA,IAAI,CAACP,SAAS,CAACQ,QAAQ,CAAC,IAAIP,mBAAmB,CAACO,QAAQ,CAAC,EAAE;MACzD;IACF;IAEA,MAAMC,WAAW,GAAGhB,YAAY,CAACX,IAAI,CAAC;IACtC,MAAM4B,SAAS,GAAGjB,YAAY,CAACe,QAAQ,CAAC;IACxC,IAAIC,WAAW,CAACzB,MAAM,KAAK0B,SAAS,CAAC1B,MAAM,EAAE;MAC3C;IACF;IAEA,MAAM2B,SAAS,GAAG,KAAKF,WAAW,CAACX,GAAG,CAAC,MAAM,KAAK,CAAC,CAACZ,IAAI,CAAC,KAAK,CAAC,IAAI;IACnEhB,MAAM,CAACK,IAAI,CAACoC,SAAS,CAAC;IACtB1C,WAAW,CAACM,IAAI,CAAC;MACfC,IAAI,EAAE,0BAA0B;MAChCC,QAAQ,EAAEK,IAAI;MACdT,UAAU,EAAE,GAAGS,IAAI,KAAK6B,SAAS;IACnC,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEzC,MAAM,EAAEA,MAAM,CAACgB,IAAI,CAAC,IAAI,CAAC;IAAEjB;EAAY,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS2C,cAAcA,CAACvD,QAAgB,EAG7C;EACA,MAAMY,WAAqC,GAAG,EAAE;EAChD,MAAMC,MAAM,GAAGb,QAAQ,CAACC,OAAO,CAC7B,iBAAiB,EACjB,CAACC,KAAK,EAAEC,QAAgB,KAAK;IAC3B,IAAI;MACF,MAAMqD,OAAO,GAAGjD,kBAAkB,CAACJ,QAAQ,CAACF,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MAClE,IAAIuD,OAAO,KAAKrD,QAAQ,EAAE;QACxBS,WAAW,CAACM,IAAI,CAAC;UACfC,IAAI,EAAE,mBAAmB;UACzBC,QAAQ,EAAEjB,QAAQ;UAClBa,UAAU,EAAEwC;QACd,CAAC,CAAC;MACJ;MACA,OAAO,IAAIA,OAAO,IAAI;IACxB,CAAC,CAAC,MAAM;MACN;MACA;MACA,OAAOtD,KAAK;IACd;EACF,CACF,CAAC;EACD,OAAO;IAAEW,MAAM;IAAED;EAAY,CAAC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6C,kBAAkBA,CAACzD,QAAgB,EAAoB;EACrE,MAAM;IAAEa,MAAM,EAAE6C,cAAc;IAAE9C,WAAW,EAAE+C;EAAyB,CAAC,GACrEhD,4BAA4B,CAACX,QAAQ,CAAC;EACxC,IAAI4D,SAAS,GAAGlD,iBAAiB,CAACgD,cAAc,CAAC;EACjD,MAAM;IAAE7C,MAAM,EAAEgD,WAAW;IAAEjD,WAAW,EAAEkD;EAAkB,CAAC,GAC3DP,cAAc,CAACK,SAAS,CAAC;EAC3BA,SAAS,GAAG7D,eAAe,CAAC8D,WAAW,CAAC;EACxC,MAAM;IAAEhD,MAAM,EAAEG,UAAU;IAAEJ,WAAW,EAAEmD;EAAgB,CAAC,GACxDjC,iBAAiB,CAAC8B,SAAS,CAAC;EAC9B,MAAM;IAAE/C,MAAM,EAAEmD,eAAe;IAAEpD,WAAW,EAAEqD;EAAiB,CAAC,GAC9DlB,4BAA4B,CAAC/B,UAAU,CAAC;EAC1C4C,SAAS,GAAGvC,sBAAsB,CAAC2C,eAAe,CAAC;EACnD,OAAO;IACLhE,QAAQ,EAAE4D,SAAS;IACnBhD,WAAW,EAAE,CACX,GAAG+C,wBAAwB,EAC3B,GAAGG,iBAAiB,EACpB,GAAGC,eAAe,EAClB,GAAGE,gBAAgB;EAEvB,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["escapeWeb5Links","markdown","replace","match","linkText","protocol","url","decodedUrl","decodeURIComponent","encodedUrl","encodeURI","fixMalformedLinks","recoverOrphanedEmphasisLinks","diagnostics","result","prefix","href","normalized","trim","push","type","original","ORPHANED_WEB5_TARGET","ANY_WEB5_URL","MAX_RECOVERED_LABEL_WORDS","LABEL_BOUNDARY_WORDS","Set","hasOpenLinkBracket","segment","lastIndexOf","splitRecoveredLabel","run","sentenceStart","boundary","matchAll","index","length","tokens","slice","map","token","word","start","window","i","bare","toLowerCase","has","label","repairOrphanedWeb5Links","offset","whole","lineStart","scrubVisibleWeb5Urls","trimTrailingWhitespace","lines","split","processedLines","line","trimmedLine","trimEnd","join","normalizeIconUrls","rest","spaceName","cleanName","isFenceToggle","test","splitPipeRow","trimmed","startsWith","endsWith","cell","isPipeRow","isTableDelimiterRow","cells","every","insertMissingTableSeparators","inFence","previousLine","nextLine","headerCells","nextCells","separator","decodeLinkText","decoded","preprocessMarkdown","recoveredLinks","recoveredLinkDiagnostics","processed","repairedLinks","repairedLinkDiagnostics","decodedText","decodeDiagnostics","iconDiagnostics","tableNormalized","tableDiagnostics","scrubbed","scrubDiagnostics"],"sources":["../../../src/utils/markdownPreprocessor.ts"],"sourcesContent":["/**\n * Markdown preprocessing utilities\n *\n * These functions fix common markdown formatting issues before AST parsing.\n * They are applied in a specific order to ensure proper processing.\n */\n\nexport interface PreprocessorDiagnostic {\n type: string;\n original: string;\n normalized: string;\n}\n\nexport interface PreprocessResult {\n markdown: string;\n diagnostics: PreprocessorDiagnostic[];\n}\n\n/**\n * Escape web5:// links by URL-encoding the URL part\n * e.g. [text](web5://some text with spaces) → [text](web5://some%20text%20with%20spaces)\n *\n * @param markdown - The markdown string to process\n * @returns The markdown string with web5:// URLs properly encoded\n */\nexport function escapeWeb5Links(markdown: string): string {\n // Match markdown links with web5:// protocol\n // Pattern: [text](web5://...)\n return markdown.replace(\n /\\[([^\\]]+)\\]\\((web5|entity|image):\\/\\/([^)]+)\\)/g,\n (match, linkText, protocol, url) => {\n try {\n // Decode first to avoid double-encoding (e.g. %20 → %2520)\n const decodedUrl = decodeURIComponent(url);\n // Use encodeURI (not encodeURIComponent) to preserve URL structure\n // characters like /, ?, &, = while encoding spaces and unsafe chars\n const encodedUrl = encodeURI(decodedUrl);\n return `[${linkText}](${protocol}://${encodedUrl})`;\n } catch {\n // decodeURIComponent throws on a malformed percent sequence (raw `%`\n // or truncated `%X`), encodeURI on a lone surrogate. During streaming\n // this happens when chunks are concatenated mid-escape or a multi-byte\n // char is split. Leave the link untouched rather than throw — an\n // uncaught error here aborts the whole streaming parse and surfaces as\n // a 908 conversation-streaming-error even though the page rendered.\n return match;\n }\n },\n );\n}\n\n/**\n * Fix malformed markdown links with whitespace (spaces, tabs, newlines) between ] and (\n * e.g. [text] (url) → [text](url)\n * e.g. [text]\\n(url) → [text](url)\n *\n * @param markdown - The markdown string to process\n * @returns The markdown string with fixed link formatting\n */\nexport function fixMalformedLinks(markdown: string): string {\n // \\s matches spaces, tabs, and newlines; + means one or more\n // Also handle cases with newlines explicitly\n return markdown.replace(/\\][\\s\\r\\n]+\\(/g, '](');\n}\n\n/**\n * Recover inline CTA chips where the LLM emitted emphasized text followed by a\n * dangling markdown link close, e.g. `**label →**](web5://ask/query)`.\n */\nexport function recoverOrphanedEmphasisLinks(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n /(^|[^\\[])\\*\\*([^\\n\\]*]+?)\\*\\*\\]\\((web5:\\/\\/(?:ask|action)\\/[^)]+)\\)/g,\n (match, prefix: string, linkText: string, href: string) => {\n const normalized = `${prefix}[${linkText.trim()}](${href})`;\n diagnostics.push({\n type: 'orphaned_emphasis_link_recovered',\n original: match,\n normalized,\n });\n return normalized;\n },\n );\n return { result, diagnostics };\n}\n\n/**\n * A `web5://` link target whose opening `[` never arrived, e.g.\n * `try filtering for men](web5://ask/Which+are+for+men%3F)`.\n *\n * Dropping the opening bracket is the most common way an inline ask link is\n * mis-emitted, and it is the worst one: remark parses nothing as a link, so the\n * scheme renders as literal text and the visitor reads `web5://ask/...`.\n *\n * `run` is the text before the `]` on the same line, which is what the label\n * should have been. It may be empty, in which case there is nothing to promote\n * and the construct is dropped instead.\n */\nconst ORPHANED_WEB5_TARGET = /([^[\\]()*\\n]{0,80}?)\\]\\((web5:\\/\\/[^)\\s]*)\\)/g;\n\n/** Any `web5://` url, for the final check that none is visible as text. */\nconst ANY_WEB5_URL = /web5:\\/\\/[^\\s)\\]]*/g;\n\n/** Longest label we will promote out of surrounding prose. */\nconst MAX_RECOVERED_LABEL_WORDS = 4;\n\n/**\n * Words a label should start *after* rather than with. The label is cut at the\n * last of these inside the window, so a promoted phrase reads as a noun phrase\n * (\"sensitive skin\") instead of trailing off a verb or preposition\n * (\"carry for sensitive skin\").\n */\nconst LABEL_BOUNDARY_WORDS = new Set([\n 'a',\n 'an',\n 'and',\n 'at',\n 'but',\n 'by',\n 'for',\n 'from',\n 'in',\n 'into',\n 'of',\n 'on',\n 'or',\n 'the',\n 'to',\n 'with',\n]);\n\n/**\n * True when `segment` holds a `[` that is still waiting to be closed — meaning\n * the `](` after it closes a real link and there is nothing to repair.\n */\nfunction hasOpenLinkBracket(segment: string): boolean {\n return segment.lastIndexOf('[') > segment.lastIndexOf(']');\n}\n\n/**\n * Split `run` into the prose to leave in place and the phrase to promote into\n * the link label. Slices on token offsets rather than rejoining words, so the\n * original spacing around the label is preserved exactly.\n *\n * An empty label means there is nothing worth promoting and the caller should\n * drop the link instead.\n */\nfunction splitRecoveredLabel(run: string): { prefix: string; label: string } {\n // Never let the label cross a sentence boundary.\n let sentenceStart = 0;\n for (const boundary of run.matchAll(/(?<=[.!?;:])\\s+/g)) {\n sentenceStart = (boundary.index ?? 0) + boundary[0].length;\n }\n\n const tokens = [...run.slice(sentenceStart).matchAll(/\\S+/g)].map(\n (token) => ({\n word: token[0],\n start: sentenceStart + (token.index ?? 0),\n }),\n );\n\n let window = tokens.slice(-MAX_RECOVERED_LABEL_WORDS);\n for (let i = window.length - 1; i >= 0; i--) {\n const bare = window[i].word.toLowerCase().replace(/[^a-z]/g, '');\n if (LABEL_BOUNDARY_WORDS.has(bare)) {\n window = window.slice(i + 1);\n break;\n }\n }\n\n if (window.length === 0) {\n return { prefix: run, label: '' };\n }\n\n return {\n prefix: run.slice(0, window[0].start),\n label: run.slice(window[0].start).trim(),\n };\n}\n\n/**\n * Repair `web5://` links that lost their opening `[`.\n *\n * Recovers the link by promoting the words immediately before the `]` into its\n * label; when there are no words to promote, drops the whole construct. Either\n * way the scheme stops being visible, which is the point — a link the visitor\n * cannot use is a smaller failure than a url the visitor can read.\n */\nexport function repairOrphanedWeb5Links(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n ORPHANED_WEB5_TARGET,\n (\n match: string,\n run: string,\n href: string,\n offset: number,\n whole: string,\n ) => {\n const lineStart = whole.lastIndexOf('\\n', offset) + 1;\n if (hasOpenLinkBracket(whole.slice(lineStart, offset))) {\n // A real `[label](url)` — the bracket is there, leave it alone.\n return match;\n }\n\n const { prefix, label } = splitRecoveredLabel(run);\n if (!label) {\n diagnostics.push({\n type: 'orphaned_web5_link_dropped',\n original: match,\n normalized: run,\n });\n return run;\n }\n\n const normalized = `${prefix}[${label}](${href})`;\n diagnostics.push({\n type: 'orphaned_web5_link_recovered',\n original: match,\n normalized,\n });\n return normalized;\n },\n );\n return { result, diagnostics };\n}\n\n/**\n * Last resort: remove any `web5://` url still sitting in visible text.\n *\n * Runs after every recovery step, so anything left here is a url no repair\n * could turn back into a link. A url in a link target (`](web5://...)`) is\n * left alone — only text the visitor would actually read is scrubbed.\n */\nexport function scrubVisibleWeb5Urls(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n ANY_WEB5_URL,\n (match: string, offset: number, whole: string) => {\n if (whole.slice(offset - 2, offset) === '](') {\n return match;\n }\n diagnostics.push({\n type: 'visible_web5_url_scrubbed',\n original: match,\n normalized: '',\n });\n return '';\n },\n );\n return { result, diagnostics };\n}\n\n/**\n * Trim trailing whitespace from lines that contain text\n *\n * @param markdown - The markdown string to process\n * @returns The markdown string with trailing whitespace trimmed from text lines\n */\nexport function trimTrailingWhitespace(markdown: string): string {\n const lines = markdown.split('\\n');\n const processedLines: string[] = [];\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n // If the line has content, trim trailing whitespace (keep leading spaces for indentation)\n if (trimmedLine.length > 0) {\n processedLines.push(line.trimEnd());\n } else {\n // Lines with only whitespace become empty lines\n processedLines.push('');\n }\n }\n\n return processedLines.join('\\n');\n}\n\n/**\n * Normalize malformed web5://icon URLs to the canonical web5://icon/{name} format.\n * Handles variants like web5://icon:arrow, web5://icon-arrow, web5://icon arrow → web5://icon/arrow.\n * Only alphanumeric characters and dashes are kept in the icon name.\n */\nexport function normalizeIconUrls(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n /web5:\\/\\/icon(?:([:/-][^)\\s]+)|(?:\\s+([a-zA-Z0-9-]+)))/g,\n (match, rest: string | undefined, spaceName: string | undefined) => {\n const cleanName = (spaceName ?? rest ?? '')\n .replace(/[^a-zA-Z0-9-]/g, '')\n .replace(/^-+|-+$/g, '');\n const normalized = `web5://icon/${cleanName}`;\n if (match !== normalized) {\n diagnostics.push({\n type: 'icon_url_normalized',\n original: match,\n normalized,\n });\n }\n return normalized;\n },\n );\n return { result, diagnostics };\n}\n\nfunction isFenceToggle(line: string): boolean {\n return /^\\s*(`{3,}|~{3,})/.test(line);\n}\n\nfunction splitPipeRow(line: string): string[] {\n const trimmed = line.trim();\n if (!trimmed.startsWith('|') || !trimmed.endsWith('|')) {\n return [];\n }\n return trimmed\n .slice(1, -1)\n .split('|')\n .map((cell) => cell.trim());\n}\n\nfunction isPipeRow(line: string): boolean {\n return splitPipeRow(line).length >= 2;\n}\n\nfunction isTableDelimiterRow(line: string): boolean {\n const cells = splitPipeRow(line);\n return (\n cells.length >= 2 &&\n cells.every((cell) => /^:?-{3,}:?$/.test(cell.replace(/\\s+/g, '')))\n );\n}\n\n/**\n * Repair LLM-emitted pipe tables that omit the GFM delimiter row.\n * Without this line remark-gfm parses the rows as plain paragraphs, so\n * registry sections such as comparison never receive a `table` part.\n */\nexport function insertMissingTableSeparators(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const lines = markdown.split('\\n');\n const result: string[] = [];\n let inFence = false;\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const previousLine = result[result.length - 1] ?? '';\n const nextLine = lines[i + 1] ?? '';\n\n if (isFenceToggle(line)) {\n inFence = !inFence;\n result.push(line);\n continue;\n }\n\n result.push(line);\n\n if (inFence || !isPipeRow(line) || isPipeRow(previousLine)) {\n continue;\n }\n if (!isPipeRow(nextLine) || isTableDelimiterRow(nextLine)) {\n continue;\n }\n\n const headerCells = splitPipeRow(line);\n const nextCells = splitPipeRow(nextLine);\n if (headerCells.length !== nextCells.length) {\n continue;\n }\n\n const separator = `| ${headerCells.map(() => '---').join(' | ')} |`;\n result.push(separator);\n diagnostics.push({\n type: 'table_separator_inserted',\n original: line,\n normalized: `${line}\\n${separator}`,\n });\n }\n\n return { result: result.join('\\n'), diagnostics };\n}\n\n/**\n * Decode URL-encoded text in markdown link labels.\n * e.g. [Some%20Text](https://example.com) → [Some Text](https://example.com)\n * e.g. [Which+solution%3F](web5://...) → [Which solution?](web5://...)\n *\n * Only decodes the text portion [text], never the URL portion (url).\n * Handles both `+` (form-encoded space) and `%XX` escapes; falls back to\n * the original string on malformed percent sequences.\n */\nexport function decodeLinkText(markdown: string): {\n result: string;\n diagnostics: PreprocessorDiagnostic[];\n} {\n const diagnostics: PreprocessorDiagnostic[] = [];\n const result = markdown.replace(\n /\\[([^\\]]+)\\]\\(/g,\n (match, linkText: string) => {\n try {\n const decoded = decodeURIComponent(linkText.replace(/\\+/g, '%20'));\n if (decoded !== linkText) {\n diagnostics.push({\n type: 'link_text_decoded',\n original: linkText,\n normalized: decoded,\n });\n }\n return `[${decoded}](`;\n } catch {\n // If decodeURIComponent fails (e.g. malformed percent sequence like %ZZ),\n // leave the text unchanged\n return match;\n }\n },\n );\n return { result, diagnostics };\n}\n\n/**\n * Preprocess markdown to fix common formatting issues before AST parsing.\n *\n * The preprocessing steps are applied in the following order:\n * 1. Recover orphaned emphasized web5 links\n * 2. Fix malformed links (remove whitespace between ] and () - must happen before web5 links are matched)\n * 3. Repair web5 links missing their opening `[` (after step 2, so `] (url)` is already normalized)\n * 4. Decode URL-encoded link text\n * 5. Escape web5:// links (URL-encode URLs)\n * 6. Normalize icon URLs\n * 7. Insert missing table separators for obvious pipe tables\n * 8. Scrub any web5:// url still visible as text (last, so every repair has had its chance)\n * 9. Trim trailing whitespace from lines\n *\n * @param markdown - The raw markdown string to preprocess\n * @returns The preprocessed markdown string ready for AST parsing\n */\nexport function preprocessMarkdown(markdown: string): PreprocessResult {\n const { result: recoveredLinks, diagnostics: recoveredLinkDiagnostics } =\n recoverOrphanedEmphasisLinks(markdown);\n let processed = fixMalformedLinks(recoveredLinks);\n const { result: repairedLinks, diagnostics: repairedLinkDiagnostics } =\n repairOrphanedWeb5Links(processed);\n const { result: decodedText, diagnostics: decodeDiagnostics } =\n decodeLinkText(repairedLinks);\n processed = escapeWeb5Links(decodedText);\n const { result: normalized, diagnostics: iconDiagnostics } =\n normalizeIconUrls(processed);\n const { result: tableNormalized, diagnostics: tableDiagnostics } =\n insertMissingTableSeparators(normalized);\n const { result: scrubbed, diagnostics: scrubDiagnostics } =\n scrubVisibleWeb5Urls(tableNormalized);\n processed = trimTrailingWhitespace(scrubbed);\n return {\n markdown: processed,\n diagnostics: [\n ...recoveredLinkDiagnostics,\n ...repairedLinkDiagnostics,\n ...decodeDiagnostics,\n ...iconDiagnostics,\n ...tableDiagnostics,\n ...scrubDiagnostics,\n ],\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type Part } from '../../parts/parts';
|
|
2
2
|
import type { ComparisonCompProps, ComparisonSectionComponent, SectionFixture } from '../types';
|
|
3
|
-
import type { SectionDefinition, ParseContext } from '../section-definition';
|
|
3
|
+
import type { SectionDefinition, ParseContext, DropSection } from '../section-definition';
|
|
4
4
|
export declare class ComparisonSectionDefinition implements SectionDefinition<ComparisonSectionComponent> {
|
|
5
5
|
sectionType: "comparison";
|
|
6
6
|
patterns: string[];
|
|
7
7
|
defaults: ComparisonCompProps;
|
|
8
8
|
fixtures: SectionFixture<ComparisonCompProps>[];
|
|
9
|
-
parse(parts: Part[], context?: ParseContext): ComparisonCompProps;
|
|
9
|
+
parse(parts: Part[], context?: ParseContext): ComparisonCompProps | DropSection;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=ComparisonSectionDefinition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComparisonSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/ComparisonSectionDefinition.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAEV,mBAAmB,EAEnB,0BAA0B,EAC1B,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ComparisonSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/ComparisonSectionDefinition.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAEV,mBAAmB,EAEnB,0BAA0B,EAC1B,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAmB/B,qBAAa,2BACX,YAAW,iBAAiB,CAAC,0BAA0B,CAAC;IAExD,WAAW,eAAyB;IACpC,QAAQ,WAEN;IAEF,QAAQ,EAAE,mBAAmB,CAO3B;IAEF,QAAQ,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAAE,CA8C7C;IAEF,KAAK,CACH,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,CAAC,EAAE,YAAY,GACrB,mBAAmB,GAAG,WAAW;CAqGrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureSection9PlusDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/FeatureSection9PlusDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeatureSection9PlusDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/FeatureSection9PlusDefinition.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,IAAI,EAGV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,4BAA4B,EAC5B,mCAAmC,EACnC,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,6BACX,YAAW,iBAAiB,CAAC,mCAAmC,CAAC;IAEjE,WAAW,wBAAkC;IAC7C,QAAQ,WAEN;IAEF,QAAQ,EAAE,4BAA4B,CAGpC;IAEF,QAAQ,EAAE,cAAc,CAAC,4BAA4B,CAAC,EAAE,CAAM;IAE9D,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,4BAA4B;CAkEnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listItemsSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/listItemsSectionDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listItemsSectionDefinition.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/listItemsSectionDefinition.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,IAAI,EAAiB,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,qBAAa,0BACX,YAAW,iBAAiB,CAAC,yBAAyB,CAAC;IAEvD,WAAW,qBAA+B;IAW1C,QAAQ,WAEN;IAEF,QAAQ,EAAE,yBAAyB,CAGjC;IAEF,QAAQ,EAAE,cAAc,CAAC,yBAAyB,CAAC,EAAE,CAAM;IAE3D,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,yBAAyB,GAAG,IAAI;CAwDvD"}
|
|
@@ -50,6 +50,16 @@ export declare function parseKpiItem(markdown: string): {
|
|
|
50
50
|
title: string;
|
|
51
51
|
description: string;
|
|
52
52
|
} | null;
|
|
53
|
+
/**
|
|
54
|
+
* Serialize a run of inline parts back to markdown, preserving links.
|
|
55
|
+
*
|
|
56
|
+
* Concatenating `part.content` alone silently deletes links: a `link` part
|
|
57
|
+
* keeps its label in `content` and its url in `meta.href`, so a filter that
|
|
58
|
+
* reads only text parts turns `Read the [pricing page](/pricing) first` into
|
|
59
|
+
* `Read the first` — url and label both vanish, with nothing in the output to
|
|
60
|
+
* show anything was lost.
|
|
61
|
+
*/
|
|
62
|
+
export declare function inlinePartsToMarkdown(parts: Part[]): string;
|
|
53
63
|
export declare function extractListItemText(item: ListItemPart): string;
|
|
54
64
|
/**
|
|
55
65
|
* Reconstruct markdown-like content from parts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-utils.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/parse-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-utils.d.ts","sourceRoot":"","sources":["../../../../src/component/componentDefinitions/parse-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentParser.d.ts","sourceRoot":"","sources":["../../../src/component/componentParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"componentParser.d.ts","sourceRoot":"","sources":["../../../src/component/componentParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAoCD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,WAAW,EAAE,EAC/B,WAAW,EAAE,WAAW,EAAE,GACzB,WAAW,EAAE,CA2Cf;AAyFD,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAyIrB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAAE,EACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,aAAa,GACrB;IAAE,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CA2NjD"}
|
|
@@ -19,6 +19,18 @@ export interface ParseContext {
|
|
|
19
19
|
/** Report a markdown diagnostic (e.g. broken link, invalid format). */
|
|
20
20
|
reportDiagnostic?: (type: DiagnosticType, details: string) => void;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Sentinel a `parse()` may return: this block IS mine — consume its nodes — but
|
|
24
|
+
* render nothing.
|
|
25
|
+
*
|
|
26
|
+
* Distinct from `null`, which *rejects* the match and lets the block fall through
|
|
27
|
+
* to the next definition, and ultimately to `FallbackSectionDefinition`, which
|
|
28
|
+
* would re-render the same heading and table as raw markdown. Return this instead
|
|
29
|
+
* when a section matched but its content is unusable and showing a degraded
|
|
30
|
+
* version is worse than showing nothing at all.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DROP_SECTION: unique symbol;
|
|
33
|
+
export type DropSection = typeof DROP_SECTION;
|
|
22
34
|
export interface SectionDefinition<T extends FC<any> = FC<any>> {
|
|
23
35
|
sectionType: string;
|
|
24
36
|
patterns: string[];
|
|
@@ -27,6 +39,6 @@ export interface SectionDefinition<T extends FC<any> = FC<any>> {
|
|
|
27
39
|
maxConsumedNodes?: number;
|
|
28
40
|
defaults?: PropsOf<T>;
|
|
29
41
|
fixtures: SectionFixture<PropsOf<T>>[];
|
|
30
|
-
parse(parts: Part[], context?: ParseContext): PropsOf<T> | null;
|
|
42
|
+
parse(parts: Part[], context?: ParseContext): PropsOf<T> | null | DropSection;
|
|
31
43
|
}
|
|
32
44
|
//# sourceMappingURL=section-definition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-definition.d.ts","sourceRoot":"","sources":["../../../src/component/section-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,CACnB,YAAY,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,KACxC,qBAAqB,GAAG,IAAI,CAAC;IAClC,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrE,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE;
|
|
1
|
+
{"version":3,"file":"section-definition.d.ts","sourceRoot":"","sources":["../../../src/component/section-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,CACnB,YAAY,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,KACxC,qBAAqB,GAAG,IAAI,CAAC;IAClC,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrE,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,MAAoC,CAAC;AACvE,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC;AAG9C,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;CAC/E"}
|
|
@@ -3,6 +3,19 @@ interface MarkdownTextProps {
|
|
|
3
3
|
children: string;
|
|
4
4
|
className?: string;
|
|
5
5
|
codeClassName?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Render a single line of *inline* markdown — links, bold, italic, code —
|
|
8
|
+
* with no `prose` wrapper and no paragraph margins.
|
|
9
|
+
*
|
|
10
|
+
* The default (block) mode wraps output in `prose prose-slate`, which sets
|
|
11
|
+
* its own font size and body color. That is right for a standalone passage
|
|
12
|
+
* and wrong inside text the caller has already styled: a list item body or a
|
|
13
|
+
* label would silently lose its variant's size, weight and theme color to
|
|
14
|
+
* prose's slate palette. Use `inline` there so the surrounding element keeps
|
|
15
|
+
* control of typography, and keep the content to one line — block markdown
|
|
16
|
+
* (lists, tables, headings) has no place inside a span.
|
|
17
|
+
*/
|
|
18
|
+
inline?: boolean;
|
|
6
19
|
}
|
|
7
20
|
export declare const MarkdownText: FC<MarkdownTextProps>;
|
|
8
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/MarkdownText.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/MarkdownText.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AA+BlC,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA0M9C,CAAC"}
|
|
@@ -18,5 +18,5 @@ export interface UnifiedLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorE
|
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
}
|
|
20
20
|
export declare function detectLinkType(href: string | undefined): LinkType;
|
|
21
|
-
export declare function UnifiedLink({ href, linkType: linkTypeProp, variant, active, hideArrow, className, children, onClick, ...props }: UnifiedLinkProps): React.JSX.Element
|
|
21
|
+
export declare function UnifiedLink({ href, linkType: linkTypeProp, variant, active, hideArrow, className, children, onClick, ...props }: UnifiedLinkProps): React.JSX.Element;
|
|
22
22
|
//# sourceMappingURL=UnifiedLink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnifiedLink.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/UnifiedLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qBAAqB;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAWjE;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,OAAmB,EACnB,MAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"UnifiedLink.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/UnifiedLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qBAAqB;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAWjE;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,OAAmB,EACnB,MAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,gBAAgB,qBAgHlB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export { type EmbedFeatureToggleResult, type FeatureToggleReader, createFeatureT
|
|
|
3
3
|
export type { DevEnvironment } from './client/devEnvironment';
|
|
4
4
|
export { type PartType, type Part, type HeadingPart, type ImagePart, type LinkPart, type ListPart, type ListItemPart, type KpiItemPart, type CardPart, type IconPart, type CalloutPart, type EntityPart, getPartsByType, getPartByRole, getAllByRole, getHeading, getImages, getLinks, extractContent, extractContentMarkdown, deriveRole, } from './parts/parts';
|
|
5
5
|
export type { BaseCompProps, SlotCompProps, SectionCompProps, SectionCompPropsWithSlot, TextCompProps, ButtonCompProps, ImageCompProps, BadgeCompProps, HeroButton, KpiItemCompProps, FeatureItemCompProps, FeatureCardCompProps, EntityItemData, EntityItem, GenericEntityData, GenericEntityCompProps, ComparisonRow, ComparisonColumn, AiNarrativeCompProps, HeroCompProps, HeroEntityCompProps, KpiCompProps, FeatureCardsCompProps, EntityCompProps, ComparisonCompProps, TextBlockCompProps, Component, BaseComponent, SlotComponent, SectionComponent, TextComponent, ButtonComponent, ImageComponent, BadgeComponent, KpiItemComponent, FeatureItemComponent, FeatureCardComponent, GenericEntityComponent, AiNarrativeComponent, ComparisonSectionComponent, TextBlockSectionComponent, HeroSectionComponent, HeroEntitySectionComponent, KpiSectionComponent, FeatureCardsSectionComponent, EntitySectionComponent, PropsOf, SectionFixture, CtaBannerCompProps, CtaBannerSectionComponent, CalloutCompProps, CalloutSectionComponent, NextStepsCompProps, NextStepsSectionComponent, FeatureSection9PlusCompProps, FeatureSection9PlusSectionComponent, ListItemsSectionCompProps, ListItemsSectionComponent, ErrorCompProps, ErrorSectionComponent, NullCompProps, NullSectionComponent, SolutionEntityCompProps, SolutionEntitySectionComponent, SolutionEntityData, BlogEntityCompProps, BlogEntitySectionComponent, BlogEntityData, GeneralTextCompProps, GeneralTextSectionComponent, PersonalizedNarrativeCompProps, PersonalizedNarrativeSectionComponent, } from './component/types';
|
|
6
|
-
export type { SectionDefinition, ParseContext, ContextualImageResult, } from './component/section-definition';
|
|
6
|
+
export type { SectionDefinition, ParseContext, ContextualImageResult, DropSection, } from './component/section-definition';
|
|
7
|
+
export { DROP_SECTION } from './component/section-definition';
|
|
7
8
|
export { DIAGNOSTIC_TYPES } from './component/diagnosticTypes';
|
|
8
9
|
export type { DiagnosticType } from './component/diagnosticTypes';
|
|
9
10
|
export { buildImageSearchFilter, type ImageSearchFilterString, } from './image/imageSearchFilterTypes';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAG/C,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,UAAU,GACX,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,mCAAmC,EACnC,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,29 @@ export declare function recoverOrphanedEmphasisLinks(markdown: string): {
|
|
|
38
38
|
result: string;
|
|
39
39
|
diagnostics: PreprocessorDiagnostic[];
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Repair `web5://` links that lost their opening `[`.
|
|
43
|
+
*
|
|
44
|
+
* Recovers the link by promoting the words immediately before the `]` into its
|
|
45
|
+
* label; when there are no words to promote, drops the whole construct. Either
|
|
46
|
+
* way the scheme stops being visible, which is the point — a link the visitor
|
|
47
|
+
* cannot use is a smaller failure than a url the visitor can read.
|
|
48
|
+
*/
|
|
49
|
+
export declare function repairOrphanedWeb5Links(markdown: string): {
|
|
50
|
+
result: string;
|
|
51
|
+
diagnostics: PreprocessorDiagnostic[];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Last resort: remove any `web5://` url still sitting in visible text.
|
|
55
|
+
*
|
|
56
|
+
* Runs after every recovery step, so anything left here is a url no repair
|
|
57
|
+
* could turn back into a link. A url in a link target (`](web5://...)`) is
|
|
58
|
+
* left alone — only text the visitor would actually read is scrubbed.
|
|
59
|
+
*/
|
|
60
|
+
export declare function scrubVisibleWeb5Urls(markdown: string): {
|
|
61
|
+
result: string;
|
|
62
|
+
diagnostics: PreprocessorDiagnostic[];
|
|
63
|
+
};
|
|
41
64
|
/**
|
|
42
65
|
* Trim trailing whitespace from lines that contain text
|
|
43
66
|
*
|
|
@@ -82,11 +105,13 @@ export declare function decodeLinkText(markdown: string): {
|
|
|
82
105
|
* The preprocessing steps are applied in the following order:
|
|
83
106
|
* 1. Recover orphaned emphasized web5 links
|
|
84
107
|
* 2. Fix malformed links (remove whitespace between ] and () - must happen before web5 links are matched)
|
|
85
|
-
* 3.
|
|
86
|
-
* 4.
|
|
87
|
-
* 5.
|
|
88
|
-
* 6.
|
|
89
|
-
* 7.
|
|
108
|
+
* 3. Repair web5 links missing their opening `[` (after step 2, so `] (url)` is already normalized)
|
|
109
|
+
* 4. Decode URL-encoded link text
|
|
110
|
+
* 5. Escape web5:// links (URL-encode URLs)
|
|
111
|
+
* 6. Normalize icon URLs
|
|
112
|
+
* 7. Insert missing table separators for obvious pipe tables
|
|
113
|
+
* 8. Scrub any web5:// url still visible as text (last, so every repair has had its chance)
|
|
114
|
+
* 9. Trim trailing whitespace from lines
|
|
90
115
|
*
|
|
91
116
|
* @param markdown - The raw markdown string to preprocess
|
|
92
117
|
* @returns The preprocessed markdown string ready for AST parsing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownPreprocessor.d.ts","sourceRoot":"","sources":["../../../src/utils/markdownPreprocessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAeA;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAoBA;AA6BD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CA0CA;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAuBA;AAED
|
|
1
|
+
{"version":3,"file":"markdownPreprocessor.d.ts","sourceRoot":"","sources":["../../../src/utils/markdownPreprocessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAeA;AAgGD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAqCA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAiBA;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAoBA;AA6BD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CA0CA;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC,CAuBA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CA2BrE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/web5-core",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.61.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "tsachis",
|
|
7
7
|
"email": "tsachis@wix.com"
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"wallaby": {
|
|
101
101
|
"autoDetect": true
|
|
102
102
|
},
|
|
103
|
-
"falconPackageHash": "
|
|
103
|
+
"falconPackageHash": "9694f910a3ae343f13fc3432bb04b42ad38df91bfab9b5288fddc2e6"
|
|
104
104
|
}
|
|
@@ -26,23 +26,6 @@
|
|
|
26
26
|
--input: 0 0% 89.8%;
|
|
27
27
|
--ring: 0 0% 3.9%;
|
|
28
28
|
|
|
29
|
-
/* Chart colors */
|
|
30
|
-
--chart-1: 180 60% 65%;
|
|
31
|
-
--chart-2: 120 50% 60%;
|
|
32
|
-
--chart-3: 40 50% 70%;
|
|
33
|
-
--chart-4: 200 70% 60%;
|
|
34
|
-
--chart-5: 320 60% 70%;
|
|
35
|
-
|
|
36
|
-
/* Sidebar colors */
|
|
37
|
-
--sidebar: 0 0% 100%;
|
|
38
|
-
--sidebar-foreground: 0 0% 3.9%;
|
|
39
|
-
--sidebar-primary: 0 0% 9%;
|
|
40
|
-
--sidebar-primary-foreground: 0 0% 98%;
|
|
41
|
-
--sidebar-accent: 0 0% 96.1%;
|
|
42
|
-
--sidebar-accent-foreground: 0 0% 9%;
|
|
43
|
-
--sidebar-border: 0 0% 89.8%;
|
|
44
|
-
--sidebar-ring: 0 0% 3.9%;
|
|
45
|
-
|
|
46
29
|
/* Typography tokens */
|
|
47
30
|
--font-sans: ui-sans-serif, system-ui, sans-serif;
|
|
48
31
|
--font-serif: serif;
|
|
@@ -140,13 +123,4 @@
|
|
|
140
123
|
--border: 0 0% 14.9%;
|
|
141
124
|
--input: 0 0% 14.9%;
|
|
142
125
|
--ring: 0 0% 83.1%;
|
|
143
|
-
|
|
144
|
-
--sidebar: 0 0% 3.9%;
|
|
145
|
-
--sidebar-foreground: 0 0% 98%;
|
|
146
|
-
--sidebar-primary: 0 0% 98%;
|
|
147
|
-
--sidebar-primary-foreground: 0 0% 9%;
|
|
148
|
-
--sidebar-accent: 0 0% 14.9%;
|
|
149
|
-
--sidebar-accent-foreground: 0 0% 98%;
|
|
150
|
-
--sidebar-border: 0 0% 14.9%;
|
|
151
|
-
--sidebar-ring: 0 0% 83.1%;
|
|
152
126
|
}
|
|
@@ -47,22 +47,6 @@
|
|
|
47
47
|
--color-text-accent-hover: var(--text-accent-hover);
|
|
48
48
|
--color-accent-border: var(--accent-border);
|
|
49
49
|
|
|
50
|
-
--color-chart-1: hsl(var(--chart-1));
|
|
51
|
-
--color-chart-2: hsl(var(--chart-2));
|
|
52
|
-
--color-chart-3: hsl(var(--chart-3));
|
|
53
|
-
--color-chart-4: hsl(var(--chart-4));
|
|
54
|
-
--color-chart-5: hsl(var(--chart-5));
|
|
55
|
-
|
|
56
|
-
--color-sidebar: hsl(var(--sidebar));
|
|
57
|
-
--color-sidebar-foreground: hsl(var(--sidebar-foreground));
|
|
58
|
-
--color-sidebar-primary: hsl(var(--sidebar-primary));
|
|
59
|
-
--color-sidebar-primary-foreground: hsl(var(--sidebar-primary-foreground));
|
|
60
|
-
--color-sidebar-accent: hsl(var(--sidebar-accent));
|
|
61
|
-
--color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));
|
|
62
|
-
--color-sidebar-border: hsl(var(--sidebar-border));
|
|
63
|
-
--color-sidebar-ring: hsl(var(--sidebar-ring));
|
|
64
|
-
|
|
65
|
-
|
|
66
50
|
--radius-sm: calc(var(--radius) - 4px);
|
|
67
51
|
--radius-md: calc(var(--radius) - 2px);
|
|
68
52
|
--radius-lg: var(--radius);
|
|
@@ -76,7 +60,6 @@
|
|
|
76
60
|
--shadow-lg: var(--shadow-lg);
|
|
77
61
|
--shadow-xl: var(--shadow-xl);
|
|
78
62
|
--shadow-2xl: var(--shadow-2xl);
|
|
79
|
-
--shadow-sticky-header: var(--shadow-sticky-header);
|
|
80
63
|
|
|
81
64
|
--tracking-tighter: calc(var(--tracking-normal) - 0.05em);
|
|
82
65
|
--tracking-tight: calc(var(--tracking-normal) - 0.025em);
|