@gram-ai/elements 1.25.2 → 1.26.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 (162) hide show
  1. package/dist/components/Chat/stories/Charts.stories.d.ts +37 -0
  2. package/dist/components/Chat/stories/GenerativeUI.stories.d.ts +17 -0
  3. package/dist/components/ui/button.d.ts +1 -1
  4. package/dist/components/ui/buttonVariants.d.ts +1 -1
  5. package/dist/components/ui/charts.stories.d.ts +43 -0
  6. package/dist/components/ui/generative-ui.stories.d.ts +53 -0
  7. package/dist/components/ui/tool-ui.d.ts +16 -1
  8. package/dist/elements.cjs +1 -1
  9. package/dist/elements.css +1 -1
  10. package/dist/elements.js +6 -6
  11. package/dist/index-BpJstUh1.cjs +280 -0
  12. package/dist/index-BpJstUh1.cjs.map +1 -0
  13. package/dist/index-CUitXazZ.js +30426 -0
  14. package/dist/index-CUitXazZ.js.map +1 -0
  15. package/dist/index-DdrZQXwQ.cjs +147 -0
  16. package/dist/index-DdrZQXwQ.cjs.map +1 -0
  17. package/dist/index-DfqYP0CD.js +37062 -0
  18. package/dist/index-DfqYP0CD.js.map +1 -0
  19. package/dist/plugins/chart/catalog.d.ts +123 -0
  20. package/dist/plugins/chart/index.d.ts +1 -1
  21. package/dist/plugins/chart/ui/area-chart.d.ts +16 -0
  22. package/dist/plugins/chart/ui/bar-chart.d.ts +16 -0
  23. package/dist/plugins/chart/ui/donut-chart.d.ts +17 -0
  24. package/dist/plugins/chart/ui/index.d.ts +7 -0
  25. package/dist/plugins/chart/ui/line-chart.d.ts +17 -0
  26. package/dist/plugins/chart/ui/pie-chart.d.ts +15 -0
  27. package/dist/plugins/chart/ui/radar-chart.d.ts +14 -0
  28. package/dist/plugins/chart/ui/scatter-chart.d.ts +18 -0
  29. package/dist/plugins/components/MacOSWindowFrame.d.ts +13 -0
  30. package/dist/plugins/components/PluginLoadingState.d.ts +1 -1
  31. package/dist/plugins/generative-ui/catalog.d.ts +293 -0
  32. package/dist/plugins/generative-ui/ui/accordion-wrapper.d.ts +18 -0
  33. package/dist/plugins/generative-ui/ui/accordion.d.ts +7 -0
  34. package/dist/plugins/generative-ui/ui/action-button.d.ts +10 -0
  35. package/dist/plugins/generative-ui/ui/alert-wrapper.d.ts +9 -0
  36. package/dist/plugins/generative-ui/ui/alert.d.ts +9 -0
  37. package/dist/plugins/generative-ui/ui/avatar-wrapper.d.ts +9 -0
  38. package/dist/plugins/generative-ui/ui/avatar.d.ts +11 -0
  39. package/dist/plugins/generative-ui/ui/badge.d.ts +12 -0
  40. package/dist/plugins/generative-ui/ui/button-wrapper.d.ts +15 -0
  41. package/dist/plugins/generative-ui/ui/button.d.ts +10 -0
  42. package/dist/plugins/generative-ui/ui/card-wrapper.d.ts +10 -0
  43. package/dist/plugins/generative-ui/ui/card.d.ts +9 -0
  44. package/dist/plugins/generative-ui/ui/checkbox-wrapper.d.ts +10 -0
  45. package/dist/plugins/generative-ui/ui/checkbox.d.ts +4 -0
  46. package/dist/plugins/generative-ui/ui/data-table.d.ts +10 -0
  47. package/dist/plugins/generative-ui/ui/dialog.d.ts +17 -0
  48. package/dist/plugins/generative-ui/ui/dropdown-menu.d.ts +25 -0
  49. package/dist/plugins/generative-ui/ui/grid.d.ts +6 -0
  50. package/dist/plugins/generative-ui/ui/index.d.ts +40 -0
  51. package/dist/plugins/generative-ui/ui/input-wrapper.d.ts +11 -0
  52. package/dist/plugins/generative-ui/ui/input.d.ts +3 -0
  53. package/dist/plugins/generative-ui/ui/label.d.ts +4 -0
  54. package/dist/plugins/generative-ui/ui/list.d.ts +6 -0
  55. package/dist/plugins/generative-ui/ui/metric.d.ts +7 -0
  56. package/dist/plugins/generative-ui/ui/pagination.d.ts +13 -0
  57. package/dist/plugins/generative-ui/ui/popover.d.ts +10 -0
  58. package/dist/plugins/generative-ui/ui/progress.d.ts +10 -0
  59. package/dist/plugins/generative-ui/ui/radio-group.d.ts +5 -0
  60. package/dist/plugins/generative-ui/ui/select-wrapper.d.ts +13 -0
  61. package/dist/plugins/generative-ui/ui/select.d.ts +15 -0
  62. package/dist/plugins/generative-ui/ui/separator.d.ts +4 -0
  63. package/dist/plugins/generative-ui/ui/skeleton-wrapper.d.ts +9 -0
  64. package/dist/plugins/generative-ui/ui/skeleton.d.ts +2 -0
  65. package/dist/plugins/generative-ui/ui/stack.d.ts +8 -0
  66. package/dist/plugins/generative-ui/ui/switch.d.ts +6 -0
  67. package/dist/plugins/generative-ui/ui/table.d.ts +10 -0
  68. package/dist/plugins/generative-ui/ui/tabs-wrapper.d.ts +21 -0
  69. package/dist/plugins/generative-ui/ui/tabs.d.ts +11 -0
  70. package/dist/plugins/generative-ui/ui/text.d.ts +7 -0
  71. package/dist/plugins/generative-ui/ui/textarea.d.ts +3 -0
  72. package/dist/plugins/generative-ui/ui/tooltip.d.ts +7 -0
  73. package/dist/plugins.cjs +1 -1
  74. package/dist/plugins.js +1 -1
  75. package/dist/{profiler-BaG0scxd.js → profiler-WoFj2UH8.js} +2 -2
  76. package/dist/{profiler-BaG0scxd.js.map → profiler-WoFj2UH8.js.map} +1 -1
  77. package/dist/{profiler-CuqENACf.cjs → profiler-ZLr2-8s7.cjs} +2 -2
  78. package/dist/{profiler-CuqENACf.cjs.map → profiler-ZLr2-8s7.cjs.map} +1 -1
  79. package/dist/{startRecording-BiLmoqZa.cjs → startRecording-BGnWDInp.cjs} +2 -2
  80. package/dist/{startRecording-BiLmoqZa.cjs.map → startRecording-BGnWDInp.cjs.map} +1 -1
  81. package/dist/{startRecording-86bHmd-l.js → startRecording-DzQo16WK.js} +2 -2
  82. package/dist/{startRecording-86bHmd-l.js.map → startRecording-DzQo16WK.js.map} +1 -1
  83. package/package.json +4 -1
  84. package/src/components/Chat/stories/Charts.stories.tsx +260 -0
  85. package/src/components/Chat/stories/ConnectionConfiguration.stories.tsx +6 -6
  86. package/src/components/Chat/stories/GenerativeUI.stories.tsx +113 -0
  87. package/src/components/Replay.stories.tsx +1 -1
  88. package/src/components/Replay.tsx +18 -13
  89. package/src/components/ui/charts.stories.tsx +246 -0
  90. package/src/components/ui/generative-ui.stories.tsx +557 -0
  91. package/src/components/ui/generative-ui.tsx +60 -360
  92. package/src/components/ui/tool-ui.stories.tsx +6 -3
  93. package/src/components/ui/tool-ui.tsx +31 -2
  94. package/src/hooks/useAuth.ts +17 -1
  95. package/src/hooks/useFollowOnSuggestions.ts +6 -1
  96. package/src/plugins/chart/catalog.ts +141 -0
  97. package/src/plugins/chart/component.tsx +79 -125
  98. package/src/plugins/chart/index.ts +141 -89
  99. package/src/plugins/chart/ui/area-chart.tsx +133 -0
  100. package/src/plugins/chart/ui/bar-chart.tsx +137 -0
  101. package/src/plugins/chart/ui/donut-chart.tsx +167 -0
  102. package/src/plugins/chart/ui/index.ts +7 -0
  103. package/src/plugins/chart/ui/line-chart.tsx +135 -0
  104. package/src/plugins/chart/ui/pie-chart.tsx +148 -0
  105. package/src/plugins/chart/ui/radar-chart.tsx +105 -0
  106. package/src/plugins/chart/ui/scatter-chart.tsx +132 -0
  107. package/src/plugins/components/MacOSWindowFrame.tsx +55 -0
  108. package/src/plugins/components/PluginLoadingState.tsx +9 -13
  109. package/src/plugins/generative-ui/catalog.ts +277 -0
  110. package/src/plugins/generative-ui/component.tsx +112 -21
  111. package/src/plugins/generative-ui/index.ts +20 -141
  112. package/src/plugins/generative-ui/ui/accordion-wrapper.tsx +57 -0
  113. package/src/plugins/generative-ui/ui/accordion.tsx +66 -0
  114. package/src/plugins/generative-ui/ui/action-button.tsx +68 -0
  115. package/src/plugins/generative-ui/ui/alert-wrapper.tsx +26 -0
  116. package/src/plugins/generative-ui/ui/alert.tsx +66 -0
  117. package/src/plugins/generative-ui/ui/avatar-wrapper.tsx +22 -0
  118. package/src/plugins/generative-ui/ui/avatar.tsx +109 -0
  119. package/src/plugins/generative-ui/ui/badge.tsx +65 -0
  120. package/src/plugins/generative-ui/ui/button-wrapper.tsx +32 -0
  121. package/src/plugins/generative-ui/ui/button.tsx +65 -0
  122. package/src/plugins/generative-ui/ui/card-wrapper.tsx +36 -0
  123. package/src/plugins/generative-ui/ui/card.tsx +92 -0
  124. package/src/plugins/generative-ui/ui/checkbox-wrapper.tsx +39 -0
  125. package/src/plugins/generative-ui/ui/checkbox.tsx +32 -0
  126. package/src/plugins/generative-ui/ui/data-table.tsx +53 -0
  127. package/src/plugins/generative-ui/ui/dialog.tsx +158 -0
  128. package/src/plugins/generative-ui/ui/dropdown-menu.tsx +257 -0
  129. package/src/plugins/generative-ui/ui/grid.tsx +29 -0
  130. package/src/plugins/generative-ui/ui/index.ts +43 -0
  131. package/src/plugins/generative-ui/ui/input-wrapper.tsx +38 -0
  132. package/src/plugins/generative-ui/ui/input.tsx +21 -0
  133. package/src/plugins/generative-ui/ui/label.tsx +24 -0
  134. package/src/plugins/generative-ui/ui/list.tsx +34 -0
  135. package/src/plugins/generative-ui/ui/metric.tsx +53 -0
  136. package/src/plugins/generative-ui/ui/pagination.tsx +127 -0
  137. package/src/plugins/generative-ui/ui/popover.tsx +89 -0
  138. package/src/plugins/generative-ui/ui/progress.tsx +57 -0
  139. package/src/plugins/generative-ui/ui/radio-group.tsx +45 -0
  140. package/src/plugins/generative-ui/ui/select-wrapper.tsx +41 -0
  141. package/src/plugins/generative-ui/ui/select.tsx +190 -0
  142. package/src/plugins/generative-ui/ui/separator.tsx +28 -0
  143. package/src/plugins/generative-ui/ui/skeleton-wrapper.tsx +30 -0
  144. package/src/plugins/generative-ui/ui/skeleton.tsx +13 -0
  145. package/src/plugins/generative-ui/ui/stack.tsx +54 -0
  146. package/src/plugins/generative-ui/ui/switch.tsx +35 -0
  147. package/src/plugins/generative-ui/ui/table.tsx +116 -0
  148. package/src/plugins/generative-ui/ui/tabs-wrapper.tsx +51 -0
  149. package/src/plugins/generative-ui/ui/tabs.tsx +92 -0
  150. package/src/plugins/generative-ui/ui/text.tsx +33 -0
  151. package/src/plugins/generative-ui/ui/textarea.tsx +18 -0
  152. package/src/plugins/generative-ui/ui/tooltip.tsx +57 -0
  153. package/dist/components/Chat/stories/Plugins.stories.d.ts +0 -12
  154. package/dist/index-B8nSCdu4.cjs +0 -251
  155. package/dist/index-B8nSCdu4.cjs.map +0 -1
  156. package/dist/index-CAtaLV1E.cjs +0 -187
  157. package/dist/index-CAtaLV1E.cjs.map +0 -1
  158. package/dist/index-CJrwma08.js +0 -27232
  159. package/dist/index-CJrwma08.js.map +0 -1
  160. package/dist/index-DLWQ91ow.js +0 -40049
  161. package/dist/index-DLWQ91ow.js.map +0 -1
  162. package/src/components/Chat/stories/Plugins.stories.tsx +0 -158
