@dust-tt/sparkle 0.4.9 → 0.4.11

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.
@@ -11,8 +11,9 @@ export interface ContentMessageProps {
11
11
  size?: ContentMessageSizeType;
12
12
  variant?: ContentMessageVariantType;
13
13
  icon?: ComponentType;
14
+ action?: React.ReactNode;
14
15
  }
15
- declare function ContentMessage({ title, variant, children, size, className, icon, }: ContentMessageProps): React.JSX.Element;
16
+ declare function ContentMessage({ title, variant, children, size, className, icon, action, }: ContentMessageProps): React.JSX.Element;
16
17
  declare function ContentMessageAction(props: ButtonProps): React.JSX.Element;
17
18
  export interface ContentMessageInlineProps {
18
19
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentMessage.d.ts","sourceRoot":"","sources":["../../../src/components/ContentMessage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIjE,QAAA,MAAM,wBAAwB,+GAWpB,CAAC;AAEX,KAAK,yBAAyB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,QAAA,MAAM,qBAAqB,6BAA8B,CAAC;AAE1D,KAAK,sBAAsB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiGrE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,iBAAS,cAAc,CAAC,EACtB,KAAK,EACL,OAAgB,EAChB,QAAQ,EACR,IAAW,EACX,SAAc,EACd,IAAI,GACL,EAAE,mBAAmB,qBAmBrB;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,WAAW,qBAQ/C;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,OAAgB,EAChB,QAAQ,EACR,SAAc,EACd,IAAI,GACL,EAAE,yBAAyB,qBA+B3B;AAED,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"ContentMessage.d.ts","sourceRoot":"","sources":["../../../src/components/ContentMessage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIjE,QAAA,MAAM,wBAAwB,+GAWpB,CAAC;AAEX,KAAK,yBAAyB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,QAAA,MAAM,qBAAqB,6BAA8B,CAAC;AAE1D,KAAK,sBAAsB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiGrE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,cAAc,CAAC,EACtB,KAAK,EACL,OAAgB,EAChB,QAAQ,EACR,IAAW,EACX,SAAc,EACd,IAAI,EACJ,MAAM,GACP,EAAE,mBAAmB,qBAiCrB;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,WAAW,qBAQ/C;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,iBAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,OAAgB,EAChB,QAAQ,EACR,SAAc,EACd,IAAI,GACL,EAAE,yBAAyB,qBA+B3B;AAED,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -100,12 +100,15 @@ var textVariants = cva("s-text-sm", {
100
100
  },
101
101
  });
102
102
  function ContentMessage(_a) {
103
- var title = _a.title, _b = _a.variant, variant = _b === void 0 ? "info" : _b, children = _a.children, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.className, className = _d === void 0 ? "" : _d, icon = _a.icon;
103
+ var title = _a.title, _b = _a.variant, variant = _b === void 0 ? "info" : _b, children = _a.children, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.className, className = _d === void 0 ? "" : _d, icon = _a.icon, action = _a.action;
104
104
  return (React.createElement("div", { className: cn(contentMessageVariants({ variant: variant, size: size }), className) },
105
- (icon || title) && (React.createElement("div", { className: "s-flex s-items-center s-gap-1.5" },
106
- icon && (React.createElement(Icon, { size: "sm", visual: icon, className: iconVariants({ variant: variant }) })),
107
- title && React.createElement("div", { className: titleVariants({ variant: variant }) }, title))),
108
- children && React.createElement("div", { className: textVariants({ variant: variant }) }, children)));
105
+ React.createElement("div", { className: cn("s-flex s-gap-3", action ? "s-items-center s-justify-between" : "s-flex-col") },
106
+ React.createElement("div", { className: "s-flex s-flex-col s-gap-1" },
107
+ (icon || title) && (React.createElement("div", { className: "s-flex s-items-center s-gap-1.5" },
108
+ icon && (React.createElement(Icon, { size: "sm", visual: icon, className: iconVariants({ variant: variant }) })),
109
+ title && (React.createElement("div", { className: titleVariants({ variant: variant }) }, title)))),
110
+ children && (React.createElement("div", { className: textVariants({ variant: variant }) }, children))),
111
+ action && React.createElement("div", { className: "s-shrink-0" }, action))));
109
112
  }
