@dust-tt/sparkle 0.2.563 → 0.2.564-rc-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 (108) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/DataTable.d.ts +2 -4
  3. package/dist/esm/components/DataTable.d.ts.map +1 -1
  4. package/dist/esm/components/DataTable.js +9 -27
  5. package/dist/esm/components/DataTable.js.map +1 -1
  6. package/dist/esm/components/MultiPageSheet.d.ts +0 -1
  7. package/dist/esm/components/MultiPageSheet.d.ts.map +1 -1
  8. package/dist/esm/components/MultiPageSheet.js +2 -2
  9. package/dist/esm/components/MultiPageSheet.js.map +1 -1
  10. package/dist/esm/components/RadioGroup.d.ts +1 -4
  11. package/dist/esm/components/RadioGroup.d.ts.map +1 -1
  12. package/dist/esm/components/RadioGroup.js +2 -2
  13. package/dist/esm/components/RadioGroup.js.map +1 -1
  14. package/dist/esm/components/TextArea.d.ts +1 -4
  15. package/dist/esm/components/TextArea.d.ts.map +1 -1
  16. package/dist/esm/components/TextArea.js +1 -5
  17. package/dist/esm/components/TextArea.js.map +1 -1
  18. package/dist/esm/components/index.d.ts +2 -4
  19. package/dist/esm/components/index.d.ts.map +1 -1
  20. package/dist/esm/components/index.js +2 -3
  21. package/dist/esm/components/index.js.map +1 -1
  22. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.d.ts.map +1 -1
  23. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.js +33 -4
  24. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.js.map +1 -1
  25. package/dist/esm/components/markdown/ContentBlockWrapper.d.ts +2 -1
  26. package/dist/esm/components/markdown/ContentBlockWrapper.d.ts.map +1 -1
  27. package/dist/esm/components/markdown/ContentBlockWrapper.js +44 -6
  28. package/dist/esm/components/markdown/ContentBlockWrapper.js.map +1 -1
  29. package/dist/esm/components/markdown/Markdown.js +6 -6
  30. package/dist/esm/components/markdown/Markdown.js.map +1 -1
  31. package/dist/esm/components/markdown/PrettyJsonViewer.js +2 -2
  32. package/dist/esm/components/markdown/PrettyJsonViewer.js.map +1 -1
  33. package/dist/esm/hooks/index.d.ts +2 -0
  34. package/dist/esm/hooks/index.d.ts.map +1 -1
  35. package/dist/esm/hooks/index.js +2 -0
  36. package/dist/esm/hooks/index.js.map +1 -1
  37. package/dist/esm/hooks/useHashParams.d.ts +19 -0
  38. package/dist/esm/hooks/useHashParams.d.ts.map +1 -0
  39. package/dist/esm/hooks/useHashParams.js +69 -0
  40. package/dist/esm/hooks/useHashParams.js.map +1 -0
  41. package/dist/esm/hooks/usePaginationFromUrl.d.ts +11 -0
  42. package/dist/esm/hooks/usePaginationFromUrl.d.ts.map +1 -0
  43. package/dist/esm/hooks/usePaginationFromUrl.js +25 -0
  44. package/dist/esm/hooks/usePaginationFromUrl.js.map +1 -0
  45. package/dist/esm/logo/platforms/index.d.ts +0 -3
  46. package/dist/esm/logo/platforms/index.d.ts.map +1 -1
  47. package/dist/esm/logo/platforms/index.js +0 -3
  48. package/dist/esm/logo/platforms/index.js.map +1 -1
  49. package/dist/esm/stories/DataTable.stories.d.ts +0 -1
  50. package/dist/esm/stories/DataTable.stories.d.ts.map +1 -1
  51. package/dist/esm/stories/DataTable.stories.js +1 -21
  52. package/dist/esm/stories/DataTable.stories.js.map +1 -1
  53. package/dist/esm/stories/Markdown.stories.d.ts.map +1 -1
  54. package/dist/esm/stories/Markdown.stories.js +1 -1
  55. package/dist/esm/stories/Markdown.stories.js.map +1 -1
  56. package/dist/esm/stories/Pagination.stories.d.ts +13 -0
  57. package/dist/esm/stories/Pagination.stories.d.ts.map +1 -0
  58. package/dist/esm/stories/Pagination.stories.js +49 -0
  59. package/dist/esm/stories/Pagination.stories.js.map +1 -0
  60. package/dist/sparkle.css +12 -65
  61. package/package.json +1 -1
  62. package/src/components/DataTable.tsx +3 -44
  63. package/src/components/MultiPageSheet.tsx +1 -3
  64. package/src/components/RadioGroup.tsx +2 -2
  65. package/src/components/TextArea.tsx +1 -16
  66. package/src/components/index.ts +2 -19
  67. package/src/components/markdown/CodeBlockWithExtendedSupport.tsx +41 -2
  68. package/src/components/markdown/ContentBlockWrapper.tsx +51 -10
  69. package/src/components/markdown/Markdown.tsx +6 -6
  70. package/src/components/markdown/PrettyJsonViewer.tsx +2 -2
  71. package/src/hooks/index.ts +2 -0
  72. package/src/hooks/useHashParams.ts +101 -0
  73. package/src/hooks/usePaginationFromUrl.ts +46 -0
  74. package/src/logo/platforms/index.ts +0 -3
  75. package/src/stories/DataTable.stories.tsx +1 -61
  76. package/src/stories/Markdown.stories.tsx +0 -7
  77. package/src/stories/Pagination.stories.tsx +92 -0
  78. package/dist/esm/components/MultiPageDialog.d.ts +0 -45
  79. package/dist/esm/components/MultiPageDialog.d.ts.map +0 -1
  80. package/dist/esm/components/MultiPageDialog.js +0 -111
  81. package/dist/esm/components/MultiPageDialog.js.map +0 -1
  82. package/dist/esm/logo/platforms/Datadog.d.ts +0 -5
  83. package/dist/esm/logo/platforms/Datadog.d.ts.map +0 -1
  84. package/dist/esm/logo/platforms/Datadog.js +0 -10
  85. package/dist/esm/logo/platforms/Datadog.js.map +0 -1
  86. package/dist/esm/logo/platforms/Freshdesk.d.ts +0 -5
  87. package/dist/esm/logo/platforms/Freshdesk.d.ts.map +0 -1
  88. package/dist/esm/logo/platforms/Freshdesk.js +0 -7
  89. package/dist/esm/logo/platforms/Freshdesk.js.map +0 -1
  90. package/dist/esm/logo/platforms/Freshservice.d.ts +0 -5
  91. package/dist/esm/logo/platforms/Freshservice.d.ts.map +0 -1
  92. package/dist/esm/logo/platforms/Freshservice.js +0 -7
  93. package/dist/esm/logo/platforms/Freshservice.js.map +0 -1
  94. package/dist/esm/logo/src/platforms/Datadog.svg +0 -11
  95. package/dist/esm/logo/src/platforms/Freshdesk.svg +0 -1
  96. package/dist/esm/logo/src/platforms/Freshservice.svg +0 -1
  97. package/dist/esm/stories/MultiPageDialog.stories.d.ts +0 -11
  98. package/dist/esm/stories/MultiPageDialog.stories.d.ts.map +0 -1
  99. package/dist/esm/stories/MultiPageDialog.stories.js +0 -510
  100. package/dist/esm/stories/MultiPageDialog.stories.js.map +0 -1
  101. package/src/components/MultiPageDialog.tsx +0 -303
  102. package/src/logo/platforms/Datadog.tsx +0 -27
  103. package/src/logo/platforms/Freshdesk.tsx +0 -15
  104. package/src/logo/platforms/Freshservice.tsx +0 -21
  105. package/src/logo/src/platforms/Datadog.svg +0 -11
  106. package/src/logo/src/platforms/Freshdesk.svg +0 -1
  107. package/src/logo/src/platforms/Freshservice.svg +0 -1
  108. package/src/stories/MultiPageDialog.stories.tsx +0 -866