@@ -0,0 +1,37 @@
1
+ import { Meta, StoryFn } from '@storybook/react-vite';
2
+ import { Chat } from '..';
3
+ declare const meta: Meta<typeof Chat>;
4
+ export default meta;
5
+ type Story = StoryFn<typeof Chat>;
6
+ /**
7
+ * Bar chart demo - comparing categorical data using orders summary
8
+ */
9
+ export declare const BarChart: Story;
10
+ /**
11
+ * Line chart demo - showing trends over time
12
+ */
13
+ export declare const LineChart: Story;
14
+ /**
15
+ * Area chart demo - showing volume over time
16
+ */
17
+ export declare const AreaChart: Story;
18
+ /**
19
+ * Pie chart demo - showing proportions
20
+ */
21
+ export declare const PieChart: Story;
22
+ /**
23
+ * Donut chart demo - proportions with center metric
24
+ */
25
+ export declare const DonutChart: Story;
26
+ /**
27
+ * Scatter chart demo - showing correlation
28
+ */
29
+ export declare const ScatterChart: Story;
30
+ /**
31
+ * Radar chart demo - multi-dimensional comparison
32
+ */
33
+ export declare const RadarChart: Story;
34
+ /**
35
+ * All chart types overview
36
+ */
37
+ export declare const AllCharts: Story;
@@ -0,0 +1,17 @@
1
+ import { Meta, StoryFn } from '@storybook/react-vite';
2
+ import { Chat } from '..';
3
+ declare const meta: Meta<typeof Chat>;
4
+ export default meta;
5
+ type Story = StoryFn<typeof Chat>;
6
+ /**
7
+ * E-commerce store assistant with natural task-focused prompts.
8
+ */
9
+ export declare const StoreAssistant: Story;
10
+ /**
11
+ * Shopping assistant for product discovery.
12
+ */
13
+ export declare const ShoppingAssistant: Story;
14
+ /**
15
+ * Store management assistant.
16
+ */
17
+ export declare const StoreManager: Story;
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from 'react';
3
3
  declare const Button: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
