@uipath/apollo-wind 0.8.0 → 0.9.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.
Files changed (40) hide show
  1. package/dist/archived-ui-path.svg +3 -0
  2. package/dist/components/ui/index.cjs +10 -10
  3. package/dist/components/ui/input.cjs +1 -1
  4. package/dist/components/ui/input.js +1 -1
  5. package/dist/components/ui/select.cjs +1 -1
  6. package/dist/components/ui/select.js +1 -1
  7. package/dist/components/ui/textarea.cjs +1 -1
  8. package/dist/components/ui/textarea.js +1 -1
  9. package/dist/examples/admin-layout-example.cjs +490 -0
  10. package/dist/examples/admin-layout-example.js +411 -0
  11. package/dist/examples/app-shell-example.cjs +452 -0
  12. package/dist/examples/app-shell-example.js +418 -0
  13. package/dist/examples/dashboard-example.cjs +590 -0
  14. package/dist/examples/dashboard-example.js +556 -0
  15. package/dist/examples/data-management-example.cjs +584 -0
  16. package/dist/examples/data-management-example.js +550 -0
  17. package/dist/examples/flow-editor-layout-example.cjs +309 -0
  18. package/dist/examples/flow-editor-layout-example.js +269 -0
  19. package/dist/examples/flow-start-example.cjs +467 -0
  20. package/dist/examples/flow-start-example.js +433 -0
  21. package/dist/examples/form-builder-example.cjs +674 -0
  22. package/dist/examples/form-builder-example.js +640 -0
  23. package/dist/examples/new-project-example.cjs +550 -0
  24. package/dist/examples/new-project-example.js +516 -0
  25. package/dist/examples/settings-example.cjs +864 -0
  26. package/dist/examples/settings-example.js +830 -0
  27. package/dist/examples/vscode-example.cjs +340 -0
  28. package/dist/examples/vscode-example.js +270 -0
  29. package/dist/templates/admin-layout-example.d.ts +92 -0
  30. package/dist/templates/app-shell-example.d.ts +52 -0
  31. package/dist/templates/dashboard-example.d.ts +11 -0
  32. package/dist/templates/data-management-example.d.ts +1 -0
  33. package/dist/templates/flow-editor-layout-example.d.ts +22 -0
  34. package/dist/templates/flow-start-example.d.ts +30 -0
  35. package/dist/templates/form-builder-example.d.ts +1 -0
  36. package/dist/templates/new-project-example.d.ts +30 -0
  37. package/dist/templates/settings-example.d.ts +1 -0
  38. package/dist/templates/vscode-example.d.ts +80 -0
  39. package/dist/ui-path.svg +11 -0
  40. package/package.json +1 -1
