@uipath/apollo-wind 0.8.1 → 0.9.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 (34) hide show
  1. package/dist/archived-ui-path.svg +3 -0
  2. package/dist/components/ui/index.cjs +2 -2
  3. package/dist/examples/admin-layout-example.cjs +490 -0
  4. package/dist/examples/admin-layout-example.js +411 -0
  5. package/dist/examples/app-shell-example.cjs +452 -0
  6. package/dist/examples/app-shell-example.js +418 -0
  7. package/dist/examples/dashboard-example.cjs +590 -0
  8. package/dist/examples/dashboard-example.js +556 -0
  9. package/dist/examples/data-management-example.cjs +584 -0
  10. package/dist/examples/data-management-example.js +550 -0
  11. package/dist/examples/flow-editor-layout-example.cjs +309 -0
  12. package/dist/examples/flow-editor-layout-example.js +269 -0
  13. package/dist/examples/flow-start-example.cjs +467 -0
  14. package/dist/examples/flow-start-example.js +433 -0
  15. package/dist/examples/form-builder-example.cjs +674 -0
  16. package/dist/examples/form-builder-example.js +640 -0
  17. package/dist/examples/new-project-example.cjs +550 -0
  18. package/dist/examples/new-project-example.js +516 -0
  19. package/dist/examples/settings-example.cjs +864 -0
  20. package/dist/examples/settings-example.js +830 -0
  21. package/dist/examples/vscode-example.cjs +340 -0
  22. package/dist/examples/vscode-example.js +270 -0
  23. package/dist/templates/admin-layout-example.d.ts +92 -0
  24. package/dist/templates/app-shell-example.d.ts +52 -0
  25. package/dist/templates/dashboard-example.d.ts +11 -0
  26. package/dist/templates/data-management-example.d.ts +1 -0
  27. package/dist/templates/flow-editor-layout-example.d.ts +22 -0
  28. package/dist/templates/flow-start-example.d.ts +30 -0
  29. package/dist/templates/form-builder-example.d.ts +1 -0
  30. package/dist/templates/new-project-example.d.ts +30 -0
  31. package/dist/templates/settings-example.d.ts +1 -0
  32. package/dist/templates/vscode-example.d.ts +80 -0
  33. package/dist/ui-path.svg +11 -0
  34. package/package.json +1 -1
