@dust-tt/sparkle 0.4.20 → 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.
Files changed (32) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/markdown/BlockquoteBlock.d.ts +3 -1
  3. package/dist/esm/components/markdown/BlockquoteBlock.d.ts.map +1 -1
  4. package/dist/esm/components/markdown/BlockquoteBlock.js +9 -5
  5. package/dist/esm/components/markdown/BlockquoteBlock.js.map +1 -1
  6. package/dist/esm/components/markdown/ContentBlockWrapper.d.ts +1 -1
  7. package/dist/esm/components/markdown/ContentBlockWrapper.d.ts.map +1 -1
  8. package/dist/esm/components/markdown/ContentBlockWrapper.js +2 -2
  9. package/dist/esm/components/markdown/ContentBlockWrapper.js.map +1 -1
  10. package/dist/esm/components/markdown/Markdown.d.ts +3 -1
  11. package/dist/esm/components/markdown/Markdown.d.ts.map +1 -1
  12. package/dist/esm/components/markdown/Markdown.js +12 -6
  13. package/dist/esm/components/markdown/Markdown.js.map +1 -1
  14. package/dist/esm/components/markdown/ParagraphBlock.d.ts +5 -2
  15. package/dist/esm/components/markdown/ParagraphBlock.d.ts.map +1 -1
  16. package/dist/esm/components/markdown/ParagraphBlock.js +10 -4
  17. package/dist/esm/components/markdown/ParagraphBlock.js.map +1 -1
  18. package/dist/esm/components/markdown/styles.d.ts +4 -1
  19. package/dist/esm/components/markdown/styles.d.ts.map +1 -1
  20. package/dist/esm/components/markdown/utils.d.ts +5 -0
  21. package/dist/esm/components/markdown/utils.d.ts.map +1 -1
  22. package/dist/esm/components/markdown/utils.js +9 -0
  23. package/dist/esm/components/markdown/utils.js.map +1 -1
  24. package/dist/esm/stories/Markdown.stories.d.ts +2 -0
  25. package/dist/esm/stories/Markdown.stories.d.ts.map +1 -1
  26. package/dist/sparkle.css +4 -4
  27. package/package.json +1 -1
  28. package/src/components/markdown/BlockquoteBlock.tsx +10 -4
  29. package/src/components/markdown/ContentBlockWrapper.tsx +28 -26
  30. package/src/components/markdown/Markdown.tsx +17 -4
  31. package/src/components/markdown/ParagraphBlock.tsx +22 -5
  32. package/src/components/markdown/utils.ts +10 -0
@@ -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;;mFAkB9B,CAAC;AAEF,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAmB,GACpB,EAAE,oBAAoB,qBA4BtB"}
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-py-3 s-pl-3 s-pr-12",
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-border-night dark:before:s-bg-border",
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: "inside" },
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,qDAAqD;IACrD,YAAY;IACZ,0FAA0F;IAC1F,+DAA+D;IAC/D,uBAAuB;CACxB,EACD;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,gDAAgD;gBAChD,kBAAkB;aACnB;SACF;KACF;CACF,CACF,CAAC;AAOF,MAAM,UAAU,eAAe,CAAC,EAGT;QAFrB,QAAQ,cAAA,EACR,eAAmB,EAAnB,OAAO,mBAAG,SAAS,KAAA;IAEnB,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,EAAC,QAAQ;QAEtB,oCAAY,SAAS,EAAE,kBAAkB,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,IACnD,QAAQ,CACE,CACO,CACvB,CAAC;AACJ,CAAC"}
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;CACtC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,OAAO,EACP,cAAyB,EACzB,oBAAoB,EACpB,aAAyB,GAC1B,EAAE,wBAAwB,qBAsF1B"}
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":"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"}
1
+ {"version":3,"file":"ContentBlockWrapper.js","sourceRoot":"","sources":["../../../../src/components/markdown/ContentBlockWrapper.tsx"],"names":[],"mappings":"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"}
@@ -9,13 +9,15 @@ export declare const markdownHeaderClasses: {
9
9
  h5: string;
10
10
  h6: string;
11
11
  };