110
113
  function ContentMessageAction(props) {
111
114
  return (React.createElement(Button, __assign({ size: "xs", className: cn("s-shrink-0", props.className) }, props)));
@@ -1 +1 @@
1
- {"version":3,"file":"ContentMessage.js","sourceRoot":"","sources":["../../../src/components/ContentMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentMessage.js","sourceRoot":"","sources":["../../../src/components/ContentMessage.tsx"],"names":[],"mappings":"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"}
@@ -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;AAwBvE,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,qBA2LA"}
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"}
@@ -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 { sanitizeContent } from "../../components/markdown/utils";
18
+ import { preprocessDollarSigns, sanitizeContent, } from "../../components/markdown/utils";
19
19
  import { cn } from "../../lib/utils";
20
20
  export var markdownHeaderClasses = {
21
21
  h1: "s-heading-2xl",
@@ -39,7 +39,10 @@ function showUnsupportedDirective() {
39
39
  }
40
40
  export function Markdown(_a) {
41
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;
42
- var processedContent = useMemo(function () { return sanitizeContent(content); }, [content]);
42
+ var processedContent = useMemo(function () {
43
+ var sanitized = sanitizeContent(content);
44
+ return preprocessDollarSigns(sanitized);
45
+ }, [content]);
43
46
  // Note on re-renderings. A lot of effort has been put into preventing rerendering across markdown
44
47
  // AST parsing rounds (happening at each token being streamed).
45
48
  //
@@ -96,7 +99,7 @@ export function Markdown(_a) {
96
99
  var markdownPlugins = useMemo(function () { return __spreadArray(__spreadArray([
97
100
  remarkDirective,
98
101
  remarkGfm,
99
- [remarkMath, { singleDollarTextMath: false }]
102
+ [remarkMath, { singleDollarTextMath: true }]
100
103
  ], __read((additionalMarkdownPlugins || [])), false), [
101
104
  showUnsupportedDirective,
102
105
  ], false); }, [additionalMarkdownPlugins]);
@@ -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,4 +1,14 @@
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
+ * Preprocesses content to escape dollar signs that are likely NOT inlione LaTeX math. This helps
6
+ * prevent false positives when enabling single $ math rendering.
7
+ *
8
+ * Patterns that are escaped:
9
+ * 1. Solo dollar signs: `$` (not part of a pair)
10
+ * 1. Currency amounts: $100, $5.99, $1,000, $50k, $2.5M, $1 billion
11
+ * 2. Shell/code variables: $HOME, $PATH, ${variable}
12
+ */
13
+ export declare function preprocessDollarSigns(content: string): string;
4
14
  //# sourceMappingURL=utils.d.ts.map
@@ -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"}
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"}
@@ -39,4 +39,38 @@ export function detectLanguage(children) {
39
39
  }
40
40
  return "text";
41
41
  }
42
+ /**
43
+ * Preprocesses content to escape dollar signs that are likely NOT inlione LaTeX math. This helps
44
+ * prevent false positives when enabling single $ math rendering.
45
+ *
46
+ * Patterns that are escaped:
47
+ * 1. Solo dollar signs: `$` (not part of a pair)
48
+ * 1. Currency amounts: $100, $5.99, $1,000, $50k, $2.5M, $1 billion
49
+ * 2. Shell/code variables: $HOME, $PATH, ${variable}
50
+ */
51
+ export function preprocessDollarSigns(content) {
52
+ var processed = content;
53
+ processed = processed
54
+ .split("\n")
55
+ .map(function (line) {
56
+ var _a;
57
+ var unescapedDollarMatches = (_a = line.match(/(?<!\\)\$/g)) !== null && _a !== void 0 ? _a : [];
58
+ // 1. Escape solo dollar signs per line: we ignore math spans crossing newlines.
59
+ if (unescapedDollarMatches.length === 1) {
60
+ return line.replace(/(?<!\\)\$/, "\\$");
61
+ }
62
+ else if (unescapedDollarMatches.length > 1) {
63
+ // 2. Protect currency patterns
64
+ // Matches: $100, $5.99, $1,000.50, $50k, $2.5M, $1 billion, etc.
65
+ line = line.replace(/(?<!\\)\$(\d+(?:,\d{3})*(?:\.\d{1,2})?(?:\s*(?:USD|EUR|CAD|GBP|million|billion|thousand|[kKmMbB]))?)\b/g, "\\$$$1");
66
+ // 3. Protect shell/code variables
67
+ // Matches: $HOME, $PATH, $USER, ${variable}, ${foo.bar}
68
+ line = line.replace(/(?<!\\)\$([A-Z_][A-Z0-9_]*)\b/g, "\\$$$1");
69
+ line = line.replace(/(?<!\\)\$\{([^}]+)\}/g, "\\${$1}");
70
+ }
71
+ return line;
72
+ })
73
+ .join("\n");
74
+ return processed;
75
+ }
42
76
  //# sourceMappingURL=utils.js.map
@@ -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"}
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,49 +1,12 @@
1
- import type { StoryObj } from "@storybook/react";
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
2
  import React from "react";
3
3
  import { ContentMessage } from "../index_with_tw_base";
4
- declare const meta: {
5
- title: string;
6
- component: typeof ContentMessage;
7
- argTypes: {
8
- title: {
9
- control: "text";
10
- description: string;
11
- };
12
- children: {
13
- control: "text";
14
- description: string;
15
- };
16
- variant: {
17
- options: string[];
18
- control: {
19
- type: "select";
20
- };
21
- description: string;
22
- };
23
- size: {
24
- options: string[];
25
- control: {
26
- type: "select";
27
- };
28
- description: string;
29
- };
30
- icon: {
31
- options: string[];
32
- mapping: {
33
- readonly none: null;
34
- readonly InformationCircleIcon: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
35
- readonly ChatBubbleBottomCenterTextIcon: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
36
- readonly HeartIcon: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
37
- };
38
- control: {
39
- type: "select";
40
- };
41
- description: string;
42
- };
43
- };
4
+ type ContentMessageStoryProps = React.ComponentProps<typeof ContentMessage> & {
5
+ showAction?: boolean;
44
6
  };
7
+ declare const meta: Meta<ContentMessageStoryProps>;
45
8
  export default meta;
46
- type Story = StoryObj<typeof meta>;
9
+ type Story = StoryObj<ContentMessageStoryProps>;
47
10
  export declare const Basic: Story;
48
11
  export declare const WithIcon: Story;
49
12
  export declare const WithList: Story;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentMessage.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/ContentMessage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,cAAc,EAKf,MAAM,uBAAuB,CAAC;AAS/B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC6B,CAAC;AAExC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAsBtB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAc5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAqC3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAO9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAQlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAkB7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KA0B5B,CAAC"}
1
+ {"version":3,"file":"ContentMessage.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/ContentMessage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,cAAc,EAKf,MAAM,uBAAuB,CAAC;AAE/B,KAAK,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AASF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,wBAAwB,CA4CxC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAEhD,eAAO,MAAM,KAAK,EAAE,KAiBnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAsBtB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAc5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAqC3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAO9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAQlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAkB7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KA0B5B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { __assign, __rest } from "tslib";
1
2
  import React from "react";
2
3
  import { ChatBubbleBottomCenterTextIcon, ContentMessage, ContentMessageAction, ContentMessageInline, HeartIcon, InformationCircleIcon, } from "../index_with_tw_base";
3
4
  var ICONS = {
@@ -45,14 +46,23 @@ var meta = {
45
46
  control: { type: "select" },
46
47
  description: "Icon to display",
47
48
  },
49
+ showAction: {
50
+ control: "boolean",
51
+ description: "Show a right-aligned action button",
52
+ },
48
53
  },
49
54
  };
50
55
  export default meta;
51
56
  export var Basic = {
57
+ render: function (_a) {
58
+ var showAction = _a.showAction, args = __rest(_a, ["showAction"]);
59
+ return (React.createElement(ContentMessage, __assign({}, args, { action: showAction ? (React.createElement(ContentMessageAction, { variant: "primary", label: "Action" })) : undefined })));
60
+ },
52
61
  args: {
53
62
  title: "This is a title",
54
63
  children: "This is a message. It can be multiple lines long.",
55
64
  size: "md",
65
+ showAction: false,
56
66
  },
57
67
  };
58
68
  export var WithIcon = {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentMessage.stories.js","sourceRoot":"","sources":["../../../src/stories/ContentMessage.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,IAAI;IACV,qBAAqB,EAAE,qBAAqB;IAC5C,8BAA8B,EAAE,8BAA8B;IAC9D,SAAS,EAAE,SAAS;CACZ,CAAC;AAEX,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,2BAA2B;IAClC,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,sBAAsB;SACpC;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,wBAAwB;SACtC;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,WAAW;gBACX,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,SAAS;aACV;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,WAAW,EAAE,sBAAsB;SACpC;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,WAAW,EAAE,qBAAqB;SACnC;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,WAAW,EAAE,iBAAiB;SAC/B;KACF;CACoC,CAAC;AAExC,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,IAAM,KAAK,GAAU;IAC1B,IAAI,EAAE;QACJ,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,mDAAmD;QAC7D,IAAI,EAAE,IAAI;KACX;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,mDAAmD;QAC7D,IAAI,EAAE,IAAI;KACX;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,CACR,4BAAI,SAAS,EAAC,oDAAoD;YAChE,4BAAI,SAAS,EAAC,+CAA+C;gBAC3D,6BAAK,SAAS,EAAC,mFAAmF,oHAG5F,CACH;YACL,4BAAI,SAAS,EAAC,+CAA+C;gBAC3D,6BAAK,SAAS,EAAC,mFAAmF,8HAG5F,CACH,CACF,CACN;KACF;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAU;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,CACR,6BAAK,SAAS,EAAC,6BAA6B;YAC1C,qFAA4D;YAC5D;;gBACqE,GAAG;gBACtE,kDAA4B;oBACxB,CACF,CACP;QACD,IAAI,EAAE,IAAI;KACX;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAU;IAClC,MAAM,EAAE,cAAM,OAAA,CACZ,6BAAK,SAAS,EAAC,gEAAgE,IAC5E;QACC,SAAS;QACT,SAAS;QACT,SAAS;QACT,WAAW;QACX,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,QAAQ;KACT,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,CACjB,oBAAC,cAAc,IACb,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAU,EACtE,OAAO,EACL,OASY,EAEd,IAAI,EAAC,IAAI;;QAEE,OAAO;qFAEH,CAClB,EArBkB,CAqBlB,CAAC,CACE,CACP,EAnCa,CAmCb;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,WAAW,GAAU;IAChC,MAAM,EAAE,cAAM,OAAA,CACZ,oBAAC,oBAAoB,IAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAC,MAAM,4EAE1C,CACxB,EAJa,CAIb;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAU;IACrC,MAAM,EAAE,cAAM,OAAA,CACZ,oBAAC,oBAAoB,IAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAC,MAAM;;QAE/D,oBAAC,oBAAoB,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,GAAG,CACpC,CACxB,EALa,CAKb;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,oBAAoB,GAAU;IACzC,MAAM,EAAE,cAAM,OAAA,CACZ,oBAAC,oBAAoB,IAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAC,MAAM;;QAE/D,oBAAC,oBAAoB,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,GAAG;QACzD,oBAAC,oBAAoB,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,QAAQ,GAAG,CACtC,CACxB,EANa,CAMb;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAU;IACpC,MAAM,EAAE,cAAM,OAAA,CACZ,6BAAK,SAAS,EAAC,2BAA2B;QACxC,oBAAC,oBAAoB,IACnB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAC,MAAM;;YAGd,oBAAC,oBAAoB,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,GAAG,CACpC;QACvB,oBAAC,oBAAoB,IACnB,KAAK,EAAC,OAAO,EACb,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAC,SAAS,GACjB,CACE,CACP,EAhBa,CAgBb;CACF,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAU;IACnC,MAAM,EAAE,cAAM,OAAA,CACZ,6BAAK,SAAS,EAAC,2BAA2B,IACvC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,CACvE,oBAAC,oBAAoB,IACnB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EACL,OASY;QAGb,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;QACnD,oBAAC,oBAAoB,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,GAAG,CACpC,CACxB,EApBwE,CAoBxE,CAAC,CACE,CACP,EAxBa,CAwBb;CACF,CAAC"}
1
+ {"version":3,"file":"ContentMessage.stories.js","sourceRoot":"","sources":["../../../src/stories/ContentMessage.stories.tsx"],"names":[],"mappings":"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"}
@@ -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;AA8UnC,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"}
@@ -17,7 +17,7 @@ var meta = {
17
17
  },
18
18
  };
19
19
  export default meta;
20
- var example = "\n# Level 1 Title\n\n## Level 2 Title\n\n### Level 3 Title\n\n#### Level 4 Title\n\n##### Level 5 Title\n\n###### Level 6 Title\n\nGot it. I won\u2019t escape your Markdown.\n\nIf you intended to render a footnote reference like [^4], you can write it directly without backslashes:\n\n- Footnote reference in text: [^4]\n- Footnote definition at the end:\n [^4]: Your footnote content here\n\nThis is a paragraph with **bold** text and *italic* text. This is `code` block:\n```\nBlock\n```\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n# Another Level 1 Title\n\nDemo of a list, showcasing our pets of the month:\n- Soupinou\n- Chawarma\n- Chalom\n- Anakine\n- Goose\n\nOrdered list:\n1. Soupinou\n2. Chawarma\n3. Chalom\n\n---\n\n### Demo of a quote below:\n\n> You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit hole goes.\n\n> You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit hole goes.\n\nAnother one, a short one:\n> Soupinou fait des miaou miaou.\n\n### Other stuff\n\n~~stuff~~\nlink www.x.com\nfootnote [^1]\n\n* [ ] to do\n* [x] done\n\n### Short Table\n\n| Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) |\n|-------------|-----------------------|----------------------|\n| October 25 | 19 | 14 |\n| October 26 | 17 | 12 |\n| October 27 | 16 | 10 |\n| October 28 | 16 | 9 |\n| October 29 | 17 | 8 |\n| October 30 | 19 | 8 |\n| October 31 | 19 | 10 |\n\n\n### Table\n\n| Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) | Weather Condition | Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) | Weather Condition | Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) | Weather Condition |\n|-------------|-----------------------|----------------------|-------------------------------|-------------|-----------------------|----------------------|-------------------------------|-------------|-----------------------|----------------------|-------------------------------|\n| October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 26 | 17 | 12 | Light showers, overcast | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 27 | 16 | 10 | Overcast | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 28 | 16 | 9 | Increasing cloudiness | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 29 | 17 | 8 | Scattered clouds | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 30 | 19 | 8 | Sunny | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 31 | 19 | 10 | Sunny | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n\n\n\n### Some lateX\n\n$$ \\sigma(z_i) = \\frac{e^{z_{i}}}{\\sum_{j=1}^K e^{z_{j}}} \\ \\ \\ for\\ i=1,2,\\dots,K $$\n\n### This is a CSV:\n\n```csv\nDate,High (\u00B0C),Low (\u00B0C)\nOctober 24,19,12\nOctober 25,20,12\nOctober 26,17,11\nOctober 27,16,10\nOctober 28,17,11\nOctober 29,18,12\nOctober 30,19,11\n```\n\n### Some js code:\n\n```javascript\nimport React from \"react\";\nimport {\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nconst data = [\n { date: \"Oct 24\", high: 19, low: 12 },\n { date: \"Oct 25\", high: 20, low: 12 },\n { date: \"Oct 26\", high: 17, low: 11 },\n { date: \"Oct 27\", high: 16, low: 10 },\n { date: \"Oct 28\", high: 17, low: 11 },\n { date: \"Oct 29\", high: 18, low: 12 },\n { date: \"Oct 30\", high: 19, low: 11 },\n];\n\nfunction renderHeader(latitude, longitude) {\n const container = document.getElementById(\"dashboard-container\");\n if (!container) {\n console.error(\"Dashboard container is missing in the DOM.\");\n return;\n }\n let header = document.getElementById(\"dashboard-header\");\n if (!header) {\n console.log(\"Creating new dashboard header.\");\n header = document.createElement(\"div\");\n header.id = \"dashboard-header\";\n container.prepend(header);\n }\n console.log(\"Updating header content.\");\n const currentTime = new Date().toLocaleString(\"en-US\", {\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n weekday: \"long\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n header.innerHTML = `\n <div>\n <h2>Local Time</h2>\n <p>${currentTime}</p>\n </div>\n <div>\n <h2>Location</h2>\n <p>Lat: ${latitude.toFixed(2)}, Lon: ${longitude.toFixed(2)}</p>\n </div>\n `;\n}\n```\n\n\n### Some CLI code:\n\n```bash\n# Define variables\nAPI_URL=\"https://api.example.com\"\nLATEST_TAG=\"v1.2.3\"\nUSERNAME=\"user123\"\nENVIRONMENT=\"production\"\n\n# Basic GET with variables\ncurl \"${API_URL}/version/${LATEST_TAG}\"\n\n# POST with JSON payload using variables\ncurl -X POST -H \"Content-Type: application/json\" -d \"{\n \"tag\": \"${LATEST_TAG}\",\n \"environment\": \"${ENVIRONMENT}\",\n \"deployedBy\": \"${USERNAME}\"\n }\" \"${API_URL}/deployments\"\n```\n\n### Some python code:\n\n```python\nimport datetime\nimport pytz\nfrom typing import List, Dict, Union\nimport tkinter as tk\nfrom tkinter import ttk\nimport matplotlib.pyplot as plt\nfrom matplotlib.figure import Figure\nfrom matplotlib.backends.backend_tkagg import FigureCanvasTkAgg\n\n# Data structure similar to the JavaScript example\ndata = [\n {\"date\": \"Oct 24\", \"high\": 19, \"low\": 12},\n {\"date\": \"Oct 25\", \"high\": 20, \"low\": 12},\n {\"date\": \"Oct 26\", \"high\": 17, \"low\": 11},\n {\"date\": \"Oct 27\", \"high\": 16, \"low\": 10},\n {\"date\": \"Oct 28\", \"high\": 17, \"low\": 11},\n {\"date\": \"Oct 29\", \"high\": 18, \"low\": 12},\n {\"date\": \"Oct 30\", \"high\": 19, \"low\": 11},\n]\n\nclass WeatherDashboard:\n def __init__(self, root: tk.Tk):\n self.root = root\n self.root.title(\"Weather Dashboard\")\n\n # Create header frame\n self.header_frame = ttk.Frame(root, padding=\"10\")\n self.header_frame.grid(row=0, column=0, sticky=(tk.W, tk.E))\n\n # Create chart frame\n self.chart_frame = ttk.Frame(root, padding=\"10\")\n self.chart_frame.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))\n\n def render_header(self, latitude: float, longitude: float) -> None:\n \"\"\"\n Render the dashboard header with time and location information\n \"\"\"\n # Clear existing widgets\n for widget in self.header_frame.winfo_children():\n widget.destroy()\n\n # Get current time in local timezone\n current_time = datetime.datetime.now()\n local_tz = datetime.datetime.now(pytz.timezone('UTC')).astimezone().tzinfo\n formatted_time = current_time.strftime('%A, %I:%M:%S %p')\n\n # Create time section\n time_frame = ttk.LabelFrame(self.header_frame, text=\"Local Time\")\n time_frame.grid(row=0, column=0, padx=5, pady=5, sticky=(tk.W))\n ttk.Label(time_frame, text=formatted_time).grid(row=0, column=0, padx=5, pady=2)\n\n # Create location section\n location_frame = ttk.LabelFrame(self.header_frame, text=\"Location\")\n location_frame.grid(row=0, column=1, padx=5, pady=5, sticky=(tk.W))\n ttk.Label(\n location_frame,\n text=f\"Lat: {latitude:.2f}, Lon: {longitude:.2f}\"\n ).grid(row=0, column=0, padx=5, pady=2)\n\n def create_chart(self) -> None:\n \"\"\"\n Create a line chart using matplotlib\n \"\"\"\n # Create figure and axis\n fig = Figure(figsize=(8, 4))\n ax = fig.add_subplot(111)\n\n # Extract data for plotting\n dates = [d['date'] for d in data]\n highs = [d['high'] for d in data]\n lows = [d['low'] for d in data]\n\n # Plot lines\n ax.plot(dates, highs, marker='o', label='High', color='red')\n ax.plot(dates, lows, marker='o', label='Low', color='blue')\n\n # Customize chart\n ax.grid(True)\n ax.set_xlabel('Date')\n ax.set_ylabel('Temperature')\n ax.legend()\n\n # Rotate x-axis labels for better readability\n plt.setp(ax.get_xticklabels(), rotation=45)\n\n # Create canvas and add to frame\n canvas = FigureCanvasTkAgg(fig, master=self.chart_frame)\n canvas.draw()\n canvas.get_tk_widget().grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))\n\ndef main():\n root = tk.Tk()\n dashboard = WeatherDashboard(root)\n\n # Example coordinates (Paris)\n dashboard.render_header(48.8566, 2.3522)\n dashboard.create_chart()\n\n # Configure grid weights\n root.columnconfigure(0, weight=1)\n root.rowconfigure(1, weight=1)\n\n # Start the application\n root.mainloop()\n\nif __name__ == \"__main__\":\n main()\n\n```\n\n### And some mermaids:\n\n```mermaid\ngraph TD\n A[Christmas] -->|Get money| B(Go shopping)\n B --> C{Let me think}\n B --> G[/Another/]\n C ==>|One| D[Laptop]\n C -->|Two| E[iPhone]\n C -->|Three| F[fa:fa-car Car]\n subgraph section\n C\n D\n E\n F\n G\n end\n```\n\n```mermaid pie chart\npie title Distribution\n \"Category A\" : 30\n \"Category B\" : 20\n \"Category C\" : 15\n \"Category D\" : 10\n \"Category E\" : 25\n```\n\n";
20
+ var example = "\n# Level 1 Title\n\n## Level 2 Title\n\n### Level 3 Title\n\n#### Level 4 Title\n\n##### Level 5 Title\n\n###### Level 6 Title\n\nGot it. I won\u2019t escape your Markdown.\n\nIf you intended to render a footnote reference like [^4], you can write it directly without backslashes:\n\n- Footnote reference in text: [^4]\n- Footnote definition at the end:\n [^4]: Your footnote content here\n\nThis is a paragraph with **bold** text and *italic* text. This is `code` block:\n```\nBlock\n```\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n# Another Level 1 Title\n\nDemo of a list, showcasing our pets of the month:\n- Soupinou\n- Chawarma\n- Chalom\n- Anakine\n- Goose\n\nOrdered list:\n1. Soupinou\n2. Chawarma\n3. Chalom\n\n---\n\n### Demo of a quote below:\n\n> You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit hole goes.\n\n> You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit hole goes.\n\nAnother one, a short one:\n> Soupinou fait des miaou miaou.\n\n### Other stuff\n\n~~stuff~~\nlink www.x.com\nfootnote [^1]\n\n* [ ] to do\n* [x] done\n\n### Short Table\n\n| Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) |\n|-------------|-----------------------|----------------------|\n| October 25 | 19 | 14 |\n| October 26 | 17 | 12 |\n| October 27 | 16 | 10 |\n| October 28 | 16 | 9 |\n| October 29 | 17 | 8 |\n| October 30 | 19 | 8 |\n| October 31 | 19 | 10 |\n\n\n### Table\n\n| Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) | Weather Condition | Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) | Weather Condition | Date | High Temperature (\u00B0C) | Low Temperature (\u00B0C) | Weather Condition |\n|-------------|-----------------------|----------------------|-------------------------------|-------------|-----------------------|----------------------|-------------------------------|-------------|-----------------------|----------------------|-------------------------------|\n| October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 26 | 17 | 12 | Light showers, overcast | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 27 | 16 | 10 | Overcast | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 28 | 16 | 9 | Increasing cloudiness | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 29 | 17 | 8 | Scattered clouds | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 30 | 19 | 8 | Sunny | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n| October 31 | 19 | 10 | Sunny | October 25 | 19 | 14 | Passing showers, cloudy | October 25 | 19 | 14 | Passing showers, cloudy |\n\n\n\n### Some LaTeX\n\n$$ \\sigma(z_i) = \\frac{e^{z_{i}}}{\\sum_{j=1}^K e^{z_{j}}} \\ \\ \\ for\\ i=1,2,\\dots,K $$\n\n### Some inline LaTeX\n\n**Example**: Linear attention is a 2-level optimization:\n- Inner level: Memory matrix $\\mathcal{M}_t = \\mathcal{M}_{t-1} + \\mathbf{v}_t \\mathbf{k}_t^\\top$ (updates every token)\n- Outer level: Projection matrices $W_k, W_v, W_q$ (updates during pre-training)\n\nEven **optimizers** are associative memories. Momentum with gradient descent is 2-level:\n- Momentum $\\mathbf{m}_t$ compresses past gradients\n- Weights $W_t$ are updated by momentum\n\nThe result is $a=2+t$\n\n### Some text with dollars signs:\n\nOne want to import $USER_WORKSPACE but it will cost them $3.5 or $100 $1000\n\n-> The EF for this code is 0.49059 kgCO2e per $ (2018 USD).\n-> This code is 0.54895 kgCO2e per $ (2018 USD) more.\n-> This thing is $5-$10 range.\n\n### This is a CSV:\n\n```csv\nDate,High (\u00B0C),Low (\u00B0C)\nOctober 24,19,12\nOctober 25,20,12\nOctober 26,17,11\nOctober 27,16,10\nOctober 28,17,11\nOctober 29,18,12\nOctober 30,19,11\n```\n\n### Some js code:\n\n```javascript\nimport React from \"react\";\nimport {\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n} from \"recharts\";\n\nconst data = [\n { date: \"Oct 24\", high: 19, low: 12 },\n { date: \"Oct 25\", high: 20, low: 12 },\n { date: \"Oct 26\", high: 17, low: 11 },\n { date: \"Oct 27\", high: 16, low: 10 },\n { date: \"Oct 28\", high: 17, low: 11 },\n { date: \"Oct 29\", high: 18, low: 12 },\n { date: \"Oct 30\", high: 19, low: 11 },\n];\n\nfunction renderHeader(latitude, longitude) {\n const container = document.getElementById(\"dashboard-container\");\n if (!container) {\n console.error(\"Dashboard container is missing in the DOM.\");\n return;\n }\n let header = document.getElementById(\"dashboard-header\");\n if (!header) {\n console.log(\"Creating new dashboard header.\");\n header = document.createElement(\"div\");\n header.id = \"dashboard-header\";\n container.prepend(header);\n }\n console.log(\"Updating header content.\");\n const currentTime = new Date().toLocaleString(\"en-US\", {\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n weekday: \"long\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n header.innerHTML = `\n <div>\n <h2>Local Time</h2>\n <p>${currentTime}</p>\n </div>\n <div>\n <h2>Location</h2>\n <p>Lat: ${latitude.toFixed(2)}, Lon: ${longitude.toFixed(2)}</p>\n </div>\n `;\n}\n```\n\n\n### Some CLI code:\n\n```bash\n# Define variables\nAPI_URL=\"https://api.example.com\"\nLATEST_TAG=\"v1.2.3\"\nUSERNAME=\"user123\"\nENVIRONMENT=\"production\"\n\n# Basic GET with variables\ncurl \"${API_URL}/version/${LATEST_TAG}\"\n\n# POST with JSON payload using variables\ncurl -X POST -H \"Content-Type: application/json\" -d \"{\n \"tag\": \"${LATEST_TAG}\",\n \"environment\": \"${ENVIRONMENT}\",\n \"deployedBy\": \"${USERNAME}\"\n }\" \"${API_URL}/deployments\"\n```\n\n### Some python code:\n\n```python\nimport datetime\nimport pytz\nfrom typing import List, Dict, Union\nimport tkinter as tk\nfrom tkinter import ttk\nimport matplotlib.pyplot as plt\nfrom matplotlib.figure import Figure\nfrom matplotlib.backends.backend_tkagg import FigureCanvasTkAgg\n\n# Data structure similar to the JavaScript example\ndata = [\n {\"date\": \"Oct 24\", \"high\": 19, \"low\": 12},\n {\"date\": \"Oct 25\", \"high\": 20, \"low\": 12},\n {\"date\": \"Oct 26\", \"high\": 17, \"low\": 11},\n {\"date\": \"Oct 27\", \"high\": 16, \"low\": 10},\n {\"date\": \"Oct 28\", \"high\": 17, \"low\": 11},\n {\"date\": \"Oct 29\", \"high\": 18, \"low\": 12},\n {\"date\": \"Oct 30\", \"high\": 19, \"low\": 11},\n]\n\nclass WeatherDashboard:\n def __init__(self, root: tk.Tk):\n self.root = root\n self.root.title(\"Weather Dashboard\")\n\n # Create header frame\n self.header_frame = ttk.Frame(root, padding=\"10\")\n self.header_frame.grid(row=0, column=0, sticky=(tk.W, tk.E))\n\n # Create chart frame\n self.chart_frame = ttk.Frame(root, padding=\"10\")\n self.chart_frame.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))\n\n def render_header(self, latitude: float, longitude: float) -> None:\n \"\"\"\n Render the dashboard header with time and location information\n \"\"\"\n # Clear existing widgets\n for widget in self.header_frame.winfo_children():\n widget.destroy()\n\n # Get current time in local timezone\n current_time = datetime.datetime.now()\n local_tz = datetime.datetime.now(pytz.timezone('UTC')).astimezone().tzinfo\n formatted_time = current_time.strftime('%A, %I:%M:%S %p')\n\n # Create time section\n time_frame = ttk.LabelFrame(self.header_frame, text=\"Local Time\")\n time_frame.grid(row=0, column=0, padx=5, pady=5, sticky=(tk.W))\n ttk.Label(time_frame, text=formatted_time).grid(row=0, column=0, padx=5, pady=2)\n\n # Create location section\n location_frame = ttk.LabelFrame(self.header_frame, text=\"Location\")\n location_frame.grid(row=0, column=1, padx=5, pady=5, sticky=(tk.W))\n ttk.Label(\n location_frame,\n text=f\"Lat: {latitude:.2f}, Lon: {longitude:.2f}\"\n ).grid(row=0, column=0, padx=5, pady=2)\n\n def create_chart(self) -> None:\n \"\"\"\n Create a line chart using matplotlib\n \"\"\"\n # Create figure and axis\n fig = Figure(figsize=(8, 4))\n ax = fig.add_subplot(111)\n\n # Extract data for plotting\n dates = [d['date'] for d in data]\n highs = [d['high'] for d in data]\n lows = [d['low'] for d in data]\n\n # Plot lines\n ax.plot(dates, highs, marker='o', label='High', color='red')\n ax.plot(dates, lows, marker='o', label='Low', color='blue')\n\n # Customize chart\n ax.grid(True)\n ax.set_xlabel('Date')\n ax.set_ylabel('Temperature')\n ax.legend()\n\n # Rotate x-axis labels for better readability\n plt.setp(ax.get_xticklabels(), rotation=45)\n\n # Create canvas and add to frame\n canvas = FigureCanvasTkAgg(fig, master=self.chart_frame)\n canvas.draw()\n canvas.get_tk_widget().grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))\n\ndef main():\n root = tk.Tk()\n dashboard = WeatherDashboard(root)\n\n # Example coordinates (Paris)\n dashboard.render_header(48.8566, 2.3522)\n dashboard.create_chart()\n\n # Configure grid weights\n root.columnconfigure(0, weight=1)\n root.rowconfigure(1, weight=1)\n\n # Start the application\n root.mainloop()\n\nif __name__ == \"__main__\":\n main()\n\n```\n\n### And some mermaids:\n\n```mermaid\ngraph TD\n A[Christmas] -->|Get money| B(Go shopping)\n B --> C{Let me think}\n B --> G[/Another/]\n C ==>|One| D[Laptop]\n C -->|Two| E[iPhone]\n C -->|Three| F[fa:fa-car Car]\n subgraph section\n C\n D\n E\n F\n G\n end\n```\n\n```mermaid pie chart\npie title Distribution\n \"Category A\" : 30\n \"Category B\" : 20\n \"Category C\" : 15\n \"Category D\" : 10\n \"Category E\" : 25\n```\n\n";
21
21
  export var ExtendedMarkdownStory = {
22
22
  args: {
23
23
  content: example,
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.stories.js","sourceRoot":"","sources":["../../../src/stories/Markdown.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,CAAC,UAAC,KAAK,IAAK,OAAA,oBAAC,KAAK,OAAG,EAAT,CAAS,CAAC;IAClC,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,OAAO,EAAE;gBACP,mBAAmB;gBACnB,yBAAyB;gBACzB,kBAAkB;aACnB;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;KACF;CAC8B,CAAC;AAElC,eAAe,IAAI,CAAC;AAGpB,IAAM,OAAO,GAAG,65WA0Uf,CAAC;AAEF,MAAM,CAAC,IAAM,qBAAqB,GAAU;IAC1C,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;KACjB;CACF,CAAC;AAEF,IAAM,cAAc,GAAG,+9CAuEtB,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAU;IACtC,IAAI,EAAE;QACJ,OAAO,EAAE,cAAc;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"Markdown.stories.js","sourceRoot":"","sources":["../../../src/stories/Markdown.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,CAAC,UAAC,KAAK,IAAK,OAAA,oBAAC,KAAK,OAAG,EAAT,CAAS,CAAC;IAClC,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,OAAO,EAAE;gBACP,mBAAmB;gBACnB,yBAAyB;gBACzB,kBAAkB;aACnB;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;KACF;CAC8B,CAAC;AAElC,eAAe,IAAI,CAAC;AAGpB,IAAM,OAAO,GAAG,gqYA8Vf,CAAC;AAEF,MAAM,CAAC,IAAM,qBAAqB,GAAU;IAC1C,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;KACjB;CACF,CAAC;AAEF,IAAM,cAAc,GAAG,+9CAuEtB,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAU;IACtC,IAAI,EAAE;QACJ,OAAO,EAAE,cAAc;KACxB;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.4.9",
3
+ "version": "0.4.11",
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",
@@ -126,6 +126,7 @@ export interface ContentMessageProps {
126
126
  size?: ContentMessageSizeType;
127
127
  variant?: ContentMessageVariantType;
128
128
  icon?: ComponentType;
129
+ action?: React.ReactNode;
129
130
  }
130
131
 
131
132
  function ContentMessage({
@@ -135,22 +136,37 @@ function ContentMessage({
135
136
  size = "md",
136
137
  className = "",
137
138
  icon,
139
+ action,
138
140
  }: ContentMessageProps) {
139
141
  return (
140
142
  <div className={cn(contentMessageVariants({ variant, size }), className)}>
141
- {(icon || title) && (
142
- <div className="s-flex s-items-center s-gap-1.5">
143
- {icon && (
144
- <Icon
145
- size="sm"
146
- visual={icon}
147
- className={iconVariants({ variant })}
148
- />
143
+ <div
144
+ className={cn(
145
+ "s-flex s-gap-3",
146
+ action ? "s-items-center s-justify-between" : "s-flex-col"
147
+ )}
148
+ >
149
+ <div className="s-flex s-flex-col s-gap-1">
150
+ {(icon || title) && (
151
+ <div className="s-flex s-items-center s-gap-1.5">
152
+ {icon && (
153
+ <Icon
154
+ size="sm"
155
+ visual={icon}
156
+ className={iconVariants({ variant })}
157
+ />
158
+ )}
159
+ {title && (
160
+ <div className={titleVariants({ variant })}>{title}</div>
161
+ )}
162
+ </div>
163
+ )}
164
+ {children && (
165
+ <div className={textVariants({ variant })}>{children}</div>
149
166
  )}
150
- {title && <div className={titleVariants({ variant })}>{title}</div>}
151
167
  </div>
152
- )}
153
- {children && <div className={textVariants({ variant })}>{children}</div>}
168
+ {action && <div className="s-shrink-0">{action}</div>}
169
+ </div>
154
170
  {/* TODO(2025-08-13 aubin): Allow passing a ContentMessageAction here. */}
155
171
  </div>
156
172
  );
@@ -24,7 +24,10 @@ import {
24
24
  TableHeadBlock,
25
25
  TableHeaderBlock,
26
26
  } from "@sparkle/components/markdown/TableBlock";
27
- import { sanitizeContent } from "@sparkle/components/markdown/utils";
27
+ import {
28
+ preprocessDollarSigns,
29
+ sanitizeContent,
30
+ } from "@sparkle/components/markdown/utils";
28
31
  import { cn } from "@sparkle/lib/utils";
29
32
 
30
33
  export const markdownHeaderClasses = {
@@ -70,7 +73,10 @@ export function Markdown({
70
73
  additionalMarkdownComponents?: Components;
71
74
  additionalMarkdownPlugins?: PluggableList;
72
75
  }) {
73
- const processedContent = useMemo(() => sanitizeContent(content), [content]);
76
+ const processedContent = useMemo(() => {
77
+ const sanitized = sanitizeContent(content);
78
+ return preprocessDollarSigns(sanitized);
79
+ }, [content]);
74
80
 
75
81
  // Note on re-renderings. A lot of effort has been put into preventing rerendering across markdown
76
82
  // AST parsing rounds (happening at each token being streamed).
@@ -214,7 +220,7 @@ export function Markdown({
214
220
  () => [
215
221
  remarkDirective,
216
222
  remarkGfm,
217
- [remarkMath, { singleDollarTextMath: false }],
223
+ [remarkMath, { singleDollarTextMath: true }],
218
224
  ...(additionalMarkdownPlugins || []),
219
225
  showUnsupportedDirective,
220
226
  ],
@@ -39,3 +39,43 @@ export function detectLanguage(children: React.ReactNode) {
39
39
 
40
40
  return "text";
41
41
  }
42
+
43
+ /**
44
+ * Preprocesses content to escape dollar signs that are likely NOT inlione LaTeX math. This helps
45
+ * prevent false positives when enabling single $ math rendering.
46
+ *
47
+ * Patterns that are escaped:
48
+ * 1. Solo dollar signs: `$` (not part of a pair)
49
+ * 1. Currency amounts: $100, $5.99, $1,000, $50k, $2.5M, $1 billion
50
+ * 2. Shell/code variables: $HOME, $PATH, ${variable}
51
+ */
52
+ export function preprocessDollarSigns(content: string): string {
53
+ let processed = content;
54
+
55
+ processed = processed
56
+ .split("\n")
57
+ .map((line) => {
58
+ const unescapedDollarMatches = line.match(/(?<!\\)\$/g) ?? [];
59
+ // 1. Escape solo dollar signs per line: we ignore math spans crossing newlines.
60
+ if (unescapedDollarMatches.length === 1) {
61
+ return line.replace(/(?<!\\)\$/, "\\$");
62
+ } else if (unescapedDollarMatches.length > 1) {
63
+ // 2. Protect currency patterns
64
+ // Matches: $100, $5.99, $1,000.50, $50k, $2.5M, $1 billion, etc.
65
+ line = line.replace(
66
+ /(?<!\\)\$(\d+(?:,\d{3})*(?:\.\d{1,2})?(?:\s*(?:USD|EUR|CAD|GBP|million|billion|thousand|[kKmMbB]))?)\b/g,
67
+ "\\$$$1"
68
+ );
69
+
70
+ // 3. Protect shell/code variables
71
+ // Matches: $HOME, $PATH, $USER, ${variable}, ${foo.bar}
72
+ line = line.replace(/(?<!\\)\$([A-Z_][A-Z0-9_]*)\b/g, "\\$$$1");
73
+
74
+ line = line.replace(/(?<!\\)\$\{([^}]+)\}/g, "\\${$1}");
75
+ }
76
+ return line;
77
+ })
78
+ .join("\n");
79
+
80
+ return processed;
81
+ }
@@ -10,6 +10,10 @@ import {
10
10
  InformationCircleIcon,
11
11
  } from "../index_with_tw_base";
12
12
 
13
+ type ContentMessageStoryProps = React.ComponentProps<typeof ContentMessage> & {
14
+ showAction?: boolean;
15
+ };
16
+
13
17
  const ICONS = {
14
18
  none: null,
15
19
  InformationCircleIcon: InformationCircleIcon,
@@ -17,7 +21,7 @@ const ICONS = {
17
21
  HeartIcon: HeartIcon,
18
22
  } as const;
19
23
 
20
- const meta = {
24
+ const meta: Meta<ContentMessageStoryProps> = {
21
25
  title: "Components/ContentMessage",
22
26
  component: ContentMessage,
23
27
  argTypes: {
@@ -56,17 +60,32 @@ const meta = {
56
60
  control: { type: "select" },
57
61
  description: "Icon to display",
58
62
  },
63
+ showAction: {
64
+ control: "boolean",
65
+ description: "Show a right-aligned action button",
66
+ },
59
67
  },
60
- } satisfies Meta<typeof ContentMessage>;
68
+ };
61
69
 
62
70
  export default meta;
63
- type Story = StoryObj<typeof meta>;
71
+ type Story = StoryObj<ContentMessageStoryProps>;
64
72
 
65
73
  export const Basic: Story = {
74
+ render: ({ showAction, ...args }) => (
75
+ <ContentMessage
76
+ {...args}
77
+ action={
78
+ showAction ? (
79
+ <ContentMessageAction variant="primary" label="Action" />
80
+ ) : undefined
81
+ }
82
+ />
83
+ ),
66
84
  args: {
67
85
  title: "This is a title",
68
86
  children: "This is a message. It can be multiple lines long.",
69
87
  size: "md",
88
+ showAction: false,
70
89
  },
71
90
  };
72
91