4
- variant?: "default" | "link" | "secondary" | "outline" | "destructive" | "ghost" | null | undefined;
4
+ variant?: "default" | "link" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
5
5
  size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string> & {
7
7
  asChild?: boolean;
@@ -1,4 +1,4 @@
1
1
  export declare const buttonVariants: (props?: ({
2
- variant?: "default" | "link" | "secondary" | "outline" | "destructive" | "ghost" | null | undefined;
2
+ variant?: "default" | "link" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
3
3
  size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
4
4
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,43 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ /**
5
+ * Area chart showing trends over time with filled areas.
6
+ */
7
+ export declare const Area: StoryObj;
8
+ /**
9
+ * Stacked area chart comparing multiple data series.
10
+ */
11
+ export declare const AreaStacked: StoryObj;
12
+ /**
13
+ * Vertical bar chart for comparing categories.
14
+ */
15
+ export declare const Bar: StoryObj;
16
+ /**
17
+ * Horizontal bar chart layout.
18
+ */
19
+ export declare const BarHorizontal: StoryObj;
20
+ /**
21
+ * Line chart for tracking trends over time.
22
+ */
23
+ export declare const Line: StoryObj;
24
+ /**
25
+ * Curved line chart with smooth interpolation.
26
+ */
27
+ export declare const LineCurved: StoryObj;
28
+ /**
29
+ * Pie chart showing proportional data.
30
+ */
31
+ export declare const Pie: StoryObj;
32
+ /**
33
+ * Donut chart with center label.
34
+ */
35
+ export declare const Donut: StoryObj;
36
+ /**
37
+ * Radar chart for multi-dimensional comparison.
38
+ */
39
+ export declare const Radar: StoryObj;
40
+ /**
41
+ * Scatter chart for showing correlation between variables.
42
+ */
43
+ export declare const Scatter: StoryObj;
@@ -0,0 +1,53 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { GenerativeUI } from './generative-ui';
3
+ declare const meta: Meta<typeof GenerativeUI>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof GenerativeUI>;
6
+ /**
7
+ * Basic layout with Stack and Text components.
8
+ */
9
+ export declare const BasicLayout: Story;
10
+ /**
11
+ * Card with metrics displaying key statistics.
12
+ */
13
+ export declare const MetricsCard: Story;
14
+ /**
15
+ * Data table with headers and rows.
16
+ */
17
+ export declare const DataTable: Story;
18
+ /**
19
+ * Badges showing different status variants.
20
+ */
21
+ export declare const BadgeVariants: Story;
22
+ /**
23
+ * Alert messages for different contexts.
24
+ */
25
+ export declare const Alerts: Story;
26
+ /**
27
+ * Progress bars showing completion.
28
+ */
29
+ export declare const ProgressBars: Story;
30
+ /**
31
+ * Lists - ordered and unordered.
32
+ */
33
+ export declare const Lists: Story;
34
+ /**
35
+ * Accordion with collapsible sections.
36
+ */
37
+ export declare const AccordionExample: Story;
38
+ /**
39
+ * Tabs with multiple content panels.
40
+ */
41
+ export declare const TabsExample: Story;
42
+ /**
43
+ * Form elements - inputs, checkboxes, and selects.
44
+ */
45
+ export declare const FormElements: Story;
46
+ /**
47
+ * Avatar and skeleton loading states.
48
+ */
49
+ export declare const AvatarsAndSkeletons: Story;
50
+ /**
51
+ * Complete dashboard example combining multiple components.
52
+ */
53
+ export declare const Dashboard: Story;
@@ -14,6 +14,19 @@ type ContentItem = {
14
14
  'getgram.ai/mime-type'?: string;
15
15
  };
16
16
  };
17
+ /** MCP tool annotations providing hints about tool behavior */
18
+ interface ToolAnnotations {
19
+ /** Human-readable display name for the tool */
20
+ title?: string;
21
+ /** If true, the tool does not modify its environment */
22
+ readOnlyHint?: boolean;
23
+ /** If true, the tool may perform destructive updates */
24
+ destructiveHint?: boolean;
25
+ /** If true, repeated calls with same args have no additional effect */
26
+ idempotentHint?: boolean;
27
+ /** If true, tool interacts with external entities */
28
+ openWorldHint?: boolean;
29
+ }
17
30
  interface ToolUIProps {
18
31
  /** Display name of the tool */
19
32
  name: string;
@@ -33,6 +46,8 @@ interface ToolUIProps {
33
46
  defaultExpanded?: boolean;
34
47
  /** Additional class names */
35
48
  className?: string;
49
+ /** MCP tool annotations */
50
+ annotations?: ToolAnnotations;
36
51
  /** Approval callbacks */
37
52
  onApproveOnce?: () => void;
38
53
  onApproveForSession?: () => void;
@@ -64,7 +79,7 @@ declare function SyntaxHighlightedCode({ text, language, className, }: {
64
79
  className?: string;
65
80
  }): import("react/jsx-runtime").JSX.Element;
66
81
  declare function ToolUISection({ title, content, defaultExpanded, highlightSyntax, language, }: ToolUISectionProps): import("react/jsx-runtime").JSX.Element;
67
- declare function ToolUI({ name, icon, provider, status, request, result, defaultExpanded, className, onApproveOnce, onApproveForSession, onDeny, }: ToolUIProps): import("react/jsx-runtime").JSX.Element;
82
+ declare function ToolUI({ name, icon, provider, status, request, result, defaultExpanded, className, annotations, onApproveOnce, onApproveForSession, onDeny, }: ToolUIProps): import("react/jsx-runtime").JSX.Element;
68
83
  interface ToolUIGroupProps {
69
84
  /** Title for the group header */
70
85
  title: string;
package/dist/elements.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CAtaLV1E.cjs"),t=require("./index-B8nSCdu4.cjs");exports.Chat=e.Chat;exports.ChatHistory=e.ChatHistory;exports.ElementsProvider=e.ElementsProvider;exports.GramElementsProvider=e.ElementsProvider;exports.MODELS=e.MODELS;exports.Replay=e.Replay;exports.ShareButton=e.ShareButton;exports.defineFrontendTool=e.defineFrontendTool;exports.trackError=e.trackError;exports.useRecordCassette=e.useRecordCassette;exports.useThreadId=e.useThreadId;exports.useChatId=t.useChatId;exports.useElements=t.useElements;exports.useGramElements=t.useElements;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DdrZQXwQ.cjs"),t=require("./index-BpJstUh1.cjs");exports.Chat=e.Chat;exports.ChatHistory=e.ChatHistory;exports.ElementsProvider=e.ElementsProvider;exports.GramElementsProvider=e.ElementsProvider;exports.MODELS=e.MODELS;exports.Replay=e.Replay;exports.ShareButton=e.ShareButton;exports.defineFrontendTool=e.defineFrontendTool;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