12
- export declare function Markdown({ content, isStreaming, textColor, forcedTextSize, isLastMessage, 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;
16
16
  isLastMessage?: boolean;
17
+ compactSpacing?: boolean;
17
18
  forcedTextSize?: string;
18
19
  additionalMarkdownComponents?: Components;
19
20
  additionalMarkdownPlugins?: PluggableList;
21
+ canCopyQuotes?: boolean;
20
22
  }): React.JSX.Element;
21
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;AA2BvE,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAC;AAmBF,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,WAAmB,EACnB,SAA4D,EAC5D,cAAc,EACd,aAAqB,EACrB,4BAA4B,EAC5B,yBAAyB,GAC1B,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,MAAM,CAAC;IACxB,4BAA4B,CAAC,EAAE,UAAU,CAAC;IAC1C,yBAAyB,CAAC,EAAE,aAAa,CAAC;CAC3C,qBA8LA"}
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"}
@@ -15,7 +15,7 @@ import { ParagraphBlock } from "../../components/markdown/ParagraphBlock";
15
15
  import { PreBlock } from "../../components/markdown/PreBlock";
16
16
  import { safeRehypeKatex } from "../../components/markdown/safeRehypeKatex";
17
17
  import { TableBlock, TableBodyBlock, TableDataBlock, TableHeadBlock, TableHeaderBlock, } from "../../components/markdown/TableBlock";
18
- import { preprocessDollarSigns, sanitizeContent, } from "../../components/markdown/utils";
18
+ import { preprocessDollarSigns, preserveLineBreaks, sanitizeContent, } from "../../components/markdown/utils";
19
19
  import { cn } from "../../lib/utils";
20
20
  export var markdownHeaderClasses = {
21
21
  h1: "s-heading-2xl",
@@ -38,11 +38,14 @@ 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, 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
+ if (compactSpacing) {
45
+ sanitized = preserveLineBreaks(sanitized);
46
+ }
44
47
  return preprocessDollarSigns(sanitized);
45
- }, [content]);
48
+ }, [content, compactSpacing]);
46
49
  // Note on re-renderings. A lot of effort has been put into preventing rerendering across markdown
47
50
  // AST parsing rounds (happening at each token being streamed).
48
51
  //