@@ -0,0 +1,830 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Bell, CreditCard, Key, Palette, Shield, User } from "lucide-react";
4
+ import { Avatar, AvatarFallback, AvatarImage } from "../components/ui/avatar.js";
5
+ import { Button } from "../components/ui/button.js";
6
+ import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "../components/ui/card.js";
7
+ import { Input } from "../components/ui/input.js";
8
+ import { Label } from "../components/ui/label.js";
9
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../components/ui/select.js";
10
+ import { Separator } from "../components/ui/separator.js";
11
+ import { Switch } from "../components/ui/switch.js";
12
+ import { Textarea } from "../components/ui/textarea.js";
13
+ import { cn } from "../lib/index.js";
14
+ import { Column, Grid, Row } from "../components/ui/layout/index.js";
15
+ const navItems = [
16
+ {
17
+ id: 'profile',
18
+ label: 'Profile',
19
+ icon: /*#__PURE__*/ jsx(User, {
20
+ className: "h-4 w-4"
21
+ })
22
+ },
23
+ {
24
+ id: 'account',
25
+ label: 'Account',
26
+ icon: /*#__PURE__*/ jsx(Key, {
27
+ className: "h-4 w-4"
28
+ })
29
+ },
30
+ {
31
+ id: 'appearance',
32
+ label: 'Appearance',
33
+ icon: /*#__PURE__*/ jsx(Palette, {
34
+ className: "h-4 w-4"
35
+ })
36
+ },
37
+ {
38
+ id: 'notifications',
39
+ label: 'Notifications',
40
+ icon: /*#__PURE__*/ jsx(Bell, {
41
+ className: "h-4 w-4"
42
+ })
43
+ },
44
+ {
45
+ id: 'security',
46
+ label: 'Security',
47
+ icon: /*#__PURE__*/ jsx(Shield, {
48
+ className: "h-4 w-4"
49
+ })
50
+ },
51
+ {
52
+ id: 'billing',
53
+ label: 'Billing',
54
+ icon: /*#__PURE__*/ jsx(CreditCard, {
55
+ className: "h-4 w-4"
56
+ })
57
+ }
58
+ ];
59
+ function SettingsExample() {
60
+ const [activeSection, setActiveSection] = useState('profile');
61
+ const [formData, setFormData] = useState({
62
+ firstName: 'John',
63
+ lastName: 'Doe',
64
+ email: 'john.doe@example.com',
65
+ username: 'johndoe',
66
+ bio: 'Software developer passionate about building great products.',
67
+ theme: 'system',
68
+ language: 'en',
69
+ emailNotifications: true,
70
+ pushNotifications: false,
71
+ marketingEmails: false,
72
+ twoFactor: false
73
+ });
74
+ const updateField = (field, value)=>{
75
+ setFormData((prev)=>({
76
+ ...prev,
77
+ [field]: value
78
+ }));
79
+ };
80
+ return /*#__PURE__*/ jsxs(Column, {
81
+ minH: "screen",
82
+ className: "bg-background",
83
+ children: [
84
+ /*#__PURE__*/ jsx("header", {
85
+ className: "border-b",
86
+ children: /*#__PURE__*/ jsx(Row, {
87
+ h: 14,
88
+ align: "center",
89
+ className: "container mx-auto px-4",
90
+ children: /*#__PURE__*/ jsx("h1", {
91
+ className: "text-lg font-semibold",
92
+ children: "Settings"
93
+ })
94
+ })
95
+ }),
96
+ /*#__PURE__*/ jsxs(Row, {
97
+ gap: 8,
98
+ flex: 1,
99
+ className: "container mx-auto p-6",
100
+ children: [
101
+ /*#__PURE__*/ jsx("aside", {
102
+ className: "w-56 shrink-0",
103
+ children: /*#__PURE__*/ jsx("nav", {
104
+ className: "space-y-1",
105
+ children: navItems.map((item)=>/*#__PURE__*/ jsxs("button", {
106
+ onClick: ()=>setActiveSection(item.id),
107
+ className: cn('flex w-full items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors', activeSection === item.id ? 'bg-muted font-medium' : 'text-muted-foreground hover:bg-muted/50 hover:text-foreground'),
108
+ children: [
109
+ item.icon,
110
+ item.label
111
+ ]
112
+ }, item.id))
113
+ })
114
+ }),
115
+ /*#__PURE__*/ jsxs("main", {
116
+ className: "flex-1 space-y-6",
117
+ children: [
118
+ 'profile' === activeSection && /*#__PURE__*/ jsxs(Fragment, {
119
+ children: [
120
+ /*#__PURE__*/ jsxs("div", {
121
+ children: [
122
+ /*#__PURE__*/ jsx("h2", {
123
+ className: "text-2xl font-bold",
124
+ children: "Profile"
125
+ }),
126
+ /*#__PURE__*/ jsx("p", {
127
+ className: "text-muted-foreground",
128
+ children: "Manage your public profile information."
129
+ })
130
+ ]
131
+ }),
132
+ /*#__PURE__*/ jsxs(Card, {
133
+ children: [
134
+ /*#__PURE__*/ jsxs(CardHeader, {
135
+ children: [
136
+ /*#__PURE__*/ jsx(CardTitle, {
137
+ children: "Avatar"
138
+ }),
139
+ /*#__PURE__*/ jsx(CardDescription, {
140
+ children: "Click on the avatar to upload a custom one from your files."
141
+ })
142
+ ]
143
+ }),
144
+ /*#__PURE__*/ jsx(CardContent, {
145
+ children: /*#__PURE__*/ jsxs(Row, {
146
+ gap: 4,
147
+ align: "center",
148
+ children: [
149
+ /*#__PURE__*/ jsxs(Avatar, {
150
+ className: "h-20 w-20",
151
+ children: [
152
+ /*#__PURE__*/ jsx(AvatarImage, {
153
+ src: ""
154
+ }),
155
+ /*#__PURE__*/ jsx(AvatarFallback, {
156
+ className: "text-lg",
157
+ children: "JD"
158
+ })
159
+ ]
160
+ }),
161
+ /*#__PURE__*/ jsxs(Row, {
162
+ gap: 2,
163
+ children: [
164
+ /*#__PURE__*/ jsx(Button, {
165
+ variant: "outline",
166
+ size: "sm",
167
+ children: "Upload"
168
+ }),
169
+ /*#__PURE__*/ jsx(Button, {
170
+ variant: "ghost",
171
+ size: "sm",
172
+ children: "Remove"
173
+ })
174
+ ]
175
+ })
176
+ ]
177
+ })
178
+ })
179
+ ]
180
+ }),
181
+ /*#__PURE__*/ jsxs(Card, {
182
+ children: [
183
+ /*#__PURE__*/ jsxs(CardHeader, {
184
+ children: [
185
+ /*#__PURE__*/ jsx(CardTitle, {
186
+ children: "Personal Information"
187
+ }),
188
+ /*#__PURE__*/ jsx(CardDescription, {
189
+ children: "Update your personal details here."
190
+ })
191
+ ]
192
+ }),
193
+ /*#__PURE__*/ jsxs(CardContent, {
194
+ className: "space-y-4",
195
+ children: [
196
+ /*#__PURE__*/ jsxs(Grid, {
197
+ gap: 4,
198
+ cols: 2,
199
+ className: "md:grid-cols-2",
200
+ children: [
201
+ /*#__PURE__*/ jsxs(Column, {
202
+ gap: 2,
203
+ children: [
204
+ /*#__PURE__*/ jsx(Label, {
205
+ htmlFor: "firstName",
206
+ children: "First name"
207
+ }),
208
+ /*#__PURE__*/ jsx(Input, {
209
+ id: "firstName",
210
+ value: formData.firstName,
211
+ onChange: (e)=>updateField('firstName', e.target.value)
212
+ })
213
+ ]
214
+ }),
215
+ /*#__PURE__*/ jsxs(Column, {
216
+ gap: 2,
217
+ children: [
218
+ /*#__PURE__*/ jsx(Label, {
219
+ htmlFor: "lastName",
220
+ children: "Last name"
221
+ }),
222
+ /*#__PURE__*/ jsx(Input, {
223
+ id: "lastName",
224
+ value: formData.lastName,
225
+ onChange: (e)=>updateField('lastName', e.target.value)
226
+ })
227
+ ]
228
+ })
229
+ ]
230
+ }),
231
+ /*#__PURE__*/ jsxs(Column, {
232
+ gap: 2,
233
+ children: [
234
+ /*#__PURE__*/ jsx(Label, {
235
+ htmlFor: "username",
236
+ children: "Username"
237
+ }),
238
+ /*#__PURE__*/ jsx(Input, {
239
+ id: "username",
240
+ value: formData.username,
241
+ onChange: (e)=>updateField('username', e.target.value)
242
+ })
243
+ ]
244
+ }),
245
+ /*#__PURE__*/ jsxs(Column, {
246
+ gap: 2,
247
+ children: [
248
+ /*#__PURE__*/ jsx(Label, {
249
+ htmlFor: "bio",
250
+ children: "Bio"
251
+ }),
252
+ /*#__PURE__*/ jsx(Textarea, {
253
+ id: "bio",
254
+ value: formData.bio,
255
+ onChange: (e)=>updateField('bio', e.target.value),
256
+ rows: 3
257
+ }),
258
+ /*#__PURE__*/ jsx("p", {
259
+ className: "text-xs text-muted-foreground",
260
+ children: "Brief description for your profile. URLs are hyperlinked."
261
+ })
262
+ ]
263
+ })
264
+ ]
265
+ }),
266
+ /*#__PURE__*/ jsx(CardFooter, {
267
+ className: "border-t px-6 py-4",
268
+ children: /*#__PURE__*/ jsx(Button, {
269
+ children: "Save changes"
270
+ })
271
+ })
272
+ ]
273
+ })
274
+ ]
275
+ }),
276
+ 'account' === activeSection && /*#__PURE__*/ jsxs(Fragment, {
277
+ children: [
278
+ /*#__PURE__*/ jsxs("div", {
279
+ children: [
280
+ /*#__PURE__*/ jsx("h2", {
281
+ className: "text-2xl font-bold",
282
+ children: "Account"
283
+ }),
284
+ /*#__PURE__*/ jsx("p", {
285
+ className: "text-muted-foreground",
286
+ children: "Manage your account settings and email preferences."
287
+ })
288
+ ]
289
+ }),
290
+ /*#__PURE__*/ jsxs(Card, {
291
+ children: [
292
+ /*#__PURE__*/ jsxs(CardHeader, {
293
+ children: [
294
+ /*#__PURE__*/ jsx(CardTitle, {
295
+ children: "Email"
296
+ }),
297
+ /*#__PURE__*/ jsx(CardDescription, {
298
+ children: "Your email address is used for login and notifications."
299
+ })
300
+ ]
301
+ }),
302
+ /*#__PURE__*/ jsx(CardContent, {
303
+ className: "space-y-4",
304
+ children: /*#__PURE__*/ jsxs("div", {
305
+ className: "space-y-2",
306
+ children: [
307
+ /*#__PURE__*/ jsx(Label, {
308
+ htmlFor: "email",
309
+ children: "Email address"
310
+ }),
311
+ /*#__PURE__*/ jsx(Input, {
312
+ id: "email",
313
+ type: "email",
314
+ value: formData.email,
315
+ onChange: (e)=>updateField('email', e.target.value)
316
+ })
317
+ ]
318
+ })
319
+ }),
320
+ /*#__PURE__*/ jsx(CardFooter, {
321
+ className: "border-t px-6 py-4",
322
+ children: /*#__PURE__*/ jsx(Button, {
323
+ children: "Update email"
324
+ })
325
+ })
326
+ ]
327
+ }),
328
+ /*#__PURE__*/ jsxs(Card, {
329
+ className: "border-destructive",
330
+ children: [
331
+ /*#__PURE__*/ jsxs(CardHeader, {
332
+ children: [
333
+ /*#__PURE__*/ jsx(CardTitle, {
334
+ className: "text-destructive",
335
+ children: "Danger Zone"
336
+ }),
337
+ /*#__PURE__*/ jsx(CardDescription, {
338
+ children: "Irreversible and destructive actions."
339
+ })
340
+ ]
341
+ }),
342
+ /*#__PURE__*/ jsx(CardContent, {
343
+ className: "space-y-4",
344
+ children: /*#__PURE__*/ jsxs(Row, {
345
+ justify: "between",
346
+ align: "center",
347
+ children: [
348
+ /*#__PURE__*/ jsxs(Column, {
349
+ gap: 0,
350
+ children: [
351
+ /*#__PURE__*/ jsx("p", {
352
+ className: "font-medium",
353
+ children: "Delete account"
354
+ }),
355
+ /*#__PURE__*/ jsx("p", {
356
+ className: "text-sm text-muted-foreground",
357
+ children: "Permanently delete your account and all associated data."
358
+ })
359
+ ]
360
+ }),
361
+ /*#__PURE__*/ jsx(Button, {
362
+ variant: "destructive",
363
+ children: "Delete account"
364
+ })
365
+ ]
366
+ })
367
+ })
368
+ ]
369
+ })
370
+ ]
371
+ }),
372
+ 'appearance' === activeSection && /*#__PURE__*/ jsxs(Fragment, {
373
+ children: [
374
+ /*#__PURE__*/ jsxs("div", {
375
+ children: [
376
+ /*#__PURE__*/ jsx("h2", {
377
+ className: "text-2xl font-bold",
378
+ children: "Appearance"
379
+ }),
380
+ /*#__PURE__*/ jsx("p", {
381
+ className: "text-muted-foreground",
382
+ children: "Customize the appearance of the application."
383
+ })
384
+ ]
385
+ }),
386
+ /*#__PURE__*/ jsxs(Card, {
387
+ children: [
388
+ /*#__PURE__*/ jsxs(CardHeader, {
389
+ children: [
390
+ /*#__PURE__*/ jsx(CardTitle, {
391
+ children: "Theme"
392
+ }),
393
+ /*#__PURE__*/ jsx(CardDescription, {
394
+ children: "Select your preferred theme for the dashboard."
395
+ })
396
+ ]
397
+ }),
398
+ /*#__PURE__*/ jsxs(CardContent, {
399
+ className: "space-y-4",
400
+ children: [
401
+ /*#__PURE__*/ jsxs("div", {
402
+ className: "space-y-2",
403
+ children: [
404
+ /*#__PURE__*/ jsx(Label, {
405
+ htmlFor: "theme",
406
+ children: "Theme"
407
+ }),
408
+ /*#__PURE__*/ jsxs(Select, {
409
+ value: formData.theme,
410
+ onValueChange: (value)=>updateField('theme', value),
411
+ children: [
412
+ /*#__PURE__*/ jsx(SelectTrigger, {
413
+ id: "theme",
414
+ className: "w-[200px]",
415
+ children: /*#__PURE__*/ jsx(SelectValue, {})
416
+ }),
417
+ /*#__PURE__*/ jsxs(SelectContent, {
418
+ children: [
419
+ /*#__PURE__*/ jsx(SelectItem, {
420
+ value: "light",
421
+ children: "Light"
422
+ }),
423
+ /*#__PURE__*/ jsx(SelectItem, {
424
+ value: "dark",
425
+ children: "Dark"
426
+ }),
427
+ /*#__PURE__*/ jsx(SelectItem, {
428
+ value: "system",
429
+ children: "System"
430
+ })
431
+ ]
432
+ })
433
+ ]
434
+ })
435
+ ]
436
+ }),
437
+ /*#__PURE__*/ jsxs("div", {
438
+ className: "space-y-2",
439
+ children: [
440
+ /*#__PURE__*/ jsx(Label, {
441
+ htmlFor: "language",
442
+ children: "Language"
443
+ }),
444
+ /*#__PURE__*/ jsxs(Select, {
445
+ value: formData.language,
446
+ onValueChange: (value)=>updateField('language', value),
447
+ children: [
448
+ /*#__PURE__*/ jsx(SelectTrigger, {
449
+ id: "language",
450
+ className: "w-[200px]",
451
+ children: /*#__PURE__*/ jsx(SelectValue, {})
452
+ }),
453
+ /*#__PURE__*/ jsxs(SelectContent, {
454
+ children: [
455
+ /*#__PURE__*/ jsx(SelectItem, {
456
+ value: "en",
457
+ children: "English"
458
+ }),
459
+ /*#__PURE__*/ jsx(SelectItem, {
460
+ value: "es",
461
+ children: "Spanish"
462
+ }),
463
+ /*#__PURE__*/ jsx(SelectItem, {
464
+ value: "fr",
465
+ children: "French"
466
+ }),
467
+ /*#__PURE__*/ jsx(SelectItem, {
468
+ value: "de",
469
+ children: "German"
470
+ })
471
+ ]
472
+ })
473
+ ]
474
+ })
475
+ ]
476
+ })
477
+ ]
478
+ })
479
+ ]
480
+ })
481
+ ]
482
+ }),
483
+ 'notifications' === activeSection && /*#__PURE__*/ jsxs(Fragment, {
484
+ children: [
485
+ /*#__PURE__*/ jsxs("div", {
486
+ children: [
487
+ /*#__PURE__*/ jsx("h2", {
488
+ className: "text-2xl font-bold",
489
+ children: "Notifications"
490
+ }),
491
+ /*#__PURE__*/ jsx("p", {
492
+ className: "text-muted-foreground",
493
+ children: "Configure how you receive notifications."
494
+ })
495
+ ]
496
+ }),
497
+ /*#__PURE__*/ jsxs(Card, {
498
+ children: [
499
+ /*#__PURE__*/ jsxs(CardHeader, {
500
+ children: [
501
+ /*#__PURE__*/ jsx(CardTitle, {
502
+ children: "Notification Preferences"
503
+ }),
504
+ /*#__PURE__*/ jsx(CardDescription, {
505
+ children: "Choose what notifications you want to receive."
506
+ })
507
+ ]
508
+ }),
509
+ /*#__PURE__*/ jsxs(CardContent, {
510
+ className: "space-y-6",
511
+ children: [
512
+ /*#__PURE__*/ jsxs(Row, {
513
+ justify: "between",
514
+ align: "center",
515
+ children: [
516
+ /*#__PURE__*/ jsxs(Column, {
517
+ gap: 0.5,
518
+ children: [
519
+ /*#__PURE__*/ jsx(Label, {
520
+ children: "Email notifications"
521
+ }),
522
+ /*#__PURE__*/ jsx("p", {
523
+ className: "text-sm text-muted-foreground",
524
+ children: "Receive notifications via email."
525
+ })
526
+ ]
527
+ }),
528
+ /*#__PURE__*/ jsx(Switch, {
529
+ checked: formData.emailNotifications,
530
+ onCheckedChange: (checked)=>updateField('emailNotifications', checked)
531
+ })
532
+ ]
533
+ }),
534
+ /*#__PURE__*/ jsx(Separator, {}),
535
+ /*#__PURE__*/ jsxs(Row, {
536
+ justify: "between",
537
+ align: "center",
538
+ children: [
539
+ /*#__PURE__*/ jsxs(Column, {
540
+ gap: 0.5,
541
+ children: [
542
+ /*#__PURE__*/ jsx(Label, {
543
+ children: "Push notifications"
544
+ }),
545
+ /*#__PURE__*/ jsx("p", {
546
+ className: "text-sm text-muted-foreground",
547
+ children: "Receive push notifications on your device."
548
+ })
549
+ ]
550
+ }),
551
+ /*#__PURE__*/ jsx(Switch, {
552
+ checked: formData.pushNotifications,
553
+ onCheckedChange: (checked)=>updateField('pushNotifications', checked)
554
+ })
555
+ ]
556
+ }),
557
+ /*#__PURE__*/ jsx(Separator, {}),
558
+ /*#__PURE__*/ jsxs(Row, {
559
+ justify: "between",
560
+ align: "center",
561
+ children: [
562
+ /*#__PURE__*/ jsxs(Column, {
563
+ gap: 0.5,
564
+ children: [
565
+ /*#__PURE__*/ jsx(Label, {
566
+ children: "Marketing emails"
567
+ }),
568
+ /*#__PURE__*/ jsx("p", {
569
+ className: "text-sm text-muted-foreground",
570
+ children: "Receive emails about new features and updates."
571
+ })
572
+ ]
573
+ }),
574
+ /*#__PURE__*/ jsx(Switch, {
575
+ checked: formData.marketingEmails,
576
+ onCheckedChange: (checked)=>updateField('marketingEmails', checked)
577
+ })
578
+ ]
579
+ })
580
+ ]
581
+ })
582
+ ]
583
+ })
584
+ ]
585
+ }),
586
+ 'security' === activeSection && /*#__PURE__*/ jsxs(Fragment, {
587
+ children: [
588
+ /*#__PURE__*/ jsxs("div", {
589
+ children: [
590
+ /*#__PURE__*/ jsx("h2", {
591
+ className: "text-2xl font-bold",
592
+ children: "Security"
593
+ }),
594
+ /*#__PURE__*/ jsx("p", {
595
+ className: "text-muted-foreground",
596
+ children: "Manage your security preferences."
597
+ })
598
+ ]
599
+ }),
600
+ /*#__PURE__*/ jsxs(Card, {
601
+ children: [
602
+ /*#__PURE__*/ jsxs(CardHeader, {
603
+ children: [
604
+ /*#__PURE__*/ jsx(CardTitle, {
605
+ children: "Password"
606
+ }),
607
+ /*#__PURE__*/ jsx(CardDescription, {
608
+ children: "Change your password here."
609
+ })
610
+ ]
611
+ }),
612
+ /*#__PURE__*/ jsxs(CardContent, {
613
+ className: "space-y-4",
614
+ children: [
615
+ /*#__PURE__*/ jsxs("div", {
616
+ className: "space-y-2",
617
+ children: [
618
+ /*#__PURE__*/ jsx(Label, {
619
+ htmlFor: "currentPassword",
620
+ children: "Current password"
621
+ }),
622
+ /*#__PURE__*/ jsx(Input, {
623
+ id: "currentPassword",
624
+ type: "password"
625
+ })
626
+ ]
627
+ }),
628
+ /*#__PURE__*/ jsxs("div", {
629
+ className: "space-y-2",
630
+ children: [
631
+ /*#__PURE__*/ jsx(Label, {
632
+ htmlFor: "newPassword",
633
+ children: "New password"
634
+ }),
635
+ /*#__PURE__*/ jsx(Input, {
636
+ id: "newPassword",
637
+ type: "password"
638
+ })
639
+ ]
640
+ }),
641
+ /*#__PURE__*/ jsxs("div", {
642
+ className: "space-y-2",
643
+ children: [
644
+ /*#__PURE__*/ jsx(Label, {
645
+ htmlFor: "confirmPassword",
646
+ children: "Confirm password"
647
+ }),
648
+ /*#__PURE__*/ jsx(Input, {
649
+ id: "confirmPassword",
650
+ type: "password"
651
+ })
652
+ ]
653
+ })
654
+ ]
655
+ }),
656
+ /*#__PURE__*/ jsx(CardFooter, {
657
+ className: "border-t px-6 py-4",
658
+ children: /*#__PURE__*/ jsx(Button, {
659
+ children: "Update password"
660
+ })
661
+ })
662
+ ]
663
+ }),
664
+ /*#__PURE__*/ jsxs(Card, {
665
+ children: [
666
+ /*#__PURE__*/ jsxs(CardHeader, {
667
+ children: [
668
+ /*#__PURE__*/ jsx(CardTitle, {
669
+ children: "Two-Factor Authentication"
670
+ }),
671
+ /*#__PURE__*/ jsx(CardDescription, {
672
+ children: "Add an extra layer of security to your account."
673
+ })
674
+ ]
675
+ }),
676
+ /*#__PURE__*/ jsx(CardContent, {
677
+ children: /*#__PURE__*/ jsxs(Row, {
678
+ justify: "between",
679
+ align: "center",
680
+ children: [
681
+ /*#__PURE__*/ jsxs(Column, {
682
+ gap: 0.5,
683
+ children: [
684
+ /*#__PURE__*/ jsx("p", {
685
+ className: "font-medium",
686
+ children: "Enable 2FA"
687
+ }),
688
+ /*#__PURE__*/ jsx("p", {
689
+ className: "text-sm text-muted-foreground",
690
+ children: "Secure your account with two-factor authentication."
691
+ })
692
+ ]
693
+ }),
694
+ /*#__PURE__*/ jsx(Switch, {
695
+ checked: formData.twoFactor,
696
+ onCheckedChange: (checked)=>updateField('twoFactor', checked)
697
+ })
698
+ ]
699
+ })
700
+ })
701
+ ]
702
+ })
703
+ ]
704
+ }),
705
+ 'billing' === activeSection && /*#__PURE__*/ jsxs(Fragment, {
706
+ children: [
707
+ /*#__PURE__*/ jsxs("div", {
708
+ children: [
709
+ /*#__PURE__*/ jsx("h2", {
710
+ className: "text-2xl font-bold",
711
+ children: "Billing"
712
+ }),
713
+ /*#__PURE__*/ jsx("p", {
714
+ className: "text-muted-foreground",
715
+ children: "Manage your billing information and subscription."
716
+ })
717
+ ]
718
+ }),
719
+ /*#__PURE__*/ jsxs(Card, {
720
+ children: [
721
+ /*#__PURE__*/ jsxs(CardHeader, {
722
+ children: [
723
+ /*#__PURE__*/ jsx(CardTitle, {
724
+ children: "Current Plan"
725
+ }),
726
+ /*#__PURE__*/ jsx(CardDescription, {
727
+ children: "You are currently on the Pro plan."
728
+ })
729
+ ]
730
+ }),
731
+ /*#__PURE__*/ jsx(CardContent, {
732
+ children: /*#__PURE__*/ jsxs(Row, {
733
+ justify: "between",
734
+ align: "center",
735
+ className: "rounded-lg border p-4",
736
+ children: [
737
+ /*#__PURE__*/ jsxs(Column, {
738
+ gap: 0,
739
+ children: [
740
+ /*#__PURE__*/ jsx("p", {
741
+ className: "font-semibold",
742
+ children: "Pro Plan"
743
+ }),
744
+ /*#__PURE__*/ jsx("p", {
745
+ className: "text-sm text-muted-foreground",
746
+ children: "$29/month • Renews on Jan 1, 2025"
747
+ })
748
+ ]
749
+ }),
750
+ /*#__PURE__*/ jsx(Button, {
751
+ variant: "outline",
752
+ children: "Manage subscription"
753
+ })
754
+ ]
755
+ })
756
+ })
757
+ ]
758
+ }),
759
+ /*#__PURE__*/ jsxs(Card, {
760
+ children: [
761
+ /*#__PURE__*/ jsxs(CardHeader, {
762
+ children: [
763
+ /*#__PURE__*/ jsx(CardTitle, {
764
+ children: "Payment Method"
765
+ }),
766
+ /*#__PURE__*/ jsx(CardDescription, {
767
+ children: "Update your payment information."
768
+ })
769
+ ]
770
+ }),
771
+ /*#__PURE__*/ jsx(CardContent, {
772
+ children: /*#__PURE__*/ jsxs(Row, {
773
+ justify: "between",
774
+ align: "center",
775
+ className: "rounded-lg border p-4",
776
+ children: [
777
+ /*#__PURE__*/ jsxs(Row, {
778
+ gap: 3,
779
+ align: "center",
780
+ children: [
781
+ /*#__PURE__*/ jsx(Row, {
782
+ justify: "center",
783
+ align: "center",
784
+ className: "h-10 w-14 rounded bg-muted",
785
+ children: /*#__PURE__*/ jsx(CreditCard, {
786
+ className: "h-5 w-5"
787
+ })
788
+ }),
789
+ /*#__PURE__*/ jsxs(Column, {
790
+ gap: 0,
791
+ children: [
792
+ /*#__PURE__*/ jsx("p", {
793
+ className: "font-medium",
794
+ children: "•••• •••• •••• 4242"
795
+ }),
796
+ /*#__PURE__*/ jsx("p", {
797
+ className: "text-sm text-muted-foreground",
798
+ children: "Expires 12/25"
799
+ })
800
+ ]
801
+ })
802
+ ]
803
+ }),
804
+ /*#__PURE__*/ jsx(Button, {
805
+ variant: "ghost",
806
+ size: "sm",
807
+ children: "Edit"
808
+ })
809
+ ]
810
+ })
811
+ }),
812
+ /*#__PURE__*/ jsx(CardFooter, {
813
+ className: "border-t px-6 py-4",
814
+ children: /*#__PURE__*/ jsx(Button, {
815
+ variant: "outline",
816
+ children: "Add payment method"
817
+ })
818
+ })
819
+ ]
820
+ })
821
+ ]
822
+ })
823
+ ]
824
+ })
825
+ ]
826
+ })
827
+ ]
828
+ });
829
+ }
830
+ export { SettingsExample };