@gram-ai/elements 1.29.0 → 1.30.1

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 (45) hide show
  1. package/dist/components/MessageContent.d.ts +20 -0
  2. package/dist/components/MessageContent.parser.d.ts +12 -0
  3. package/dist/components/MessageContent.test.d.ts +1 -0
  4. package/dist/elements.cjs +1 -1
  5. package/dist/elements.css +1 -1
  6. package/dist/elements.js +14 -13
  7. package/dist/{index-BzA55RRF.js → index-4kebYSVY.js} +7863 -7815
  8. package/dist/index-4kebYSVY.js.map +1 -0
  9. package/dist/{index-C4bFBGfl.cjs → index-COzPF-WM.cjs} +45 -45
  10. package/dist/index-COzPF-WM.cjs.map +1 -0
  11. package/dist/{index-D93pV0_o.js → index-CRhpKl-G.js} +5218 -5201
  12. package/dist/index-CRhpKl-G.js.map +1 -0
  13. package/dist/{index-CgO7wXs-.cjs → index-j7ZTyK_F.cjs} +49 -49
  14. package/dist/index-j7ZTyK_F.cjs.map +1 -0
  15. package/dist/index.d.ts +2 -0
  16. package/dist/plugins/index.d.ts +4 -1
  17. package/dist/plugins/index.test.d.ts +1 -0
  18. package/dist/plugins.cjs +1 -1
  19. package/dist/plugins.js +1 -1
  20. package/dist/{profiler-BmAwBXpj.cjs → profiler-DQbQSZrm.cjs} +2 -2
  21. package/dist/{profiler-BmAwBXpj.cjs.map → profiler-DQbQSZrm.cjs.map} +1 -1
  22. package/dist/{profiler-BPCxiY-X.js → profiler-DS2JBj9s.js} +2 -2
  23. package/dist/{profiler-BPCxiY-X.js.map → profiler-DS2JBj9s.js.map} +1 -1
  24. package/dist/{startRecording-DXGt4fON.js → startRecording-BEVJ7NHn.js} +2 -2
  25. package/dist/{startRecording-DXGt4fON.js.map → startRecording-BEVJ7NHn.js.map} +1 -1
  26. package/dist/{startRecording-B0Xe2DOI.cjs → startRecording-BRRW8lGG.cjs} +2 -2
  27. package/dist/{startRecording-B0Xe2DOI.cjs.map → startRecording-BRRW8lGG.cjs.map} +1 -1
  28. package/dist/types/plugins.d.ts +5 -0
  29. package/package.json +2 -2
  30. package/src/components/MessageContent.parser.ts +39 -0
  31. package/src/components/MessageContent.test.ts +110 -0
  32. package/src/components/MessageContent.tsx +82 -0
  33. package/src/contexts/ElementsProvider.tsx +13 -3
  34. package/src/global.css +38 -12
  35. package/src/index.ts +2 -0
  36. package/src/plugins/chart/index.ts +1 -0
  37. package/src/plugins/chart/ui/bar-chart.tsx +9 -1
  38. package/src/plugins/generative-ui/index.ts +1 -0
  39. package/src/plugins/index.test.ts +62 -0
  40. package/src/plugins/index.ts +14 -1
  41. package/src/types/plugins.ts +6 -0
  42. package/dist/index-BzA55RRF.js.map +0 -1
  43. package/dist/index-C4bFBGfl.cjs.map +0 -1
  44. package/dist/index-CgO7wXs-.cjs.map +0 -1
  45. package/dist/index-D93pV0_o.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ import { FC } from 'react';
2
+ export interface MessageContentProps {
3
+ /** Raw assistant message content (markdown text optionally containing
4
+ * ```chart and ```ui fenced code blocks). */
5
+ content: string;
6
+ /** Optional className applied to the root container. */
7
+ className?: string;
8
+ }
9
+ /**
10
+ * Standalone renderer for stored chat message content. Recognises the same
11
+ * `chart` and `ui` fenced code blocks that the live `<Chat />` component
12
+ * renders as widgets, but works without an `ElementsProvider`, MCP client,
13
+ * auth session, or assistant-ui runtime.
14
+ *
15
+ * Use in static viewers (agent session detail panel, replay, share) so a
16
+ * stored bar chart appears as a chart instead of as raw JSON. Plain markdown
17
+ * formatting is intentionally not applied — text segments render as
18
+ * preformatted text.
19
+ */
20
+ export declare const MessageContent: FC<MessageContentProps>;
@@ -0,0 +1,12 @@
1
+ /** @internal Sibling of MessageContent.tsx so component file can stay component-only (Fast Refresh). */
2
+ /** @internal */
3
+ export type Segment = {
4
+ type: "text";
5
+ text: string;
6
+ } | {
7
+ type: "block";
8
+ lang: string;
9
+ code: string;
10
+ };
11
+ /** @internal */
12
+ export declare function parseSegments(content: string): Segment[];
@@ -0,0 +1 @@
1
+ export {};
package/dist/elements.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CgO7wXs-.cjs"),r=require("./index-C4bFBGfl.cjs");exports.Calendar=e.Calendar;exports.Chat=e.Chat;exports.ChatHistory=e.ChatHistory;exports.ElementsProvider=e.ElementsProvider;exports.GramElementsProvider=e.ElementsProvider;exports.MODELS=e.MODELS;exports.PRESETS=e.PRESETS;exports.Replay=e.Replay;exports.ShareButton=e.ShareButton;exports.TimeRangePicker=e.TimeRangePicker;exports.ToolFallback=e.ToolFallback;exports.defineFrontendTool=e.defineFrontendTool;exports.getPresetRange=e.getPresetRange;exports.trackError=e.trackError;exports.useRecordCassette=e.useRecordCassette;exports.useThreadId=e.useThreadId;exports.useChatId=r.useChatId;exports.useElements=r.useElements;exports.useGramElements=r.useElements;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-j7ZTyK_F.cjs"),t=require("./index-COzPF-WM.cjs");exports.Calendar=e.Calendar;exports.Chat=e.Chat;exports.ChatHistory=e.ChatHistory;exports.ElementsProvider=e.ElementsProvider;exports.GramElementsProvider=e.ElementsProvider;exports.MODELS=e.MODELS;exports.MessageContent=e.MessageContent;exports.PRESETS=e.PRESETS;exports.Replay=e.Replay;exports.ShareButton=e.ShareButton;exports.TimeRangePicker=e.TimeRangePicker;exports.ToolFallback=e.ToolFallback;exports.defineFrontendTool=e.defineFrontendTool;exports.getPresetRange=e.getPresetRange;exports.trackError=e.trackError;exports.useRecordCassette=e.useRecordCassette;exports.useThreadId=e.useThreadId;exports.useChatId=t.useChatId;exports.useElements=t.useElements;exports.useGramElements=t.useElements;
2
2
  //# sourceMappingURL=elements.cjs.map