@@ -72,7 +75,7 @@ export function Markdown(_a) {
72
75
  return (React.createElement(LiBlock, { textColor: textColor, textSize: forcedTextSize ? forcedTextSize : sizes.p }, children));
73
76
  }, p: function (_a) {
74
77
  var children = _a.children;
75
- return (React.createElement(ParagraphBlock, { textColor: textColor, textSize: forcedTextSize ? forcedTextSize : sizes.p }, children));
78
+ return (React.createElement(ParagraphBlock, { textColor: textColor, textSize: forcedTextSize ? forcedTextSize : sizes.p, compactSpacing: compactSpacing }, children));
76
79
  }, table: TableBlock, thead: TableHeadBlock, tbody: TableBodyBlock, th: TableHeaderBlock, td: TableDataBlock, h1: function (_a) {
77
80
  var children = _a.children;
78
81
  return (React.createElement("h1", { className: cn("s-pb-2 s-pt-4", forcedTextSize ? forcedTextSize : sizes.h1, textColor) }, children));
@@ -94,8 +97,11 @@ export function Markdown(_a) {
94
97
  }, strong: function (_a) {
95
98
  var children = _a.children;
96
99
  return (React.createElement("strong", { className: "s-font-semibold s-text-foreground dark:s-text-foreground-night" }, children));
97
- }, input: Input, blockquote: BlockquoteBlock, 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);
98
- }, [textColor, additionalMarkdownComponents]);
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);
104
+ }, [textColor, compactSpacing, additionalMarkdownComponents]);
99
105
  var markdownPlugins = useMemo(function () { return __spreadArray(__spreadArray([
100
106
  remarkDirective,
101
107
  remarkGfm,
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/markdown/Markdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/markdown/Markdown.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import React from "react";
2
- export declare const paragraphBlockVariants: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
2
+ export declare const paragraphBlockVariants: (props?: ({
3
+ compactSpacing?: boolean | null | undefined;
4
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
3
5
  interface ParagraphBlockProps {
4
6
  children: React.ReactNode;
5
7
  textColor: string;
6
8
  textSize: string;
9
+ compactSpacing?: boolean;
7
10
  }
8
- export declare function ParagraphBlock({ children, textColor, textSize, }: ParagraphBlockProps): React.JSX.Element;
11
+ export declare function ParagraphBlock({ children, textColor, textSize, compactSpacing, }: ParagraphBlockProps): React.JSX.Element;
9
12
  export {};
10
13
  //# sourceMappingURL=ParagraphBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParagraphBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/ParagraphBlock.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,sBAAsB,yFAGjC,CAAC;AAEH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,qBAMrB"}
1
+ {"version":3,"file":"ParagraphBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/ParagraphBlock.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,sBAAsB;;mFAYlC,CAAC;AAEF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAsB,GACvB,EAAE,mBAAmB,qBAYrB"}
@@ -3,10 +3,16 @@ import React from "react";
3
3
  import { cn } from "../../lib";
4
4
  export var paragraphBlockVariants = cva([
5
5
  "s-whitespace-pre-wrap s-break-words s-font-normal first:s-pt-0 last:s-pb-0",
6
- "s-py-1 @md:s-py-2 @md:s-leading-7",
7
- ]);
6
+ ], {
7
+ variants: {
8
+ compactSpacing: {
9
+ true: ["s-py-0"],
10
+ false: ["s-py-1 @md:s-py-2 @md:s-leading-7"],
11
+ },
12
+ },
13
+ });
8
14
  export function ParagraphBlock(_a) {
9
- var children = _a.children, textColor = _a.textColor, textSize = _a.textSize;
10
- return (React.createElement("div", { className: cn(paragraphBlockVariants(), textSize, textColor) }, children));
15
+ var children = _a.children, textColor = _a.textColor, textSize = _a.textSize, _b = _a.compactSpacing, compactSpacing = _b === void 0 ? false : _b;
16
+ return (React.createElement("div", { className: cn(paragraphBlockVariants({ compactSpacing: compactSpacing }), textSize, textColor) }, children));
11
17
  }
12
18
  //# sourceMappingURL=ParagraphBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParagraphBlock.js","sourceRoot":"","sources":["../../../../src/components/markdown/ParagraphBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,CAAC,IAAM,sBAAsB,GAAG,GAAG,CAAC;IACxC,4EAA4E;IAC5E,mCAAmC;CACpC,CAAC,CAAC;AAQH,MAAM,UAAU,cAAc,CAAC,EAIT;QAHpB,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA;IAER,OAAO,CACL,6BAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,IAC9D,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ParagraphBlock.js","sourceRoot":"","sources":["../../../../src/components/markdown/ParagraphBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,CAAC,IAAM,sBAAsB,GAAG,GAAG,CACvC;IACE,4EAA4E;CAC7E,EACD;IACE,QAAQ,EAAE;QACR,cAAc,EAAE;YACd,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,KAAK,EAAE,CAAC,mCAAmC,CAAC;SAC7C;KACF;CACF,CACF,CAAC;AASF,MAAM,UAAU,cAAc,CAAC,EAKT;QAJpB,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,sBAAsB,EAAtB,cAAc,mBAAG,KAAK,KAAA;IAEtB,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CACX,sBAAsB,CAAC,EAAE,cAAc,gBAAA,EAAE,CAAC,EAC1C,QAAQ,EACR,SAAS,CACV,IAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
@@ -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;
@@ -10,7 +11,9 @@ export declare const markdownStyles: {
10
11
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
11
12
  list: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
12
13
  orderedList: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
13
- paragraph: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
14
+ paragraph: (props?: ({
15
+ compactSpacing?: boolean | null | undefined;
16
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
14
17
  pre: (props?: ({
15
18
  variant?: "surface" | null | undefined;
16
19
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;CAS1B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAS1B,CAAC"}
@@ -1,6 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  export declare function sanitizeContent(str: string): string;
3
3
  export declare function detectLanguage(children: React.ReactNode): any;
4
+ /**
5
+ * Converts consecutive newlines (\n\n) into hard breaks to preserve line spacing.
6
+ * Inserts an empty line with a non-breaking space to create visual spacing.
7
+ */
8
+ export declare function preserveLineBreaks(content: string): string;
4
9
  /**
5
10
  * Preprocesses content to escape dollar signs that are likely NOT inlione LaTeX math. This helps
6
11
  * prevent false positives when enabling single $ math rendering.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/utils.ts"],"names":[],"mappings":";AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgCnD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,OAMvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6B7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/utils.ts"],"names":[],"mappings":";AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgCnD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,OAMvD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6B7D"}
@@ -39,6 +39,15 @@ export function detectLanguage(children) {
39
39
  }
40
40
  return "text";
41
41
  }
42
+ /**
43
+ * Converts consecutive newlines (\n\n) into hard breaks to preserve line spacing.
44
+ * Inserts an empty line with a non-breaking space to create visual spacing.
45
+ */
46
+ export function preserveLineBreaks(content) {
47
+ // Replace \n\n with \n&nbsp;\n\n to insert an empty line with content
48
+ // This creates visual spacing between paragraphs
49
+ return content.replace(/\n\n\n\n/g, "\n\n&nbsp;\n\n");
50
+ }
42
51
  /**
43
52
  * Preprocesses content to escape dollar signs that are likely NOT inlione LaTeX math. This helps
44
53
  * prevent false positives when enabling single $ math rendering.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/markdown/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,2FAA2F;IAC3F,4BAA4B;IAE5B,0EAA0E;IAC1E,IAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,2DAA2D;IAC3D,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACvB,eAAe,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,qCAAqC;IACrC,IAAI,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,IAAI,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,GAAG,IAAI,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,GAAG,IAAI,GAAG,CAAC;IACb,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAyB;;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAI,MAAM,CAAC;IACzE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,IAAI,SAAS,GAAG,OAAO,CAAC;IAExB,SAAS,GAAG,SAAS;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,UAAC,IAAI;;QACR,IAAM,sBAAsB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAC;QAC9D,gFAAgF;QAChF,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,+BAA+B;YAC/B,iEAAiE;YACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,yGAAyG,EACzG,QAAQ,CACT,CAAC;YAEF,kCAAkC;YAClC,wDAAwD;YACxD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;YAEhE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/markdown/utils.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,11 @@ declare const meta: {
10
10
  isStreaming?: boolean | undefined;
11
11
  textColor?: string | undefined;
12
12
  isLastMessage?: boolean | undefined;
13
+ compactSpacing?: boolean | undefined;
13
14
  forcedTextSize?: string | undefined;
14
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;
15
16
  additionalMarkdownPlugins?: import("unified").PluggableList | undefined;
17
+ canCopyQuotes?: boolean | undefined;
16
18
  }>) => React.JSX.Element)[];
17
19
  argTypes: {
18
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;;;;;;;;;;;;;;;;;;;;;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"}
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-border-night::before {
5542
+ .before\:s-bg-faint::before {
5543
5543
  content: var(--tw-content);
5544
5544
  --tw-bg-opacity: 1;
5545
- background-color: rgb(42 50 65 / var(--tw-bg-opacity));
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-border)::before {
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(238 238 239 / var(--tw-bg-opacity));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.4.20",
3
+ "version": "0.4.22",
4
4
  "scripts": {
5
5
  "build": "rm -rf dist && npm run tailwind && npm run build:esm && npm run build:cjs",
6
6
  "tailwind": "tailwindcss -i ./src/styles/tailwind.css -o dist/sparkle.css",
@@ -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-py-3 s-pl-3 s-pr-12",
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-border-night dark:before:s-bg-border",
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="inside"
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
- <div className={stickyContainerVariants({ buttonDisplay })}>
156
- <div
157
- id="BlockActions"
158
- className={actionsVariants({ buttonDisplay, displayActions })}
159
- >
160
- {actions && actions}
161
- {getContentToDownload && (
162
- <Button
163
- variant={"outline"}
164
- size="xs"
165
- icon={ArrowDownOnSquareIcon}
166
- onClick={handleDownload}
167
- tooltip="Download"
168
- />
169
- )}
170
- {content && (
171
- <Button
172
- variant={"outline"}
173
- size="xs"
174
- icon={isCopied ? ClipboardCheckIcon : ClipboardIcon}
175
- onClick={handleCopyToClipboard}
176
- tooltip="Copy"
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
- </div>
182
+ )}
181
183
  <div className={cn("s-z-0 s-w-full", innerClassName)}>{children}</div>
182
184
  </div>
183
185
  );
@@ -26,6 +26,7 @@ import {
26
26
  } from "@sparkle/components/markdown/TableBlock";
27
27
  import {
28
28
  preprocessDollarSigns,
29
+ preserveLineBreaks,
29
30
  sanitizeContent,
30
31
  } from "@sparkle/components/markdown/utils";
31
32
  import { cn } from "@sparkle/lib/utils";
@@ -62,21 +63,28 @@ export function Markdown({
62
63
  textColor = "s-text-foreground dark:s-text-foreground-night",
63
64
  forcedTextSize,
64
65
  isLastMessage = false,
66
+ compactSpacing = false,
65
67
  additionalMarkdownComponents,
66
68
  additionalMarkdownPlugins,
69
+ canCopyQuotes = true,
67
70
  }: {
68
71
  content: string;
69
72
  isStreaming?: boolean;
70
73
  textColor?: string;
71
74
  isLastMessage?: boolean;
75
+ compactSpacing?: boolean; // When true, removes vertical padding from paragraph blocks for tighter spacing
72
76
  forcedTextSize?: string;
73
77
  additionalMarkdownComponents?: Components;
74
78
  additionalMarkdownPlugins?: PluggableList;
79
+ canCopyQuotes?: boolean;
75
80
  }) {
76
81
  const processedContent = useMemo(() => {
77
- const sanitized = sanitizeContent(content);
82
+ let sanitized = sanitizeContent(content);
83
+ if (compactSpacing) {
84
+ sanitized = preserveLineBreaks(sanitized);
85
+ }
78
86
  return preprocessDollarSigns(sanitized);
79
- }, [content]);
87
+ }, [content, compactSpacing]);
80
88
 
81
89
  // Note on re-renderings. A lot of effort has been put into preventing rerendering across markdown
82
90
  // AST parsing rounds (happening at each token being streamed).
@@ -126,6 +134,7 @@ export function Markdown({
126
134
  <ParagraphBlock
127
135
  textColor={textColor}
128
136
  textSize={forcedTextSize ? forcedTextSize : sizes.p}
137
+ compactSpacing={compactSpacing}
129
138
  >
130
139
  {children}
131
140
  </ParagraphBlock>
@@ -207,14 +216,18 @@ export function Markdown({
207
216
  </strong>
208
217
  ),
209
218
  input: Input,
210
- blockquote: BlockquoteBlock,
219
+ blockquote: ({ children }) => (
220
+ <BlockquoteBlock buttonDisplay={canCopyQuotes ? "inside" : null}>
221
+ {children}
222
+ </BlockquoteBlock>
223
+ ),
211
224
  hr: () => (
212
225
  <div className="s-my-6 s-border-b s-border-primary-150 dark:s-border-primary-150-night" />
213
226
  ),
214
227
  code: CodeBlockWithExtendedSupport,
215
228
  ...additionalMarkdownComponents,
216
229
  };
217
- }, [textColor, additionalMarkdownComponents]);
230
+ }, [textColor, compactSpacing, additionalMarkdownComponents]);
218
231
 
219
232
  const markdownPlugins: PluggableList = useMemo(
220
233
  () => [