@gram-ai/elements 1.25.2 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Chat/stories/Charts.stories.d.ts +37 -0
- package/dist/components/Chat/stories/GenerativeUI.stories.d.ts +17 -0
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/buttonVariants.d.ts +1 -1
- package/dist/components/ui/charts.stories.d.ts +43 -0
- package/dist/components/ui/generative-ui.stories.d.ts +53 -0
- package/dist/elements.cjs +1 -1
- package/dist/elements.css +1 -1
- package/dist/elements.js +6 -6
- package/dist/index-BJnv49-A.js +37057 -0
- package/dist/index-BJnv49-A.js.map +1 -0
- package/dist/index-BpJstUh1.cjs +280 -0
- package/dist/index-BpJstUh1.cjs.map +1 -0
- package/dist/index-CUitXazZ.js +30426 -0
- package/dist/index-CUitXazZ.js.map +1 -0
- package/dist/index-ChW-CSuu.cjs +147 -0
- package/dist/index-ChW-CSuu.cjs.map +1 -0
- package/dist/plugins/chart/catalog.d.ts +123 -0
- package/dist/plugins/chart/index.d.ts +1 -1
- package/dist/plugins/chart/ui/area-chart.d.ts +16 -0
- package/dist/plugins/chart/ui/bar-chart.d.ts +16 -0
- package/dist/plugins/chart/ui/donut-chart.d.ts +17 -0
- package/dist/plugins/chart/ui/index.d.ts +7 -0
- package/dist/plugins/chart/ui/line-chart.d.ts +17 -0
- package/dist/plugins/chart/ui/pie-chart.d.ts +15 -0
- package/dist/plugins/chart/ui/radar-chart.d.ts +14 -0
- package/dist/plugins/chart/ui/scatter-chart.d.ts +18 -0
- package/dist/plugins/components/MacOSWindowFrame.d.ts +13 -0
- package/dist/plugins/components/PluginLoadingState.d.ts +1 -1
- package/dist/plugins/generative-ui/catalog.d.ts +293 -0
- package/dist/plugins/generative-ui/ui/accordion-wrapper.d.ts +18 -0
- package/dist/plugins/generative-ui/ui/accordion.d.ts +7 -0
- package/dist/plugins/generative-ui/ui/action-button.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/alert-wrapper.d.ts +9 -0
- package/dist/plugins/generative-ui/ui/alert.d.ts +9 -0
- package/dist/plugins/generative-ui/ui/avatar-wrapper.d.ts +9 -0
- package/dist/plugins/generative-ui/ui/avatar.d.ts +11 -0
- package/dist/plugins/generative-ui/ui/badge.d.ts +12 -0
- package/dist/plugins/generative-ui/ui/button-wrapper.d.ts +15 -0
- package/dist/plugins/generative-ui/ui/button.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/card-wrapper.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/card.d.ts +9 -0
- package/dist/plugins/generative-ui/ui/checkbox-wrapper.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/checkbox.d.ts +4 -0
- package/dist/plugins/generative-ui/ui/data-table.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/dialog.d.ts +17 -0
- package/dist/plugins/generative-ui/ui/dropdown-menu.d.ts +25 -0
- package/dist/plugins/generative-ui/ui/grid.d.ts +6 -0
- package/dist/plugins/generative-ui/ui/index.d.ts +40 -0
- package/dist/plugins/generative-ui/ui/input-wrapper.d.ts +11 -0
- package/dist/plugins/generative-ui/ui/input.d.ts +3 -0
- package/dist/plugins/generative-ui/ui/label.d.ts +4 -0
- package/dist/plugins/generative-ui/ui/list.d.ts +6 -0
- package/dist/plugins/generative-ui/ui/metric.d.ts +7 -0
- package/dist/plugins/generative-ui/ui/pagination.d.ts +13 -0
- package/dist/plugins/generative-ui/ui/popover.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/progress.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/radio-group.d.ts +5 -0
- package/dist/plugins/generative-ui/ui/select-wrapper.d.ts +13 -0
- package/dist/plugins/generative-ui/ui/select.d.ts +15 -0
- package/dist/plugins/generative-ui/ui/separator.d.ts +4 -0
- package/dist/plugins/generative-ui/ui/skeleton-wrapper.d.ts +9 -0
- package/dist/plugins/generative-ui/ui/skeleton.d.ts +2 -0
- package/dist/plugins/generative-ui/ui/stack.d.ts +8 -0
- package/dist/plugins/generative-ui/ui/switch.d.ts +6 -0
- package/dist/plugins/generative-ui/ui/table.d.ts +10 -0
- package/dist/plugins/generative-ui/ui/tabs-wrapper.d.ts +21 -0
- package/dist/plugins/generative-ui/ui/tabs.d.ts +11 -0
- package/dist/plugins/generative-ui/ui/text.d.ts +7 -0
- package/dist/plugins/generative-ui/ui/textarea.d.ts +3 -0
- package/dist/plugins/generative-ui/ui/tooltip.d.ts +7 -0
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.js +1 -1
- package/dist/{profiler-BaG0scxd.js → profiler-D4Tw5ecI.js} +2 -2
- package/dist/{profiler-BaG0scxd.js.map → profiler-D4Tw5ecI.js.map} +1 -1
- package/dist/{profiler-CuqENACf.cjs → profiler-DCWYDZ1F.cjs} +2 -2
- package/dist/{profiler-CuqENACf.cjs.map → profiler-DCWYDZ1F.cjs.map} +1 -1
- package/dist/{startRecording-BiLmoqZa.cjs → startRecording-3sTskM3H.cjs} +2 -2
- package/dist/{startRecording-BiLmoqZa.cjs.map → startRecording-3sTskM3H.cjs.map} +1 -1
- package/dist/{startRecording-86bHmd-l.js → startRecording-BHhcCWQE.js} +2 -2
- package/dist/{startRecording-86bHmd-l.js.map → startRecording-BHhcCWQE.js.map} +1 -1
- package/package.json +4 -1
- package/src/components/Chat/stories/Charts.stories.tsx +260 -0
- package/src/components/Chat/stories/ConnectionConfiguration.stories.tsx +6 -6
- package/src/components/Chat/stories/GenerativeUI.stories.tsx +113 -0
- package/src/components/Replay.stories.tsx +1 -1
- package/src/components/Replay.tsx +18 -13
- package/src/components/ui/charts.stories.tsx +246 -0
- package/src/components/ui/generative-ui.stories.tsx +557 -0
- package/src/components/ui/generative-ui.tsx +60 -360
- package/src/components/ui/tool-ui.stories.tsx +6 -3
- package/src/hooks/useAuth.ts +17 -1
- package/src/hooks/useFollowOnSuggestions.ts +6 -1
- package/src/plugins/chart/catalog.ts +141 -0
- package/src/plugins/chart/component.tsx +79 -125
- package/src/plugins/chart/index.ts +141 -89
- package/src/plugins/chart/ui/area-chart.tsx +133 -0
- package/src/plugins/chart/ui/bar-chart.tsx +137 -0
- package/src/plugins/chart/ui/donut-chart.tsx +167 -0
- package/src/plugins/chart/ui/index.ts +7 -0
- package/src/plugins/chart/ui/line-chart.tsx +135 -0
- package/src/plugins/chart/ui/pie-chart.tsx +148 -0
- package/src/plugins/chart/ui/radar-chart.tsx +105 -0
- package/src/plugins/chart/ui/scatter-chart.tsx +132 -0
- package/src/plugins/components/MacOSWindowFrame.tsx +55 -0
- package/src/plugins/components/PluginLoadingState.tsx +9 -13
- package/src/plugins/generative-ui/catalog.ts +277 -0
- package/src/plugins/generative-ui/component.tsx +112 -21
- package/src/plugins/generative-ui/index.ts +20 -141
- package/src/plugins/generative-ui/ui/accordion-wrapper.tsx +57 -0
- package/src/plugins/generative-ui/ui/accordion.tsx +66 -0
- package/src/plugins/generative-ui/ui/action-button.tsx +68 -0
- package/src/plugins/generative-ui/ui/alert-wrapper.tsx +26 -0
- package/src/plugins/generative-ui/ui/alert.tsx +66 -0
- package/src/plugins/generative-ui/ui/avatar-wrapper.tsx +22 -0
- package/src/plugins/generative-ui/ui/avatar.tsx +109 -0
- package/src/plugins/generative-ui/ui/badge.tsx +65 -0
- package/src/plugins/generative-ui/ui/button-wrapper.tsx +32 -0
- package/src/plugins/generative-ui/ui/button.tsx +65 -0
- package/src/plugins/generative-ui/ui/card-wrapper.tsx +36 -0
- package/src/plugins/generative-ui/ui/card.tsx +92 -0
- package/src/plugins/generative-ui/ui/checkbox-wrapper.tsx +39 -0
- package/src/plugins/generative-ui/ui/checkbox.tsx +32 -0
- package/src/plugins/generative-ui/ui/data-table.tsx +53 -0
- package/src/plugins/generative-ui/ui/dialog.tsx +158 -0
- package/src/plugins/generative-ui/ui/dropdown-menu.tsx +257 -0
- package/src/plugins/generative-ui/ui/grid.tsx +29 -0
- package/src/plugins/generative-ui/ui/index.ts +43 -0
- package/src/plugins/generative-ui/ui/input-wrapper.tsx +38 -0
- package/src/plugins/generative-ui/ui/input.tsx +21 -0
- package/src/plugins/generative-ui/ui/label.tsx +24 -0
- package/src/plugins/generative-ui/ui/list.tsx +34 -0
- package/src/plugins/generative-ui/ui/metric.tsx +53 -0
- package/src/plugins/generative-ui/ui/pagination.tsx +127 -0
- package/src/plugins/generative-ui/ui/popover.tsx +89 -0
- package/src/plugins/generative-ui/ui/progress.tsx +57 -0
- package/src/plugins/generative-ui/ui/radio-group.tsx +45 -0
- package/src/plugins/generative-ui/ui/select-wrapper.tsx +41 -0
- package/src/plugins/generative-ui/ui/select.tsx +190 -0
- package/src/plugins/generative-ui/ui/separator.tsx +28 -0
- package/src/plugins/generative-ui/ui/skeleton-wrapper.tsx +30 -0
- package/src/plugins/generative-ui/ui/skeleton.tsx +13 -0
- package/src/plugins/generative-ui/ui/stack.tsx +54 -0
- package/src/plugins/generative-ui/ui/switch.tsx +35 -0
- package/src/plugins/generative-ui/ui/table.tsx +116 -0
- package/src/plugins/generative-ui/ui/tabs-wrapper.tsx +51 -0
- package/src/plugins/generative-ui/ui/tabs.tsx +92 -0
- package/src/plugins/generative-ui/ui/text.tsx +33 -0
- package/src/plugins/generative-ui/ui/textarea.tsx +18 -0
- package/src/plugins/generative-ui/ui/tooltip.tsx +57 -0
- package/dist/components/Chat/stories/Plugins.stories.d.ts +0 -12
- package/dist/index-B8nSCdu4.cjs +0 -251
- package/dist/index-B8nSCdu4.cjs.map +0 -1
- package/dist/index-CAtaLV1E.cjs +0 -187
- package/dist/index-CAtaLV1E.cjs.map +0 -1
- package/dist/index-CJrwma08.js +0 -27232
- package/dist/index-CJrwma08.js.map +0 -1
- package/dist/index-DLWQ91ow.js +0 -40049
- package/dist/index-DLWQ91ow.js.map +0 -1
- package/src/components/Chat/stories/Plugins.stories.tsx +0 -158
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
2
|
-
import { z } from 'zod'
|
|
3
|
-
import { Chat } from '..'
|
|
4
|
-
import { defineFrontendTool } from '../../../lib/tools'
|
|
5
|
-
|
|
6
|
-
const meta: Meta<typeof Chat> = {
|
|
7
|
-
title: 'Chat/Plugins',
|
|
8
|
-
component: Chat,
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: 'fullscreen',
|
|
11
|
-
},
|
|
12
|
-
} satisfies Meta<typeof Chat>
|
|
13
|
-
|
|
14
|
-
export default meta
|
|
15
|
-
|
|
16
|
-
type Story = StoryFn<typeof Chat>
|
|
17
|
-
|
|
18
|
-
const countryData = JSON.stringify({
|
|
19
|
-
countries: [
|
|
20
|
-
{ name: 'USA', gdp: 22000 },
|
|
21
|
-
{ name: 'Canada', gdp: 16000 },
|
|
22
|
-
{ name: 'Mexico', gdp: 10000 },
|
|
23
|
-
],
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
export const ChartPlugin: Story = () => <Chat />
|
|
27
|
-
ChartPlugin.parameters = {
|
|
28
|
-
elements: {
|
|
29
|
-
config: {
|
|
30
|
-
variant: 'standalone',
|
|
31
|
-
welcome: {
|
|
32
|
-
suggestions: [
|
|
33
|
-
{
|
|
34
|
-
title: 'Create a chart',
|
|
35
|
-
label: 'Visualize your data',
|
|
36
|
-
prompt: `Create a bar chart for the following country + GDP data:
|
|
37
|
-
${countryData}
|
|
38
|
-
`,
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const salesData = JSON.stringify({
|
|
47
|
-
headers: ['Product', 'Q1', 'Q2', 'Q3', 'Q4'],
|
|
48
|
-
rows: [
|
|
49
|
-
['Widget A', '$12,500', '$15,200', '$18,900', '$22,100'],
|
|
50
|
-
['Widget B', '$8,300', '$9,100', '$11,400', '$14,200'],
|
|
51
|
-
['Widget C', '$5,600', '$6,800', '$7,900', '$9,500'],
|
|
52
|
-
],
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
export const GenerativeUI: Story = () => <Chat />
|
|
56
|
-
GenerativeUI.parameters = {
|
|
57
|
-
elements: {
|
|
58
|
-
config: {
|
|
59
|
-
variant: 'standalone',
|
|
60
|
-
welcome: {
|
|
61
|
-
suggestions: [
|
|
62
|
-
{
|
|
63
|
-
title: 'Sales Dashboard',
|
|
64
|
-
label: 'Q4 performance metrics',
|
|
65
|
-
prompt: `Here's our Q4 sales data:
|
|
66
|
-
${salesData}
|
|
67
|
-
|
|
68
|
-
Summarize the Q4 performance - show total revenue, quarter-over-quarter growth, and which product performed best. We're at 85% of our Q4 target.`,
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
title: 'Task List',
|
|
72
|
-
label: 'My pending tasks',
|
|
73
|
-
prompt: `Show me my pending tasks for today. I have 3 tasks:
|
|
74
|
-
1. Review PR #234 - high priority
|
|
75
|
-
2. Update documentation - medium priority
|
|
76
|
-
3. Team sync meeting - scheduled for 3pm`,
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
title: 'System Status',
|
|
80
|
-
label: 'Service health check',
|
|
81
|
-
prompt: `What's the current status of our services?
|
|
82
|
-
- API: healthy, 99.9% uptime
|
|
83
|
-
- Database: healthy, 45% capacity used
|
|
84
|
-
- Cache: degraded, high latency detected
|
|
85
|
-
- Queue: healthy, 1,240 jobs processed`,
|
|
86
|
-
},
|
|
87
|
-
],
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Frontend tools for ActionButton demo
|
|
94
|
-
const completeTaskTool = defineFrontendTool<{ taskId: number }, string>(
|
|
95
|
-
{
|
|
96
|
-
description: 'Mark a task as complete',
|
|
97
|
-
parameters: z.object({
|
|
98
|
-
taskId: z.number().describe('The task ID to mark as complete'),
|
|
99
|
-
}),
|
|
100
|
-
execute: async ({ taskId }) => {
|
|
101
|
-
await new Promise((resolve) => setTimeout(resolve, 500))
|
|
102
|
-
return `Task #${taskId} has been marked as complete.`
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
'complete_task'
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
const deleteTaskTool = defineFrontendTool<{ taskId: number }, string>(
|
|
109
|
-
{
|
|
110
|
-
description: 'Delete a task',
|
|
111
|
-
parameters: z.object({
|
|
112
|
-
taskId: z.number().describe('The task ID to delete'),
|
|
113
|
-
}),
|
|
114
|
-
execute: async ({ taskId }) => {
|
|
115
|
-
await new Promise((resolve) => setTimeout(resolve, 500))
|
|
116
|
-
return `Task #${taskId} has been deleted.`
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
'delete_task'
|
|
120
|
-
)
|
|
121
|
-
|
|
122
|
-
const actionTools = {
|
|
123
|
-
complete_task: completeTaskTool,
|
|
124
|
-
delete_task: deleteTaskTool,
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Demonstrates ActionButton in generative UI that triggers frontend tool calls.
|
|
129
|
-
* When a button is clicked, it directly executes the tool without an LLM roundtrip.
|
|
130
|
-
*/
|
|
131
|
-
export const GenerativeUIWithActions: Story = () => <Chat />
|
|
132
|
-
GenerativeUIWithActions.parameters = {
|
|
133
|
-
elements: {
|
|
134
|
-
config: {
|
|
135
|
-
variant: 'standalone',
|
|
136
|
-
welcome: {
|
|
137
|
-
title: 'Task Manager',
|
|
138
|
-
subtitle: 'Manage your tasks with quick actions',
|
|
139
|
-
suggestions: [
|
|
140
|
-
{
|
|
141
|
-
title: 'My Tasks',
|
|
142
|
-
label: 'View pending work',
|
|
143
|
-
prompt: `Show me my task list. I have these pending tasks:
|
|
144
|
-
|
|
145
|
-
Task #1: "Update user authentication" - in progress
|
|
146
|
-
Task #2: "Fix pagination bug" - pending review
|
|
147
|
-
Task #3: "Write API documentation" - not started
|
|
148
|
-
|
|
149
|
-
I should be able to mark tasks as complete or delete them.`,
|
|
150
|
-
},
|
|
151
|
-
],
|
|
152
|
-
},
|
|
153
|
-
tools: {
|
|
154
|
-
frontendTools: actionTools,
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
},
|
|
158
|
-
}
|