@@ -1,510 +0,0 @@
1
- import { __assign, __read, __spreadArray } from "tslib";
2
- import React, { useState } from "react";
3
- import { Button } from "../components/Button";
4
- import { MultiPageDialog, MultiPageDialogContent, MultiPageDialogTrigger, } from "../components/MultiPageDialog";
5
- import { Cog6ToothIcon, DocumentTextIcon, UserIcon } from "../icons/app";
6
- var meta = {
7
- title: "Primitives/MultiPageDialog",
8
- component: MultiPageDialogContent,
9
- };
10
- export default meta;
11
- var samplePages = [
12
- {
13
- id: "profile",
14
- title: "User Profile",
15
- description: "Manage your personal information",
16
- icon: UserIcon,
17
- content: (React.createElement("div", { className: "s-space-y-4" },
18
- React.createElement("div", null,
19
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Personal Information"),
20
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Update your profile details and preferences.")),
21
- React.createElement("div", { className: "s-space-y-3" },
22
- React.createElement("div", null,
23
- React.createElement("label", { className: "s-text-sm s-font-medium" }, "Full Name"),
24
- React.createElement("input", { type: "text", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "John Doe" })),
25
- React.createElement("div", null,
26
- React.createElement("label", { className: "s-text-sm s-font-medium" }, "Email"),
27
- React.createElement("input", { type: "email", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "john@example.com" }))))),
28
- },
29
- {
30
- id: "documents",
31
- title: "Documents",
32
- description: "Manage your uploaded files",
33
- icon: DocumentTextIcon,
34
- content: (React.createElement("div", { className: "s-space-y-4" },
35
- React.createElement("div", null,
36
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "File Management"),
37
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Upload, organize, and manage your documents.")),
38
- React.createElement("div", { className: "s-space-y-2" },
39
- React.createElement("div", { className: "s-flex s-items-center s-justify-between s-rounded-md s-border s-p-3" },
40
- React.createElement("span", { className: "s-text-sm" }, "document1.pdf"),
41
- React.createElement(Button, { label: "Download", size: "sm", variant: "outline" })),
42
- React.createElement("div", { className: "s-flex s-items-center s-justify-between s-rounded-md s-border s-p-3" },
43
- React.createElement("span", { className: "s-text-sm" }, "report.docx"),
44
- React.createElement(Button, { label: "Download", size: "sm", variant: "outline" }))))),
45
- },
46
- {
47
- id: "settings",
48
- title: "Settings",
49
- description: "Configure your preferences",
50
- icon: Cog6ToothIcon,
51
- content: (React.createElement("div", { className: "s-space-y-4" },
52
- React.createElement("div", null,
53
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Application Settings"),
54
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Customize your experience and notification preferences.")),
55
- React.createElement("div", { className: "s-space-y-3" },
56
- React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
57
- React.createElement("span", { className: "s-text-sm" }, "Email notifications"),
58
- React.createElement("input", { type: "checkbox", className: "s-rounded", defaultChecked: true })),
59
- React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
60
- React.createElement("span", { className: "s-text-sm" }, "Dark mode"),
61
- React.createElement("input", { type: "checkbox", className: "s-rounded" })),
62
- React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
63
- React.createElement("span", { className: "s-text-sm" }, "Auto-save"),
64
- React.createElement("input", { type: "checkbox", className: "s-rounded", defaultChecked: true }))))),
65
- },
66
- ];
67
- var MultiPageDialogDemo = function () {
68
- var _a = __read(useState("profile"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
69
- var _b = __read(useState(false), 2), isOpen = _b[0], setIsOpen = _b[1];
70
- var handleSave = function () {
71
- alert("Changes saved!");
72
- setIsOpen(false);
73
- };
74
- var handleCancel = function () {
75
- setIsOpen(false);
76
- };
77
- return (React.createElement(MultiPageDialog, { open: isOpen, onOpenChange: setIsOpen },
78
- React.createElement(MultiPageDialogTrigger, { asChild: true },
79
- React.createElement(Button, { label: "Open Multi-Page Dialog" })),
80
- React.createElement(MultiPageDialogContent, { pages: samplePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "xl", leftButton: {
81
- label: "Cancel",
82
- variant: "outline",
83
- onClick: handleCancel,
84
- }, rightButton: {
85
- label: "Save Changes",
86
- variant: "primary",
87
- onClick: handleSave,
88
- } })));
89
- };
90
- export var Default = {
91
- render: function () { return React.createElement(MultiPageDialogDemo, null); },
92
- };
93
- // Simple two-button example (like your screenshot)
94
- export var SimpleToolDialog = {
95
- render: function () {
96
- var _a = __read(useState(false), 2), isOpen = _a[0], setIsOpen = _a[1];
97
- var _b = __read(useState([]), 2), selectedTools = _b[0], setSelectedTools = _b[1];
98
- var handleAddTools = function () {
99
- alert("Adding ".concat(selectedTools.length, " tools: ").concat(selectedTools.join(", ")));
100
- setIsOpen(false);
101
- };
102
- var handleCancel = function () {
103
- setSelectedTools([]);
104
- setIsOpen(false);
105
- };
106
- var toggleTool = function (tool) {
107
- setSelectedTools(function (prev) {
108
- return prev.includes(tool) ? prev.filter(function (t) { return t !== tool; }) : __spreadArray(__spreadArray([], __read(prev), false), [tool], false);
109
- });
110
- };
111
- var toolPages = [
112
- {
113
- id: "tool-selection",
114
- title: "Add tools",
115
- content: (React.createElement("div", { className: "s-space-y-6" },
116
- React.createElement("div", { className: "s-space-y-4" },
117
- React.createElement("h3", { className: "s-text-lg s-font-semibold" }, "Capabilities"),
118
- React.createElement("div", { className: "s-grid s-grid-cols-2 s-gap-3" }, [
119
- {
120
- name: "Image generation",
121
- desc: "Generate images using natural language",
122
- },
123
- {
124
- name: "Run agent",
125
- desc: "Run a child agent (agent as tool)",
126
- },
127
- {
128
- name: "Interactive content",
129
- desc: "Generate interactive content",
130
- },
131
- {
132
- name: "Agent memory",
133
- desc: "Store and recall information",
134
- },
135
- ].map(function (tool) { return (React.createElement("div", { key: tool.name, className: "s-cursor-pointer s-rounded-lg s-border s-p-4 s-transition-colors hover:s-bg-gray-50 ".concat(selectedTools.includes(tool.name)
136
- ? "s-border-blue-300 s-bg-blue-50"
137
- : "s-border-gray-200"), onClick: function () { return toggleTool(tool.name); } },
138
- React.createElement("div", { className: "s-flex s-items-start s-justify-between" },
139
- React.createElement("div", null,
140
- React.createElement("h4", { className: "s-font-medium" }, tool.name),
141
- React.createElement("p", { className: "s-text-sm s-text-gray-600" }, tool.desc)),
142
- selectedTools.includes(tool.name) && (React.createElement("span", { className: "s-rounded s-bg-green-100 s-px-2 s-py-1 s-text-xs s-text-green-700" }, "ADDED"))),
143
- !selectedTools.includes(tool.name) && (React.createElement("button", { className: "s-mt-2 s-text-sm s-text-blue-600 hover:s-text-blue-700" }, "+ Add")))); }))),
144
- selectedTools.length > 0 && (React.createElement("div", { className: "s-space-y-3" },
145
- React.createElement("h4", { className: "s-font-medium" }, "Added tools"),
146
- React.createElement("div", { className: "s-flex s-flex-wrap s-gap-2" }, selectedTools.map(function (tool) { return (React.createElement("span", { key: tool, className: "s-flex s-items-center s-gap-1 s-rounded s-bg-gray-100 s-px-3 s-py-1 s-text-sm" },
147
- tool,
148
- React.createElement("button", { onClick: function (e) {
149
- e.stopPropagation();
150
- toggleTool(tool);
151
- }, className: "s-ml-1 s-text-gray-500 hover:s-text-gray-700" }, "\u00D7"))); })))))),
152
- },
153
- ];
154
- return (React.createElement(MultiPageDialog, { open: isOpen, onOpenChange: setIsOpen },
155
- React.createElement(MultiPageDialogTrigger, { asChild: true },
156
- React.createElement(Button, { label: "Add tools" })),
157
- React.createElement(MultiPageDialogContent, { pages: toolPages, currentPageId: "tool-selection", onPageChange: function () { }, size: "xl", leftButton: {
158
- label: "Cancel",
159
- variant: "outline",
160
- onClick: handleCancel,
161
- }, rightButton: {
162
- label: selectedTools.length > 0
163
- ? "Add ".concat(selectedTools.length, " tool").concat(selectedTools.length > 1 ? "s" : "")
164
- : "Add tools",
165
- variant: "primary",
166
- disabled: selectedTools.length === 0,
167
- onClick: handleAddTools,
168
- } })));
169
- },
170
- };
171
- export var InteractiveContent = {
172
- render: function () {
173
- var _a = __read(useState("step1"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
174
- var _b = __read(useState(false), 2), isOpen = _b[0], setIsOpen = _b[1];
175
- var _c = __read(useState({
176
- name: "",
177
- email: "",
178
- selectedFile: "",
179
- notifications: false,
180
- }), 2), formData = _c[0], setFormData = _c[1];
181
- var handleSave = function () {
182
- alert("Setup completed! Data: ".concat(JSON.stringify(formData, null, 2)));
183
- setIsOpen(false);
184
- };
185
- var handleCancel = function () {
186
- setIsOpen(false);
187
- };
188
- var handleNext = function () {
189
- if (currentPageId === "step1") {
190
- setCurrentPageId("step2");
191
- }
192
- else if (currentPageId === "step2") {
193
- setCurrentPageId("step3");
194
- }
195
- };
196
- var handlePrevious = function () {
197
- if (currentPageId === "step3") {
198
- setCurrentPageId("step2");
199
- }
200
- else if (currentPageId === "step2") {
201
- setCurrentPageId("step1");
202
- }
203
- };
204
- var canProceed = function () {
205
- if (currentPageId === "step1") {
206
- return formData.name && formData.email;
207
- }
208
- if (currentPageId === "step2") {
209
- return formData.selectedFile;
210
- }
211
- return true;
212
- };
213
- var isFirstPage = currentPageId === "step1";
214
- var isLastPage = currentPageId === "step3";
215
- var interactivePages = [
216
- {
217
- id: "step1",
218
- title: "Personal Info",
219
- description: "Enter your basic information",
220
- icon: UserIcon,
221
- content: (React.createElement("div", { className: "s-space-y-4" },
222
- React.createElement("div", null,
223
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Let's get started"),
224
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Fill in your details to continue to the next step.")),
225
- React.createElement("div", { className: "s-space-y-3" },
226
- React.createElement("div", null,
227
- React.createElement("label", { className: "s-text-sm s-font-medium" }, "Full Name *"),
228
- React.createElement("input", { type: "text", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Enter your name", value: formData.name, onChange: function (e) {
229
- return setFormData(__assign(__assign({}, formData), { name: e.target.value }));
230
- } })),
231
- React.createElement("div", null,
232
- React.createElement("label", { className: "s-text-sm s-font-medium" }, "Email *"),
233
- React.createElement("input", { type: "email", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Enter your email", value: formData.email, onChange: function (e) {
234
- return setFormData(__assign(__assign({}, formData), { email: e.target.value }));
235
- } }))))),
236
- },
237
- {
238
- id: "step2",
239
- title: "File Selection",
240
- description: "Choose your files",
241
- icon: DocumentTextIcon,
242
- content: (React.createElement("div", { className: "s-space-y-4" },
243
- React.createElement("div", null,
244
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Select a file to work with"),
245
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Choose from the available files below.")),
246
- React.createElement("div", { className: "s-space-y-2" }, [
247
- "project-proposal.pdf",
248
- "budget-2024.xlsx",
249
- "meeting-notes.docx",
250
- ].map(function (file) { return (React.createElement("div", { key: file, className: "s-flex s-cursor-pointer s-items-center s-justify-between s-rounded-md s-border s-p-3 s-transition-colors hover:s-bg-gray-50 ".concat(formData.selectedFile === file
251
- ? "s-border-blue-300 s-bg-blue-50"
252
- : ""), onClick: function () {
253
- return setFormData(__assign(__assign({}, formData), { selectedFile: file }));
254
- } },
255
- React.createElement("span", { className: "s-text-sm" }, file),
256
- React.createElement("div", { className: "s-flex s-items-center s-gap-2" },
257
- React.createElement("input", { type: "radio", checked: formData.selectedFile === file, readOnly: true, className: "s-pointer-events-none" })))); })))),
258
- },
259
- {
260
- id: "step3",
261
- title: "Final Settings",
262
- description: "Configure your preferences",
263
- icon: Cog6ToothIcon,
264
- content: (React.createElement("div", { className: "s-space-y-4" },
265
- React.createElement("div", null,
266
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Almost done!"),
267
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Configure your final preferences and complete the setup.")),
268
- React.createElement("div", { className: "s-space-y-3" },
269
- React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
270
- React.createElement("span", { className: "s-text-sm" }, "Enable email notifications"),
271
- React.createElement("input", { type: "checkbox", className: "s-rounded", checked: formData.notifications, onChange: function (e) {
272
- return setFormData(__assign(__assign({}, formData), { notifications: e.target.checked }));
273
- } })),
274
- React.createElement("div", { className: "s-rounded-md s-bg-gray-50 s-p-3" },
275
- React.createElement("h4", { className: "s-mb-2 s-text-sm s-font-medium" }, "Summary"),
276
- React.createElement("div", { className: "s-space-y-1 s-text-xs s-text-gray-600" },
277
- React.createElement("div", null,
278
- "Name: ",
279
- formData.name),
280
- React.createElement("div", null,
281
- "Email: ",
282
- formData.email),
283
- React.createElement("div", null,
284
- "Selected File: ",
285
- formData.selectedFile),
286
- React.createElement("div", null,
287
- "Notifications:",
288
- " ",
289
- formData.notifications ? "Enabled" : "Disabled")))))),
290
- },
291
- ];
292
- return (React.createElement(MultiPageDialog, { open: isOpen, onOpenChange: setIsOpen },
293
- React.createElement(MultiPageDialogTrigger, { asChild: true },
294
- React.createElement(Button, { label: "Open Interactive Setup" })),
295
- React.createElement(MultiPageDialogContent, { pages: interactivePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", leftButton: {
296
- label: "Cancel",
297
- variant: "outline",
298
- onClick: handleCancel,
299
- }, centerButton: !isFirstPage
300
- ? {
301
- label: "Previous",
302
- variant: "outline",
303
- onClick: handlePrevious,
304
- }
305
- : undefined, rightButton: {
306
- label: isLastPage ? "Complete Setup" : "Next",
307
- variant: "primary",
308
- disabled: !canProceed(),
309
- onClick: isLastPage ? handleSave : handleNext,
310
- } })));
311
- },
312
- };
313
- export var WithConditionalNavigation = {
314
- render: function () {
315
- var _a = __read(useState("data-selection"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
316
- var _b = __read(useState(false), 2), isOpen = _b[0], setIsOpen = _b[1];
317
- var _c = __read(useState([]), 2), selectedItems = _c[0], setSelectedItems = _c[1];
318
- var _d = __read(useState(""), 2), description = _d[0], setDescription = _d[1];
319
- var handleSave = function () {
320
- alert("Configuration saved! Selected: ".concat(selectedItems.join(", "), ", Description: ").concat(description));
321
- setIsOpen(false);
322
- };
323
- var handleCancel = function () {
324
- setIsOpen(false);
325
- };
326
- var handleNext = function () {
327
- if (currentPageId === "data-selection") {
328
- setCurrentPageId("description");
329
- }
330
- };
331
- var handlePrevious = function () {
332
- if (currentPageId === "description") {
333
- setCurrentPageId("data-selection");
334
- }
335
- };
336
- var isFirstPage = currentPageId === "data-selection";
337
- var isLastPage = currentPageId === "description";
338
- var canProceedFromFirst = selectedItems.length > 0;
339
- var canSave = description.trim().length > 0;
340
- var conditionalPages = [
341
- {
342
- id: "data-selection",
343
- title: "Select Data Sources",
344
- description: "Choose which data sources to include",
345
- icon: DocumentTextIcon,
346
- content: (React.createElement("div", { className: "s-space-y-4" },
347
- React.createElement("div", null,
348
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Available Data Sources"),
349
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Select at least one data source to proceed to the next step.")),
350
- React.createElement("div", { className: "s-space-y-2" }, [
351
- "Company Database",
352
- "Customer Files",
353
- "Analytics Data",
354
- "Reports Archive",
355
- ].map(function (item) { return (React.createElement("div", { key: item, className: "s-flex s-cursor-pointer s-items-center s-justify-between s-rounded-md s-border s-p-3 s-transition-colors hover:s-bg-gray-50 ".concat(selectedItems.includes(item)
356
- ? "s-border-blue-300 s-bg-blue-50"
357
- : ""), onClick: function () {
358
- if (selectedItems.includes(item)) {
359
- setSelectedItems(selectedItems.filter(function (i) { return i !== item; }));
360
- }
361
- else {
362
- setSelectedItems(__spreadArray(__spreadArray([], __read(selectedItems), false), [item], false));
363
- }
364
- } },
365
- React.createElement("span", { className: "s-text-sm" }, item),
366
- React.createElement("input", { type: "checkbox", checked: selectedItems.includes(item), readOnly: true, className: "s-pointer-events-none" }))); })),
367
- selectedItems.length > 0 && (React.createElement("div", { className: "s-rounded-md s-border s-bg-blue-50 s-p-3" },
368
- React.createElement("p", { className: "s-text-sm s-text-blue-700" },
369
- selectedItems.length,
370
- " data source",
371
- selectedItems.length !== 1 ? "s" : "",
372
- " selected"))))),
373
- },
374
- {
375
- id: "description",
376
- title: "Add Description",
377
- description: "Describe your configuration",
378
- icon: Cog6ToothIcon,
379
- content: (React.createElement("div", { className: "s-space-y-4" },
380
- React.createElement("div", null,
381
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Configuration Details"),
382
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Add a description for your selected data sources.")),
383
- React.createElement("div", { className: "s-rounded-md s-border s-bg-blue-50 s-p-3" },
384
- React.createElement("p", { className: "s-text-sm s-text-blue-700" },
385
- "Selected: ",
386
- selectedItems.join(", "))),
387
- React.createElement("div", { className: "s-space-y-2" },
388
- React.createElement("label", { className: "s-text-sm s-font-medium" }, "Description"),
389
- React.createElement("textarea", { className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Describe how these data sources will be used...", value: description, onChange: function (e) { return setDescription(e.target.value); }, rows: 4 }),
390
- React.createElement("p", { className: "s-text-xs s-text-muted-foreground" }, "This description helps explain the purpose of your configuration.")))),
391
- },
392
- ];
393
- return (React.createElement(MultiPageDialog, { open: isOpen, onOpenChange: setIsOpen },
394
- React.createElement(MultiPageDialogTrigger, { asChild: true },
395
- React.createElement(Button, { label: "Open Configuration Wizard" })),
396
- React.createElement(MultiPageDialogContent, { pages: conditionalPages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", leftButton: {
397
- label: "Cancel",
398
- variant: "outline",
399
- onClick: handleCancel,
400
- }, centerButton: !isFirstPage
401
- ? {
402
- label: "Previous",
403
- variant: "outline",
404
- onClick: handlePrevious,
405
- }
406
- : undefined, rightButton: {
407
- label: isLastPage ? "Save Configuration" : "Next",
408
- variant: "primary",
409
- disabled: isFirstPage ? !canProceedFromFirst : !canSave,
410
- onClick: isLastPage ? handleSave : handleNext,
411
- }, footerContent: React.createElement("div", { className: "s-rounded s-bg-blue-50 s-px-3 s-py-2" },
412
- React.createElement("p", { className: "s-text-xs s-text-blue-700" },
413
- selectedItems.length > 0 && (React.createElement(React.Fragment, null,
414
- selectedItems.length,
415
- " data source",
416
- selectedItems.length !== 1 ? "s" : "",
417
- " selected \u2022",
418
- " ")),
419
- "Step ",
420
- isFirstPage ? "1" : "2",
421
- " of 2")) })));
422
- },
423
- };
424
- export var ScrollableContent = {
425
- render: function () {
426
- var _a = __read(useState("long-form"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
427
- var _b = __read(useState(false), 2), isOpen = _b[0], setIsOpen = _b[1];
428
- var handleSave = function () {
429
- alert("Long form submitted!");
430
- setIsOpen(false);
431
- };
432
- var handleCancel = function () {
433
- setIsOpen(false);
434
- };
435
- var handleNext = function () {
436
- if (currentPageId === "long-form") {
437
- setCurrentPageId("summary");
438
- }
439
- };
440
- var handlePrevious = function () {
441
- if (currentPageId === "summary") {
442
- setCurrentPageId("long-form");
443
- }
444
- };
445
- var isFirstPage = currentPageId === "long-form";
446
- var isLastPage = currentPageId === "summary";
447
- var scrollablePages = [
448
- {
449
- id: "long-form",
450
- title: "Long Form Content",
451
- description: "This page demonstrates scrollable content",
452
- icon: DocumentTextIcon,
453
- content: (React.createElement("div", { className: "s-space-y-6" },
454
- React.createElement("div", null,
455
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Terms and Conditions"),
456
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "This page contains a lot of content to demonstrate scrolling functionality. The content should be scrollable within the dialog area.")),
457
- Array.from({ length: 15 }, function (_, i) { return (React.createElement("div", { key: i, className: "s-space-y-3" },
458
- React.createElement("h4", { className: "s-text-md s-font-semibold" },
459
- "Section ",
460
- i + 1),
461
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Lorem 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."),
462
- React.createElement("div", { className: "s-space-y-2" },
463
- React.createElement("div", null,
464
- React.createElement("label", { className: "s-text-sm s-font-medium" },
465
- "Field ",
466
- i + 1),
467
- React.createElement("input", { type: "text", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Enter value for field ".concat(i + 1) })),
468
- i % 3 === 0 && (React.createElement("div", null,
469
- React.createElement("label", { className: "s-text-sm s-font-medium" }, "Additional Notes"),
470
- React.createElement("textarea", { className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Add any additional notes here...", rows: 3 })))))); }),
471
- React.createElement("div", { className: "s-rounded-md s-border s-bg-blue-50 s-p-4" },
472
- React.createElement("h4", { className: "s-mb-2 s-text-sm s-font-semibold s-text-blue-900" }, "Scroll Test Complete"),
473
- React.createElement("p", { className: "s-text-xs s-text-blue-700" }, "If you can see this message, the scrolling functionality is working correctly! The dialog maintains its fixed height while allowing the content to scroll.")))),
474
- },
475
- {
476
- id: "summary",
477
- title: "Summary",
478
- description: "Review your information",
479
- icon: Cog6ToothIcon,
480
- content: (React.createElement("div", { className: "s-space-y-4" },
481
- React.createElement("div", null,
482
- React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Form Summary"),
483
- React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Thank you for testing the scrollable content functionality.")),
484
- React.createElement("div", { className: "s-rounded-md s-border s-bg-green-50 s-p-3" },
485
- React.createElement("p", { className: "s-text-sm s-text-green-700" }, "\u2713 Scrolling functionality verified"),
486
- React.createElement("p", { className: "s-text-sm s-text-green-700" }, "\u2713 Fixed dialog height maintained"),
487
- React.createElement("p", { className: "s-text-sm s-text-green-700" }, "\u2713 Content overflow handled properly")))),
488
- },
489
- ];
490
- return (React.createElement(MultiPageDialog, { open: isOpen, onOpenChange: setIsOpen },
491
- React.createElement(MultiPageDialogTrigger, { asChild: true },
492
- React.createElement(Button, { label: "Open Scrollable Content Dialog" })),
493
- React.createElement(MultiPageDialogContent, { pages: scrollablePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", leftButton: {
494
- label: "Cancel",
495
- variant: "outline",
496
- onClick: handleCancel,
497
- }, centerButton: !isFirstPage
498
- ? {
499
- label: "Previous",
500
- variant: "outline",
501
- onClick: handlePrevious,
502
- }
503
- : undefined, rightButton: {
504
- label: isLastPage ? "Submit Form" : "Next",
505
- variant: "primary",
506
- onClick: isLastPage ? handleSave : handleNext,
507
- } })));
508
- },
509
- };
510
- //# sourceMappingURL=MultiPageDialog.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiPageDialog.stories.js","sourceRoot":"","sources":["../../../src/stories/MultiPageDialog.stories.tsx"],"names":[],"mappings":"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"}