@epam/ai-dial-chat-shared 1.3.0-dev.29 → 1.3.0-dev.294
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/components/ConfirmationDialog/ConfirmationDialog.d.ts +46 -0
- package/components/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -0
- package/components/ConfirmationDialog/ConfirmationDialog.js +11 -9
- package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.d.ts +33 -0
- package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.d.ts.map +1 -0
- package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.module.scss.js +5 -4
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.d.ts +33 -0
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.d.ts.map +1 -0
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.js +2 -2
- package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.module.scss.js +3 -2
- package/components/ConfirmationView/ConfirmationFooter.d.ts +41 -0
- package/components/ConfirmationView/ConfirmationFooter.d.ts.map +1 -0
- package/components/ConfirmationView/ConfirmationFooter.js +25 -26
- package/components/ConfirmationView/ConfirmationView.d.ts +59 -0
- package/components/ConfirmationView/ConfirmationView.d.ts.map +1 -0
- package/components/ConfirmationView/ConfirmationView.js +12 -12
- package/components/ConfirmationView/ConfirmationView.module.scss.js +6 -5
- package/components/CopyButton/CopyButton.d.ts +19 -0
- package/components/CopyButton/CopyButton.d.ts.map +1 -0
- package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.d.ts +41 -0
- package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.d.ts.map +1 -0
- package/components/DeleteConfirmationView/DeleteConfirmationView.d.ts +49 -0
- package/components/DeleteConfirmationView/DeleteConfirmationView.d.ts.map +1 -0
- package/components/DeleteConfirmationView/DeleteConfirmationView.module.scss.js +5 -4
- package/components/DeploymentIcon/DeploymentIcon.d.ts +36 -0
- package/components/DeploymentIcon/DeploymentIcon.d.ts.map +1 -0
- package/components/DeploymentIcon/DeploymentIcon.module.scss.js +3 -2
- package/components/EntityHeader/EntityHeader.d.ts +38 -0
- package/components/EntityHeader/EntityHeader.d.ts.map +1 -0
- package/components/EntityHeader/EntityHeader.js +1 -1
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts +18 -0
- package/components/EntityTypeLabel/EntityTypeLabel.d.ts.map +1 -0
- package/components/FeaturedChip/FeaturedChip.d.ts +16 -0
- package/components/FeaturedChip/FeaturedChip.d.ts.map +1 -0
- package/components/InitialsAvatar/InitialsAvatar.d.ts +18 -0
- package/components/InitialsAvatar/InitialsAvatar.d.ts.map +1 -0
- package/components/InitialsAvatar/InitialsAvatar.js +4 -3
- package/components/ItemHeader/ItemHeader.d.ts +40 -0
- package/components/ItemHeader/ItemHeader.d.ts.map +1 -0
- package/components/ItemHeader/ItemHeader.js +4 -1
- package/components/ItemHeader/ItemHeader.module.scss.js +5 -4
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts +57 -0
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts.map +1 -0
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.js +58 -58
- package/components/MarkdownRenderer/CodeBlock/CodeBlock.module.scss.js +9 -8
- package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts +7 -0
- package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts.map +1 -0
- package/components/MarkdownRenderer/MDMessageViewer.d.ts +66 -0
- package/components/MarkdownRenderer/MDMessageViewer.d.ts.map +1 -0
- package/components/MarkdownRenderer/MDMessageViewer.js +14 -12
- package/components/MarkdownRenderer/MarkdownRenderer.d.ts +145 -0
- package/components/MarkdownRenderer/MarkdownRenderer.d.ts.map +1 -0
- package/components/MarkdownRenderer/MarkdownRenderer.js +146 -136
- package/components/MarkdownRenderer/MarkdownRenderer.module.scss.js +9 -8
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.d.ts +18 -0
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.d.ts.map +1 -0
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.js +1 -1
- package/components/MarkdownRenderer/Math/MarkdownMathBlock.module.scss.js +5 -4
- package/components/MarkdownRenderer/PlainTextRenderer.d.ts +39 -0
- package/components/MarkdownRenderer/PlainTextRenderer.d.ts.map +1 -0
- package/components/MarkdownRenderer/PlainTextRenderer.js +1 -1
- package/components/MarkdownRenderer/Table/MarkdownTable.d.ts +51 -0
- package/components/MarkdownRenderer/Table/MarkdownTable.d.ts.map +1 -0
- package/components/MarkdownRenderer/Table/MarkdownTable.js +68 -63
- package/components/MarkdownRenderer/Table/MarkdownTable.module.scss.js +15 -13
- package/components/MarkdownRenderer/Table/TableHeader.d.ts +22 -0
- package/components/MarkdownRenderer/Table/TableHeader.d.ts.map +1 -0
- package/components/MarkdownRenderer/Table/TableHeader.module.scss.js +3 -2
- package/components/MarkdownRenderer/Table/table-serialization.d.ts +16 -0
- package/components/MarkdownRenderer/Table/table-serialization.d.ts.map +1 -0
- package/components/MarkdownRenderer/Table/useMarkdownTableActions/useMarkdownTableActions.d.ts +27 -0
- package/components/MarkdownRenderer/Table/useMarkdownTableActions/useMarkdownTableActions.d.ts.map +1 -0
- package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts +9 -0
- package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts.map +1 -0
- package/components/MarkdownRenderer/ThinkingShimmer.d.ts +17 -0
- package/components/MarkdownRenderer/ThinkingShimmer.d.ts.map +1 -0
- package/components/MarkdownRenderer/markdown-class-names.d.ts +10 -0
- package/components/MarkdownRenderer/markdown-class-names.d.ts.map +1 -0
- package/components/MarkdownRenderer/markdown-whitespace.d.ts +15 -0
- package/components/MarkdownRenderer/markdown-whitespace.d.ts.map +1 -0
- package/components/MarkdownRenderer/markdown-whitespace.js +2 -6
- package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts +25 -0
- package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts.map +1 -0
- package/components/NewVersionAlert/NewVersionAlert.d.ts +27 -0
- package/components/NewVersionAlert/NewVersionAlert.d.ts.map +1 -0
- package/components/NewVersionAlert/NewVersionAlert.js +28 -0
- package/components/NewVersionAlert/NewVersionAlert.module.scss.js +4 -0
- package/components/NotificationStack/NotificationStack.d.ts +48 -0
- package/components/NotificationStack/NotificationStack.d.ts.map +1 -0
- package/components/NotificationStack/NotificationStack.js +111 -0
- package/components/PanelEmptyState/PanelEmptyState.d.ts +32 -0
- package/components/PanelEmptyState/PanelEmptyState.d.ts.map +1 -0
- package/components/PanelEmptyState/PanelEmptyState.js +19 -9
- package/components/PanelEmptyState/PanelEmptyState.module.scss.js +6 -2
- package/components/ResourceSummary/ResourceSummary.d.ts +49 -0
- package/components/ResourceSummary/ResourceSummary.d.ts.map +1 -0
- package/components/ResourceSummary/ResourceSummary.module.scss.js +5 -4
- package/components/TextRefinementField/TextRefinementField.d.ts +33 -0
- package/components/TextRefinementField/TextRefinementField.d.ts.map +1 -0
- package/components/TextRefinementField/TextRefinementField.js +84 -55
- package/constants/breakpoint.d.ts +9 -0
- package/constants/breakpoint.d.ts.map +1 -0
- package/constants/breakpoint.js +1 -1
- package/constants/dial.d.ts +5 -0
- package/constants/dial.d.ts.map +1 -0
- package/constants/entity-colors.d.ts +6 -0
- package/constants/entity-colors.d.ts.map +1 -0
- package/constants/icon.d.ts +14 -0
- package/constants/icon.d.ts.map +1 -0
- package/constants/markdown-editor.d.ts +2 -0
- package/constants/markdown-editor.d.ts.map +1 -0
- package/constants/mime-types.d.ts +27 -0
- package/constants/mime-types.d.ts.map +1 -0
- package/constants/public-class-names.d.ts +13 -0
- package/constants/public-class-names.d.ts.map +1 -0
- package/constants/resizable-fields.d.ts +5 -0
- package/constants/resizable-fields.d.ts.map +1 -0
- package/constants/select-list.d.ts +4 -0
- package/constants/select-list.d.ts.map +1 -0
- package/constants/tag-input.d.ts +2 -0
- package/constants/tag-input.d.ts.map +1 -0
- package/conversation-transfer/conversation-transfer-queue.d.ts +16 -0
- package/conversation-transfer/conversation-transfer-queue.d.ts.map +1 -0
- package/conversation-transfer/conversation-transfer-queue.js +24 -0
- package/entry-points/file-manager.d.ts +5 -0
- package/entry-points/file-manager.d.ts.map +1 -0
- package/entry-points/markdown.d.ts +19 -0
- package/entry-points/markdown.d.ts.map +1 -0
- package/file-manager/DialFileManagerShell/DialFileManagerShell.d.ts +67 -0
- package/file-manager/DialFileManagerShell/DialFileManagerShell.d.ts.map +1 -0
- package/file-manager/DialFileManagerShell/DialFileManagerShell.js +328 -266
- package/file-manager/DialFileManagerShell/DialFileManagerShell.module.scss.js +8 -0
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.d.ts +96 -0
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.d.ts.map +1 -0
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.js +82 -78
- package/file-manager/FileManagerAttachModal/FileManagerAttachModal.module.scss.js +7 -0
- package/file-manager/OperationLoaderModal/OperationLoaderModal.d.ts +22 -0
- package/file-manager/OperationLoaderModal/OperationLoaderModal.d.ts.map +1 -0
- package/file-manager/OperationLoaderModal/OperationLoaderModal.js +21 -17
- package/file-manager/OperationLoaderModal/OperationLoaderModal.module.scss.js +4 -0
- package/file-manager/attach-result.d.ts +9 -0
- package/file-manager/attach-result.d.ts.map +1 -0
- package/file-manager/file-manager-controller.d.ts +129 -0
- package/file-manager/file-manager-controller.d.ts.map +1 -0
- package/file-manager/file-manager-variant.d.ts +21 -0
- package/file-manager/file-manager-variant.d.ts.map +1 -0
- package/file-manager/file-upload-validation.d.ts +8 -0
- package/file-manager/file-upload-validation.d.ts.map +1 -0
- package/file-manager/index.d.ts +11 -0
- package/file-manager/index.d.ts.map +1 -0
- package/file-manager/labels.d.ts +177 -0
- package/file-manager/labels.d.ts.map +1 -0
- package/file-manager/path.d.ts +12 -0
- package/file-manager/path.d.ts.map +1 -0
- package/file-manager/shell-styles.d.ts +33 -0
- package/file-manager/shell-styles.d.ts.map +1 -0
- package/file-manager/upload-batch.d.ts +75 -0
- package/file-manager/upload-batch.d.ts.map +1 -0
- package/file-manager/upload-batch.js +6 -2
- package/file-manager/upload-queue.d.ts +45 -0
- package/file-manager/upload-queue.d.ts.map +1 -0
- package/file-manager/upload-queue.js +45 -13
- package/file-manager/useGridEditingScroll/useGridEditingScroll.d.ts +27 -0
- package/file-manager/useGridEditingScroll/useGridEditingScroll.d.ts.map +1 -0
- package/file-manager.d.ts +2 -506
- package/file-manager.js +4 -4
- package/hooks/useAvailableHeightCap.d.ts +30 -0
- package/hooks/useAvailableHeightCap.d.ts.map +1 -0
- package/hooks/useAvailableHeightCap.js +1 -1
- package/hooks/useCodeCopy.d.ts +6 -0
- package/hooks/useCodeCopy.d.ts.map +1 -0
- package/hooks/useCollapsedText.d.ts +27 -0
- package/hooks/useCollapsedText.d.ts.map +1 -0
- package/hooks/useControlErrorAssociation.d.ts +3 -0
- package/hooks/useControlErrorAssociation.d.ts.map +1 -0
- package/hooks/useControlErrorAssociation.js +12 -0
- package/hooks/useHorizontalOverflow.d.ts +21 -0
- package/hooks/useHorizontalOverflow.d.ts.map +1 -0
- package/hooks/useIsMobile.d.ts +3 -0
- package/hooks/useIsMobile.d.ts.map +1 -0
- package/hooks/useIsMobile.js +1 -1
- package/hooks/useIsTextClipped.d.ts +26 -0
- package/hooks/useIsTextClipped.d.ts.map +1 -0
- package/hooks/useIsTextClipped.js +25 -0
- package/hooks/useStreamedMarkdownContent.d.ts +3 -0
- package/hooks/useStreamedMarkdownContent.d.ts.map +1 -0
- package/hooks/useTextRefinement.d.ts +44 -0
- package/hooks/useTextRefinement.d.ts.map +1 -0
- package/hooks/useTextRefinement.js +4 -4
- package/hooks/useUnsavedChangesGuard.d.ts +14 -0
- package/hooks/useUnsavedChangesGuard.d.ts.map +1 -0
- package/hooks/useUnsavedChangesGuard.js +1 -5
- package/index.css +3 -2
- package/index.d.ts +84 -3167
- package/index.d.ts.map +1 -0
- package/index.js +83 -76
- package/markdown.d.ts +2 -465
- package/markdown.js +3 -2
- package/models/annotation.d.ts +143 -0
- package/models/annotation.d.ts.map +1 -0
- package/models/application-visualizer.d.ts +67 -0
- package/models/application-visualizer.d.ts.map +1 -0
- package/models/auth.d.ts +28 -0
- package/models/auth.d.ts.map +1 -0
- package/models/chat.d.ts +409 -0
- package/models/chat.d.ts.map +1 -0
- package/models/conversation-classification.d.ts +14 -0
- package/models/conversation-classification.d.ts.map +1 -0
- package/models/conversation-classification.js +3 -1
- package/models/conversation-transfer.d.ts +96 -0
- package/models/conversation-transfer.d.ts.map +1 -0
- package/models/custom-visualizer.d.ts +61 -0
- package/models/custom-visualizer.d.ts.map +1 -0
- package/models/deployment-configuration.d.ts +55 -0
- package/models/deployment-configuration.d.ts.map +1 -0
- package/models/deployment-features.d.ts +17 -0
- package/models/deployment-features.d.ts.map +1 -0
- package/models/deployment.d.ts +31 -0
- package/models/deployment.d.ts.map +1 -0
- package/models/dial-model.d.ts +19 -0
- package/models/dial-model.d.ts.map +1 -0
- package/models/entity.d.ts +15 -0
- package/models/entity.d.ts.map +1 -0
- package/models/import-export.d.ts +23 -0
- package/models/import-export.d.ts.map +1 -0
- package/models/inline-segment.d.ts +11 -0
- package/models/inline-segment.d.ts.map +1 -0
- package/models/locale.d.ts +19 -0
- package/models/locale.d.ts.map +1 -0
- package/models/text-refinement.d.ts +22 -0
- package/models/text-refinement.d.ts.map +1 -0
- package/models/theme.d.ts +36 -0
- package/models/theme.d.ts.map +1 -0
- package/models/tool-menu-item.d.ts +13 -0
- package/models/tool-menu-item.d.ts.map +1 -0
- package/package.json +10 -17
- package/types/attachment.d.ts +25 -0
- package/types/attachment.d.ts.map +1 -0
- package/types/code-editor.d.ts +8 -0
- package/types/code-editor.d.ts.map +1 -0
- package/types/entity-type.d.ts +10 -0
- package/types/entity-type.d.ts.map +1 -0
- package/types/file-manager-node.d.ts +17 -0
- package/types/file-manager-node.d.ts.map +1 -0
- package/types/mime-type.d.ts +59 -0
- package/types/mime-type.d.ts.map +1 -0
- package/utils/annotation.d.ts +29 -0
- package/utils/annotation.d.ts.map +1 -0
- package/utils/avatar-color.d.ts +10 -0
- package/utils/avatar-color.d.ts.map +1 -0
- package/utils/base64-json.d.ts +14 -0
- package/utils/base64-json.d.ts.map +1 -0
- package/utils/base64-json.js +4 -0
- package/utils/build-css-vars.d.ts +4 -0
- package/utils/build-css-vars.d.ts.map +1 -0
- package/utils/copy-to-clipboard.d.ts +18 -0
- package/utils/copy-to-clipboard.d.ts.map +1 -0
- package/utils/entity-field-limits.d.ts +11 -0
- package/utils/entity-field-limits.d.ts.map +1 -0
- package/utils/entity-type.d.ts +5 -0
- package/utils/entity-type.d.ts.map +1 -0
- package/utils/file-download.d.ts +21 -0
- package/utils/file-download.d.ts.map +1 -0
- package/utils/format-file-size.d.ts +3 -0
- package/utils/format-file-size.d.ts.map +1 -0
- package/utils/format-last-used.d.ts +3 -0
- package/utils/format-last-used.d.ts.map +1 -0
- package/utils/format-price.d.ts +7 -0
- package/utils/format-price.d.ts.map +1 -0
- package/utils/format-price.js +10 -10
- package/utils/generate-uuid.d.ts +3 -0
- package/utils/generate-uuid.d.ts.map +1 -0
- package/utils/initials.d.ts +3 -0
- package/utils/initials.d.ts.map +1 -0
- package/utils/inline-segments.d.ts +38 -0
- package/utils/inline-segments.d.ts.map +1 -0
- package/utils/inline-segments.js +53 -0
- package/utils/is-audio-transcription-supported.d.ts +3 -0
- package/utils/is-audio-transcription-supported.d.ts.map +1 -0
- package/utils/is-skill-selection-unsupported.d.ts +3 -0
- package/utils/is-skill-selection-unsupported.d.ts.map +1 -0
- package/utils/latex.d.ts +22 -0
- package/utils/latex.d.ts.map +1 -0
- package/utils/latex.js +47 -41
- package/utils/markdown-html.d.ts +14 -0
- package/utils/markdown-html.d.ts.map +1 -0
- package/utils/markdown-html.js +11 -0
- package/utils/merge-class.d.ts +4 -0
- package/utils/merge-class.d.ts.map +1 -0
- package/utils/message-attachment-to-display.d.ts +22 -0
- package/utils/message-attachment-to-display.d.ts.map +1 -0
- package/utils/message-attachment-to-display.js +1 -1
- package/utils/message.d.ts +4 -0
- package/utils/message.d.ts.map +1 -0
- package/utils/mime-type.d.ts +22 -0
- package/utils/mime-type.d.ts.map +1 -0
- package/utils/mime-type.js +1 -1
- package/utils/prompt-variables.d.ts +62 -0
- package/utils/prompt-variables.d.ts.map +1 -0
- package/utils/prompt-variables.js +5 -9
- package/utils/string-utils.d.ts +11 -0
- package/utils/string-utils.d.ts.map +1 -0
- package/utils/syntax-highlighting.d.ts +8 -0
- package/utils/syntax-highlighting.d.ts.map +1 -0
- package/utils/syntax-highlighting.js +8 -8
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Components, Options } from 'react-markdown';
|
|
3
|
+
import { CodeBlockTheme } from '../../types/code-editor';
|
|
4
|
+
import { MarkdownTableActionLabels, MarkdownTableClassNames } from './Table/MarkdownTable';
|
|
5
|
+
/** Per-element className overrides passed to {@link MarkdownRenderer}. */
|
|
6
|
+
export interface MarkdownRendererClassNames extends MarkdownTableClassNames {
|
|
7
|
+
/** Class on `<h1>`. */
|
|
8
|
+
h1?: string;
|
|
9
|
+
/** Class on `<h2>`. */
|
|
10
|
+
h2?: string;
|
|
11
|
+
/** Class on `<h3>`. */
|
|
12
|
+
h3?: string;
|
|
13
|
+
/** Class on `<h4>`. */
|
|
14
|
+
h4?: string;
|
|
15
|
+
/** Class on `<h5>`. */
|
|
16
|
+
h5?: string;
|
|
17
|
+
/** Class on `<h6>`. */
|
|
18
|
+
h6?: string;
|
|
19
|
+
/** Classes on `<p>` elements. */
|
|
20
|
+
p?: string;
|
|
21
|
+
/** Extra classes on `<ul>` (base: `list-disc ps-[2em]`). */
|
|
22
|
+
ul?: string;
|
|
23
|
+
/** Extra classes on `<ol>` (base: `list-decimal ps-[2em]`). */
|
|
24
|
+
ol?: string;
|
|
25
|
+
/** Typography class for `<strong>`. Defaults to `'dial-body-paragraph-semi-text'` — the semibold step matching the default `p` class. */
|
|
26
|
+
strong?: string;
|
|
27
|
+
/** Typography class for `<em>`. Defaults to `'italic'`. */
|
|
28
|
+
em?: string;
|
|
29
|
+
/** Extra classes on the {@link MarkdownCodeBlock} outer container. */
|
|
30
|
+
codeBlockContainer?: string;
|
|
31
|
+
/** Extra classes on the {@link MarkdownCodeBlock} header bar. */
|
|
32
|
+
codeBlockHeader?: string;
|
|
33
|
+
/** Typography class for the `<code>` element inside a code block. Defaults to `'dial-code-text'`. */
|
|
34
|
+
codeFont?: string;
|
|
35
|
+
/** Extra classes on inline `<code>` (base: `rounded px-1 py-0.5`). */
|
|
36
|
+
codeInline?: string;
|
|
37
|
+
/** Typography class for inline `<code>`. Defaults to `'dial-code-text'`. */
|
|
38
|
+
codeInlineFont?: string;
|
|
39
|
+
/** Extra classes on `<blockquote>` (base uses a logical start border and padding). */
|
|
40
|
+
blockquote?: string;
|
|
41
|
+
/** Extra classes on `<a>` (base uses the accent text color and an offset underline). */
|
|
42
|
+
link?: string;
|
|
43
|
+
/** Extra classes on `<hr>` separators. */
|
|
44
|
+
hr?: string;
|
|
45
|
+
/** Extra classes on deleted text rendered by GFM. */
|
|
46
|
+
del?: string;
|
|
47
|
+
/** Extra classes on `<th>` and `<td>` (base includes borders, spacing, and text wrapping). */
|
|
48
|
+
tableCell?: string;
|
|
49
|
+
/** Extra classes on `<td>` only (applied before `tableCell`, e.g. a body-cell background). */
|
|
50
|
+
tableBodyCell?: string;
|
|
51
|
+
/** Extra classes on `<th>` only (applied alongside `tableCell`). */
|
|
52
|
+
tableHeader?: string;
|
|
53
|
+
/** Typography class for `<th>` cells. Defaults to `'dial-tiny-lead-semi-text'`. Text color is set separately via `colors.tableHeaderText`. */
|
|
54
|
+
tableHeaderFont?: string;
|
|
55
|
+
/** Extra classes on the scrollable wrapper around block (display) LaTeX formulas. */
|
|
56
|
+
mathBlock?: string;
|
|
57
|
+
}
|
|
58
|
+
/** Props for {@link MarkdownRenderer}. */
|
|
59
|
+
export interface MarkdownRendererProps {
|
|
60
|
+
/** Raw markdown string to render. */
|
|
61
|
+
content: string;
|
|
62
|
+
/** Classes applied to the renderer root. */
|
|
63
|
+
containerClassName?: string;
|
|
64
|
+
/** When true, appended content is revealed gradually for smoother streaming updates. */
|
|
65
|
+
isStreaming?: boolean;
|
|
66
|
+
/** Reveal speed used while `isStreaming` is true. Defaults to 120 characters per second. */
|
|
67
|
+
streamCharactersPerSecond?: number;
|
|
68
|
+
/** Per-element styling classes. Merged with structural base classes inside the component. Defaults to no overrides (`{}`). */
|
|
69
|
+
classNames?: MarkdownRendererClassNames;
|
|
70
|
+
/**
|
|
71
|
+
* Full component overrides merged on top of the built-in map.
|
|
72
|
+
* Use for elements not covered by `classNames`.
|
|
73
|
+
*/
|
|
74
|
+
components?: Components;
|
|
75
|
+
/**
|
|
76
|
+
* Rewrites `href` and `src` values before they are rendered. The result is
|
|
77
|
+
* still passed through react-markdown's protocol allowlist. Hosts use this
|
|
78
|
+
* to map DIAL file ids (`files/{bucket}/{path}`) to download URLs. Defaults
|
|
79
|
+
* to no extra rewrite.
|
|
80
|
+
*/
|
|
81
|
+
urlTransform?: (url: string) => string;
|
|
82
|
+
/** Extra rehype plugins, applied after the built-in KaTeX pass. Defaults to none. */
|
|
83
|
+
rehypePlugins?: NonNullable<Options['rehypePlugins']>;
|
|
84
|
+
/** When `false`, raw HTML in `content` renders as literal text instead of being parsed into elements. Defaults to `true`. */
|
|
85
|
+
isRawHtmlEnabled?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Label shown with a shimmer animation while `isStreaming` is true and no content has arrived yet.
|
|
88
|
+
* Defaults to `'Thinking'`. Pass a translated string from the consuming app.
|
|
89
|
+
*/
|
|
90
|
+
thinkingLabel?: string;
|
|
91
|
+
/** Accessible label for the copy button in code blocks. Defaults to `'Copy code'`. */
|
|
92
|
+
codeBlockCopyLabel?: string;
|
|
93
|
+
/** Accessible label for the copy button after copying. Defaults to `'Copied!'`. */
|
|
94
|
+
codeBlockCopiedLabel?: string;
|
|
95
|
+
/** Accessible label for the download button in code blocks. Defaults to `'Download code'`. */
|
|
96
|
+
codeBlockDownloadLabel?: string;
|
|
97
|
+
/** Syntax highlight color theme for code blocks and tables. Defaults to `'dark'`. */
|
|
98
|
+
codeBlockTheme?: CodeBlockTheme;
|
|
99
|
+
/** Color overrides applied as CSS custom properties. */
|
|
100
|
+
colors?: MarkdownRendererColors;
|
|
101
|
+
/** Localized labels for Markdown table actions. Supplying them enables the action bar. */
|
|
102
|
+
tableActionLabels?: MarkdownTableActionLabels;
|
|
103
|
+
/** Filename used when downloading a Markdown table as CSV. Defaults to `'table.csv'`. */
|
|
104
|
+
tableDownloadFilename?: string;
|
|
105
|
+
tableOnOpenInCanvas?: (markdown: string) => void;
|
|
106
|
+
/** Accessible label for a table's horizontally scrollable region. Defaults to `'Scrollable table'`. */
|
|
107
|
+
tableScrollRegionAriaLabel?: string;
|
|
108
|
+
/** Accessible label for a block formula's horizontally scrollable region. Defaults to `'Scrollable formula'`. */
|
|
109
|
+
mathScrollRegionAriaLabel?: string;
|
|
110
|
+
/** Accessible label for a code block's scrollable region. Defaults to `'Scrollable code'`. */
|
|
111
|
+
codeBlockScrollRegionAriaLabel?: string;
|
|
112
|
+
}
|
|
113
|
+
/** CSS custom-property overrides for the `MarkdownRenderer` component. */
|
|
114
|
+
export interface MarkdownRendererColors {
|
|
115
|
+
/** Primary color of the "thinking" shimmer gradient. */
|
|
116
|
+
thinkingPrimary?: string;
|
|
117
|
+
/** Secondary color of the "thinking" shimmer gradient. */
|
|
118
|
+
thinkingSecondary?: string;
|
|
119
|
+
/** Border color for `<hr>` separators and table cell borders. */
|
|
120
|
+
border?: string;
|
|
121
|
+
/** Border color for the `<blockquote>` start border. Defaults to `--stroke-primary`. */
|
|
122
|
+
blockquoteBorder?: string;
|
|
123
|
+
/** Text color for `<blockquote>` content. Defaults to `--text-secondary`. */
|
|
124
|
+
blockquoteText?: string;
|
|
125
|
+
/** Text color for `<a>` links. Defaults to `--text-accent`. */
|
|
126
|
+
linkText?: string;
|
|
127
|
+
/** Focus-visible outline color for `<a>` links. Defaults to `--stroke-focus`. */
|
|
128
|
+
linkFocus?: string;
|
|
129
|
+
/** Text color for `<th>` table header cells. Defaults to `--text-secondary`. */
|
|
130
|
+
tableHeaderText?: string;
|
|
131
|
+
/** Text color for `<h6>` headings. Defaults to `--text-secondary`. */
|
|
132
|
+
headingSixText?: string;
|
|
133
|
+
/** Background color for inline `<code>` spans. Defaults to `--bg-layer-raised`. */
|
|
134
|
+
inlineCodeBackground?: string;
|
|
135
|
+
/** Text color for inline `<code>` spans. Defaults to `--text-primary`. */
|
|
136
|
+
inlineCodeText?: string;
|
|
137
|
+
/** Scrollbar thumb color of a horizontally scrolling display formula. Defaults to `--stroke-primary`. */
|
|
138
|
+
mathScrollbar?: string;
|
|
139
|
+
/** Focus-visible outline color of a scrollable display formula. Defaults to `--stroke-focus`. */
|
|
140
|
+
mathFocus?: string;
|
|
141
|
+
}
|
|
142
|
+
export declare const defaultMarkdownComponents: Components;
|
|
143
|
+
/** Markdown renderer with GFM support. Styling is driven by `classNames`; structural overrides via `components`. */
|
|
144
|
+
export declare const MarkdownRenderer: FC<MarkdownRendererProps>;
|
|
145
|
+
//# sourceMappingURL=MarkdownRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/MarkdownRenderer/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,28 +2,29 @@ import { mergeClasses as e } from "../../utils/merge-class.js";
|
|
|
2
2
|
import { buildCssVars as t } from "../../utils/build-css-vars.js";
|
|
3
3
|
import { useStreamedMarkdownContent as n } from "../../hooks/useStreamedMarkdownContent.js";
|
|
4
4
|
import { preprocessLaTeX as r } from "../../utils/latex.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import o from "./
|
|
8
|
-
import
|
|
9
|
-
import c from "./
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import f from "
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
16
|
-
import
|
|
17
|
-
import S from "
|
|
18
|
-
import C
|
|
19
|
-
import T from "
|
|
20
|
-
import E from "remark-
|
|
5
|
+
import { rehypeRawAsText as i } from "../../utils/markdown-html.js";
|
|
6
|
+
import { MarkdownCodeBlock as a } from "./CodeBlock/CodeBlock.js";
|
|
7
|
+
import { rehypePreserveSpaces as o } from "./markdown-whitespace.js";
|
|
8
|
+
import s from "./MarkdownRenderer.module.scss.js";
|
|
9
|
+
import { MarkdownMathBlock as c } from "./Math/MarkdownMathBlock.js";
|
|
10
|
+
import l from "./Table/MarkdownTable.module.scss.js";
|
|
11
|
+
import { MarkdownTable as u } from "./Table/MarkdownTable.js";
|
|
12
|
+
import { MarkdownTaskCheckbox as d } from "./TaskCheckbox/MarkdownTaskCheckbox.js";
|
|
13
|
+
import { ThinkingShimmer as f } from "./ThinkingShimmer.js";
|
|
14
|
+
import p from "remark-gfm";
|
|
15
|
+
import { memo as m, useEffect as h, useMemo as g, useState as _ } from "react";
|
|
16
|
+
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
17
|
+
import x, { defaultUrlTransform as S } from "react-markdown";
|
|
18
|
+
import C from "rehype-raw";
|
|
19
|
+
import w, { defaultSchema as T } from "rehype-sanitize";
|
|
20
|
+
import E from "remark-breaks";
|
|
21
|
+
import D from "remark-math";
|
|
21
22
|
//#region src/components/MarkdownRenderer/MarkdownRenderer.tsx
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
[
|
|
26
|
-
],
|
|
23
|
+
var O = [
|
|
24
|
+
p,
|
|
25
|
+
E,
|
|
26
|
+
[D, { singleDollarTextMath: !1 }]
|
|
27
|
+
], k = /* @__PURE__ */ "math.maction.annotation.annotation-xml.menclose.merror.mfenced.mfrac.mi.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.semantics.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover".split("."), A = {
|
|
27
28
|
math: ["display", "xmlns"],
|
|
28
29
|
annotation: ["encoding"],
|
|
29
30
|
mfrac: ["linethickness"],
|
|
@@ -52,134 +53,135 @@ var D = [
|
|
|
52
53
|
"width"
|
|
53
54
|
],
|
|
54
55
|
mtd: ["width"]
|
|
55
|
-
},
|
|
56
|
-
...
|
|
56
|
+
}, j = [C], M = [i], N = [w, {
|
|
57
|
+
...T,
|
|
57
58
|
tagNames: [
|
|
58
|
-
...
|
|
59
|
-
...
|
|
59
|
+
...T.tagNames ?? [],
|
|
60
|
+
...k,
|
|
60
61
|
"cit"
|
|
61
62
|
],
|
|
62
63
|
attributes: {
|
|
63
|
-
...
|
|
64
|
-
...
|
|
65
|
-
code: [...
|
|
64
|
+
...T.attributes,
|
|
65
|
+
...A,
|
|
66
|
+
code: [...T.attributes?.code ?? [], ["className"]],
|
|
66
67
|
cit: ["dataId"],
|
|
67
|
-
span: [...
|
|
68
|
+
span: [...T.attributes?.span ?? [], [
|
|
68
69
|
"className",
|
|
69
70
|
"katex",
|
|
70
71
|
"katex-error"
|
|
71
72
|
]]
|
|
72
73
|
}
|
|
73
|
-
}],
|
|
74
|
-
li: ({ children: e }) => /* @__PURE__ */
|
|
74
|
+
}], P = [], F = /\$\$|\\\(|\\\[/, I = (e) => F.test(e), L = {}, R = (e) => e == null ? S : (t) => S(e(t)), z = {
|
|
75
|
+
li: ({ children: e }) => /* @__PURE__ */ y("li", {
|
|
75
76
|
className: "mb-1.5 last:mb-0",
|
|
76
77
|
children: e
|
|
77
78
|
}),
|
|
78
|
-
cit: ({ children: e, ...t }) => /* @__PURE__ */
|
|
79
|
+
cit: ({ children: e, ...t }) => /* @__PURE__ */ b(v, { children: [
|
|
79
80
|
t["data-id"] == null ? "<cit>" : `<cit data-id="${t["data-id"]}">`,
|
|
80
81
|
e,
|
|
81
82
|
"</cit>"
|
|
82
83
|
] })
|
|
83
|
-
},
|
|
84
|
+
}, B = (e) => {
|
|
84
85
|
let t = e?.properties?.className;
|
|
85
86
|
return !Array.isArray(t) || !t.includes("katex") ? !1 : (e?.children ?? []).some((e) => e.type === "element" && e.tagName === "math" && e.properties?.display === "block");
|
|
86
|
-
},
|
|
87
|
+
}, V = {
|
|
87
88
|
left: "text-start",
|
|
88
89
|
center: "text-center",
|
|
89
90
|
right: "text-end"
|
|
90
|
-
},
|
|
91
|
+
}, H = (e) => {
|
|
91
92
|
let t = e?.properties?.align;
|
|
92
|
-
return typeof t == "string" ?
|
|
93
|
-
},
|
|
94
|
-
h1: ({ children: e }) => /* @__PURE__ */
|
|
93
|
+
return typeof t == "string" ? V[t] : void 0;
|
|
94
|
+
}, U = (e) => e ? e.type === "text" ? e.value ?? "" : (e.children ?? []).map(U).join("") : "", W = (t, { isStreaming: n, codeBlockCopyLabel: r, codeBlockCopiedLabel: i, codeBlockDownloadLabel: o, codeBlockTheme: f, tableActionLabels: p, tableDownloadFilename: m, tableOnOpenInCanvas: h, tableScrollRegionAriaLabel: g, mathScrollRegionAriaLabel: _, codeBlockScrollRegionAriaLabel: b }) => ({
|
|
95
|
+
h1: ({ children: e }) => /* @__PURE__ */ y("h1", {
|
|
95
96
|
className: t.h1,
|
|
96
97
|
children: e
|
|
97
98
|
}),
|
|
98
|
-
h2: ({ children: e }) => /* @__PURE__ */
|
|
99
|
+
h2: ({ children: e }) => /* @__PURE__ */ y("h2", {
|
|
99
100
|
className: t.h2,
|
|
100
101
|
children: e
|
|
101
102
|
}),
|
|
102
|
-
h3: ({ children: e }) => /* @__PURE__ */
|
|
103
|
+
h3: ({ children: e }) => /* @__PURE__ */ y("h3", {
|
|
103
104
|
className: t.h3,
|
|
104
105
|
children: e
|
|
105
106
|
}),
|
|
106
|
-
h4: ({ children: e }) => /* @__PURE__ */
|
|
107
|
+
h4: ({ children: e }) => /* @__PURE__ */ y("h4", {
|
|
107
108
|
className: t.h4,
|
|
108
109
|
children: e
|
|
109
110
|
}),
|
|
110
|
-
h5: ({ children: e }) => /* @__PURE__ */
|
|
111
|
+
h5: ({ children: e }) => /* @__PURE__ */ y("h5", {
|
|
111
112
|
className: t.h5,
|
|
112
113
|
children: e
|
|
113
114
|
}),
|
|
114
|
-
h6: ({ children: n }) => /* @__PURE__ */
|
|
115
|
-
className: e(
|
|
115
|
+
h6: ({ children: n }) => /* @__PURE__ */ y("h6", {
|
|
116
|
+
className: e(s.h6, t.h6),
|
|
116
117
|
children: n
|
|
117
118
|
}),
|
|
118
|
-
p: ({ children: n }) => /* @__PURE__ */
|
|
119
|
-
className: e("break-
|
|
119
|
+
p: ({ children: n }) => /* @__PURE__ */ y("p", {
|
|
120
|
+
className: e("wrap-break-word", t.p),
|
|
120
121
|
children: n
|
|
121
122
|
}),
|
|
122
|
-
ul: ({ children: n }) => /* @__PURE__ */
|
|
123
|
+
ul: ({ children: n }) => /* @__PURE__ */ y("ul", {
|
|
123
124
|
className: e("list-disc ps-[2em]", t.ul),
|
|
124
125
|
children: n
|
|
125
126
|
}),
|
|
126
|
-
ol: ({ children: n }) => /* @__PURE__ */
|
|
127
|
+
ol: ({ children: n }) => /* @__PURE__ */ y("ol", {
|
|
127
128
|
className: e("list-decimal ps-[2em]", t.ol),
|
|
128
129
|
children: n
|
|
129
130
|
}),
|
|
130
|
-
strong: ({ children: e }) => /* @__PURE__ */
|
|
131
|
+
strong: ({ children: e }) => /* @__PURE__ */ y("strong", {
|
|
131
132
|
className: t.strong ?? "dial-body-paragraph-semi-text",
|
|
132
133
|
children: e
|
|
133
134
|
}),
|
|
134
|
-
em: ({ children: e }) => /* @__PURE__ */
|
|
135
|
+
em: ({ children: e }) => /* @__PURE__ */ y("em", {
|
|
135
136
|
className: t.em ?? "italic",
|
|
136
137
|
children: e
|
|
137
138
|
}),
|
|
138
|
-
pre: ({ children: e }) => /* @__PURE__ */ v
|
|
139
|
-
code: ({ children:
|
|
140
|
-
let
|
|
141
|
-
return
|
|
142
|
-
language:
|
|
143
|
-
value:
|
|
139
|
+
pre: ({ children: e }) => /* @__PURE__ */ y(v, { children: e }),
|
|
140
|
+
code: ({ children: c, className: l }) => {
|
|
141
|
+
let u = /language-(\w+)/.exec(l ?? "")?.[1] ?? "", d = String(c);
|
|
142
|
+
return u || d.includes("\n") ? /* @__PURE__ */ y(a, {
|
|
143
|
+
language: u,
|
|
144
|
+
value: d.replace(/\n$/, ""),
|
|
144
145
|
isStreaming: n,
|
|
145
146
|
theme: f,
|
|
146
147
|
copyLabel: r,
|
|
147
|
-
copiedLabel:
|
|
148
|
-
downloadLabel:
|
|
148
|
+
copiedLabel: i,
|
|
149
|
+
downloadLabel: o,
|
|
150
|
+
scrollRegionAriaLabel: b,
|
|
149
151
|
containerClassName: t.codeBlockContainer,
|
|
150
152
|
headerClassName: t.codeBlockHeader,
|
|
151
153
|
codeClassName: t.codeFont
|
|
152
|
-
}) : /* @__PURE__ */
|
|
153
|
-
className: e("rounded px-1 py-0.5",
|
|
154
|
-
children:
|
|
154
|
+
}) : /* @__PURE__ */ y("code", {
|
|
155
|
+
className: e("rounded px-1 py-0.5", s.codeInline, t.codeInlineFont ?? "dial-code-text", t.codeInline),
|
|
156
|
+
children: c
|
|
155
157
|
});
|
|
156
158
|
},
|
|
157
|
-
blockquote: ({ children: n }) => /* @__PURE__ */
|
|
158
|
-
className: e("border-s-2 py-1 ps-4",
|
|
159
|
+
blockquote: ({ children: n }) => /* @__PURE__ */ y("blockquote", {
|
|
160
|
+
className: e("border-s-2 py-1 ps-4", s.blockquote, t.blockquote),
|
|
159
161
|
children: n
|
|
160
162
|
}),
|
|
161
|
-
a: ({ href: n, children: r }) => /* @__PURE__ */
|
|
163
|
+
a: ({ href: n, children: r }) => /* @__PURE__ */ y("a", {
|
|
162
164
|
href: n,
|
|
163
165
|
target: "_blank",
|
|
164
166
|
rel: "noopener noreferrer",
|
|
165
|
-
className: e("decoration-current/60
|
|
167
|
+
className: e("wrap-break-word underline decoration-current/60 underline-offset-2 hover:decoration-current focus-visible:outline-1 focus-visible:outline-offset-2", s.link, t.link),
|
|
166
168
|
children: r
|
|
167
169
|
}),
|
|
168
|
-
hr: () => /* @__PURE__ */
|
|
169
|
-
del: ({ children: n }) => /* @__PURE__ */
|
|
170
|
+
hr: () => /* @__PURE__ */ y("hr", { className: e("my-5 border-t", s.secondaryBorder, t.hr) }),
|
|
171
|
+
del: ({ children: n }) => /* @__PURE__ */ y("del", {
|
|
170
172
|
className: e("opacity-75", t.del),
|
|
171
173
|
children: n
|
|
172
174
|
}),
|
|
173
|
-
input: ({ type: e, checked: t }) => e === "checkbox" ? /* @__PURE__ */
|
|
174
|
-
span: ({ children: e, node: n, ...r }) =>
|
|
175
|
+
input: ({ type: e, checked: t }) => e === "checkbox" ? /* @__PURE__ */ y(d, { checked: t ?? !1 }) : null,
|
|
176
|
+
span: ({ children: e, node: n, ...r }) => B(n) ? /* @__PURE__ */ y(c, {
|
|
175
177
|
className: t.mathBlock,
|
|
176
|
-
scrollRegionAriaLabel:
|
|
178
|
+
scrollRegionAriaLabel: _,
|
|
177
179
|
children: e
|
|
178
|
-
}) : /* @__PURE__ */
|
|
180
|
+
}) : /* @__PURE__ */ y("span", {
|
|
179
181
|
...r,
|
|
180
182
|
children: e
|
|
181
183
|
}),
|
|
182
|
-
table: ({ children: e }) => /* @__PURE__ */
|
|
184
|
+
table: ({ children: e }) => /* @__PURE__ */ y(u, {
|
|
183
185
|
classNames: t,
|
|
184
186
|
actionLabels: p,
|
|
185
187
|
downloadFilename: m,
|
|
@@ -189,95 +191,103 @@ var D = [
|
|
|
189
191
|
children: e
|
|
190
192
|
}),
|
|
191
193
|
tr: ({ children: t, node: n }) => {
|
|
192
|
-
let r = n?.children.filter((e) => e.type === "element") ?? [], i = r.some((e) => e.tagName === "th"), a = r.filter((e) =>
|
|
193
|
-
return /* @__PURE__ */
|
|
194
|
-
className: e(
|
|
194
|
+
let r = n?.children.filter((e) => e.type === "element") ?? [], i = r.some((e) => e.tagName === "th"), a = r.filter((e) => U(e).trim().length > 0).length, o = !i && r.length > 1 && a === 1;
|
|
195
|
+
return /* @__PURE__ */ y("tr", {
|
|
196
|
+
className: e(l.row, o && l.sectionRow),
|
|
195
197
|
children: t
|
|
196
198
|
});
|
|
197
199
|
},
|
|
198
|
-
th: ({ children: n, node: r }) => /* @__PURE__ */
|
|
200
|
+
th: ({ children: n, node: r }) => /* @__PURE__ */ y("th", {
|
|
199
201
|
scope: "col",
|
|
200
|
-
className: e("sticky top-0 z-
|
|
202
|
+
className: e("sticky top-0 z-2 max-w-96 px-3 py-2.5 text-start wrap-break-word whitespace-normal", H(r), l.rowDivider, l.tableHeaderCell, t.tableHeaderFont ?? "dial-tiny-lead-semi-text", t.tableCell, t.tableHeader),
|
|
201
203
|
children: n
|
|
202
204
|
}),
|
|
203
|
-
td: ({ children: n, node: r }) => /* @__PURE__ */
|
|
204
|
-
className: e("max-w-96
|
|
205
|
+
td: ({ children: n, node: r }) => /* @__PURE__ */ y("td", {
|
|
206
|
+
className: e("max-w-96 px-3 py-[7px] align-top wrap-anywhere whitespace-normal", H(r), l.rowDivider, t.tableBodyCell, t.tableCell),
|
|
205
207
|
children: n
|
|
206
208
|
})
|
|
207
|
-
}),
|
|
208
|
-
let
|
|
209
|
-
|
|
210
|
-
if (!
|
|
209
|
+
}), G = m(({ content: i, containerClassName: a, isStreaming: s, streamCharactersPerSecond: c, classNames: l = L, components: u, urlTransform: d, rehypePlugins: p = P, isRawHtmlEnabled: m = !0, thinkingLabel: v = "Thinking", codeBlockCopyLabel: b, codeBlockCopiedLabel: S, codeBlockDownloadLabel: C, codeBlockTheme: w, colors: T, tableActionLabels: E, tableDownloadFilename: D, tableOnOpenInCanvas: k, tableScrollRegionAriaLabel: A, mathScrollRegionAriaLabel: F, codeBlockScrollRegionAriaLabel: B }) => {
|
|
210
|
+
let V = n(i, s, c), H = g(() => r(V), [V]), U = g(() => I(H), [H]), [G, K] = _(null);
|
|
211
|
+
h(() => {
|
|
212
|
+
if (!U || G) return;
|
|
211
213
|
let e = !1;
|
|
212
214
|
return (async () => {
|
|
213
215
|
let [t] = await Promise.all([import("rehype-katex"), import("katex/dist/katex.min.css")]);
|
|
214
|
-
e ||
|
|
216
|
+
e || K([t.default, {
|
|
215
217
|
output: "mathml",
|
|
216
218
|
strict: !1
|
|
217
219
|
}]);
|
|
218
220
|
})(), () => {
|
|
219
221
|
e = !0;
|
|
220
222
|
};
|
|
221
|
-
}, [
|
|
222
|
-
let
|
|
223
|
-
...
|
|
224
|
-
...
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
...
|
|
228
|
-
], [
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
"--cm-
|
|
234
|
-
"--cm-
|
|
235
|
-
"--cm-
|
|
236
|
-
"--cm-
|
|
237
|
-
"--cm-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
223
|
+
}, [U, G]);
|
|
224
|
+
let q = g(() => [
|
|
225
|
+
...m ? j : M,
|
|
226
|
+
...G ? [G] : [],
|
|
227
|
+
N,
|
|
228
|
+
o,
|
|
229
|
+
...p
|
|
230
|
+
], [
|
|
231
|
+
m,
|
|
232
|
+
G,
|
|
233
|
+
p
|
|
234
|
+
]), J = t({
|
|
235
|
+
"--cm-markdown-border": T?.border,
|
|
236
|
+
"--cm-blockquote-border": T?.blockquoteBorder,
|
|
237
|
+
"--cm-blockquote-text": T?.blockquoteText,
|
|
238
|
+
"--cm-link-text": T?.linkText,
|
|
239
|
+
"--cm-link-focus": T?.linkFocus,
|
|
240
|
+
"--cm-table-header-text": T?.tableHeaderText,
|
|
241
|
+
"--cm-h6-text": T?.headingSixText,
|
|
242
|
+
"--cm-code-inline-bg": T?.inlineCodeBackground,
|
|
243
|
+
"--cm-code-inline-text": T?.inlineCodeText,
|
|
244
|
+
"--cm-math-scrollbar": T?.mathScrollbar,
|
|
245
|
+
"--cm-math-focus": T?.mathFocus
|
|
246
|
+
}), Y = g(() => R(d), [d]), X = g(() => ({
|
|
247
|
+
...W(l, {
|
|
248
|
+
isStreaming: s,
|
|
249
|
+
codeBlockCopyLabel: b,
|
|
250
|
+
codeBlockCopiedLabel: S,
|
|
251
|
+
codeBlockDownloadLabel: C,
|
|
252
|
+
codeBlockTheme: w,
|
|
253
|
+
tableActionLabels: E,
|
|
254
|
+
tableDownloadFilename: D,
|
|
255
|
+
tableOnOpenInCanvas: k,
|
|
256
|
+
tableScrollRegionAriaLabel: A,
|
|
257
|
+
mathScrollRegionAriaLabel: F,
|
|
258
|
+
codeBlockScrollRegionAriaLabel: B
|
|
250
259
|
}),
|
|
251
|
-
...
|
|
252
|
-
...
|
|
260
|
+
...z,
|
|
261
|
+
...u
|
|
253
262
|
}), [
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
y,
|
|
258
|
-
x,
|
|
263
|
+
l,
|
|
264
|
+
s,
|
|
265
|
+
b,
|
|
259
266
|
S,
|
|
267
|
+
C,
|
|
260
268
|
w,
|
|
261
|
-
T,
|
|
262
269
|
E,
|
|
263
|
-
|
|
270
|
+
D,
|
|
264
271
|
k,
|
|
265
|
-
|
|
272
|
+
A,
|
|
273
|
+
F,
|
|
274
|
+
B,
|
|
275
|
+
u
|
|
266
276
|
]);
|
|
267
|
-
return
|
|
268
|
-
label:
|
|
269
|
-
colors:
|
|
270
|
-
}) : /* @__PURE__ */
|
|
271
|
-
style:
|
|
272
|
-
className:
|
|
273
|
-
children: /* @__PURE__ */
|
|
274
|
-
remarkPlugins:
|
|
275
|
-
rehypePlugins:
|
|
276
|
-
components:
|
|
277
|
-
urlTransform:
|
|
278
|
-
children:
|
|
277
|
+
return s && !V ? /* @__PURE__ */ y(f, {
|
|
278
|
+
label: v,
|
|
279
|
+
colors: T
|
|
280
|
+
}) : /* @__PURE__ */ y("div", {
|
|
281
|
+
style: J,
|
|
282
|
+
className: e("wrap-anywhere", a),
|
|
283
|
+
children: /* @__PURE__ */ y(x, {
|
|
284
|
+
remarkPlugins: O,
|
|
285
|
+
rehypePlugins: q,
|
|
286
|
+
components: X,
|
|
287
|
+
urlTransform: Y,
|
|
288
|
+
children: H
|
|
279
289
|
})
|
|
280
290
|
});
|
|
281
291
|
});
|
|
282
292
|
//#endregion
|
|
283
|
-
export {
|
|
293
|
+
export { G as MarkdownRenderer, z as defaultMarkdownComponents };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/components/MarkdownRenderer/MarkdownRenderer.module.scss
|
|
2
|
+
var e = "_thinking_1ql91_9", t = "_h6_1ql91_18", n = "_codeInline_1ql91_22", r = "_secondaryBorder_1ql91_27", i = "_blockquote_1ql91_31", a = "_link_1ql91_36", o = {
|
|
3
|
+
thinking: e,
|
|
3
4
|
"cm-shimmer": "_cm-shimmer_1ql91_1",
|
|
4
|
-
h6:
|
|
5
|
-
codeInline:
|
|
6
|
-
secondaryBorder:
|
|
7
|
-
blockquote:
|
|
8
|
-
link:
|
|
5
|
+
h6: t,
|
|
6
|
+
codeInline: n,
|
|
7
|
+
secondaryBorder: r,
|
|
8
|
+
blockquote: i,
|
|
9
|
+
link: a
|
|
9
10
|
};
|
|
10
11
|
//#endregion
|
|
11
|
-
export {
|
|
12
|
+
export { i as blockquote, n as codeInline, o as default, t as h6, a as link, r as secondaryBorder, e as thinking };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
/** Props for {@link MarkdownMathBlock}. */
|
|
3
|
+
export interface MarkdownMathBlockProps {
|
|
4
|
+
/** Rendered KaTeX output — the `<math display="block">` element and its subtree. */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** Extra classes on the scroll container. */
|
|
7
|
+
className?: string;
|
|
8
|
+
/** Accessible label for the horizontally scrollable region. Defaults to `'Scrollable formula'`. */
|
|
9
|
+
scrollRegionAriaLabel?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Wraps KaTeX display math in a horizontally scrollable region so a formula
|
|
13
|
+
* wider than the message column stays reachable instead of being clipped.
|
|
14
|
+
* The region only becomes a labelled, keyboard-focusable landmark while it
|
|
15
|
+
* actually overflows, so ordinary formulas add no tab stop or noise.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MarkdownMathBlock: FC<MarkdownMathBlockProps>;
|
|
18
|
+
//# sourceMappingURL=MarkdownMathBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownMathBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/MarkdownRenderer/Math/MarkdownMathBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAMtD,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAqCxD,CAAC"}
|
|
@@ -9,7 +9,7 @@ var o = i(({ children: i, className: o, scrollRegionAriaLabel: s = "Scrollable f
|
|
|
9
9
|
let { scrollContainerRef: c, contentRef: l, hasContentBeyondStart: u, hasContentBeyondEnd: d, handleScroll: f } = n(), p = u || d;
|
|
10
10
|
return /* @__PURE__ */ a("div", {
|
|
11
11
|
ref: c,
|
|
12
|
-
className: e("w-full
|
|
12
|
+
className: e("w-full max-w-full min-w-0 overflow-x-auto overflow-y-hidden", r.scrollContainer, o, t.mathBlock),
|
|
13
13
|
onScroll: f,
|
|
14
14
|
role: p ? "region" : void 0,
|
|
15
15
|
"aria-label": p ? s : void 0,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
//#region src/components/MarkdownRenderer/Math/MarkdownMathBlock.module.scss
|
|
2
|
+
var e = "_scrollContainer_n2oom_1", t = "_mathContent_n2oom_24", n = {
|
|
3
|
+
scrollContainer: e,
|
|
4
|
+
mathContent: t
|
|
4
5
|
};
|
|
5
6
|
//#endregion
|
|
6
|
-
export {
|
|
7
|
+
export { n as default, t as mathContent, e as scrollContainer };
|