@dust-tt/sparkle 0.4.21 → 0.4.22
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/index.js +1 -1
- package/dist/esm/components/markdown/BlockquoteBlock.d.ts +3 -1
- package/dist/esm/components/markdown/BlockquoteBlock.d.ts.map +1 -1
- package/dist/esm/components/markdown/BlockquoteBlock.js +9 -5
- package/dist/esm/components/markdown/BlockquoteBlock.js.map +1 -1
- package/dist/esm/components/markdown/ContentBlockWrapper.d.ts +1 -1
- package/dist/esm/components/markdown/ContentBlockWrapper.d.ts.map +1 -1
- package/dist/esm/components/markdown/ContentBlockWrapper.js +2 -2
- package/dist/esm/components/markdown/ContentBlockWrapper.js.map +1 -1
- package/dist/esm/components/markdown/Markdown.d.ts +2 -1
- package/dist/esm/components/markdown/Markdown.d.ts.map +1 -1
- package/dist/esm/components/markdown/Markdown.js +5 -2
- package/dist/esm/components/markdown/Markdown.js.map +1 -1
- package/dist/esm/components/markdown/styles.d.ts +1 -0
- package/dist/esm/components/markdown/styles.d.ts.map +1 -1
- package/dist/esm/stories/Markdown.stories.d.ts +1 -0
- package/dist/esm/stories/Markdown.stories.d.ts.map +1 -1
- package/dist/sparkle.css +4 -4
- package/package.json +1 -1
- package/src/components/markdown/BlockquoteBlock.tsx +10 -4
- package/src/components/markdown/ContentBlockWrapper.tsx +28 -26
- package/src/components/markdown/Markdown.tsx +7 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare const blockquoteVariants: (props?: ({
|
|
3
3
|
variant?: "surface" | null | undefined;
|
|
4
|
+
buttonDisplay?: "inside" | "outside" | null | undefined;
|
|
4
5
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
5
6
|
interface BlockquoteBlockProps {
|
|
6
7
|
children: React.ReactNode;
|
|
7
8
|
variant?: "surface";
|
|
9
|
+
buttonDisplay?: "inside" | "outside" | null;
|
|
8
10
|
}
|
|
9
|
-
export declare function BlockquoteBlock({ children, variant, }: BlockquoteBlockProps): React.JSX.Element;
|
|
11
|
+
export declare function BlockquoteBlock({ children, variant, buttonDisplay, }: BlockquoteBlockProps): React.JSX.Element;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=BlockquoteBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockquoteBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/BlockquoteBlock.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"BlockquoteBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/BlockquoteBlock.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,kBAAkB;;;mFAsB9B,CAAC;AAEF,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAmB,EACnB,aAAwB,GACzB,EAAE,oBAAoB,qBA4BtB"}
|
|
@@ -2,10 +2,10 @@ import { cva } from "class-variance-authority";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { ContentBlockWrapper } from "../../components";
|
|
4
4
|
export var blockquoteVariants = cva([
|
|
5
|
-
"s-w-full s-text-base s-italic s-
|
|
5
|
+
"s-w-full s-text-base s-italic s-p-3",
|
|
6
6
|
"s-relative",
|
|
7
7
|
"before:s-content-[''] before:s-absolute before:s-left-0 before:s-top-3 before:s-bottom-3",
|
|
8
|
-
"before:s-w-1 before:s-bg-
|
|
8
|
+
"before:s-w-1 before:s-bg-faint dark:before:s-bg-faint-night",
|
|
9
9
|
"before:s-rounded-full",
|
|
10
10
|
], {
|
|
11
11
|
variants: {
|
|
@@ -15,10 +15,14 @@ export var blockquoteVariants = cva([
|
|
|
15
15
|
"s-bg-transparent",
|
|
16
16
|
],
|
|
17
17
|
},
|
|
18
|
+
buttonDisplay: {
|
|
19
|
+
inside: ["s-pr-12"],
|
|
20
|
+
outside: [],
|
|
21
|
+
},
|
|
18
22
|
},
|
|
19
23
|
});
|
|
20
24
|
export function BlockquoteBlock(_a) {
|
|
21
|
-
var children = _a.children, _b = _a.variant, variant = _b === void 0 ? "surface" : _b;
|
|
25
|
+
var children = _a.children, _b = _a.variant, variant = _b === void 0 ? "surface" : _b, _c = _a.buttonDisplay, buttonDisplay = _c === void 0 ? "inside" : _c;
|
|
22
26
|
var elementAt1 = React.Children.toArray(children)[1];
|
|
23
27
|
var childrenContent = elementAt1 && React.isValidElement(elementAt1)
|
|
24
28
|
? elementAt1.props.children
|
|
@@ -31,7 +35,7 @@ export function BlockquoteBlock(_a) {
|
|
|
31
35
|
var clipboardContent = contentAsString
|
|
32
36
|
? { "text/plain": contentAsString }
|
|
33
37
|
: undefined;
|
|
34
|
-
return (React.createElement(ContentBlockWrapper, { content: clipboardContent, className: "s-my-2", buttonDisplay:
|
|
35
|
-
React.createElement("blockquote", { className: blockquoteVariants({ variant: variant }) }, children)));
|
|
38
|
+
return (React.createElement(ContentBlockWrapper, { content: clipboardContent, className: "s-my-2", buttonDisplay: buttonDisplay },
|
|
39
|
+
React.createElement("blockquote", { className: blockquoteVariants({ variant: variant, buttonDisplay: buttonDisplay }) }, children)));
|
|
36
40
|
}
|
|
37
41
|
//# sourceMappingURL=BlockquoteBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockquoteBlock.js","sourceRoot":"","sources":["../../../../src/components/markdown/BlockquoteBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,IAAM,kBAAkB,GAAG,GAAG,CACnC;IACE,
|
|
1
|
+
{"version":3,"file":"BlockquoteBlock.js","sourceRoot":"","sources":["../../../../src/components/markdown/BlockquoteBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,IAAM,kBAAkB,GAAG,GAAG,CACnC;IACE,qCAAqC;IACrC,YAAY;IACZ,0FAA0F;IAC1F,6DAA6D;IAC7D,uBAAuB;CACxB,EACD;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,gDAAgD;gBAChD,kBAAkB;aACnB;SACF;QACD,aAAa,EAAE;YACb,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CACF,CAAC;AAQF,MAAM,UAAU,eAAe,CAAC,EAIT;QAHrB,QAAQ,cAAA,EACR,eAAmB,EAAnB,OAAO,mBAAG,SAAS,KAAA,EACnB,qBAAwB,EAAxB,aAAa,mBAAG,QAAQ,KAAA;IAExB,IAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAM,eAAe,GACnB,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ;QAC3B,CAAC,CAAC,IAAI,CAAC;IAEX,+CAA+C;IAC/C,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QACpD,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,OAAO,CAAC,KAAK,QAAQ,EAArB,CAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,CAAC,CAAC,eAAe,CAAC;IAEpB,iCAAiC;IACjC,IAAM,gBAAgB,GAAG,eAAe;QACtC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE;QACnC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,oBAAC,mBAAmB,IAClB,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAC,QAAQ,EAClB,aAAa,EAAE,aAAa;QAE5B,oCAAY,SAAS,EAAE,kBAAkB,CAAC,EAAE,OAAO,SAAA,EAAE,aAAa,eAAA,EAAE,CAAC,IAClE,QAAQ,CACE,CACO,CACvB,CAAC;AACJ,CAAC"}
|
|
@@ -18,7 +18,7 @@ interface ContentBlockWrapperProps {
|
|
|
18
18
|
getContentToDownload?: GetContentToDownloadFunction;
|
|
19
19
|
actions?: React.ReactNode[] | React.ReactNode;
|
|
20
20
|
displayActions?: "hover" | "always";
|
|
21
|
-
buttonDisplay?: "inside" | "outside";
|
|
21
|
+
buttonDisplay?: "inside" | "outside" | null;
|
|
22
22
|
}
|
|
23
23
|
export declare function ContentBlockWrapper({ children, className, innerClassName, content, actions, displayActions, getContentToDownload, buttonDisplay, }: ContentBlockWrapperProps): React.JSX.Element;
|
|
24
24
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentBlockWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/ContentBlockWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,UAAU,CAAC;AAoDnE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,MAAM,4BAA4B,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,UAAU,wBAAwB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9C,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACpC,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentBlockWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/ContentBlockWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,UAAU,CAAC;AAoDnE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,MAAM,4BAA4B,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,UAAU,wBAAwB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9C,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACpC,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,OAAO,EACP,cAAyB,EACzB,oBAAoB,EACpB,aAAyB,GAC1B,EAAE,wBAAwB,qBAwF1B"}
|
|
@@ -95,11 +95,11 @@ export function ContentBlockWrapper(_a) {
|
|
|
95
95
|
});
|
|
96
96
|
}); }, [getContentToDownload]);
|
|
97
97
|
return (React.createElement("div", { id: "BlockWrapper", className: cn(wrapperVariants({ buttonDisplay: buttonDisplay }), className) },
|
|
98
|
-
React.createElement("div", { className: stickyContainerVariants({ buttonDisplay: buttonDisplay }) },
|
|
98
|
+
buttonDisplay !== null && (React.createElement("div", { className: stickyContainerVariants({ buttonDisplay: buttonDisplay }) },
|
|
99
99
|
React.createElement("div", { id: "BlockActions", className: actionsVariants({ buttonDisplay: buttonDisplay, displayActions: displayActions }) },
|
|
100
100
|
actions && actions,
|
|
101
101
|
getContentToDownload && (React.createElement(Button, { variant: "outline", size: "xs", icon: ArrowDownOnSquareIcon, onClick: handleDownload, tooltip: "Download" })),
|
|
102
|
-
content && (React.createElement(Button, { variant: "outline", size: "xs", icon: isCopied ? ClipboardCheckIcon : ClipboardIcon, onClick: handleCopyToClipboard, tooltip: "Copy" })))),
|
|
102
|
+
content && (React.createElement(Button, { variant: "outline", size: "xs", icon: isCopied ? ClipboardCheckIcon : ClipboardIcon, onClick: handleCopyToClipboard, tooltip: "Copy" }))))),
|
|
103
103
|
React.createElement("div", { className: cn("s-z-0 s-w-full", innerClassName) }, children)));
|
|
104
104
|
}
|
|
105
105
|
//# sourceMappingURL=ContentBlockWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentBlockWrapper.js","sourceRoot":"","sources":["../../../../src/components/markdown/ContentBlockWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAIxC,IAAM,qBAAqB,GAAyC;IAClE,kBAAkB,EAAE,OAAO;IAC3B,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,IAAM,eAAe,GAAG,GAAG,CAAC,iDAAiD,EAAE;IAC7E,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;SACnB;KACF;IACD,eAAe,EAAE;QACf,aAAa,EAAE,SAAS;KACzB;CACF,CAAC,CAAC;AAEH,IAAM,uBAAuB,GAAG,GAAG,CAAC,wBAAwB,EAAE;IAC5D,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,UAAU;SACpB;KACF;IACD,eAAe,EAAE;QACf,aAAa,EAAE,SAAS;KACzB;CACF,CAAC,CAAC;AAEH,IAAM,eAAe,GAAG,GAAG,CACzB,2DAA2D,EAC3D;IACE,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,mBAAmB;SAC7B;QACD,cAAc,EAAE;YACd,KAAK,EACH,2EAA2E;YAC7E,MAAM,EAAE,EAAE;SACX;KACF;IACD,eAAe,EAAE;QACf,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,QAAQ;KACzB;CACF,CACF,CAAC;AA0BF,MAAM,UAAU,mBAAmB,CAAC,EAST;IAT3B,
|
|
1
|
+
{"version":3,"file":"ContentBlockWrapper.js","sourceRoot":"","sources":["../../../../src/components/markdown/ContentBlockWrapper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare const markdownHeaderClasses: {
|
|
|
9
9
|
h5: string;
|
|
10
10
|
h6: string;
|
|
11
11
|
};
|
|
12
|
-
export declare function Markdown({ content, isStreaming, textColor, forcedTextSize, isLastMessage, compactSpacing, additionalMarkdownComponents, additionalMarkdownPlugins, }: {
|
|
12
|
+
export declare function Markdown({ content, isStreaming, textColor, forcedTextSize, isLastMessage, compactSpacing, additionalMarkdownComponents, additionalMarkdownPlugins, canCopyQuotes, }: {
|
|
13
13
|
content: string;
|
|
14
14
|
isStreaming?: boolean;
|
|
15
15
|
textColor?: string;
|
|
@@ -18,5 +18,6 @@ export declare function Markdown({ content, isStreaming, textColor, forcedTextSi
|
|
|
18
18
|
forcedTextSize?: string;
|
|
19
19
|
additionalMarkdownComponents?: Components;
|
|
20
20
|
additionalMarkdownPlugins?: PluggableList;
|
|
21
|
+
canCopyQuotes?: boolean;
|
|
21
22
|
}): React.JSX.Element;
|
|
22
23
|
//# sourceMappingURL=Markdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/Markdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA4BvE,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAC;AAmBF,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,WAAmB,EACnB,SAA4D,EAC5D,cAAc,EACd,aAAqB,EACrB,cAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/Markdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA4BvE,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAC;AAmBF,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,WAAmB,EACnB,SAA4D,EAC5D,cAAc,EACd,aAAqB,EACrB,cAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,aAAoB,GACrB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4BAA4B,CAAC,EAAE,UAAU,CAAC;IAC1C,yBAAyB,CAAC,EAAE,aAAa,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,qBAsMA"}
|
|
@@ -38,7 +38,7 @@ function showUnsupportedDirective() {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
export function Markdown(_a) {
|
|
41
|
-
var content = _a.content, _b = _a.isStreaming, isStreaming = _b === void 0 ? false : _b, _c = _a.textColor, textColor = _c === void 0 ? "s-text-foreground dark:s-text-foreground-night" : _c, forcedTextSize = _a.forcedTextSize, _d = _a.isLastMessage, isLastMessage = _d === void 0 ? false : _d, _e = _a.compactSpacing, compactSpacing = _e === void 0 ? false : _e, additionalMarkdownComponents = _a.additionalMarkdownComponents, additionalMarkdownPlugins = _a.additionalMarkdownPlugins;
|
|
41
|
+
var content = _a.content, _b = _a.isStreaming, isStreaming = _b === void 0 ? false : _b, _c = _a.textColor, textColor = _c === void 0 ? "s-text-foreground dark:s-text-foreground-night" : _c, forcedTextSize = _a.forcedTextSize, _d = _a.isLastMessage, isLastMessage = _d === void 0 ? false : _d, _e = _a.compactSpacing, compactSpacing = _e === void 0 ? false : _e, additionalMarkdownComponents = _a.additionalMarkdownComponents, additionalMarkdownPlugins = _a.additionalMarkdownPlugins, _f = _a.canCopyQuotes, canCopyQuotes = _f === void 0 ? true : _f;
|
|
42
42
|
var processedContent = useMemo(function () {
|
|
43
43
|
var sanitized = sanitizeContent(content);
|
|
44
44
|
if (compactSpacing) {
|
|
@@ -97,7 +97,10 @@ export function Markdown(_a) {
|
|
|
97
97
|
}, strong: function (_a) {
|
|
98
98
|
var children = _a.children;
|
|
99
99
|
return (React.createElement("strong", { className: "s-font-semibold s-text-foreground dark:s-text-foreground-night" }, children));
|
|
100
|
-
}, input: Input, blockquote:
|
|
100
|
+
}, input: Input, blockquote: function (_a) {
|
|
101
|
+
var children = _a.children;
|
|
102
|
+
return (React.createElement(BlockquoteBlock, { buttonDisplay: canCopyQuotes ? "inside" : null }, children));
|
|
103
|
+
}, hr: function () { return (React.createElement("div", { className: "s-my-6 s-border-b s-border-primary-150 dark:s-border-primary-150-night" })); }, code: CodeBlockWithExtendedSupport }, additionalMarkdownComponents);
|
|
101
104
|
}, [textColor, compactSpacing, additionalMarkdownComponents]);
|
|
102
105
|
var markdownPlugins = useMemo(function () { return __spreadArray(__spreadArray([
|
|
103
106
|
remarkDirective,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/markdown/Markdown.tsx"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAG3C,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,eAAe;IACnB,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,6BAA6B;IACjC,EAAE,EAAE,2BAA2B;IAC/B,EAAE,EAAE,mCAAmC;CACxC,CAAC;AAEF,IAAM,KAAK,cACT,CAAC,EAAE,yBAAyB,IACzB,qBAAqB,CACzB,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,UAAC,IAAS;QACf,KAAK,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,UAAC,IAAI;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,8DAA8D;gBAC9D,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,WAAI,IAAI,CAAC,IAAI,SAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;YACtG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/markdown/Markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const markdownStyles: {
|
|
2
2
|
blockquote: (props?: ({
|
|
3
3
|
variant?: "surface" | null | undefined;
|
|
4
|
+
buttonDisplay?: "inside" | "outside" | null | undefined;
|
|
4
5
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
5
6
|
codeInline: (props?: ({
|
|
6
7
|
variant?: "surface" | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAS1B,CAAC"}
|
|
@@ -14,6 +14,7 @@ declare const meta: {
|
|
|
14
14
|
forcedTextSize?: string | undefined;
|
|
15
15
|
additionalMarkdownComponents?: Partial<Omit<import("react-markdown/lib/complex-types").NormalComponents, keyof import("react-markdown/lib/ast-to-react").SpecialComponents> & import("react-markdown/lib/ast-to-react").SpecialComponents> | undefined;
|
|
16
16
|
additionalMarkdownPlugins?: import("unified").PluggableList | undefined;
|
|
17
|
+
canCopyQuotes?: boolean | undefined;
|
|
17
18
|
}>) => React.JSX.Element)[];
|
|
18
19
|
argTypes: {
|
|
19
20
|
textColor: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Markdown.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"Markdown.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Markdown.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAeuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkWnC,eAAO,MAAM,qBAAqB,EAAE,KAInC,CAAC;AA2EF,eAAO,MAAM,iBAAiB,EAAE,KAI/B,CAAC"}
|
package/dist/sparkle.css
CHANGED
|
@@ -5539,10 +5539,10 @@ select {
|
|
|
5539
5539
|
border-radius: 9999px;
|
|
5540
5540
|
}
|
|
5541
5541
|
|
|
5542
|
-
.before\:s-bg-
|
|
5542
|
+
.before\:s-bg-faint::before {
|
|
5543
5543
|
content: var(--tw-content);
|
|
5544
5544
|
--tw-bg-opacity: 1;
|
|
5545
|
-
background-color: rgb(
|
|
5545
|
+
background-color: rgb(150 156 165 / var(--tw-bg-opacity));
|
|
5546
5546
|
}
|
|
5547
5547
|
|
|
5548
5548
|
.before\:s-content-\[\'\'\]::before {
|
|
@@ -8507,10 +8507,10 @@ select {
|
|
|
8507
8507
|
color: rgb(150 156 165 / var(--tw-text-opacity));
|
|
8508
8508
|
}
|
|
8509
8509
|
|
|
8510
|
-
:is(.s-dark .dark\:before\:s-bg-
|
|
8510
|
+
:is(.s-dark .dark\:before\:s-bg-faint-night)::before {
|
|
8511
8511
|
content: var(--tw-content);
|
|
8512
8512
|
--tw-bg-opacity: 1;
|
|
8513
|
-
background-color: rgb(
|
|
8513
|
+
background-color: rgb(84 93 108 / var(--tw-bg-opacity));
|
|
8514
8514
|
}
|
|
8515
8515
|
|
|
8516
8516
|
:is(.s-dark .dark\:after\:s-bg-foreground-night)::after {
|
package/package.json
CHANGED
|
@@ -5,10 +5,10 @@ import { ContentBlockWrapper } from "@sparkle/components";
|
|
|
5
5
|
|
|
6
6
|
export const blockquoteVariants = cva(
|
|
7
7
|
[
|
|
8
|
-
"s-w-full s-text-base s-italic s-
|
|
8
|
+
"s-w-full s-text-base s-italic s-p-3",
|
|
9
9
|
"s-relative",
|
|
10
10
|
"before:s-content-[''] before:s-absolute before:s-left-0 before:s-top-3 before:s-bottom-3",
|
|
11
|
-
"before:s-w-1 before:s-bg-
|
|
11
|
+
"before:s-w-1 before:s-bg-faint dark:before:s-bg-faint-night",
|
|
12
12
|
"before:s-rounded-full",
|
|
13
13
|
],
|
|
14
14
|
{
|
|
@@ -19,6 +19,10 @@ export const blockquoteVariants = cva(
|
|
|
19
19
|
"s-bg-transparent",
|
|
20
20
|
],
|
|
21
21
|
},
|
|
22
|
+
buttonDisplay: {
|
|
23
|
+
inside: ["s-pr-12"],
|
|
24
|
+
outside: [],
|
|
25
|
+
},
|
|
22
26
|
},
|
|
23
27
|
}
|
|
24
28
|
);
|
|
@@ -26,11 +30,13 @@ export const blockquoteVariants = cva(
|
|
|
26
30
|
interface BlockquoteBlockProps {
|
|
27
31
|
children: React.ReactNode;
|
|
28
32
|
variant?: "surface";
|
|
33
|
+
buttonDisplay?: "inside" | "outside" | null; // null to hide buttons
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
export function BlockquoteBlock({
|
|
32
37
|
children,
|
|
33
38
|
variant = "surface",
|
|
39
|
+
buttonDisplay = "inside",
|
|
34
40
|
}: BlockquoteBlockProps) {
|
|
35
41
|
const elementAt1 = React.Children.toArray(children)[1];
|
|
36
42
|
const childrenContent =
|
|
@@ -52,9 +58,9 @@ export function BlockquoteBlock({
|
|
|
52
58
|
<ContentBlockWrapper
|
|
53
59
|
content={clipboardContent}
|
|
54
60
|
className="s-my-2"
|
|
55
|
-
buttonDisplay=
|
|
61
|
+
buttonDisplay={buttonDisplay}
|
|
56
62
|
>
|
|
57
|
-
<blockquote className={blockquoteVariants({ variant })}>
|
|
63
|
+
<blockquote className={blockquoteVariants({ variant, buttonDisplay })}>
|
|
58
64
|
{children}
|
|
59
65
|
</blockquote>
|
|
60
66
|
</ContentBlockWrapper>
|
|
@@ -83,7 +83,7 @@ interface ContentBlockWrapperProps {
|
|
|
83
83
|
getContentToDownload?: GetContentToDownloadFunction;
|
|
84
84
|
actions?: React.ReactNode[] | React.ReactNode;
|
|
85
85
|
displayActions?: "hover" | "always";
|
|
86
|
-
buttonDisplay?: "inside" | "outside";
|
|
86
|
+
buttonDisplay?: "inside" | "outside" | null; // null to hide buttons
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
export function ContentBlockWrapper({
|
|
@@ -152,32 +152,34 @@ export function ContentBlockWrapper({
|
|
|
152
152
|
id="BlockWrapper"
|
|
153
153
|
className={cn(wrapperVariants({ buttonDisplay }), className)}
|
|
154
154
|
>
|
|
155
|
-
|
|
156
|
-
<div
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
155
|
+
{buttonDisplay !== null && (
|
|
156
|
+
<div className={stickyContainerVariants({ buttonDisplay })}>
|
|
157
|
+
<div
|
|
158
|
+
id="BlockActions"
|
|
159
|
+
className={actionsVariants({ buttonDisplay, displayActions })}
|
|
160
|
+
>
|
|
161
|
+
{actions && actions}
|
|
162
|
+
{getContentToDownload && (
|
|
163
|
+
<Button
|
|
164
|
+
variant={"outline"}
|
|
165
|
+
size="xs"
|
|
166
|
+
icon={ArrowDownOnSquareIcon}
|
|
167
|
+
onClick={handleDownload}
|
|
168
|
+
tooltip="Download"
|
|
169
|
+
/>
|
|
170
|
+
)}
|
|
171
|
+
{content && (
|
|
172
|
+
<Button
|
|
173
|
+
variant={"outline"}
|
|
174
|
+
size="xs"
|
|
175
|
+
icon={isCopied ? ClipboardCheckIcon : ClipboardIcon}
|
|
176
|
+
onClick={handleCopyToClipboard}
|
|
177
|
+
tooltip="Copy"
|
|
178
|
+
/>
|
|
179
|
+
)}
|
|
180
|
+
</div>
|
|
179
181
|
</div>
|
|
180
|
-
|
|
182
|
+
)}
|
|
181
183
|
<div className={cn("s-z-0 s-w-full", innerClassName)}>{children}</div>
|
|
182
184
|
</div>
|
|
183
185
|
);
|
|
@@ -66,6 +66,7 @@ export function Markdown({
|
|
|
66
66
|
compactSpacing = false,
|
|
67
67
|
additionalMarkdownComponents,
|
|
68
68
|
additionalMarkdownPlugins,
|
|
69
|
+
canCopyQuotes = true,
|
|
69
70
|
}: {
|
|
70
71
|
content: string;
|
|
71
72
|
isStreaming?: boolean;
|
|
@@ -75,6 +76,7 @@ export function Markdown({
|
|
|
75
76
|
forcedTextSize?: string;
|
|
76
77
|
additionalMarkdownComponents?: Components;
|
|
77
78
|
additionalMarkdownPlugins?: PluggableList;
|
|
79
|
+
canCopyQuotes?: boolean;
|
|
78
80
|
}) {
|
|
79
81
|
const processedContent = useMemo(() => {
|
|
80
82
|
let sanitized = sanitizeContent(content);
|
|
@@ -214,7 +216,11 @@ export function Markdown({
|
|
|
214
216
|
</strong>
|
|
215
217
|
),
|
|
216
218
|
input: Input,
|
|
217
|
-
blockquote:
|
|
219
|
+
blockquote: ({ children }) => (
|
|
220
|
+
<BlockquoteBlock buttonDisplay={canCopyQuotes ? "inside" : null}>
|
|
221
|
+
{children}
|
|
222
|
+
</BlockquoteBlock>
|
|
223
|
+
),
|
|
218
224
|
hr: () => (
|
|
219
225
|
<div className="s-my-6 s-border-b s-border-primary-150 dark:s-border-primary-150-night" />
|
|
220
226
|
),
|