@deepseek-ai/dsh-client-ui-primitives 0.1.1-rc.2 → 0.1.2-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +2 -2
- package/README.md +90 -24
- package/README.zh.md +91 -25
- package/lib/ConnectionIndicator.module.css +107 -0
- package/lib/DiffBlock.module.css +0 -6
- package/lib/DisclosureRow.module.css +21 -6
- package/lib/ReadBlock.module.css +0 -6
- package/lib/SearchBlock.module.css +0 -8
- package/lib/TerminalBlock.module.css +0 -6
- package/lib/Toast.module.css +7 -10
- package/lib/Tooltip.module.css +0 -7
- package/lib/WebBlock.module.css +0 -6
- package/lib/index.js +878 -334
- package/lib/markdown/CodeBlock.module.css +4 -2
- package/lib/markdown/MarkdownText.module.css +2 -2
- package/lib/types/ConnectionIndicator.d.ts +25 -0
- package/lib/types/DiffBlock.d.ts +28 -9
- package/lib/types/FishLogo.d.ts +7 -0
- package/lib/types/FoldToggle.d.ts +20 -0
- package/lib/types/HoverCard.d.ts +4 -4
- package/lib/types/JsonTree.d.ts +4 -6
- package/lib/types/Modal.d.ts +22 -18
- package/lib/types/OnboardingSurface.d.ts +2 -2
- package/lib/types/ReadBlock.d.ts +13 -1
- package/lib/types/ReferenceIcon.d.ts +16 -0
- package/lib/types/RiskConfirmation.d.ts +2 -1
- package/lib/types/SearchBlock.d.ts +14 -0
- package/lib/types/TerminalBlock.d.ts +4 -10
- package/lib/types/Toast.d.ts +9 -1
- package/lib/types/WebBlock.d.ts +13 -0
- package/lib/types/icons/index.d.ts +8 -0
- package/lib/types/index.d.ts +14 -8
- package/lib/types/markdown/CodeBlock.d.ts +11 -3
- package/lib/types/markdown/JsonBlock.d.ts +1 -1
- package/lib/types/markdown/MarkdownText.d.ts +8 -7
- package/lib/types/markdown/highlight.d.ts +44 -2
- package/lib/types/markdown/render.d.ts +9 -4
- package/lib/types/relative-time.d.ts +23 -0
- package/lib/types/useAnchoredPosition.d.ts +8 -6
- package/lib/types/useDismissOnOutsidePointer.d.ts +3 -1
- package/lib/types/user-text.d.ts +19 -0
- package/lib/user-text.module.css +35 -0
- package/package.json +4 -5
- package/lib/ConnectionBanner.module.css +0 -13
- package/lib/types/ConnectionBanner.d.ts +0 -12
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
.block {
|
|
5
5
|
--dsl-code-block-banner-background-color: var(--dsw-alias-markdown-code-block-banner);
|
|
6
6
|
--dsl-code-block-border-radius: 12px;
|
|
7
|
-
|
|
7
|
+
/* Local 11/18 instead of the shared --dsw-font-xs-13: the banner scales
|
|
8
|
+
with the markdown 0.875 ladder without shrinking every other xs-13 use. */
|
|
9
|
+
--dsl-code-block-banner-font: 11px/18px var(--dsw-font-family);
|
|
8
10
|
--dsl-code-block-content-font: var(--dsw-font-markdown-code-block);
|
|
9
11
|
|
|
10
12
|
position: relative;
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
.infostring {
|
|
43
45
|
color: var(--dsw-alias-label-primary);
|
|
44
46
|
font-family: var(--ds-font-family-code);
|
|
45
|
-
font-size:
|
|
47
|
+
font-size: 11px;
|
|
46
48
|
line-height: 18px;
|
|
47
49
|
min-width: 0;
|
|
48
50
|
overflow: hidden;
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
.markdown li::marker {
|
|
99
|
-
line-height:
|
|
99
|
+
line-height: 24px;
|
|
100
100
|
color: var(--dsw-alias-label-secondary);
|
|
101
101
|
}
|
|
102
102
|
|
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
.tableScroll table code {
|
|
255
|
-
font-size:
|
|
255
|
+
font-size: 11px;
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
.markdown > *:first-child,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Visual state rendered by {@link ConnectionIndicator}. */
|
|
2
|
+
export type ConnectionIndicatorState = 'disconnected' | 'connecting' | 'recovered';
|
|
3
|
+
/**
|
|
4
|
+
* Render an inline connection-recovery control.
|
|
5
|
+
* @param props.state - visible outage, retry-attempt, or recovered state.
|
|
6
|
+
* @param props.disconnectedLabel - localized outage text.
|
|
7
|
+
* @param props.reconnectLabel - localized action text shown on hover or focus.
|
|
8
|
+
* @param props.connectingLabel - localized retry text followed by the attempt dots.
|
|
9
|
+
* @param props.recoveredLabel - localized recovery confirmation.
|
|
10
|
+
* @param props.reconnectActionLabel - accessible label for the outage action.
|
|
11
|
+
* @param props.restartActionLabel - accessible label for replacing an active attempt.
|
|
12
|
+
* @param props.onReconnect - request an immediate reconnect attempt.
|
|
13
|
+
* @returns the indicator, or null when no connection feedback is active.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ConnectionIndicator({ state, disconnectedLabel, reconnectLabel, connectingLabel, recoveredLabel, reconnectActionLabel, restartActionLabel, onReconnect, }: {
|
|
16
|
+
state: ConnectionIndicatorState | undefined;
|
|
17
|
+
disconnectedLabel: string;
|
|
18
|
+
reconnectLabel: string;
|
|
19
|
+
connectingLabel: string;
|
|
20
|
+
recoveredLabel: string;
|
|
21
|
+
reconnectActionLabel: string;
|
|
22
|
+
restartActionLabel: string;
|
|
23
|
+
onReconnect: () => void;
|
|
24
|
+
}): import("react").JSX.Element | null;
|
|
25
|
+
//# sourceMappingURL=ConnectionIndicator.d.ts.map
|
package/lib/types/DiffBlock.d.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Output lines shown before the height cap collapses the middle. Matches
|
|
3
|
-
* {@link DEFAULT_TERMINAL_MAX_LINES} so a diff card and a terminal card cut a
|
|
4
|
-
* long body at the same place.
|
|
5
|
-
*/
|
|
1
|
+
/** Output lines shown before the height cap collapses the middle. */
|
|
6
2
|
export declare const DEFAULT_DIFF_MAX_LINES = 16;
|
|
7
3
|
/**
|
|
8
|
-
* One file
|
|
9
|
-
*
|
|
10
|
-
* free of the tool contract (the terminal card's decoupling, applied to diffs).
|
|
4
|
+
* One file change in the form {@link DiffBlock} renders. It is declared here
|
|
5
|
+
* so this primitive stays independent of the tool contract.
|
|
11
6
|
*/
|
|
12
7
|
export interface DiffHunk {
|
|
13
8
|
/** The changed file's path, drawn verbatim as the hunk's header (the tool's model-facing path). */
|
|
@@ -20,15 +15,39 @@ export interface DiffHunk {
|
|
|
20
15
|
export interface DiffBlockProps {
|
|
21
16
|
/** One entry per applied hunk, in file order; empty renders nothing. */
|
|
22
17
|
diffs: DiffHunk[];
|
|
18
|
+
/** Localized chrome supplied by the owning render site. */
|
|
19
|
+
labels: DiffBlockLabels;
|
|
23
20
|
/** Height cap in body lines before the middle collapses (default {@link DEFAULT_DIFF_MAX_LINES}). */
|
|
24
21
|
maxLines?: number | undefined;
|
|
25
22
|
/** Extra class merged onto the wrapper (callers position; this component draws). */
|
|
26
23
|
className?: string | undefined;
|
|
27
24
|
}
|
|
25
|
+
/** Localized chrome for {@link DiffBlock}. */
|
|
26
|
+
export interface DiffBlockLabels {
|
|
27
|
+
copy: string;
|
|
28
|
+
copied: string;
|
|
29
|
+
collapseAria: string;
|
|
30
|
+
expandAria: (hidden: number) => string;
|
|
31
|
+
collapse: string;
|
|
32
|
+
expand: (hidden: number) => string;
|
|
33
|
+
files: (count: number) => string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Total added/removed line counts across hunks — the same numbers the footer
|
|
37
|
+
* prints, exported so a summary row can show them without rebuilding the body.
|
|
38
|
+
* Every old-side line counts toward `removed` and every new-side line toward
|
|
39
|
+
* `added`, under {@link contentLines}'s terminator rule.
|
|
40
|
+
* @param diffs - the hunks to count.
|
|
41
|
+
* @returns the +/- totals.
|
|
42
|
+
*/
|
|
43
|
+
export declare function diffTotals(diffs: DiffHunk[]): {
|
|
44
|
+
added: number;
|
|
45
|
+
removed: number;
|
|
46
|
+
};
|
|
28
47
|
/**
|
|
29
48
|
* Render a file mutation as an inline diff surface.
|
|
30
49
|
* @param props - see {@link DiffBlockProps}.
|
|
31
50
|
* @returns the diff block element.
|
|
32
51
|
*/
|
|
33
|
-
export declare function DiffBlock({ diffs, maxLines, className }: DiffBlockProps): import("react").JSX.Element | null;
|
|
52
|
+
export declare function DiffBlock({ diffs, labels, maxLines, className }: DiffBlockProps): import("react").JSX.Element | null;
|
|
34
53
|
//# sourceMappingURL=DiffBlock.d.ts.map
|
package/lib/types/FishLogo.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { IconProps } from './icons/props.ts';
|
|
2
|
+
/** Native viewBox of {@link FISH_LOGO_PATH} (width and height in user units). */
|
|
3
|
+
export declare const FISH_LOGO_VIEWBOX: {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
7
|
+
/** The fish silhouette path data, exported for consumers that compose their own svg (entrance effects, masks) around the same geometry. */
|
|
8
|
+
export declare const FISH_LOGO_PATH = "M22.9168 1.43018C22.6713 1.31018 22.5658 1.53918 22.4223 1.65519C22.3733 1.69269 22.3318 1.74169 22.2903 1.78669C21.9317 2.1697 21.5127 2.42121 20.9657 2.39121C20.1657 2.34621 19.4827 2.59771 18.8787 3.20973C18.7502 2.45521 18.3236 2.0047 17.6746 1.71569C17.3351 1.56568 16.9916 1.41518 16.7536 1.08867C16.5876 0.856163 16.5421 0.597155 16.4591 0.341647C16.4061 0.187643 16.3536 0.0301382 16.1761 0.00363739C15.9836 -0.0263635 15.9081 0.135141 15.8326 0.270145C15.5306 0.822162 15.4136 1.43018 15.4251 2.0462C15.4516 3.43174 16.0366 4.53527 17.1991 5.3203C17.3311 5.4103 17.3651 5.5003 17.3236 5.63181C17.2441 5.90231 17.1501 6.16482 17.0671 6.43533C17.0141 6.60784 16.9351 6.64584 16.7501 6.57033C16.1121 6.30383 15.5611 5.90931 15.074 5.4328C14.2475 4.63328 13.5 3.75075 12.568 3.05973C12.349 2.89822 12.13 2.74822 11.9034 2.60522C10.9524 1.68169 12.028 0.923165 12.277 0.833162C12.5375 0.739159 12.3675 0.41615 11.5259 0.42015C10.6844 0.42365 9.91439 0.705658 8.93286 1.08117C8.78935 1.13767 8.63835 1.17867 8.48384 1.21267C7.59332 1.04367 6.66829 1.00617 5.70226 1.11517C3.88321 1.31768 2.43016 2.1777 1.36213 3.64575C0.0790928 5.4103 -0.222916 7.41536 0.146595 9.50642C0.535106 11.7105 1.66014 13.535 3.38869 14.9616C5.18125 16.4406 7.24581 17.1657 9.60138 17.0266C11.0319 16.9441 12.6245 16.7526 14.421 15.2321C14.874 15.4576 15.3496 15.5476 16.1381 15.6151C16.7456 15.6716 17.3306 15.5851 17.7836 15.4911C18.4931 15.3411 18.4441 14.6841 18.1876 14.5636C16.1081 13.595 16.5646 13.9891 16.1496 13.67C17.2061 12.42 18.8202 10.1979 19.3182 7.17235C19.3672 6.83834 19.4297 6.36783 19.4222 6.09732C19.4182 5.93231 19.4562 5.86831 19.6447 5.84931C20.1657 5.78931 20.6712 5.64681 21.1357 5.3913C22.4833 4.65528 23.0268 3.44624 23.1548 1.9972C23.1738 1.77569 23.1508 1.54668 22.9168 1.43018ZM11.1749 14.4736C9.15936 12.889 8.18184 12.3675 7.77832 12.39C7.40081 12.4125 7.46881 12.8445 7.55182 13.126C7.63882 13.404 7.75182 13.5955 7.91033 13.8396C8.01983 14.0011 8.09533 14.2411 7.80083 14.4216C7.15181 14.8231 6.02327 14.2866 5.97027 14.2601C4.65673 13.4865 3.5587 12.4655 2.78467 11.069C2.03715 9.72493 1.60314 8.28289 1.53164 6.74384C1.51264 6.37233 1.62214 6.24082 1.99215 6.17332C2.47916 6.08332 2.98118 6.06432 3.46769 6.13582C5.52476 6.43633 7.27581 7.35586 8.74385 8.8129C9.58188 9.64243 10.2159 10.634 10.8689 11.6025C11.5634 12.631 12.3105 13.611 13.262 14.4146C13.598 14.6961 13.866 14.9101 14.1225 15.0681C13.349 15.1546 12.058 15.1731 11.1749 14.4746L11.1749 14.4736ZM12.141 8.25988C12.141 8.09488 12.273 7.96338 12.439 7.96338C12.4765 7.96338 12.5105 7.97088 12.541 7.98188C12.5825 7.99688 12.6205 8.01938 12.6505 8.05338C12.7035 8.10588 12.7335 8.18088 12.7335 8.25988C12.7335 8.42489 12.6015 8.55639 12.4355 8.55639C12.2695 8.55639 12.141 8.42489 12.141 8.25988ZM15.1415 9.79893C14.949 9.87793 14.7565 9.94544 14.5715 9.95294C14.2845 9.96794 13.9715 9.85143 13.8015 9.70893C13.5375 9.48742 13.3485 9.36342 13.2695 8.97691C13.2355 8.8119 13.2545 8.55639 13.2845 8.40989C13.3525 8.09438 13.277 7.89187 13.0545 7.70787C12.8735 7.55786 12.643 7.51636 12.39 7.51636C12.2955 7.51636 12.209 7.47486 12.1445 7.44136C12.039 7.38886 11.9519 7.25735 12.035 7.09585C12.0615 7.04335 12.19 6.91584 12.22 6.89334C12.5635 6.69784 12.9595 6.76184 13.326 6.90834C13.6655 7.04735 13.9225 7.30236 14.292 7.66287C14.6695 8.09838 14.7375 8.21838 14.9525 8.54539C15.1225 8.8009 15.277 9.06341 15.3831 9.36392C15.4471 9.55142 15.3641 9.70493 15.1415 9.79893Z";
|
|
2
9
|
/**
|
|
3
10
|
* Render the fish logo.
|
|
4
11
|
* @param props.size - width in px (default 24; height keeps the 23.16:17.04 ratio).
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface FoldToggleProps {
|
|
2
|
+
className: string | undefined;
|
|
3
|
+
expanded: boolean;
|
|
4
|
+
hidden: number;
|
|
5
|
+
labels: {
|
|
6
|
+
collapseAria: string;
|
|
7
|
+
expandAria: (hidden: number) => string;
|
|
8
|
+
collapse: string;
|
|
9
|
+
expand: (hidden: number) => string;
|
|
10
|
+
};
|
|
11
|
+
onToggle: () => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Render the shared head-tail fold control with caller-owned localized copy.
|
|
15
|
+
* @param props - Fold state, localized labels, and toggle callback.
|
|
16
|
+
* @returns The accessible expand or collapse button.
|
|
17
|
+
*/
|
|
18
|
+
export declare function FoldToggle({ className, expanded, hidden, labels, onToggle, }: FoldToggleProps): import("react").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=FoldToggle.d.ts.map
|
package/lib/types/HoverCard.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ import type { ReactNode } from 'react';
|
|
|
8
8
|
* @param props.disabled - suppress opening; turning true closes an open card.
|
|
9
9
|
* @param props.copyText - optional primary value copied by activation and
|
|
10
10
|
* included in the card's accessible name.
|
|
11
|
-
* @param props.copyLabel - accessible activation-label prefix
|
|
12
|
-
* @param props.copiedLabel - visible success label
|
|
11
|
+
* @param props.copyLabel - localized accessible activation-label prefix.
|
|
12
|
+
* @param props.copiedLabel - localized visible success label.
|
|
13
13
|
* @returns anchor wrapper with the conditional portaled card.
|
|
14
14
|
*/
|
|
15
15
|
export declare function HoverCard({ anchor, content, openDelayMs, disabled, copyText, copyLabel, copiedLabel, }: {
|
|
@@ -18,7 +18,7 @@ export declare function HoverCard({ anchor, content, openDelayMs, disabled, copy
|
|
|
18
18
|
openDelayMs?: number;
|
|
19
19
|
disabled?: boolean;
|
|
20
20
|
copyText?: string | undefined;
|
|
21
|
-
copyLabel
|
|
22
|
-
copiedLabel
|
|
21
|
+
copyLabel: string;
|
|
22
|
+
copiedLabel: string;
|
|
23
23
|
}): import("react").JSX.Element;
|
|
24
24
|
//# sourceMappingURL=HoverCard.d.ts.map
|
package/lib/types/JsonTree.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Display copy for the tree's copy affordance; the owner passes localized
|
|
3
|
-
* labels (this package is cordis-free, so copy arrives via props).
|
|
4
|
-
* field defaults to the current built-in value, so existing consumers render
|
|
5
|
-
* unchanged.
|
|
3
|
+
* labels (this package is cordis-free, so copy arrives via props).
|
|
6
4
|
*/
|
|
7
5
|
export interface JsonTreeLabels {
|
|
8
6
|
/** Menu item: copy the raw primitive value. */
|
|
@@ -31,15 +29,15 @@ export interface JsonTreeProps {
|
|
|
31
29
|
/** Parsed JSON object or array. */
|
|
32
30
|
data: object | unknown[];
|
|
33
31
|
/** Accessible label for the tree. */
|
|
34
|
-
label
|
|
32
|
+
label: string;
|
|
35
33
|
/** Optional positioning class owned by the caller. */
|
|
36
34
|
className?: string | undefined;
|
|
37
35
|
/** Whether JSON rows expose copy actions. */
|
|
38
36
|
copyable?: boolean;
|
|
39
37
|
/** Whether the top-level object or array is always expanded. */
|
|
40
38
|
expandTopLevel?: boolean;
|
|
41
|
-
/** Localized display copy
|
|
42
|
-
labels
|
|
39
|
+
/** Localized display copy supplied by the owning render site. */
|
|
40
|
+
labels: JsonTreeLabels;
|
|
43
41
|
}
|
|
44
42
|
/**
|
|
45
43
|
* Render parsed JSON as a compact, keyboard-accessible inspector tree.
|
package/lib/types/Modal.d.ts
CHANGED
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
interface ModalBaseProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
footer?: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
contentClassName?: string;
|
|
11
|
+
}
|
|
12
|
+
type ModalProps = ModalBaseProps & ({
|
|
13
|
+
headless: true;
|
|
14
|
+
closeLabel?: never;
|
|
15
|
+
} | {
|
|
16
|
+
headless?: false;
|
|
17
|
+
closeLabel: string;
|
|
18
|
+
});
|
|
2
19
|
/**
|
|
3
|
-
* Render a centered modal over a blurred page mask.
|
|
20
|
+
* Render a centered, body-portaled modal over a blurred page mask.
|
|
4
21
|
* @param props.open - whether the dialog is showing.
|
|
5
22
|
* @param props.onClose - Escape or mask click.
|
|
6
23
|
* @param props.title - dialog heading (aria-label in every mode).
|
|
7
|
-
* @param props.closeLabel - accessible close-button label.
|
|
24
|
+
* @param props.closeLabel - localized accessible close-button label.
|
|
8
25
|
* @param props.description - optional supporting sentence under the title.
|
|
9
26
|
* @param props.children - body (inputs, etc.).
|
|
10
27
|
* @param props.footer - action row (Cancel / Create).
|
|
11
28
|
* @param props.contentClassName - optional class for a scrollable content region.
|
|
12
29
|
* @param props.headless - render children directly in the card (no default
|
|
13
|
-
* header/close/body chrome)
|
|
14
|
-
* header structure; mask, card, Escape, and aria-label remain.
|
|
15
|
-
* @param props.closeLabel - close-button aria label; the owner passes
|
|
16
|
-
* localized copy (this package is cordis-free, so copy arrives via props).
|
|
30
|
+
* header/close/body chrome); mask, card, Escape, and aria-label remain.
|
|
17
31
|
* @returns null when closed; otherwise the overlay tree.
|
|
18
32
|
*/
|
|
19
|
-
export declare function Modal({ open, onClose, title, closeLabel, description, children, footer, className, contentClassName, headless, }:
|
|
20
|
-
|
|
21
|
-
onClose: () => void;
|
|
22
|
-
title: string;
|
|
23
|
-
closeLabel?: string;
|
|
24
|
-
description?: string;
|
|
25
|
-
children?: ReactNode;
|
|
26
|
-
footer?: ReactNode;
|
|
27
|
-
className?: string;
|
|
28
|
-
contentClassName?: string;
|
|
29
|
-
headless?: boolean;
|
|
30
|
-
}): import("react").ReactPortal | null;
|
|
33
|
+
export declare function Modal({ open, onClose, title, closeLabel, description, children, footer, className, contentClassName, headless, }: ModalProps): import("react").ReactPortal | null;
|
|
34
|
+
export {};
|
|
31
35
|
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
|
-
* Render
|
|
4
|
-
*
|
|
3
|
+
* Render a body-portaled onboarding stage and keep the application root inert
|
|
4
|
+
* while mounted.
|
|
5
5
|
* @param props.children - the step's page content, centered on the stage.
|
|
6
6
|
* @returns the body-portaled overlay tree.
|
|
7
7
|
*/
|
package/lib/types/ReadBlock.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface ReadBlockProps {
|
|
|
16
16
|
label?: string | undefined;
|
|
17
17
|
/** The returned window's lines, in file order, each keeping its file line number. */
|
|
18
18
|
lines: readonly ReadBlockLine[];
|
|
19
|
+
/** Localized chrome supplied by the owning render site. */
|
|
20
|
+
labels: ReadBlockLabels;
|
|
19
21
|
/** Exact total line count in the file, for the "showing N of M" note when the read is a window. */
|
|
20
22
|
totalLines: number;
|
|
21
23
|
/** Grammar hint (a file-extension-derived language id); unknown or absent = plain monospace. */
|
|
@@ -25,11 +27,21 @@ export interface ReadBlockProps {
|
|
|
25
27
|
/** Extra class merged onto the wrapper (callers position; this component draws). */
|
|
26
28
|
className?: string | undefined;
|
|
27
29
|
}
|
|
30
|
+
/** Localized chrome for {@link ReadBlock}. */
|
|
31
|
+
export interface ReadBlockLabels {
|
|
32
|
+
window: (shown: number, total: number) => string;
|
|
33
|
+
copy: string;
|
|
34
|
+
copied: string;
|
|
35
|
+
collapseAria: string;
|
|
36
|
+
expandAria: (hidden: number) => string;
|
|
37
|
+
collapse: string;
|
|
38
|
+
expand: (hidden: number) => string;
|
|
39
|
+
}
|
|
28
40
|
/**
|
|
29
41
|
* Render a read tool result as a line-numbered, optionally syntax-highlighted
|
|
30
42
|
* file view.
|
|
31
43
|
* @param props - see {@link ReadBlockProps}.
|
|
32
44
|
* @returns the read block element.
|
|
33
45
|
*/
|
|
34
|
-
export declare function ReadBlock({ label, lines, totalLines, lang, maxLines, className, }: ReadBlockProps): import("react").JSX.Element;
|
|
46
|
+
export declare function ReadBlock({ label, labels, lines, totalLines, lang, maxLines, className, }: ReadBlockProps): import("react").JSX.Element;
|
|
35
47
|
//# sourceMappingURL=ReadBlock.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** Reference domains with distinct composer and transcript glyphs. */
|
|
3
|
+
export type ReferenceIconKind = 'session' | 'file' | 'folder';
|
|
4
|
+
/** Props shared by inline reference glyphs. */
|
|
5
|
+
export interface ReferenceIconProps {
|
|
6
|
+
kind: ReferenceIconKind;
|
|
7
|
+
size?: number;
|
|
8
|
+
className?: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Render the icon that identifies one inline reference domain.
|
|
12
|
+
* @param props - Reference kind, optional size, and optional CSS class.
|
|
13
|
+
* @returns The corresponding current-color SVG glyph.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ReferenceIcon({ kind, size, className }: ReferenceIconProps): ReactNode;
|
|
16
|
+
//# sourceMappingURL=ReferenceIcon.d.ts.map
|
|
@@ -4,6 +4,7 @@ export interface RiskConfirmationProps {
|
|
|
4
4
|
description: string;
|
|
5
5
|
acknowledgeLabel: string;
|
|
6
6
|
cancelLabel: string;
|
|
7
|
+
closeLabel: string;
|
|
7
8
|
confirmLabel: string;
|
|
8
9
|
acknowledged: boolean;
|
|
9
10
|
disabled?: boolean;
|
|
@@ -15,5 +16,5 @@ export interface RiskConfirmationProps {
|
|
|
15
16
|
* Render one in-page confirmation whose primary action is unavailable until
|
|
16
17
|
* the caller-controlled acknowledgement is checked.
|
|
17
18
|
*/
|
|
18
|
-
export declare function RiskConfirmation({ open, title, description, acknowledgeLabel, cancelLabel, confirmLabel, acknowledged, disabled, onAcknowledgedChange, onCancel, onConfirm, }: RiskConfirmationProps): import("react").JSX.Element;
|
|
19
|
+
export declare function RiskConfirmation({ open, title, description, acknowledgeLabel, cancelLabel, closeLabel, confirmLabel, acknowledged, disabled, onAcknowledgedChange, onCancel, onConfirm, }: RiskConfirmationProps): import("react").JSX.Element;
|
|
19
20
|
//# sourceMappingURL=RiskConfirmation.d.ts.map
|
|
@@ -20,6 +20,8 @@ export interface SearchFileGroup {
|
|
|
20
20
|
}
|
|
21
21
|
/** Fields both search shapes carry (the render site positions; this component draws). */
|
|
22
22
|
interface SearchBlockCommon {
|
|
23
|
+
/** Localized chrome supplied by the owning render site. */
|
|
24
|
+
labels: SearchBlockLabels;
|
|
23
25
|
/**
|
|
24
26
|
* Whether the tool capped the inline result: the shape carries only the
|
|
25
27
|
* retained results, not every result the search found. The banner summary
|
|
@@ -34,6 +36,18 @@ interface SearchBlockCommon {
|
|
|
34
36
|
/** Extra class merged onto the wrapper. */
|
|
35
37
|
className?: string | undefined;
|
|
36
38
|
}
|
|
39
|
+
/** Localized chrome for {@link SearchBlock}. */
|
|
40
|
+
export interface SearchBlockLabels {
|
|
41
|
+
pathsSummary: (shown: number, total: number, truncated: boolean) => string;
|
|
42
|
+
matchesSummary: (shown: number, total: number, files: number, truncated: boolean) => string;
|
|
43
|
+
copy: string;
|
|
44
|
+
copied: string;
|
|
45
|
+
noResults: string;
|
|
46
|
+
collapseAria: string;
|
|
47
|
+
expandAria: (hidden: number) => string;
|
|
48
|
+
collapse: string;
|
|
49
|
+
expand: (hidden: number) => string;
|
|
50
|
+
}
|
|
37
51
|
/** Props for the grouped-matches (`grep`) shape. */
|
|
38
52
|
export interface SearchMatchesBlockProps extends SearchBlockCommon {
|
|
39
53
|
kind: 'matches';
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Output lines shown before the height cap collapses the middle. Matches the
|
|
3
|
-
* TUI transcript's default tool-output budget so both front ends cut a long
|
|
4
|
-
* command's output at the same place.
|
|
5
|
-
*/
|
|
1
|
+
/** Output lines shown before the height cap collapses the middle. */
|
|
6
2
|
export declare const DEFAULT_TERMINAL_MAX_LINES = 16;
|
|
7
3
|
/**
|
|
8
4
|
* Display copy for the terminal surface; the owner passes localized labels
|
|
9
|
-
* (this package is cordis-free, so copy arrives via props).
|
|
10
|
-
* defaults to the current built-in value, so existing consumers render
|
|
11
|
-
* unchanged.
|
|
5
|
+
* (this package is cordis-free, so copy arrives via props).
|
|
12
6
|
*/
|
|
13
7
|
export interface TerminalBlockLabels {
|
|
14
8
|
/** Status pill text for a signal-terminated command. */
|
|
@@ -55,8 +49,8 @@ export interface TerminalBlockProps {
|
|
|
55
49
|
maxLines?: number | undefined;
|
|
56
50
|
/** Extra class merged onto the wrapper (callers position; this component draws). */
|
|
57
51
|
className?: string | undefined;
|
|
58
|
-
/** Localized display copy
|
|
59
|
-
labels
|
|
52
|
+
/** Localized display copy supplied by the owning render site. */
|
|
53
|
+
labels: TerminalBlockLabels;
|
|
60
54
|
}
|
|
61
55
|
/**
|
|
62
56
|
* Render a shell command as a terminal surface.
|
package/lib/types/Toast.d.ts
CHANGED
|
@@ -7,18 +7,26 @@ import type { ReactNode } from 'react';
|
|
|
7
7
|
* transformed or filtered ancestor cannot trap the fixed banner in that
|
|
8
8
|
* ancestor's box.
|
|
9
9
|
*
|
|
10
|
+
* The hold is the owner's to set, because how long a banner has to stay
|
|
11
|
+
* depends on how much there is to read: a one-line limit lands in the default
|
|
12
|
+
* window, while a failure that names what broke does not. One value drives
|
|
13
|
+
* both the unmount timer and the stylesheet's fade delay — the stylesheet
|
|
14
|
+
* reads it as a custom property — so the two can no longer disagree and leave
|
|
15
|
+
* the banner unmounting mid-fade.
|
|
10
16
|
* @param props.text - resolved banner copy; the owner passes localized text.
|
|
11
17
|
* @param props.icon - optional leading glyph (e.g. a warning icon).
|
|
18
|
+
* @param props.holdMs - full-opacity hold before the fade; defaults to 3000.
|
|
12
19
|
* @param props.anchor - optional element whose horizontal center the banner
|
|
13
20
|
* follows (e.g. the composer card, so the banner centers over the chat column
|
|
14
21
|
* rather than the whole window); omitted, it centers on the viewport.
|
|
15
22
|
* @param props.onDone - called once the fade completes; unmount the toast here.
|
|
16
23
|
* @returns the floating banner.
|
|
17
24
|
*/
|
|
18
|
-
export declare function Toast({ text, icon, anchor, onDone }: {
|
|
25
|
+
export declare function Toast({ text, icon, anchor, holdMs, onDone }: {
|
|
19
26
|
text: string;
|
|
20
27
|
icon?: ReactNode;
|
|
21
28
|
anchor?: HTMLElement | null;
|
|
29
|
+
holdMs?: number;
|
|
22
30
|
onDone: () => void;
|
|
23
31
|
}): import("react").ReactPortal;
|
|
24
32
|
//# sourceMappingURL=Toast.d.ts.map
|
package/lib/types/WebBlock.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type MarkdownLabels } from './markdown/MarkdownText.tsx';
|
|
1
2
|
/**
|
|
2
3
|
* One citeable source drawn in a search card: the projection of the contract's
|
|
3
4
|
* `WebSource`, with the optional fields kept optional so a provider that
|
|
@@ -16,6 +17,8 @@ export interface WebSourceView {
|
|
|
16
17
|
/** A `web_search` card: an optional answer over a capped citation list. */
|
|
17
18
|
export interface WebSearchBlockProps {
|
|
18
19
|
kind: 'search';
|
|
20
|
+
/** Localized chrome supplied by the owning render site. */
|
|
21
|
+
labels: WebBlockLabels;
|
|
19
22
|
/** The provider-generated answer, rendered as markdown above the sources. */
|
|
20
23
|
answer?: string | undefined;
|
|
21
24
|
/** The cited sources, in provider order. */
|
|
@@ -28,6 +31,8 @@ export interface WebSearchBlockProps {
|
|
|
28
31
|
/** A `web_fetch` card: the retrieval summary for one fetched URL. */
|
|
29
32
|
export interface WebFetchBlockProps {
|
|
30
33
|
kind: 'fetch';
|
|
34
|
+
/** Localized chrome supplied by the owning render site. */
|
|
35
|
+
labels: WebBlockLabels;
|
|
31
36
|
/** The final URL after allowed redirects; becomes a safe external link when http(s). */
|
|
32
37
|
url: string;
|
|
33
38
|
/** HTTP status code of the fetched response. */
|
|
@@ -39,6 +44,14 @@ export interface WebFetchBlockProps {
|
|
|
39
44
|
}
|
|
40
45
|
/** A completed web retrieval card, discriminated by `kind`. */
|
|
41
46
|
export type WebBlockProps = WebSearchBlockProps | WebFetchBlockProps;
|
|
47
|
+
/** Localized chrome for {@link WebBlock}. */
|
|
48
|
+
export interface WebBlockLabels {
|
|
49
|
+
noResults: string;
|
|
50
|
+
sourcesTruncated: string;
|
|
51
|
+
http: string;
|
|
52
|
+
contentTruncated: string;
|
|
53
|
+
markdown: MarkdownLabels;
|
|
54
|
+
}
|
|
42
55
|
/**
|
|
43
56
|
* Render a completed web retrieval as a structured card.
|
|
44
57
|
* @param props - see {@link WebBlockProps}; `kind` selects the search or fetch body.
|
|
@@ -67,6 +67,8 @@ export declare const IconThinkOutline16: ({ size, className }: IconProps) => imp
|
|
|
67
67
|
export declare const IconAgentPresetOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
68
68
|
/** ic_ds_browse_outline_16 */
|
|
69
69
|
export declare const IconBrowseOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
70
|
+
/** ic_ds_context_injection_outline_16 (figma extract): browse document frame with an open top and an arrow dropping in. */
|
|
71
|
+
export declare const IconContextInjectionOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
70
72
|
/** ic_ds_link_outline_14 */
|
|
71
73
|
export declare const IconLinkOutline14: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
72
74
|
/** ic_ds_link_outline_16 */
|
|
@@ -129,6 +131,10 @@ export declare const IconDarkOutline16: ({ size, className }: IconProps) => impo
|
|
|
129
131
|
export declare const IconFollowsystemOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
130
132
|
/** ic_ds_data_outline_16 */
|
|
131
133
|
export declare const IconDataOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
134
|
+
/** IconDataOutline16 without its gear: a three-tier database cylinder. */
|
|
135
|
+
export declare const IconDatabaseOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
136
|
+
/** Thin-stroke clock: outlined dial with square-cut hour and minute hands. */
|
|
137
|
+
export declare const IconClockOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
132
138
|
/** ic_send_outline_14 (figma extract): thin-stroke upward send arrow. */
|
|
133
139
|
export declare const IconSendOutline14: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
134
140
|
/** ic_queue_outline_14 (figma extract): open chat bubble with two queued lines. */
|
|
@@ -149,6 +155,8 @@ export declare const IconInspectOutline12: ({ size, className }: IconProps) => i
|
|
|
149
155
|
export declare const IconSkillOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
150
156
|
/** ic_ds_question_outline_14 (figma extract): ring + question glyph. */
|
|
151
157
|
export declare const IconQuestionOutline14: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
158
|
+
/** Alarm clock outline for active scheduled-task indicators. */
|
|
159
|
+
export declare const IconAlarmClockOutline16: ({ size, className }: IconProps) => import("react").JSX.Element;
|
|
152
160
|
/** ic_ds_archive_outline_20 (figma extract): lidded box + label slot. The export's
|
|
153
161
|
* 0.11px stroke ring around the box contour is dropped — it restates the same
|
|
154
162
|
* contour in the same ink, which currentColor already carries. */
|
package/lib/types/index.d.ts
CHANGED
|
@@ -20,31 +20,37 @@ export { Modal } from './Modal.tsx';
|
|
|
20
20
|
export { OnboardingSurface } from './OnboardingSurface.tsx';
|
|
21
21
|
export { RiskConfirmation } from './RiskConfirmation.tsx';
|
|
22
22
|
export type { RiskConfirmationProps } from './RiskConfirmation.tsx';
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
23
|
+
export { ConnectionIndicator } from './ConnectionIndicator.tsx';
|
|
24
|
+
export type { ConnectionIndicatorState } from './ConnectionIndicator.tsx';
|
|
25
|
+
export { FishLogo, FISH_LOGO_PATH, FISH_LOGO_VIEWBOX } from './FishLogo.tsx';
|
|
25
26
|
export { BrandWordmark } from './BrandWordmark.tsx';
|
|
26
27
|
export type { BrandWordmarkProps } from './BrandWordmark.tsx';
|
|
28
|
+
export { ReferenceIcon } from './ReferenceIcon.tsx';
|
|
29
|
+
export type { ReferenceIconKind, ReferenceIconProps } from './ReferenceIcon.tsx';
|
|
30
|
+
export { projectUserText } from './user-text.tsx';
|
|
27
31
|
export { Tooltip } from './Tooltip.tsx';
|
|
28
32
|
export type { TooltipSide } from './Tooltip.tsx';
|
|
29
33
|
export { Toast } from './Toast.tsx';
|
|
30
34
|
export { writeClipboard } from './clipboard.ts';
|
|
35
|
+
export { relativeTime } from './relative-time.ts';
|
|
36
|
+
export type { RelativeTime, RelativeTimeUnit } from './relative-time.ts';
|
|
31
37
|
export { JsonTree } from './JsonTree.tsx';
|
|
32
38
|
export type { JsonTreeProps, JsonTreeLabels } from './JsonTree.tsx';
|
|
33
39
|
export { TerminalBlock, DEFAULT_TERMINAL_MAX_LINES } from './TerminalBlock.tsx';
|
|
34
40
|
export type { TerminalBlockProps, TerminalBlockLabels } from './TerminalBlock.tsx';
|
|
35
41
|
export { ReadBlock, DEFAULT_READ_MAX_LINES } from './ReadBlock.tsx';
|
|
36
|
-
export type { ReadBlockProps, ReadBlockLine } from './ReadBlock.tsx';
|
|
37
|
-
export { DiffBlock, DEFAULT_DIFF_MAX_LINES } from './DiffBlock.tsx';
|
|
38
|
-
export type { DiffBlockProps, DiffHunk } from './DiffBlock.tsx';
|
|
42
|
+
export type { ReadBlockProps, ReadBlockLine, ReadBlockLabels } from './ReadBlock.tsx';
|
|
43
|
+
export { DiffBlock, DEFAULT_DIFF_MAX_LINES, diffTotals } from './DiffBlock.tsx';
|
|
44
|
+
export type { DiffBlockProps, DiffHunk, DiffBlockLabels } from './DiffBlock.tsx';
|
|
39
45
|
export { SearchBlock, DEFAULT_SEARCH_MAX_LINES } from './SearchBlock.tsx';
|
|
40
|
-
export type { SearchBlockProps, SearchMatchesBlockProps, SearchPathsBlockProps, SearchFileGroup, SearchBlockLineMatch, } from './SearchBlock.tsx';
|
|
46
|
+
export type { SearchBlockProps, SearchMatchesBlockProps, SearchPathsBlockProps, SearchFileGroup, SearchBlockLineMatch, SearchBlockLabels, } from './SearchBlock.tsx';
|
|
41
47
|
export { WebBlock } from './WebBlock.tsx';
|
|
42
|
-
export type { WebBlockProps, WebSearchBlockProps, WebFetchBlockProps, WebSourceView } from './WebBlock.tsx';
|
|
48
|
+
export type { WebBlockProps, WebSearchBlockProps, WebFetchBlockProps, WebSourceView, WebBlockLabels, } from './WebBlock.tsx';
|
|
43
49
|
export { CodeBlock } from './markdown/CodeBlock.tsx';
|
|
44
50
|
export type { CodeBlockProps } from './markdown/CodeBlock.tsx';
|
|
45
51
|
export { JsonBlock } from './markdown/JsonBlock.tsx';
|
|
46
52
|
export { MarkdownText } from './markdown/MarkdownText.tsx';
|
|
47
|
-
export type { MarkdownCodeLabels, MarkdownFileMentions } from './markdown/MarkdownText.tsx';
|
|
53
|
+
export type { MarkdownCodeLabels, MarkdownFileMentions, MarkdownLabels } from './markdown/MarkdownText.tsx';
|
|
48
54
|
export { MessageText } from './markdown/MessageText.tsx';
|
|
49
55
|
export { extractMarkdownPlainText } from './markdown/plain-text.ts';
|
|
50
56
|
export type { MarkdownPlainTextMode, MarkdownPlainTextOptions } from './markdown/plain-text.ts';
|
|
@@ -3,12 +3,20 @@ export interface CodeBlockProps {
|
|
|
3
3
|
code: string;
|
|
4
4
|
/** Grammar hint (markdown fence info string or a fixed caller id); unknown = plain. */
|
|
5
5
|
lang?: string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* The code is still growing (a streaming markdown fence): highlight through
|
|
8
|
+
* a per-instance {@link StreamingHighlightSession}, which re-tokenizes only
|
|
9
|
+
* appended text and keeps completed lines' elements (and DOM) untouched.
|
|
10
|
+
* The caller must keep the component instance stable across growth (a
|
|
11
|
+
* stream-stable React key); settled callers omit this and get shiki's HTML.
|
|
12
|
+
*/
|
|
13
|
+
streaming?: boolean | undefined;
|
|
6
14
|
/** Extra class merged onto the wrapper (callers position; this component draws). */
|
|
7
15
|
className?: string | undefined;
|
|
8
16
|
/** Copy-button idle label; the owner passes localized copy (this package is cordis-free, so copy arrives via props). */
|
|
9
|
-
copyLabel
|
|
17
|
+
copyLabel: string;
|
|
10
18
|
/** Copy-button label during the post-copy confirmation window. */
|
|
11
|
-
copiedLabel
|
|
19
|
+
copiedLabel: string;
|
|
12
20
|
}
|
|
13
|
-
export declare function CodeBlock({ code, lang, className, copyLabel, copiedLabel }: CodeBlockProps): import("react").JSX.Element;
|
|
21
|
+
export declare function CodeBlock({ code, lang, streaming, className, copyLabel, copiedLabel }: CodeBlockProps): import("react").JSX.Element;
|
|
14
22
|
//# sourceMappingURL=CodeBlock.d.ts.map
|
|
@@ -3,6 +3,6 @@ export declare function JsonBlock({ label, payload, defaultOpen, truncatedLabel
|
|
|
3
3
|
payload: unknown;
|
|
4
4
|
defaultOpen?: boolean;
|
|
5
5
|
/** Footer appended when the body exceeds the char cap, given the full length (this package is cordis-free, so copy arrives via props). */
|
|
6
|
-
truncatedLabel
|
|
6
|
+
truncatedLabel: (total: number) => string;
|
|
7
7
|
}): import("react").JSX.Element;
|
|
8
8
|
//# sourceMappingURL=JsonBlock.d.ts.map
|
|
@@ -10,15 +10,16 @@
|
|
|
10
10
|
* other side of the freeze boundary renders literally until the settled
|
|
11
11
|
* full parse self-heals it.
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
13
|
+
import type { MarkdownFileMentions, MarkdownLabels } from './render.tsx';
|
|
14
14
|
import 'katex/dist/katex.min.css';
|
|
15
|
-
export type { MarkdownCodeLabels, MarkdownFileMentions } from './render.tsx';
|
|
15
|
+
export type { MarkdownCodeLabels, MarkdownFileMentions, MarkdownLabels } from './render.tsx';
|
|
16
16
|
/**
|
|
17
17
|
* Render untrusted assistant-authored Markdown as semantic React elements.
|
|
18
18
|
* @param props - Markdown source text preserved by the session projection;
|
|
19
|
-
* `streaming`
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* `streaming` parses incrementally across chunks and highlights fences as
|
|
20
|
+
* they grow (each fence re-tokenizes only appended text; TeX stays literal
|
|
21
|
+
* until the finalize swap so incomplete formulae never flash errors);
|
|
22
|
+
* `labels` forwards localized fence and footnote chrome — pass a
|
|
22
23
|
* reference-stable object (memoized per locale revision), because a new
|
|
23
24
|
* identity discards the streaming render cache mid-message. `fileMentions`
|
|
24
25
|
* links inline-code tokens its resolver recognizes as real files; this is
|
|
@@ -29,10 +30,10 @@ export type { MarkdownCodeLabels, MarkdownFileMentions } from './render.tsx';
|
|
|
29
30
|
* relative links, and unsafe protocols are disabled, while absolute HTTP(S)
|
|
30
31
|
* images render directly.
|
|
31
32
|
*/
|
|
32
|
-
export declare const MarkdownText: import("react").MemoExoticComponent<({ text, streaming,
|
|
33
|
+
export declare const MarkdownText: import("react").MemoExoticComponent<({ text, streaming, labels, fileMentions }: {
|
|
33
34
|
text: string;
|
|
34
35
|
streaming?: boolean;
|
|
35
|
-
|
|
36
|
+
labels: MarkdownLabels;
|
|
36
37
|
fileMentions?: MarkdownFileMentions | undefined;
|
|
37
38
|
}) => import("react").JSX.Element>;
|
|
38
39
|
//# sourceMappingURL=MarkdownText.d.ts.map
|