@@ -0,0 +1,467 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ FlowStartExample: ()=>FlowStartExample
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_lucide_react_namespaceObject = require("lucide-react");
31
+ const external_react_namespaceObject = require("react");
32
+ const badge_cjs_namespaceObject = require("../components/ui/badge.cjs");
33
+ const button_cjs_namespaceObject = require("../components/ui/button.cjs");
34
+ const button_group_cjs_namespaceObject = require("../components/ui/button-group.cjs");
35
+ const card_cjs_namespaceObject = require("../components/ui/card.cjs");
36
+ const data_table_cjs_namespaceObject = require("../components/ui/data-table.cjs");
37
+ const dropdown_menu_cjs_namespaceObject = require("../components/ui/dropdown-menu.cjs");
38
+ const skeleton_cjs_namespaceObject = require("../components/ui/skeleton.cjs");
39
+ const index_cjs_namespaceObject = require("../components/ui/layout/index.cjs");
40
+ const external_lib_index_cjs_namespaceObject = require("../lib/index.cjs");
41
+ function ProcessOptionCard({ option, isSelected, onSelect }) {
42
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(card_cjs_namespaceObject.Card, {
43
+ className: (0, external_lib_index_cjs_namespaceObject.cn)('group relative cursor-pointer transition-all duration-200 hover:border-primary/50 hover:shadow-md', isSelected && 'border-primary ring-2 ring-primary/20'),
44
+ onClick: onSelect,
45
+ children: [
46
+ option.badge && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(badge_cjs_namespaceObject.Badge, {
47
+ variant: option.badgeVariant,
48
+ className: "absolute -top-2 right-4 text-[10px] px-2 py-0.5",
49
+ children: option.badge
50
+ }),
51
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(card_cjs_namespaceObject.CardHeader, {
52
+ className: "pb-3",
53
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
54
+ gap: 3,
55
+ align: "center",
56
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
57
+ className: "flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-muted-foreground transition-colors group-hover:bg-primary/10 group-hover:text-primary",
58
+ children: option.icon
59
+ })
60
+ })
61
+ }),
62
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(card_cjs_namespaceObject.CardContent, {
63
+ className: "pt-0",
64
+ children: [
65
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(card_cjs_namespaceObject.CardTitle, {
66
+ className: "text-base mb-2",
67
+ children: option.title
68
+ }),
69
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(card_cjs_namespaceObject.CardDescription, {
70
+ className: "text-sm leading-relaxed",
71
+ children: option.description
72
+ })
73
+ ]
74
+ })
75
+ ]
76
+ });
77
+ }
78
+ function getTypeIcon(type) {
79
+ switch(type){
80
+ case 'flow':
81
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.GitBranch, {
82
+ className: "h-4 w-4"
83
+ });
84
+ case 'bpmn':
85
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Blocks, {
86
+ className: "h-4 w-4"
87
+ });
88
+ case 'case':
89
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.FolderKanban, {
90
+ className: "h-4 w-4"
91
+ });
92
+ case 'autopilot':
93
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Bot, {
94
+ className: "h-4 w-4"
95
+ });
96
+ }
97
+ }
98
+ function getTypeLabel(type) {
99
+ switch(type){
100
+ case 'flow':
101
+ return 'Flow';
102
+ case 'bpmn':
103
+ return 'BPMN';
104
+ case 'case':
105
+ return 'Case Management';
106
+ case 'autopilot':
107
+ return 'Autopilot';
108
+ }
109
+ }
110
+ function getStatusVariant(status) {
111
+ switch(status){
112
+ case 'published':
113
+ return 'default';
114
+ case 'draft':
115
+ return 'secondary';
116
+ case 'archived':
117
+ return 'outline';
118
+ default:
119
+ return 'secondary';
120
+ }
121
+ }
122
+ function RecentProjectCard({ project, onSelect }) {
123
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(card_cjs_namespaceObject.Card, {
124
+ className: "group cursor-pointer transition-all duration-200 hover:border-primary/50 hover:shadow-sm",
125
+ onClick: onSelect,
126
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(card_cjs_namespaceObject.CardContent, {
127
+ className: "p-4",
128
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
129
+ gap: 3,
130
+ align: "start",
131
+ children: [
132
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
133
+ className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",
134
+ children: getTypeIcon(project.type)
135
+ }),
136
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
137
+ gap: 1,
138
+ flex: 1,
139
+ className: "min-w-0",
140
+ children: [
141
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
142
+ justify: "between",
143
+ align: "center",
144
+ gap: 2,
145
+ children: [
146
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
147
+ className: "truncate font-medium text-sm",
148
+ children: project.name
149
+ }),
150
+ project.status && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(badge_cjs_namespaceObject.Badge, {
151
+ variant: getStatusVariant(project.status),
152
+ className: "shrink-0 text-[10px]",
153
+ children: project.status
154
+ })
155
+ ]
156
+ }),
157
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
158
+ className: "text-xs text-muted-foreground",
159
+ children: project.lastModified
160
+ })
161
+ ]
162
+ })
163
+ ]
164
+ })
165
+ })
166
+ });
167
+ }
168
+ function SkeletonSection() {
169
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
170
+ gap: 4,
171
+ children: [
172
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
173
+ className: "h-5 w-32"
174
+ }),
175
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
176
+ gap: 3,
177
+ children: [
178
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
179
+ gap: 2,
180
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
181
+ className: "h-4 flex-1 max-w-[280px]"
182
+ })
183
+ }),
184
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
185
+ gap: 2,
186
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
187
+ className: "h-4 flex-1 max-w-[240px]"
188
+ })
189
+ }),
190
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
191
+ gap: 2,
192
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
193
+ className: "h-4 flex-1 max-w-[320px]"
194
+ })
195
+ }),
196
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
197
+ gap: 2,
198
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
199
+ className: "h-4 flex-1 max-w-[200px]"
200
+ })
201
+ }),
202
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
203
+ gap: 2,
204
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
205
+ className: "h-4 flex-1 max-w-[260px]"
206
+ })
207
+ })
208
+ ]
209
+ })
210
+ ]
211
+ });
212
+ }
213
+ function createProjectColumns(onProjectSelect) {
214
+ return [
215
+ {
216
+ accessorKey: 'name',
217
+ header: ({ column })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(data_table_cjs_namespaceObject.DataTableColumnHeader, {
218
+ column: column,
219
+ title: "Name"
220
+ }),
221
+ cell: ({ row })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
222
+ gap: 2,
223
+ align: "center",
224
+ children: [
225
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
226
+ className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",
227
+ children: getTypeIcon(row.original.type)
228
+ }),
229
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
230
+ className: "font-medium",
231
+ children: row.original.name
232
+ })
233
+ ]
234
+ })
235
+ },
236
+ {
237
+ accessorKey: 'type',
238
+ header: ({ column })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(data_table_cjs_namespaceObject.DataTableColumnHeader, {
239
+ column: column,
240
+ title: "Type"
241
+ }),
242
+ cell: ({ row })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
243
+ className: "text-muted-foreground",
244
+ children: getTypeLabel(row.original.type)
245
+ })
246
+ },
247
+ {
248
+ accessorKey: 'status',
249
+ header: ({ column })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(data_table_cjs_namespaceObject.DataTableColumnHeader, {
250
+ column: column,
251
+ title: "Status"
252
+ }),
253
+ cell: ({ row })=>{
254
+ const status = row.original.status;
255
+ return status ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(badge_cjs_namespaceObject.Badge, {
256
+ variant: getStatusVariant(status),
257
+ className: "capitalize",
258
+ children: status
259
+ }) : null;
260
+ }
261
+ },
262
+ {
263
+ accessorKey: 'lastModified',
264
+ header: ({ column })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(data_table_cjs_namespaceObject.DataTableColumnHeader, {
265
+ column: column,
266
+ title: "Last Modified"
267
+ }),
268
+ cell: ({ row })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
269
+ className: "text-muted-foreground",
270
+ children: row.original.lastModified
271
+ })
272
+ },
273
+ {
274
+ id: 'actions',
275
+ cell: ({ row })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(dropdown_menu_cjs_namespaceObject.DropdownMenu, {
276
+ children: [
277
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(dropdown_menu_cjs_namespaceObject.DropdownMenuTrigger, {
278
+ asChild: true,
279
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.Button, {
280
+ variant: "ghost",
281
+ size: "icon",
282
+ className: "h-8 w-8",
283
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.MoreHorizontal, {
284
+ className: "h-4 w-4"
285
+ })
286
+ })
287
+ }),
288
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(dropdown_menu_cjs_namespaceObject.DropdownMenuContent, {
289
+ align: "end",
290
+ children: [
291
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(dropdown_menu_cjs_namespaceObject.DropdownMenuItem, {
292
+ onClick: ()=>onProjectSelect?.(row.original.id),
293
+ children: "Open"
294
+ }),
295
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(dropdown_menu_cjs_namespaceObject.DropdownMenuItem, {
296
+ children: "Duplicate"
297
+ }),
298
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(dropdown_menu_cjs_namespaceObject.DropdownMenuItem, {
299
+ children: "Archive"
300
+ })
301
+ ]
302
+ })
303
+ ]
304
+ })
305
+ }
306
+ ];
307
+ }
308
+ function FlowStartExample({ className, title = 'BUILD YOUR FIRST AGENTIC PROCESS', subtitle = 'What would you like to start with?', processOptions = [], recentProjects = [], showSkeleton = false, defaultViewMode = 'cards', onOptionSelect, onProjectSelect }) {
309
+ const [selectedOption, setSelectedOption] = external_react_namespaceObject.useState(null);
310
+ const [viewMode, setViewMode] = external_react_namespaceObject.useState(defaultViewMode);
311
+ const handleOptionSelect = (optionId)=>{
312
+ setSelectedOption(optionId);
313
+ onOptionSelect?.(optionId);
314
+ };
315
+ const columns = external_react_namespaceObject.useMemo(()=>createProjectColumns(onProjectSelect), [
316
+ onProjectSelect
317
+ ]);
318
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
319
+ minH: "screen",
320
+ className: className,
321
+ children: [
322
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
323
+ className: "bg-muted/40",
324
+ children: [
325
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("header", {
326
+ className: "border-b border-border/50 ",
327
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
328
+ justify: "between",
329
+ align: "center",
330
+ className: "h-14 px-6",
331
+ children: [
332
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
333
+ className: "font-semibold text-lg",
334
+ children: "UiPath Maestro"
335
+ }),
336
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
337
+ className: "h-8 w-8 rounded-full"
338
+ })
339
+ ]
340
+ })
341
+ }),
342
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
343
+ className: "px-8 py-16 md:px-16",
344
+ children: [
345
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
346
+ gap: 3,
347
+ align: "center",
348
+ className: "mb-12 text-center",
349
+ children: [
350
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("h1", {
351
+ className: "text-3xl md:text-4xl font-bold tracking-tight uppercase",
352
+ children: title
353
+ }),
354
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("p", {
355
+ className: "text-muted-foreground text-lg",
356
+ children: subtitle
357
+ })
358
+ ]
359
+ }),
360
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Grid, {
361
+ cols: 1,
362
+ gap: 4,
363
+ className: "sm:grid-cols-2 lg:grid-cols-4 max-w-6xl mx-auto w-full",
364
+ children: processOptions.map((option)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ProcessOptionCard, {
365
+ option: option,
366
+ isSelected: selectedOption === option.id,
367
+ onSelect: ()=>handleOptionSelect(option.id)
368
+ }, option.id))
369
+ }),
370
+ showSkeleton && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Column, {
371
+ gap: 12,
372
+ className: "max-w-6xl mx-auto w-full mt-16",
373
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Grid, {
374
+ cols: 1,
375
+ gap: 8,
376
+ className: "lg:grid-cols-3",
377
+ children: [
378
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(SkeletonSection, {}),
379
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(SkeletonSection, {}),
380
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(SkeletonSection, {})
381
+ ]
382
+ })
383
+ })
384
+ ]
385
+ })
386
+ ]
387
+ }),
388
+ recentProjects.length > 0 && !showSkeleton && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Column, {
389
+ flex: 1,
390
+ className: "px-8 py-12 md:px-16",
391
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
392
+ gap: 6,
393
+ className: "max-w-6xl mx-auto w-full",
394
+ children: [
395
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
396
+ justify: "between",
397
+ align: "center",
398
+ children: [
399
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("h2", {
400
+ className: "text-xl font-semibold",
401
+ children: "Recent Projects"
402
+ }),
403
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(button_group_cjs_namespaceObject.ButtonGroup, {
404
+ children: [
405
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.Button, {
406
+ variant: 'cards' === viewMode ? 'secondary' : 'outline',
407
+ size: "icon",
408
+ onClick: ()=>setViewMode('cards'),
409
+ "aria-label": "Card view",
410
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.LayoutGrid, {
411
+ className: "h-4 w-4"
412
+ })
413
+ }),
414
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.Button, {
415
+ variant: 'table' === viewMode ? 'secondary' : 'outline',
416
+ size: "icon",
417
+ onClick: ()=>setViewMode('table'),
418
+ "aria-label": "Table view",
419
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.List, {
420
+ className: "h-4 w-4"
421
+ })
422
+ })
423
+ ]
424
+ })
425
+ ]
426
+ }),
427
+ 'cards' === viewMode && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Grid, {
428
+ cols: 1,
429
+ gap: 4,
430
+ className: "sm:grid-cols-2 lg:grid-cols-4",
431
+ children: recentProjects.map((project)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(RecentProjectCard, {
432
+ project: project,
433
+ onSelect: ()=>onProjectSelect?.(project.id)
434
+ }, project.id))
435
+ }),
436
+ 'table' === viewMode && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(data_table_cjs_namespaceObject.DataTable, {
437
+ columns: columns,
438
+ data: recentProjects,
439
+ searchKey: "name",
440
+ searchPlaceholder: "Search projects...",
441
+ showColumnToggle: false,
442
+ showPagination: recentProjects.length > 10,
443
+ compact: true
444
+ })
445
+ ]
446
+ })
447
+ }),
448
+ showSkeleton && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
449
+ className: "bg-background border-t flex-1",
450
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Row, {
451
+ justify: "center",
452
+ className: "px-8 py-8",
453
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(skeleton_cjs_namespaceObject.Skeleton, {
454
+ className: "h-24 w-full max-w-4xl rounded-lg"
455
+ })
456
+ })
457
+ })
458
+ ]
459
+ });
460
+ }
461
+ exports.FlowStartExample = __webpack_exports__.FlowStartExample;
462
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
463
+ "FlowStartExample"
464
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
465
+ Object.defineProperty(exports, '__esModule', {
466
+ value: true
467
+ });