@framingui/ui 0.6.2 → 0.6.3

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 (68) hide show
  1. package/README.md +22 -1090
  2. package/dist/chunk-7UBERMRE.mjs +180 -0
  3. package/dist/index.d.mts +1 -140
  4. package/dist/index.mjs +248 -1681
  5. package/dist/src/index.d.ts +0 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +0 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/templates/auth/forgot-password.d.ts +2 -2
  10. package/dist/src/templates/auth/forgot-password.d.ts.map +1 -1
  11. package/dist/src/templates/auth/forgot-password.js +2 -35
  12. package/dist/src/templates/auth/forgot-password.js.map +1 -1
  13. package/dist/src/templates/auth/login.d.ts +2 -2
  14. package/dist/src/templates/auth/login.d.ts.map +1 -1
  15. package/dist/src/templates/auth/login.js +2 -35
  16. package/dist/src/templates/auth/login.js.map +1 -1
  17. package/dist/src/templates/auth/signup.d.ts +2 -2
  18. package/dist/src/templates/auth/signup.d.ts.map +1 -1
  19. package/dist/src/templates/auth/signup.js +2 -35
  20. package/dist/src/templates/auth/signup.js.map +1 -1
  21. package/dist/src/templates/auth/verification.d.ts +2 -2
  22. package/dist/src/templates/auth/verification.d.ts.map +1 -1
  23. package/dist/src/templates/auth/verification.js +2 -35
  24. package/dist/src/templates/auth/verification.js.map +1 -1
  25. package/dist/src/templates/core/landing.d.ts +2 -2
  26. package/dist/src/templates/core/landing.d.ts.map +1 -1
  27. package/dist/src/templates/core/landing.js +2 -35
  28. package/dist/src/templates/core/landing.js.map +1 -1
  29. package/dist/src/templates/core/preferences.d.ts +2 -2
  30. package/dist/src/templates/core/preferences.d.ts.map +1 -1
  31. package/dist/src/templates/core/preferences.js +2 -41
  32. package/dist/src/templates/core/preferences.js.map +1 -1
  33. package/dist/src/templates/core/profile.d.ts +2 -2
  34. package/dist/src/templates/core/profile.d.ts.map +1 -1
  35. package/dist/src/templates/core/profile.js +2 -35
  36. package/dist/src/templates/core/profile.js.map +1 -1
  37. package/dist/src/templates/create-template.d.ts +4 -0
  38. package/dist/src/templates/create-template.d.ts.map +1 -0
  39. package/dist/src/templates/create-template.js +41 -0
  40. package/dist/src/templates/create-template.js.map +1 -0
  41. package/dist/src/templates/dashboard/overview.d.ts +2 -2
  42. package/dist/src/templates/dashboard/overview.d.ts.map +1 -1
  43. package/dist/src/templates/dashboard/overview.js +2 -56
  44. package/dist/src/templates/dashboard/overview.js.map +1 -1
  45. package/dist/src/templates/feedback/confirmation.d.ts +2 -2
  46. package/dist/src/templates/feedback/confirmation.d.ts.map +1 -1
  47. package/dist/src/templates/feedback/confirmation.js +2 -35
  48. package/dist/src/templates/feedback/confirmation.js.map +1 -1
  49. package/dist/src/templates/feedback/empty.d.ts +2 -2
  50. package/dist/src/templates/feedback/empty.d.ts.map +1 -1
  51. package/dist/src/templates/feedback/empty.js +2 -35
  52. package/dist/src/templates/feedback/empty.js.map +1 -1
  53. package/dist/src/templates/feedback/error.d.ts +2 -2
  54. package/dist/src/templates/feedback/error.d.ts.map +1 -1
  55. package/dist/src/templates/feedback/error.js +2 -35
  56. package/dist/src/templates/feedback/error.js.map +1 -1
  57. package/dist/src/templates/feedback/loading.d.ts +2 -2
  58. package/dist/src/templates/feedback/loading.d.ts.map +1 -1
  59. package/dist/src/templates/feedback/loading.js +2 -35
  60. package/dist/src/templates/feedback/loading.js.map +1 -1
  61. package/dist/src/templates/feedback/success.d.ts +2 -2
  62. package/dist/src/templates/feedback/success.d.ts.map +1 -1
  63. package/dist/src/templates/feedback/success.js +2 -35
  64. package/dist/src/templates/feedback/success.js.map +1 -1
  65. package/dist/templates/index.d.mts +142 -0
  66. package/dist/templates/index.mjs +905 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +6 -1
package/dist/index.mjs CHANGED
@@ -1,11 +1,18 @@
1
1
  'use client';
2
-
3
- // src/lib/utils.ts
4
- import { clsx } from "clsx";
5
- import { twMerge } from "tailwind-merge";
6
- function cn(...inputs) {
7
- return twMerge(clsx(inputs));
8
- }
2
+ import {
3
+ Button,
4
+ Card,
5
+ CardContent,
6
+ CardDescription,
7
+ CardFooter,
8
+ CardHeader,
9
+ CardTitle,
10
+ Input,
11
+ Label,
12
+ Separator,
13
+ buttonVariants,
14
+ cn
15
+ } from "./chunk-7UBERMRE.mjs";
9
16
 
10
17
  // src/lib/tokens.ts
11
18
  var tokenVars = {
@@ -296,147 +303,10 @@ function getMotionTransition(transition, motionSafe) {
296
303
  return transition;
297
304
  }
298
305
 
299
- // src/components/button.tsx
300
- import * as React from "react";
301
- import { Slot } from "@radix-ui/react-slot";
306
+ // src/components/badge.tsx
302
307
  import { cva } from "class-variance-authority";
303
308
  import { jsx } from "react/jsx-runtime";
304
- var buttonVariants = cva(
305
- "inline-flex items-center justify-center whitespace-nowrap rounded-[var(--tekton-radius-xl)] text-sm font-medium ring-offset-[var(--tekton-bg-background)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
306
- {
307
- variants: {
308
- variant: {
309
- default: "bg-[var(--tekton-bg-primary)] text-[var(--tekton-bg-primary-foreground)] hover:bg-[var(--tekton-bg-primary)]/90",
310
- destructive: "bg-[var(--tekton-bg-destructive)] text-[var(--tekton-bg-destructive-foreground)] hover:bg-[var(--tekton-bg-destructive)]/90",
311
- outline: "border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
312
- secondary: "bg-[var(--tekton-bg-secondary)] text-[var(--tekton-bg-secondary-foreground)] hover:bg-[var(--tekton-bg-secondary)]/80",
313
- ghost: "hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
314
- link: "text-[var(--tekton-bg-primary)] underline-offset-4 hover:underline"
315
- },
316
- size: {
317
- default: "h-10 px-[var(--tekton-spacing-4)] py-[var(--tekton-spacing-2)]",
318
- sm: "h-9 rounded-[var(--tekton-radius-xl)] px-[var(--tekton-spacing-3)]",
319
- lg: "h-11 rounded-[var(--tekton-radius-xl)] px-[var(--tekton-spacing-8)]",
320
- icon: "h-10 w-10"
321
- }
322
- },
323
- defaultVariants: {
324
- variant: "default",
325
- size: "default"
326
- }
327
- }
328
- );
329
- var Button = React.forwardRef(
330
- ({ className, variant, size, asChild = false, ...props }, ref) => {
331
- const Comp = asChild ? Slot : "button";
332
- return /* @__PURE__ */ jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
333
- }
334
- );
335
- Button.displayName = "Button";
336
-
337
- // src/components/input.tsx
338
- import * as React2 from "react";
339
- import { jsx as jsx2 } from "react/jsx-runtime";
340
- var Input = React2.forwardRef(
341
- ({ className, type, ...props }, ref) => {
342
- return /* @__PURE__ */ jsx2(
343
- "input",
344
- {
345
- type,
346
- className: cn(
347
- "flex h-10 w-full rounded-[var(--tekton-radius-md)] border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm ring-offset-[var(--tekton-bg-background)] file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--tekton-bg-muted-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
348
- className
349
- ),
350
- ref,
351
- ...props
352
- }
353
- );
354
- }
355
- );
356
- Input.displayName = "Input";
357
-
358
- // src/components/label.tsx
359
- import * as React3 from "react";
360
- import * as LabelPrimitive from "@radix-ui/react-label";
361
- import { cva as cva2 } from "class-variance-authority";
362
- import { jsx as jsx3 } from "react/jsx-runtime";
363
- var labelVariants = cva2(
364
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
365
- );
366
- var Label = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
367
- Label.displayName = LabelPrimitive.Root.displayName;
368
-
369
- // src/components/card.tsx
370
- import * as React4 from "react";
371
- import { jsx as jsx4 } from "react/jsx-runtime";
372
- var Card = React4.forwardRef(
373
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
374
- "div",
375
- {
376
- ref,
377
- className: cn(
378
- "rounded-[var(--tekton-radius-lg)] border border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] text-[var(--tekton-bg-card-foreground)] shadow-sm",
379
- className
380
- ),
381
- ...props
382
- }
383
- )
384
- );
385
- Card.displayName = "Card";
386
- var CardHeader = React4.forwardRef(
387
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
388
- "div",
389
- {
390
- ref,
391
- className: cn(
392
- "flex flex-col space-y-[var(--tekton-spacing-2)] p-[var(--tekton-spacing-6)]",
393
- className
394
- ),
395
- ...props
396
- }
397
- )
398
- );
399
- CardHeader.displayName = "CardHeader";
400
- var CardTitle = React4.forwardRef(
401
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
402
- "h3",
403
- {
404
- ref,
405
- className: cn("text-2xl font-semibold leading-none tracking-tight", className),
406
- ...props
407
- }
408
- )
409
- );
410
- CardTitle.displayName = "CardTitle";
411
- var CardDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
412
- "p",
413
- {
414
- ref,
415
- className: cn("text-sm text-[var(--tekton-bg-muted-foreground)]", className),
416
- ...props
417
- }
418
- ));
419
- CardDescription.displayName = "CardDescription";
420
- var CardContent = React4.forwardRef(
421
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx4("div", { ref, className: cn("p-[var(--tekton-spacing-6)] pt-0", className), ...props })
422
- );
423
- CardContent.displayName = "CardContent";
424
- var CardFooter = React4.forwardRef(
425
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
426
- "div",
427
- {
428
- ref,
429
- className: cn("flex items-center p-[var(--tekton-spacing-6)] pt-0", className),
430
- ...props
431
- }
432
- )
433
- );
434
- CardFooter.displayName = "CardFooter";
435
-
436
- // src/components/badge.tsx
437
- import { cva as cva3 } from "class-variance-authority";
438
- import { jsx as jsx5 } from "react/jsx-runtime";
439
- var badgeVariants = cva3(
309
+ var badgeVariants = cva(
440
310
  "inline-flex items-center rounded-[var(--tekton-radius-full)] border px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-1)] text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-[var(--tekton-border-ring)] focus:ring-offset-2",
441
311
  {
442
312
  variants: {
@@ -453,14 +323,14 @@ var badgeVariants = cva3(
453
323
  }
454
324
  );
455
325
  function Badge({ className, variant, ...props }) {
456
- return /* @__PURE__ */ jsx5("div", { className: cn(badgeVariants({ variant }), className), ...props });
326
+ return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
457
327
  }
458
328
 
459
329
  // src/components/avatar.tsx
460
- import * as React5 from "react";
330
+ import * as React from "react";
461
331
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
462
- import { jsx as jsx6 } from "react/jsx-runtime";
463
- var Avatar = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx6(
332
+ import { jsx as jsx2 } from "react/jsx-runtime";
333
+ var Avatar = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx2(
464
334
  AvatarPrimitive.Root,
465
335
  {
466
336
  ref,
@@ -473,7 +343,7 @@ var Avatar = React5.forwardRef(({ className, children, ...props }, ref) => /* @_
473
343
  }
474
344
  ));
475
345
  Avatar.displayName = AvatarPrimitive.Root.displayName;
476
- var AvatarImage = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
346
+ var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
477
347
  AvatarPrimitive.Image,
478
348
  {
479
349
  ref,
@@ -482,7 +352,7 @@ var AvatarImage = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE
482
352
  }
483
353
  ));
484
354
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
485
- var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
355
+ var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
486
356
  AvatarPrimitive.Fallback,
487
357
  {
488
358
  ref,
@@ -495,32 +365,12 @@ var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => /* @__P
495
365
  ));
496
366
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
497
367
 
498
- // src/components/separator.tsx
499
- import * as React6 from "react";
500
- import * as SeparatorPrimitive from "@radix-ui/react-separator";
501
- import { jsx as jsx7 } from "react/jsx-runtime";
502
- var Separator = React6.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx7(
503
- SeparatorPrimitive.Root,
504
- {
505
- ref,
506
- decorative,
507
- orientation,
508
- className: cn(
509
- "shrink-0 bg-[var(--tekton-border-default)]",
510
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
511
- className
512
- ),
513
- ...props
514
- }
515
- ));
516
- Separator.displayName = SeparatorPrimitive.Root.displayName;
517
-
518
368
  // src/components/checkbox.tsx
519
- import * as React7 from "react";
369
+ import * as React2 from "react";
520
370
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
521
371
  import { Check } from "lucide-react";
522
- import { jsx as jsx8 } from "react/jsx-runtime";
523
- var Checkbox = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
372
+ import { jsx as jsx3 } from "react/jsx-runtime";
373
+ var Checkbox = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
524
374
  CheckboxPrimitive.Root,
525
375
  {
526
376
  ref,
@@ -529,18 +379,18 @@ var Checkbox = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__
529
379
  className
530
380
  ),
531
381
  ...props,
532
- children: /* @__PURE__ */ jsx8(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx8(Check, { className: "h-4 w-4" }) })
382
+ children: /* @__PURE__ */ jsx3(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx3(Check, { className: "h-4 w-4" }) })
533
383
  }
534
384
  ));
535
385
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
536
386
 
537
387
  // src/components/radio-group.tsx
538
- import * as React8 from "react";
388
+ import * as React3 from "react";
539
389
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
540
390
  import { Circle } from "lucide-react";
541
- import { jsx as jsx9 } from "react/jsx-runtime";
542
- var RadioGroup = React8.forwardRef(({ className, ...props }, ref) => {
543
- return /* @__PURE__ */ jsx9(
391
+ import { jsx as jsx4 } from "react/jsx-runtime";
392
+ var RadioGroup = React3.forwardRef(({ className, ...props }, ref) => {
393
+ return /* @__PURE__ */ jsx4(
544
394
  RadioGroupPrimitive.Root,
545
395
  {
546
396
  className: cn("grid gap-[var(--tekton-spacing-2)]", className),
@@ -550,8 +400,8 @@ var RadioGroup = React8.forwardRef(({ className, ...props }, ref) => {
550
400
  );
551
401
  });
552
402
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
553
- var RadioGroupItem = React8.forwardRef(({ className, ...props }, ref) => {
554
- return /* @__PURE__ */ jsx9(
403
+ var RadioGroupItem = React3.forwardRef(({ className, ...props }, ref) => {
404
+ return /* @__PURE__ */ jsx4(
555
405
  RadioGroupPrimitive.Item,
556
406
  {
557
407
  ref,
@@ -560,17 +410,17 @@ var RadioGroupItem = React8.forwardRef(({ className, ...props }, ref) => {
560
410
  className
561
411
  ),
562
412
  ...props,
563
- children: /* @__PURE__ */ jsx9(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx9(Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
413
+ children: /* @__PURE__ */ jsx4(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx4(Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
564
414
  }
565
415
  );
566
416
  });
567
417
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
568
418
 
569
419
  // src/components/switch.tsx
570
- import * as React9 from "react";
420
+ import * as React4 from "react";
571
421
  import * as SwitchPrimitives from "@radix-ui/react-switch";
572
- import { jsx as jsx10 } from "react/jsx-runtime";
573
- var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
422
+ import { jsx as jsx5 } from "react/jsx-runtime";
423
+ var Switch = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
574
424
  SwitchPrimitives.Root,
575
425
  {
576
426
  className: cn(
@@ -579,7 +429,7 @@ var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
579
429
  ),
580
430
  ...props,
581
431
  ref,
582
- children: /* @__PURE__ */ jsx10(
432
+ children: /* @__PURE__ */ jsx5(
583
433
  SwitchPrimitives.Thumb,
584
434
  {
585
435
  className: cn(
@@ -592,11 +442,11 @@ var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
592
442
  Switch.displayName = SwitchPrimitives.Root.displayName;
593
443
 
594
444
  // src/components/textarea.tsx
595
- import * as React10 from "react";
596
- import { jsx as jsx11 } from "react/jsx-runtime";
597
- var Textarea = React10.forwardRef(
445
+ import * as React5 from "react";
446
+ import { jsx as jsx6 } from "react/jsx-runtime";
447
+ var Textarea = React5.forwardRef(
598
448
  ({ className, ...props }, ref) => {
599
- return /* @__PURE__ */ jsx11(
449
+ return /* @__PURE__ */ jsx6(
600
450
  "textarea",
601
451
  {
602
452
  className: cn(
@@ -612,9 +462,9 @@ var Textarea = React10.forwardRef(
612
462
  Textarea.displayName = "Textarea";
613
463
 
614
464
  // src/components/skeleton.tsx
615
- import { jsx as jsx12 } from "react/jsx-runtime";
465
+ import { jsx as jsx7 } from "react/jsx-runtime";
616
466
  function Skeleton({ className, ...props }) {
617
- return /* @__PURE__ */ jsx12(
467
+ return /* @__PURE__ */ jsx7(
618
468
  "div",
619
469
  {
620
470
  className: cn(
@@ -627,24 +477,24 @@ function Skeleton({ className, ...props }) {
627
477
  }
628
478
 
629
479
  // src/components/scroll-area.tsx
630
- import * as React11 from "react";
480
+ import * as React6 from "react";
631
481
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
632
- import { jsx as jsx13, jsxs } from "react/jsx-runtime";
633
- var ScrollArea = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
482
+ import { jsx as jsx8, jsxs } from "react/jsx-runtime";
483
+ var ScrollArea = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
634
484
  ScrollAreaPrimitive.Root,
635
485
  {
636
486
  ref,
637
487
  className: cn("relative overflow-hidden", className),
638
488
  ...props,
639
489
  children: [
640
- /* @__PURE__ */ jsx13(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
641
- /* @__PURE__ */ jsx13(ScrollBar, {}),
642
- /* @__PURE__ */ jsx13(ScrollAreaPrimitive.Corner, {})
490
+ /* @__PURE__ */ jsx8(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
491
+ /* @__PURE__ */ jsx8(ScrollBar, {}),
492
+ /* @__PURE__ */ jsx8(ScrollAreaPrimitive.Corner, {})
643
493
  ]
644
494
  }
645
495
  ));
646
496
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
647
- var ScrollBar = React11.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx13(
497
+ var ScrollBar = React6.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx8(
648
498
  ScrollAreaPrimitive.ScrollAreaScrollbar,
649
499
  {
650
500
  ref,
@@ -656,20 +506,20 @@ var ScrollBar = React11.forwardRef(({ className, orientation = "vertical", ...pr
656
506
  className
657
507
  ),
658
508
  ...props,
659
- children: /* @__PURE__ */ jsx13(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-[var(--tekton-radius-full)] bg-[var(--tekton-border-default)]" })
509
+ children: /* @__PURE__ */ jsx8(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-[var(--tekton-radius-full)] bg-[var(--tekton-border-default)]" })
660
510
  }
661
511
  ));
662
512
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
663
513
 
664
514
  // src/components/select.tsx
665
- import * as React12 from "react";
515
+ import * as React7 from "react";
666
516
  import * as SelectPrimitive from "@radix-ui/react-select";
667
517
  import { Check as Check2, ChevronDown, ChevronUp } from "lucide-react";
668
- import { jsx as jsx14, jsxs as jsxs2 } from "react/jsx-runtime";
518
+ import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
669
519
  var Select = SelectPrimitive.Root;
670
520
  var SelectGroup = SelectPrimitive.Group;
671
521
  var SelectValue = SelectPrimitive.Value;
672
- var SelectTrigger = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
522
+ var SelectTrigger = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
673
523
  SelectPrimitive.Trigger,
674
524
  {
675
525
  ref,
@@ -680,32 +530,32 @@ var SelectTrigger = React12.forwardRef(({ className, children, ...props }, ref)
680
530
  ...props,
681
531
  children: [
682
532
  children,
683
- /* @__PURE__ */ jsx14(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx14(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
533
+ /* @__PURE__ */ jsx9(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx9(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
684
534
  ]
685
535
  }
686
536
  ));
687
537
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
688
- var SelectScrollUpButton = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
538
+ var SelectScrollUpButton = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
689
539
  SelectPrimitive.ScrollUpButton,
690
540
  {
691
541
  ref,
692
542
  className: cn("flex cursor-default items-center justify-center py-1", className),
693
543
  ...props,
694
- children: /* @__PURE__ */ jsx14(ChevronUp, { className: "h-4 w-4" })
544
+ children: /* @__PURE__ */ jsx9(ChevronUp, { className: "h-4 w-4" })
695
545
  }
696
546
  ));
697
547
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
698
- var SelectScrollDownButton = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
548
+ var SelectScrollDownButton = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
699
549
  SelectPrimitive.ScrollDownButton,
700
550
  {
701
551
  ref,
702
552
  className: cn("flex cursor-default items-center justify-center py-1", className),
703
553
  ...props,
704
- children: /* @__PURE__ */ jsx14(ChevronDown, { className: "h-4 w-4" })
554
+ children: /* @__PURE__ */ jsx9(ChevronDown, { className: "h-4 w-4" })
705
555
  }
706
556
  ));
707
557
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
708
- var SelectContent = React12.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx14(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
558
+ var SelectContent = React7.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx9(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
709
559
  SelectPrimitive.Content,
710
560
  {
711
561
  ref,
@@ -717,8 +567,8 @@ var SelectContent = React12.forwardRef(({ className, children, position = "poppe
717
567
  position,
718
568
  ...props,
719
569
  children: [
720
- /* @__PURE__ */ jsx14(SelectScrollUpButton, {}),
721
- /* @__PURE__ */ jsx14(
570
+ /* @__PURE__ */ jsx9(SelectScrollUpButton, {}),
571
+ /* @__PURE__ */ jsx9(
722
572
  SelectPrimitive.Viewport,
723
573
  {
724
574
  className: cn(
@@ -728,12 +578,12 @@ var SelectContent = React12.forwardRef(({ className, children, position = "poppe
728
578
  children
729
579
  }
730
580
  ),
731
- /* @__PURE__ */ jsx14(SelectScrollDownButton, {})
581
+ /* @__PURE__ */ jsx9(SelectScrollDownButton, {})
732
582
  ]
733
583
  }
734
584
  ) }));
735
585
  SelectContent.displayName = SelectPrimitive.Content.displayName;
736
- var SelectLabel = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
586
+ var SelectLabel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
737
587
  SelectPrimitive.Label,
738
588
  {
739
589
  ref,
@@ -745,7 +595,7 @@ var SelectLabel = React12.forwardRef(({ className, ...props }, ref) => /* @__PUR
745
595
  }
746
596
  ));
747
597
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
748
- var SelectItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
598
+ var SelectItem = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
749
599
  SelectPrimitive.Item,
750
600
  {
751
601
  ref,
@@ -755,13 +605,13 @@ var SelectItem = React12.forwardRef(({ className, children, ...props }, ref) =>
755
605
  ),
756
606
  ...props,
757
607
  children: [
758
- /* @__PURE__ */ jsx14("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(Check2, { className: "h-4 w-4" }) }) }),
759
- /* @__PURE__ */ jsx14(SelectPrimitive.ItemText, { children })
608
+ /* @__PURE__ */ jsx9("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx9(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx9(Check2, { className: "h-4 w-4" }) }) }),
609
+ /* @__PURE__ */ jsx9(SelectPrimitive.ItemText, { children })
760
610
  ]
761
611
  }
762
612
  ));
763
613
  SelectItem.displayName = SelectPrimitive.Item.displayName;
764
- var SelectSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
614
+ var SelectSeparator = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
765
615
  SelectPrimitive.Separator,
766
616
  {
767
617
  ref,
@@ -772,15 +622,15 @@ var SelectSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @_
772
622
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
773
623
 
774
624
  // src/components/dialog.tsx
775
- import * as React13 from "react";
625
+ import * as React8 from "react";
776
626
  import * as DialogPrimitive from "@radix-ui/react-dialog";
777
627
  import { X } from "lucide-react";
778
- import { jsx as jsx15, jsxs as jsxs3 } from "react/jsx-runtime";
628
+ import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
779
629
  var Dialog = DialogPrimitive.Root;
780
630
  var DialogTrigger = DialogPrimitive.Trigger;
781
631
  var DialogPortal = DialogPrimitive.Portal;
782
632
  var DialogClose = DialogPrimitive.Close;
783
- var DialogOverlay = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
633
+ var DialogOverlay = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
784
634
  DialogPrimitive.Overlay,
785
635
  {
786
636
  ref,
@@ -792,8 +642,8 @@ var DialogOverlay = React13.forwardRef(({ className, ...props }, ref) => /* @__P
792
642
  }
793
643
  ));
794
644
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
795
- var DialogContent = React13.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(DialogPortal, { children: [
796
- /* @__PURE__ */ jsx15(DialogOverlay, {}),
645
+ var DialogContent = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(DialogPortal, { children: [
646
+ /* @__PURE__ */ jsx10(DialogOverlay, {}),
797
647
  /* @__PURE__ */ jsxs3(
798
648
  DialogPrimitive.Content,
799
649
  {
@@ -806,17 +656,17 @@ var DialogContent = React13.forwardRef(({ className, children, ...props }, ref)
806
656
  children: [
807
657
  children,
808
658
  /* @__PURE__ */ jsxs3(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-400 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500", children: [
809
- /* @__PURE__ */ jsx15(X, { className: "h-4 w-4" }),
810
- /* @__PURE__ */ jsx15("span", { className: "sr-only", children: "Close" })
659
+ /* @__PURE__ */ jsx10(X, { className: "h-4 w-4" }),
660
+ /* @__PURE__ */ jsx10("span", { className: "sr-only", children: "Close" })
811
661
  ] })
812
662
  ]
813
663
  }
814
664
  )
815
665
  ] }));
816
666
  DialogContent.displayName = DialogPrimitive.Content.displayName;
817
- var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx15("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
667
+ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx10("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
818
668
  DialogHeader.displayName = "DialogHeader";
819
- var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx15(
669
+ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx10(
820
670
  "div",
821
671
  {
822
672
  className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
@@ -824,7 +674,7 @@ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx15(
824
674
  }
825
675
  );
826
676
  DialogFooter.displayName = "DialogFooter";
827
- var DialogTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
677
+ var DialogTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
828
678
  DialogPrimitive.Title,
829
679
  {
830
680
  ref,
@@ -833,7 +683,7 @@ var DialogTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PUR
833
683
  }
834
684
  ));
835
685
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
836
- var DialogDescription = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
686
+ var DialogDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
837
687
  DialogPrimitive.Description,
838
688
  {
839
689
  ref,
@@ -844,17 +694,17 @@ var DialogDescription = React13.forwardRef(({ className, ...props }, ref) => /*
844
694
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
845
695
 
846
696
  // src/components/dropdown-menu.tsx
847
- import * as React14 from "react";
697
+ import * as React9 from "react";
848
698
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
849
699
  import { Check as Check3, ChevronRight, Circle as Circle2 } from "lucide-react";
850
- import { jsx as jsx16, jsxs as jsxs4 } from "react/jsx-runtime";
700
+ import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
851
701
  var DropdownMenu = DropdownMenuPrimitive.Root;
852
702
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
853
703
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
854
704
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
855
705
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
856
706
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
857
- var DropdownMenuSubTrigger = React14.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
707
+ var DropdownMenuSubTrigger = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
858
708
  DropdownMenuPrimitive.SubTrigger,
859
709
  {
860
710
  ref,
@@ -866,12 +716,12 @@ var DropdownMenuSubTrigger = React14.forwardRef(({ className, inset, children, .
866
716
  ...props,
867
717
  children: [
868
718
  children,
869
- /* @__PURE__ */ jsx16(ChevronRight, { className: "ml-auto h-4 w-4" })
719
+ /* @__PURE__ */ jsx11(ChevronRight, { className: "ml-auto h-4 w-4" })
870
720
  ]
871
721
  }
872
722
  ));
873
723
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
874
- var DropdownMenuSubContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
724
+ var DropdownMenuSubContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
875
725
  DropdownMenuPrimitive.SubContent,
876
726
  {
877
727
  ref,
@@ -883,7 +733,7 @@ var DropdownMenuSubContent = React14.forwardRef(({ className, ...props }, ref) =
883
733
  }
884
734
  ));
885
735
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
886
- var DropdownMenuContent = React14.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
736
+ var DropdownMenuContent = React9.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx11(
887
737
  DropdownMenuPrimitive.Content,
888
738
  {
889
739
  ref,
@@ -896,7 +746,7 @@ var DropdownMenuContent = React14.forwardRef(({ className, sideOffset = 4, ...pr
896
746
  }
897
747
  ) }));
898
748
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
899
- var DropdownMenuItem = React14.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx16(
749
+ var DropdownMenuItem = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx11(
900
750
  DropdownMenuPrimitive.Item,
901
751
  {
902
752
  ref,
@@ -909,7 +759,7 @@ var DropdownMenuItem = React14.forwardRef(({ className, inset, ...props }, ref)
909
759
  }
910
760
  ));
911
761
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
912
- var DropdownMenuCheckboxItem = React14.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs4(
762
+ var DropdownMenuCheckboxItem = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs4(
913
763
  DropdownMenuPrimitive.CheckboxItem,
914
764
  {
915
765
  ref,
@@ -920,13 +770,13 @@ var DropdownMenuCheckboxItem = React14.forwardRef(({ className, children, checke
920
770
  checked,
921
771
  ...props,
922
772
  children: [
923
- /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx16(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(Check3, { className: "h-4 w-4" }) }) }),
773
+ /* @__PURE__ */ jsx11("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(Check3, { className: "h-4 w-4" }) }) }),
924
774
  children
925
775
  ]
926
776
  }
927
777
  ));
928
778
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
929
- var DropdownMenuRadioItem = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
779
+ var DropdownMenuRadioItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
930
780
  DropdownMenuPrimitive.RadioItem,
931
781
  {
932
782
  ref,
@@ -936,13 +786,13 @@ var DropdownMenuRadioItem = React14.forwardRef(({ className, children, ...props
936
786
  ),
937
787
  ...props,
938
788
  children: [
939
- /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx16(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
789
+ /* @__PURE__ */ jsx11("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
940
790
  children
941
791
  ]
942
792
  }
943
793
  ));
944
794
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
945
- var DropdownMenuLabel = React14.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx16(
795
+ var DropdownMenuLabel = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx11(
946
796
  DropdownMenuPrimitive.Label,
947
797
  {
948
798
  ref,
@@ -955,7 +805,7 @@ var DropdownMenuLabel = React14.forwardRef(({ className, inset, ...props }, ref)
955
805
  }
956
806
  ));
957
807
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
958
- var DropdownMenuSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
808
+ var DropdownMenuSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
959
809
  DropdownMenuPrimitive.Separator,
960
810
  {
961
811
  ref,
@@ -965,22 +815,22 @@ var DropdownMenuSeparator = React14.forwardRef(({ className, ...props }, ref) =>
965
815
  ));
966
816
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
967
817
  var DropdownMenuShortcut = ({ className, ...props }) => {
968
- return /* @__PURE__ */ jsx16("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
818
+ return /* @__PURE__ */ jsx11("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
969
819
  };
970
820
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
971
821
 
972
822
  // src/components/table.tsx
973
- import * as React15 from "react";
974
- import { jsx as jsx17 } from "react/jsx-runtime";
975
- var Table = React15.forwardRef(
976
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx17("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx17("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
823
+ import * as React10 from "react";
824
+ import { jsx as jsx12 } from "react/jsx-runtime";
825
+ var Table = React10.forwardRef(
826
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx12("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx12("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
977
827
  );
978
828
  Table.displayName = "Table";
979
- var TableHeader = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
829
+ var TableHeader = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
980
830
  TableHeader.displayName = "TableHeader";
981
- var TableBody = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
831
+ var TableBody = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
982
832
  TableBody.displayName = "TableBody";
983
- var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
833
+ var TableFooter = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
984
834
  "tfoot",
985
835
  {
986
836
  ref,
@@ -992,8 +842,8 @@ var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
992
842
  }
993
843
  ));
994
844
  TableFooter.displayName = "TableFooter";
995
- var TableRow = React15.forwardRef(
996
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
845
+ var TableRow = React10.forwardRef(
846
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
997
847
  "tr",
998
848
  {
999
849
  ref,
@@ -1006,7 +856,7 @@ var TableRow = React15.forwardRef(
1006
856
  )
1007
857
  );
1008
858
  TableRow.displayName = "TableRow";
1009
- var TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
859
+ var TableHead = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1010
860
  "th",
1011
861
  {
1012
862
  ref,
@@ -1018,7 +868,7 @@ var TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1018
868
  }
1019
869
  ));
1020
870
  TableHead.displayName = "TableHead";
1021
- var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
871
+ var TableCell = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1022
872
  "td",
1023
873
  {
1024
874
  ref,
@@ -1030,7 +880,7 @@ var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1030
880
  }
1031
881
  ));
1032
882
  TableCell.displayName = "TableCell";
1033
- var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
883
+ var TableCaption = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
1034
884
  "caption",
1035
885
  {
1036
886
  ref,
@@ -1044,11 +894,11 @@ var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PU
1044
894
  TableCaption.displayName = "TableCaption";
1045
895
 
1046
896
  // src/components/tabs.tsx
1047
- import * as React16 from "react";
897
+ import * as React11 from "react";
1048
898
  import * as TabsPrimitive from "@radix-ui/react-tabs";
1049
- import { jsx as jsx18 } from "react/jsx-runtime";
899
+ import { jsx as jsx13 } from "react/jsx-runtime";
1050
900
  var Tabs = TabsPrimitive.Root;
1051
- var TabsList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
901
+ var TabsList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1052
902
  TabsPrimitive.List,
1053
903
  {
1054
904
  ref,
@@ -1060,7 +910,7 @@ var TabsList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1060
910
  }
1061
911
  ));
1062
912
  TabsList.displayName = TabsPrimitive.List.displayName;
1063
- var TabsTrigger = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
913
+ var TabsTrigger = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1064
914
  TabsPrimitive.Trigger,
1065
915
  {
1066
916
  ref,
@@ -1072,7 +922,7 @@ var TabsTrigger = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
1072
922
  }
1073
923
  ));
1074
924
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
1075
- var TabsContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
925
+ var TabsContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1076
926
  TabsPrimitive.Content,
1077
927
  {
1078
928
  ref,
@@ -1086,13 +936,13 @@ var TabsContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
1086
936
  TabsContent.displayName = TabsPrimitive.Content.displayName;
1087
937
 
1088
938
  // src/components/toast.tsx
1089
- import * as React17 from "react";
939
+ import * as React12 from "react";
1090
940
  import * as ToastPrimitives from "@radix-ui/react-toast";
1091
- import { cva as cva4 } from "class-variance-authority";
941
+ import { cva as cva2 } from "class-variance-authority";
1092
942
  import { X as X2 } from "lucide-react";
1093
- import { jsx as jsx19 } from "react/jsx-runtime";
943
+ import { jsx as jsx14 } from "react/jsx-runtime";
1094
944
  var ToastProvider = ToastPrimitives.Provider;
1095
- var ToastViewport = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
945
+ var ToastViewport = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1096
946
  ToastPrimitives.Viewport,
1097
947
  {
1098
948
  ref,
@@ -1104,7 +954,7 @@ var ToastViewport = React17.forwardRef(({ className, ...props }, ref) => /* @__P
1104
954
  }
1105
955
  ));
1106
956
  ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
1107
- var toastVariants = cva4(
957
+ var toastVariants = cva2(
1108
958
  "group pointer-events-auto relative flex w-full items-center justify-between space-x-[var(--tekton-spacing-4)] overflow-hidden rounded-[var(--tekton-radius-md)] border border-[var(--tekton-border-default)] p-[var(--tekton-spacing-6)] pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
1109
959
  {
1110
960
  variants: {
@@ -1118,8 +968,8 @@ var toastVariants = cva4(
1118
968
  }
1119
969
  }
1120
970
  );
1121
- var Toast = React17.forwardRef(({ className, variant, ...props }, ref) => {
1122
- return /* @__PURE__ */ jsx19(
971
+ var Toast = React12.forwardRef(({ className, variant, ...props }, ref) => {
972
+ return /* @__PURE__ */ jsx14(
1123
973
  ToastPrimitives.Root,
1124
974
  {
1125
975
  ref,
@@ -1129,7 +979,7 @@ var Toast = React17.forwardRef(({ className, variant, ...props }, ref) => {
1129
979
  );
1130
980
  });
1131
981
  Toast.displayName = ToastPrimitives.Root.displayName;
1132
- var ToastAction = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
982
+ var ToastAction = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1133
983
  ToastPrimitives.Action,
1134
984
  {
1135
985
  ref,
@@ -1141,7 +991,7 @@ var ToastAction = React17.forwardRef(({ className, ...props }, ref) => /* @__PUR
1141
991
  }
1142
992
  ));
1143
993
  ToastAction.displayName = ToastPrimitives.Action.displayName;
1144
- var ToastClose = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
994
+ var ToastClose = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1145
995
  ToastPrimitives.Close,
1146
996
  {
1147
997
  ref,
@@ -1151,13 +1001,13 @@ var ToastClose = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE
1151
1001
  ),
1152
1002
  "toast-close": "",
1153
1003
  ...props,
1154
- children: /* @__PURE__ */ jsx19(X2, { className: "h-4 w-4" })
1004
+ children: /* @__PURE__ */ jsx14(X2, { className: "h-4 w-4" })
1155
1005
  }
1156
1006
  ));
1157
1007
  ToastClose.displayName = ToastPrimitives.Close.displayName;
1158
- var ToastTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
1008
+ var ToastTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
1159
1009
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
1160
- var ToastDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1010
+ var ToastDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1161
1011
  ToastPrimitives.Description,
1162
1012
  {
1163
1013
  ref,
@@ -1168,13 +1018,13 @@ var ToastDescription = React17.forwardRef(({ className, ...props }, ref) => /* @
1168
1018
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
1169
1019
 
1170
1020
  // src/components/tooltip.tsx
1171
- import * as React18 from "react";
1021
+ import * as React13 from "react";
1172
1022
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
1173
- import { jsx as jsx20 } from "react/jsx-runtime";
1023
+ import { jsx as jsx15 } from "react/jsx-runtime";
1174
1024
  var TooltipProvider = TooltipPrimitive.Provider;
1175
1025
  var Tooltip = TooltipPrimitive.Root;
1176
1026
  var TooltipTrigger = TooltipPrimitive.Trigger;
1177
- var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx20(
1027
+ var TooltipContent = React13.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx15(
1178
1028
  TooltipPrimitive.Content,
1179
1029
  {
1180
1030
  ref,
@@ -1189,12 +1039,12 @@ var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }
1189
1039
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
1190
1040
 
1191
1041
  // src/components/popover.tsx
1192
- import * as React19 from "react";
1042
+ import * as React14 from "react";
1193
1043
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1194
- import { jsx as jsx21 } from "react/jsx-runtime";
1044
+ import { jsx as jsx16 } from "react/jsx-runtime";
1195
1045
  var Popover = PopoverPrimitive.Root;
1196
1046
  var PopoverTrigger = PopoverPrimitive.Trigger;
1197
- var PopoverContent = React19.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx21(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
1047
+ var PopoverContent = React14.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx16(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
1198
1048
  PopoverPrimitive.Content,
1199
1049
  {
1200
1050
  ref,
@@ -1210,16 +1060,16 @@ var PopoverContent = React19.forwardRef(({ className, align = "center", sideOffs
1210
1060
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1211
1061
 
1212
1062
  // src/components/sheet.tsx
1213
- import * as React20 from "react";
1063
+ import * as React15 from "react";
1214
1064
  import * as SheetPrimitive from "@radix-ui/react-dialog";
1215
- import { cva as cva5 } from "class-variance-authority";
1065
+ import { cva as cva3 } from "class-variance-authority";
1216
1066
  import { X as X3 } from "lucide-react";
1217
- import { jsx as jsx22, jsxs as jsxs5 } from "react/jsx-runtime";
1067
+ import { jsx as jsx17, jsxs as jsxs5 } from "react/jsx-runtime";
1218
1068
  var Sheet = SheetPrimitive.Root;
1219
1069
  var SheetTrigger = SheetPrimitive.Trigger;
1220
1070
  var SheetClose = SheetPrimitive.Close;
1221
1071
  var SheetPortal = SheetPrimitive.Portal;
1222
- var SheetOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1072
+ var SheetOverlay = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1223
1073
  SheetPrimitive.Overlay,
1224
1074
  {
1225
1075
  className: cn(
@@ -1231,7 +1081,7 @@ var SheetOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PU
1231
1081
  }
1232
1082
  ));
1233
1083
  SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
1234
- var sheetVariants = cva5(
1084
+ var sheetVariants = cva3(
1235
1085
  "fixed z-50 gap-[var(--tekton-spacing-4)] bg-[var(--tekton-bg-background)] p-[var(--tekton-spacing-6)] shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
1236
1086
  {
1237
1087
  variants: {
@@ -1247,18 +1097,18 @@ var sheetVariants = cva5(
1247
1097
  }
1248
1098
  }
1249
1099
  );
1250
- var SheetContent = React20.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(SheetPortal, { children: [
1251
- /* @__PURE__ */ jsx22(SheetOverlay, {}),
1100
+ var SheetContent = React15.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(SheetPortal, { children: [
1101
+ /* @__PURE__ */ jsx17(SheetOverlay, {}),
1252
1102
  /* @__PURE__ */ jsxs5(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
1253
1103
  children,
1254
1104
  /* @__PURE__ */ jsxs5(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-[var(--tekton-radius-sm)] opacity-70 ring-offset-[var(--tekton-bg-background)] transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--tekton-border-ring)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-[var(--tekton-bg-secondary)]", children: [
1255
- /* @__PURE__ */ jsx22(X3, { className: "h-4 w-4" }),
1256
- /* @__PURE__ */ jsx22("span", { className: "sr-only", children: "Close" })
1105
+ /* @__PURE__ */ jsx17(X3, { className: "h-4 w-4" }),
1106
+ /* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
1257
1107
  ] })
1258
1108
  ] })
1259
1109
  ] }));
1260
1110
  SheetContent.displayName = SheetPrimitive.Content.displayName;
1261
- var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx22(
1111
+ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx17(
1262
1112
  "div",
1263
1113
  {
1264
1114
  className: cn(
@@ -1269,7 +1119,7 @@ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx22(
1269
1119
  }
1270
1120
  );
1271
1121
  SheetHeader.displayName = "SheetHeader";
1272
- var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx22(
1122
+ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx17(
1273
1123
  "div",
1274
1124
  {
1275
1125
  className: cn(
@@ -1280,7 +1130,7 @@ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx22(
1280
1130
  }
1281
1131
  );
1282
1132
  SheetFooter.displayName = "SheetFooter";
1283
- var SheetTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1133
+ var SheetTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1284
1134
  SheetPrimitive.Title,
1285
1135
  {
1286
1136
  ref,
@@ -1289,7 +1139,7 @@ var SheetTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE
1289
1139
  }
1290
1140
  ));
1291
1141
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
1292
- var SheetDescription = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1142
+ var SheetDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1293
1143
  SheetPrimitive.Description,
1294
1144
  {
1295
1145
  ref,
@@ -1300,13 +1150,13 @@ var SheetDescription = React20.forwardRef(({ className, ...props }, ref) => /* @
1300
1150
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
1301
1151
 
1302
1152
  // src/components/alert-dialog.tsx
1303
- import * as React21 from "react";
1153
+ import * as React16 from "react";
1304
1154
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
1305
- import { jsx as jsx23, jsxs as jsxs6 } from "react/jsx-runtime";
1155
+ import { jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
1306
1156
  var AlertDialog = AlertDialogPrimitive.Root;
1307
1157
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1308
1158
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
1309
- var AlertDialogOverlay = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1159
+ var AlertDialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1310
1160
  AlertDialogPrimitive.Overlay,
1311
1161
  {
1312
1162
  className: cn(
@@ -1318,9 +1168,9 @@ var AlertDialogOverlay = React21.forwardRef(({ className, ...props }, ref) => /*
1318
1168
  }
1319
1169
  ));
1320
1170
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
1321
- var AlertDialogContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6(AlertDialogPortal, { children: [
1322
- /* @__PURE__ */ jsx23(AlertDialogOverlay, {}),
1323
- /* @__PURE__ */ jsx23(
1171
+ var AlertDialogContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6(AlertDialogPortal, { children: [
1172
+ /* @__PURE__ */ jsx18(AlertDialogOverlay, {}),
1173
+ /* @__PURE__ */ jsx18(
1324
1174
  AlertDialogPrimitive.Content,
1325
1175
  {
1326
1176
  ref,
@@ -1333,9 +1183,9 @@ var AlertDialogContent = React21.forwardRef(({ className, ...props }, ref) => /*
1333
1183
  )
1334
1184
  ] }));
1335
1185
  AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
1336
- var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx23("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
1186
+ var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx18("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
1337
1187
  AlertDialogHeader.displayName = "AlertDialogHeader";
1338
- var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx23(
1188
+ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx18(
1339
1189
  "div",
1340
1190
  {
1341
1191
  className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
@@ -1343,7 +1193,7 @@ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx23(
1343
1193
  }
1344
1194
  );
1345
1195
  AlertDialogFooter.displayName = "AlertDialogFooter";
1346
- var AlertDialogTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1196
+ var AlertDialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1347
1197
  AlertDialogPrimitive.Title,
1348
1198
  {
1349
1199
  ref,
@@ -1352,7 +1202,7 @@ var AlertDialogTitle = React21.forwardRef(({ className, ...props }, ref) => /* @
1352
1202
  }
1353
1203
  ));
1354
1204
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
1355
- var AlertDialogDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1205
+ var AlertDialogDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1356
1206
  AlertDialogPrimitive.Description,
1357
1207
  {
1358
1208
  ref,
@@ -1361,9 +1211,9 @@ var AlertDialogDescription = React21.forwardRef(({ className, ...props }, ref) =
1361
1211
  }
1362
1212
  ));
1363
1213
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
1364
- var AlertDialogAction = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
1214
+ var AlertDialogAction = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
1365
1215
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
1366
- var AlertDialogCancel = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1216
+ var AlertDialogCancel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1367
1217
  AlertDialogPrimitive.Cancel,
1368
1218
  {
1369
1219
  ref,
@@ -1374,10 +1224,10 @@ var AlertDialogCancel = React21.forwardRef(({ className, ...props }, ref) => /*
1374
1224
  AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
1375
1225
 
1376
1226
  // src/components/progress.tsx
1377
- import * as React22 from "react";
1227
+ import * as React17 from "react";
1378
1228
  import * as ProgressPrimitive from "@radix-ui/react-progress";
1379
- import { jsx as jsx24 } from "react/jsx-runtime";
1380
- var Progress = React22.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx24(
1229
+ import { jsx as jsx19 } from "react/jsx-runtime";
1230
+ var Progress = React17.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx19(
1381
1231
  ProgressPrimitive.Root,
1382
1232
  {
1383
1233
  ref,
@@ -1390,7 +1240,7 @@ var Progress = React22.forwardRef(({ className, value, ...props }, ref) => /* @_
1390
1240
  className
1391
1241
  ),
1392
1242
  ...props,
1393
- children: /* @__PURE__ */ jsx24(
1243
+ children: /* @__PURE__ */ jsx19(
1394
1244
  ProgressPrimitive.Indicator,
1395
1245
  {
1396
1246
  className: "h-full w-full flex-1 bg-[var(--tekton-bg-primary)] transition-all",
@@ -1402,10 +1252,10 @@ var Progress = React22.forwardRef(({ className, value, ...props }, ref) => /* @_
1402
1252
  Progress.displayName = ProgressPrimitive.Root.displayName;
1403
1253
 
1404
1254
  // src/components/sidebar.tsx
1405
- import * as React23 from "react";
1406
- import { cva as cva6 } from "class-variance-authority";
1407
- import { jsx as jsx25, jsxs as jsxs7 } from "react/jsx-runtime";
1408
- var sidebarVariants = cva6(
1255
+ import * as React18 from "react";
1256
+ import { cva as cva4 } from "class-variance-authority";
1257
+ import { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
1258
+ var sidebarVariants = cva4(
1409
1259
  "flex flex-col border-r border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)] transition-all duration-300",
1410
1260
  {
1411
1261
  variants: {
@@ -1425,7 +1275,7 @@ var sidebarVariants = cva6(
1425
1275
  }
1426
1276
  }
1427
1277
  );
1428
- var sidebarHeaderVariants = cva6(
1278
+ var sidebarHeaderVariants = cva4(
1429
1279
  "flex items-center gap-[var(--tekton-spacing-2)] border-b border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] p-[var(--tekton-spacing-4)]",
1430
1280
  {
1431
1281
  variants: {
@@ -1440,7 +1290,7 @@ var sidebarHeaderVariants = cva6(
1440
1290
  }
1441
1291
  }
1442
1292
  );
1443
- var sidebarContentVariants = cva6("flex-1 overflow-y-auto p-[var(--tekton-spacing-4)]", {
1293
+ var sidebarContentVariants = cva4("flex-1 overflow-y-auto p-[var(--tekton-spacing-4)]", {
1444
1294
  variants: {
1445
1295
  spacing: {
1446
1296
  default: "space-y-[var(--tekton-spacing-2)]",
@@ -1452,7 +1302,7 @@ var sidebarContentVariants = cva6("flex-1 overflow-y-auto p-[var(--tekton-spacin
1452
1302
  spacing: "default"
1453
1303
  }
1454
1304
  });
1455
- var sidebarItemVariants = cva6(
1305
+ var sidebarItemVariants = cva4(
1456
1306
  "flex w-full items-center gap-[var(--tekton-spacing-3)] rounded-[var(--tekton-radius-md)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
1457
1307
  {
1458
1308
  variants: {
@@ -1466,24 +1316,24 @@ var sidebarItemVariants = cva6(
1466
1316
  }
1467
1317
  }
1468
1318
  );
1469
- var sidebarSectionVariants = cva6("space-y-[var(--tekton-spacing-1)]", {
1319
+ var sidebarSectionVariants = cva4("space-y-[var(--tekton-spacing-1)]", {
1470
1320
  variants: {}
1471
1321
  });
1472
- var sidebarSectionTitleVariants = cva6(
1322
+ var sidebarSectionTitleVariants = cva4(
1473
1323
  "px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-xs font-semibold uppercase tracking-wider text-[var(--tekton-text-muted-foreground)]",
1474
1324
  {
1475
1325
  variants: {}
1476
1326
  }
1477
1327
  );
1478
- var sidebarFooterVariants = cva6(
1328
+ var sidebarFooterVariants = cva4(
1479
1329
  "border-t border-[var(--tekton-border-default)] p-[var(--tekton-spacing-4)]",
1480
1330
  {
1481
1331
  variants: {}
1482
1332
  }
1483
1333
  );
1484
- var Sidebar = React23.forwardRef(
1334
+ var Sidebar = React18.forwardRef(
1485
1335
  ({ className, variant, size, collapsed, ...props }, ref) => {
1486
- return /* @__PURE__ */ jsx25(
1336
+ return /* @__PURE__ */ jsx20(
1487
1337
  "div",
1488
1338
  {
1489
1339
  ref,
@@ -1496,19 +1346,19 @@ var Sidebar = React23.forwardRef(
1496
1346
  }
1497
1347
  );
1498
1348
  Sidebar.displayName = "Sidebar";
1499
- var SidebarHeader = React23.forwardRef(
1349
+ var SidebarHeader = React18.forwardRef(
1500
1350
  ({ className, size, ...props }, ref) => {
1501
- return /* @__PURE__ */ jsx25("div", { ref, className: cn(sidebarHeaderVariants({ size, className })), ...props });
1351
+ return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarHeaderVariants({ size, className })), ...props });
1502
1352
  }
1503
1353
  );
1504
1354
  SidebarHeader.displayName = "SidebarHeader";
1505
- var SidebarContent = React23.forwardRef(
1355
+ var SidebarContent = React18.forwardRef(
1506
1356
  ({ className, spacing, ...props }, ref) => {
1507
- return /* @__PURE__ */ jsx25("div", { ref, className: cn(sidebarContentVariants({ spacing, className })), ...props });
1357
+ return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarContentVariants({ spacing, className })), ...props });
1508
1358
  }
1509
1359
  );
1510
1360
  SidebarContent.displayName = "SidebarContent";
1511
- var SidebarItem = React23.forwardRef(
1361
+ var SidebarItem = React18.forwardRef(
1512
1362
  ({ className, variant, icon, badge, children, active, ...props }, ref) => {
1513
1363
  return /* @__PURE__ */ jsxs7(
1514
1364
  "button",
@@ -1517,25 +1367,25 @@ var SidebarItem = React23.forwardRef(
1517
1367
  className: cn(sidebarItemVariants({ variant: active ? "active" : variant, className })),
1518
1368
  ...props,
1519
1369
  children: [
1520
- icon && /* @__PURE__ */ jsx25("span", { className: "flex-shrink-0", children: icon }),
1521
- /* @__PURE__ */ jsx25("span", { className: "flex-1 truncate text-left", children }),
1522
- badge && /* @__PURE__ */ jsx25("span", { className: "flex-shrink-0", children: badge })
1370
+ icon && /* @__PURE__ */ jsx20("span", { className: "flex-shrink-0", children: icon }),
1371
+ /* @__PURE__ */ jsx20("span", { className: "flex-1 truncate text-left", children }),
1372
+ badge && /* @__PURE__ */ jsx20("span", { className: "flex-shrink-0", children: badge })
1523
1373
  ]
1524
1374
  }
1525
1375
  );
1526
1376
  }
1527
1377
  );
1528
1378
  SidebarItem.displayName = "SidebarItem";
1529
- var SidebarSection = React23.forwardRef(
1379
+ var SidebarSection = React18.forwardRef(
1530
1380
  ({ className, title, collapsed, children, ...props }, ref) => {
1531
- const [isCollapsed, setIsCollapsed] = React23.useState(collapsed ?? false);
1532
- React23.useEffect(() => {
1381
+ const [isCollapsed, setIsCollapsed] = React18.useState(collapsed ?? false);
1382
+ React18.useEffect(() => {
1533
1383
  if (collapsed !== void 0) {
1534
1384
  setIsCollapsed(collapsed);
1535
1385
  }
1536
1386
  }, [collapsed]);
1537
1387
  return /* @__PURE__ */ jsxs7("div", { ref, className: cn(sidebarSectionVariants({ className })), ...props, children: [
1538
- title && /* @__PURE__ */ jsx25(
1388
+ title && /* @__PURE__ */ jsx20(
1539
1389
  "button",
1540
1390
  {
1541
1391
  className: cn(
@@ -1546,7 +1396,7 @@ var SidebarSection = React23.forwardRef(
1546
1396
  "aria-expanded": !isCollapsed,
1547
1397
  children: /* @__PURE__ */ jsxs7("span", { className: "flex items-center justify-between", children: [
1548
1398
  title,
1549
- /* @__PURE__ */ jsx25(
1399
+ /* @__PURE__ */ jsx20(
1550
1400
  "span",
1551
1401
  {
1552
1402
  className: cn("transition-transform", isCollapsed ? "rotate-0" : "rotate-90"),
@@ -1557,30 +1407,30 @@ var SidebarSection = React23.forwardRef(
1557
1407
  ] })
1558
1408
  }
1559
1409
  ),
1560
- !isCollapsed && /* @__PURE__ */ jsx25("div", { className: "space-y-[var(--tekton-spacing-1)]", children })
1410
+ !isCollapsed && /* @__PURE__ */ jsx20("div", { className: "space-y-[var(--tekton-spacing-1)]", children })
1561
1411
  ] });
1562
1412
  }
1563
1413
  );
1564
1414
  SidebarSection.displayName = "SidebarSection";
1565
- var SidebarSectionTitle = React23.forwardRef(
1415
+ var SidebarSectionTitle = React18.forwardRef(
1566
1416
  ({ className, ...props }, ref) => {
1567
- return /* @__PURE__ */ jsx25("div", { ref, className: cn(sidebarSectionTitleVariants({ className })), ...props });
1417
+ return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarSectionTitleVariants({ className })), ...props });
1568
1418
  }
1569
1419
  );
1570
1420
  SidebarSectionTitle.displayName = "SidebarSectionTitle";
1571
- var SidebarFooter = React23.forwardRef(
1421
+ var SidebarFooter = React18.forwardRef(
1572
1422
  ({ className, ...props }, ref) => {
1573
- return /* @__PURE__ */ jsx25("div", { ref, className: cn(sidebarFooterVariants({ className })), ...props });
1423
+ return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarFooterVariants({ className })), ...props });
1574
1424
  }
1575
1425
  );
1576
1426
  SidebarFooter.displayName = "SidebarFooter";
1577
1427
 
1578
1428
  // src/components/navigation-menu.tsx
1579
- import * as React24 from "react";
1429
+ import * as React19 from "react";
1580
1430
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
1581
- import { cva as cva7 } from "class-variance-authority";
1582
- import { jsx as jsx26, jsxs as jsxs8 } from "react/jsx-runtime";
1583
- var NavigationMenu = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1431
+ import { cva as cva5 } from "class-variance-authority";
1432
+ import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
1433
+ var NavigationMenu = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1584
1434
  NavigationMenuPrimitive.Root,
1585
1435
  {
1586
1436
  ref,
@@ -1588,12 +1438,12 @@ var NavigationMenu = React24.forwardRef(({ className, children, ...props }, ref)
1588
1438
  ...props,
1589
1439
  children: [
1590
1440
  children,
1591
- /* @__PURE__ */ jsx26(NavigationMenuViewport, {})
1441
+ /* @__PURE__ */ jsx21(NavigationMenuViewport, {})
1592
1442
  ]
1593
1443
  }
1594
1444
  ));
1595
1445
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
1596
- var NavigationMenuList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1446
+ var NavigationMenuList = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1597
1447
  NavigationMenuPrimitive.List,
1598
1448
  {
1599
1449
  ref,
@@ -1606,10 +1456,10 @@ var NavigationMenuList = React24.forwardRef(({ className, ...props }, ref) => /*
1606
1456
  ));
1607
1457
  NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
1608
1458
  var NavigationMenuItem = NavigationMenuPrimitive.Item;
1609
- var navigationMenuTriggerStyle = cva7(
1459
+ var navigationMenuTriggerStyle = cva5(
1610
1460
  "group inline-flex h-10 w-max items-center justify-center rounded-[var(--tekton-radius-md)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-4)] py-[var(--tekton-spacing-2)] text-sm font-medium transition-colors hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)] focus:bg-[var(--tekton-bg-accent)] focus:text-[var(--tekton-bg-accent-foreground)] focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-[var(--tekton-bg-accent)]/50 data-[state=open]:bg-[var(--tekton-bg-accent)]/50"
1611
1461
  );
1612
- var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1462
+ var NavigationMenuTrigger = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
1613
1463
  NavigationMenuPrimitive.Trigger,
1614
1464
  {
1615
1465
  ref,
@@ -1618,7 +1468,7 @@ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props
1618
1468
  children: [
1619
1469
  children,
1620
1470
  " ",
1621
- /* @__PURE__ */ jsx26(
1471
+ /* @__PURE__ */ jsx21(
1622
1472
  "svg",
1623
1473
  {
1624
1474
  width: "12",
@@ -1628,7 +1478,7 @@ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props
1628
1478
  xmlns: "http://www.w3.org/2000/svg",
1629
1479
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
1630
1480
  "aria-hidden": "true",
1631
- children: /* @__PURE__ */ jsx26(
1481
+ children: /* @__PURE__ */ jsx21(
1632
1482
  "path",
1633
1483
  {
1634
1484
  d: "M2.5 4.5L6 8L9.5 4.5",
@@ -1644,7 +1494,7 @@ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props
1644
1494
  }
1645
1495
  ));
1646
1496
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
1647
- var NavigationMenuContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1497
+ var NavigationMenuContent = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1648
1498
  NavigationMenuPrimitive.Content,
1649
1499
  {
1650
1500
  ref,
@@ -1657,7 +1507,7 @@ var NavigationMenuContent = React24.forwardRef(({ className, ...props }, ref) =>
1657
1507
  ));
1658
1508
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
1659
1509
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
1660
- var NavigationMenuViewport = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx26(
1510
+ var NavigationMenuViewport = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx21(
1661
1511
  NavigationMenuPrimitive.Viewport,
1662
1512
  {
1663
1513
  className: cn(
@@ -1669,7 +1519,7 @@ var NavigationMenuViewport = React24.forwardRef(({ className, ...props }, ref) =
1669
1519
  }
1670
1520
  ) }));
1671
1521
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
1672
- var NavigationMenuIndicator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1522
+ var NavigationMenuIndicator = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
1673
1523
  NavigationMenuPrimitive.Indicator,
1674
1524
  {
1675
1525
  ref,
@@ -1678,16 +1528,16 @@ var NavigationMenuIndicator = React24.forwardRef(({ className, ...props }, ref)
1678
1528
  className
1679
1529
  ),
1680
1530
  ...props,
1681
- children: /* @__PURE__ */ jsx26("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-[var(--tekton-border-default)] shadow-md" })
1531
+ children: /* @__PURE__ */ jsx21("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-[var(--tekton-border-default)] shadow-md" })
1682
1532
  }
1683
1533
  ));
1684
1534
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
1685
1535
 
1686
1536
  // src/components/breadcrumb.tsx
1687
- import * as React25 from "react";
1688
- import { cva as cva8 } from "class-variance-authority";
1689
- import { jsx as jsx27, jsxs as jsxs9 } from "react/jsx-runtime";
1690
- var breadcrumbVariants = cva8("flex items-center gap-[var(--tekton-spacing-2)]", {
1537
+ import * as React20 from "react";
1538
+ import { cva as cva6 } from "class-variance-authority";
1539
+ import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
1540
+ var breadcrumbVariants = cva6("flex items-center gap-[var(--tekton-spacing-2)]", {
1691
1541
  variants: {
1692
1542
  size: {
1693
1543
  sm: "text-xs",
@@ -1699,13 +1549,13 @@ var breadcrumbVariants = cva8("flex items-center gap-[var(--tekton-spacing-2)]",
1699
1549
  size: "default"
1700
1550
  }
1701
1551
  });
1702
- var breadcrumbListVariants = cva8("flex flex-wrap items-center gap-1.5 break-words", {
1552
+ var breadcrumbListVariants = cva6("flex flex-wrap items-center gap-1.5 break-words", {
1703
1553
  variants: {}
1704
1554
  });
1705
- var breadcrumbItemVariants = cva8("inline-flex items-center gap-1.5", {
1555
+ var breadcrumbItemVariants = cva6("inline-flex items-center gap-1.5", {
1706
1556
  variants: {}
1707
1557
  });
1708
- var breadcrumbLinkVariants = cva8(
1558
+ var breadcrumbLinkVariants = cva6(
1709
1559
  "transition-colors hover:text-[var(--tekton-bg-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 rounded-[var(--tekton-radius-sm)]",
1710
1560
  {
1711
1561
  variants: {
@@ -1719,18 +1569,18 @@ var breadcrumbLinkVariants = cva8(
1719
1569
  }
1720
1570
  }
1721
1571
  );
1722
- var breadcrumbSeparatorVariants = cva8("text-[var(--tekton-text-muted-foreground)] select-none", {
1572
+ var breadcrumbSeparatorVariants = cva6("text-[var(--tekton-text-muted-foreground)] select-none", {
1723
1573
  variants: {}
1724
1574
  });
1725
- var breadcrumbEllipsisVariants = cva8(
1575
+ var breadcrumbEllipsisVariants = cva6(
1726
1576
  "inline-flex h-9 w-9 items-center justify-center text-[var(--tekton-text-muted-foreground)]",
1727
1577
  {
1728
1578
  variants: {}
1729
1579
  }
1730
1580
  );
1731
- var Breadcrumb = React25.forwardRef(
1581
+ var Breadcrumb = React20.forwardRef(
1732
1582
  ({ className, size, separator: _separator = "/", ...props }, ref) => {
1733
- return /* @__PURE__ */ jsx27(
1583
+ return /* @__PURE__ */ jsx22(
1734
1584
  "nav",
1735
1585
  {
1736
1586
  ref,
@@ -1742,18 +1592,18 @@ var Breadcrumb = React25.forwardRef(
1742
1592
  }
1743
1593
  );
1744
1594
  Breadcrumb.displayName = "Breadcrumb";
1745
- var BreadcrumbList = React25.forwardRef(
1746
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx27("ol", { ref, className: cn(breadcrumbListVariants({ className })), ...props })
1595
+ var BreadcrumbList = React20.forwardRef(
1596
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22("ol", { ref, className: cn(breadcrumbListVariants({ className })), ...props })
1747
1597
  );
1748
1598
  BreadcrumbList.displayName = "BreadcrumbList";
1749
- var BreadcrumbItem = React25.forwardRef(
1750
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx27("li", { ref, className: cn(breadcrumbItemVariants({ className })), ...props })
1599
+ var BreadcrumbItem = React20.forwardRef(
1600
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22("li", { ref, className: cn(breadcrumbItemVariants({ className })), ...props })
1751
1601
  );
1752
1602
  BreadcrumbItem.displayName = "BreadcrumbItem";
1753
- var BreadcrumbLink = React25.forwardRef(
1603
+ var BreadcrumbLink = React20.forwardRef(
1754
1604
  ({ className, active, asChild = false, ...props }, ref) => {
1755
- const Comp = asChild ? React25.Fragment : "a";
1756
- return /* @__PURE__ */ jsx27(
1605
+ const Comp = asChild ? React20.Fragment : "a";
1606
+ return /* @__PURE__ */ jsx22(
1757
1607
  Comp,
1758
1608
  {
1759
1609
  ref: asChild ? void 0 : ref,
@@ -1766,8 +1616,8 @@ var BreadcrumbLink = React25.forwardRef(
1766
1616
  }
1767
1617
  );
1768
1618
  BreadcrumbLink.displayName = "BreadcrumbLink";
1769
- var BreadcrumbPage = React25.forwardRef(
1770
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1619
+ var BreadcrumbPage = React20.forwardRef(
1620
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
1771
1621
  "span",
1772
1622
  {
1773
1623
  ref,
@@ -1784,8 +1634,8 @@ var BreadcrumbPage = React25.forwardRef(
1784
1634
  )
1785
1635
  );
1786
1636
  BreadcrumbPage.displayName = "BreadcrumbPage";
1787
- var BreadcrumbSeparator = React25.forwardRef(
1788
- ({ children, className, ...props }, ref) => /* @__PURE__ */ jsx27(
1637
+ var BreadcrumbSeparator = React20.forwardRef(
1638
+ ({ children, className, ...props }, ref) => /* @__PURE__ */ jsx22(
1789
1639
  "li",
1790
1640
  {
1791
1641
  ref,
@@ -1798,7 +1648,7 @@ var BreadcrumbSeparator = React25.forwardRef(
1798
1648
  )
1799
1649
  );
1800
1650
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
1801
- var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs9(
1651
+ var BreadcrumbEllipsis = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs9(
1802
1652
  "span",
1803
1653
  {
1804
1654
  ref,
@@ -1807,7 +1657,7 @@ var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /*
1807
1657
  className: cn(breadcrumbEllipsisVariants({ className })),
1808
1658
  ...props,
1809
1659
  children: [
1810
- /* @__PURE__ */ jsx27(
1660
+ /* @__PURE__ */ jsx22(
1811
1661
  "svg",
1812
1662
  {
1813
1663
  width: "15",
@@ -1816,7 +1666,7 @@ var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /*
1816
1666
  fill: "none",
1817
1667
  xmlns: "http://www.w3.org/2000/svg",
1818
1668
  "aria-hidden": "true",
1819
- children: /* @__PURE__ */ jsx27(
1669
+ children: /* @__PURE__ */ jsx22(
1820
1670
  "path",
1821
1671
  {
1822
1672
  d: "M3.625 7.5C3.625 8.12132 3.12132 8.625 2.5 8.625C1.87868 8.625 1.375 8.12132 1.375 7.5C1.375 6.87868 1.87868 6.375 2.5 6.375C3.12132 6.375 3.625 6.87868 3.625 7.5ZM8.625 7.5C8.625 8.12132 8.12132 8.625 7.5 8.625C6.87868 8.625 6.375 8.12132 6.375 7.5C6.375 6.87868 6.87868 6.375 7.5 6.375C8.12132 6.375 8.625 6.87868 8.625 7.5ZM12.5 8.625C13.1213 8.625 13.625 8.12132 13.625 7.5C13.625 6.87868 13.1213 6.375 12.5 6.375C11.8787 6.375 11.375 6.87868 11.375 7.5C11.375 8.12132 11.8787 8.625 12.5 8.625Z",
@@ -1827,17 +1677,17 @@ var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /*
1827
1677
  )
1828
1678
  }
1829
1679
  ),
1830
- /* @__PURE__ */ jsx27("span", { className: "sr-only", children: "More" })
1680
+ /* @__PURE__ */ jsx22("span", { className: "sr-only", children: "More" })
1831
1681
  ]
1832
1682
  }
1833
1683
  ));
1834
1684
  BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
1835
1685
 
1836
1686
  // src/components/command.tsx
1837
- import * as React26 from "react";
1687
+ import * as React21 from "react";
1838
1688
  import { Command as CommandPrimitive } from "cmdk";
1839
- import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
1840
- var Command = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1689
+ import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
1690
+ var Command = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1841
1691
  CommandPrimitive,
1842
1692
  {
1843
1693
  ref,
@@ -1853,24 +1703,24 @@ var CommandDialog = ({
1853
1703
  children,
1854
1704
  ...props
1855
1705
  }) => {
1856
- return /* @__PURE__ */ jsx28(
1706
+ return /* @__PURE__ */ jsx23(
1857
1707
  CommandPrimitive.Dialog,
1858
1708
  {
1859
1709
  ...props,
1860
1710
  className: cn(
1861
1711
  "fixed inset-0 z-50 bg-[var(--tekton-bg-background)]/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
1862
1712
  ),
1863
- children: /* @__PURE__ */ jsx28("div", { className: "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)] p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", children: /* @__PURE__ */ jsx28(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-[var(--tekton-text-muted-foreground)] [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) })
1713
+ children: /* @__PURE__ */ jsx23("div", { className: "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)] p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", children: /* @__PURE__ */ jsx23(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-[var(--tekton-text-muted-foreground)] [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) })
1864
1714
  }
1865
1715
  );
1866
1716
  };
1867
- var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs10(
1717
+ var CommandInput = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs10(
1868
1718
  "div",
1869
1719
  {
1870
1720
  className: "flex items-center border-b border-[var(--tekton-border-default)] px-3",
1871
1721
  "cmdk-input-wrapper": "",
1872
1722
  children: [
1873
- /* @__PURE__ */ jsx28(
1723
+ /* @__PURE__ */ jsx23(
1874
1724
  "svg",
1875
1725
  {
1876
1726
  width: "15",
@@ -1879,7 +1729,7 @@ var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
1879
1729
  fill: "none",
1880
1730
  xmlns: "http://www.w3.org/2000/svg",
1881
1731
  className: "mr-2 h-4 w-4 shrink-0 opacity-50",
1882
- children: /* @__PURE__ */ jsx28(
1732
+ children: /* @__PURE__ */ jsx23(
1883
1733
  "path",
1884
1734
  {
1885
1735
  d: "M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",
@@ -1890,7 +1740,7 @@ var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
1890
1740
  )
1891
1741
  }
1892
1742
  ),
1893
- /* @__PURE__ */ jsx28(
1743
+ /* @__PURE__ */ jsx23(
1894
1744
  CommandPrimitive.Input,
1895
1745
  {
1896
1746
  ref,
@@ -1905,7 +1755,7 @@ var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
1905
1755
  }
1906
1756
  ));
1907
1757
  CommandInput.displayName = CommandPrimitive.Input.displayName;
1908
- var CommandList = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1758
+ var CommandList = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1909
1759
  CommandPrimitive.List,
1910
1760
  {
1911
1761
  ref,
@@ -1914,7 +1764,7 @@ var CommandList = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
1914
1764
  }
1915
1765
  ));
1916
1766
  CommandList.displayName = CommandPrimitive.List.displayName;
1917
- var CommandEmpty = React26.forwardRef((props, ref) => /* @__PURE__ */ jsx28(
1767
+ var CommandEmpty = React21.forwardRef((props, ref) => /* @__PURE__ */ jsx23(
1918
1768
  CommandPrimitive.Empty,
1919
1769
  {
1920
1770
  ref,
@@ -1923,7 +1773,7 @@ var CommandEmpty = React26.forwardRef((props, ref) => /* @__PURE__ */ jsx28(
1923
1773
  }
1924
1774
  ));
1925
1775
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
1926
- var CommandGroup = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1776
+ var CommandGroup = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1927
1777
  CommandPrimitive.Group,
1928
1778
  {
1929
1779
  ref,
@@ -1935,7 +1785,7 @@ var CommandGroup = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
1935
1785
  }
1936
1786
  ));
1937
1787
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
1938
- var CommandSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1788
+ var CommandSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1939
1789
  CommandPrimitive.Separator,
1940
1790
  {
1941
1791
  ref,
@@ -1944,7 +1794,7 @@ var CommandSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @
1944
1794
  }
1945
1795
  ));
1946
1796
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
1947
- var CommandItem = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1797
+ var CommandItem = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1948
1798
  CommandPrimitive.Item,
1949
1799
  {
1950
1800
  ref,
@@ -1957,7 +1807,7 @@ var CommandItem = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
1957
1807
  ));
1958
1808
  CommandItem.displayName = CommandPrimitive.Item.displayName;
1959
1809
  var CommandShortcut = ({ className, ...props }) => {
1960
- return /* @__PURE__ */ jsx28(
1810
+ return /* @__PURE__ */ jsx23(
1961
1811
  "span",
1962
1812
  {
1963
1813
  className: cn(
@@ -1972,9 +1822,9 @@ CommandShortcut.displayName = "CommandShortcut";
1972
1822
 
1973
1823
  // src/components/calendar.tsx
1974
1824
  import { DayPicker } from "react-day-picker";
1975
- import { jsx as jsx29 } from "react/jsx-runtime";
1825
+ import { jsx as jsx24 } from "react/jsx-runtime";
1976
1826
  function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
1977
- return /* @__PURE__ */ jsx29(
1827
+ return /* @__PURE__ */ jsx24(
1978
1828
  DayPicker,
1979
1829
  {
1980
1830
  showOutsideDays,
@@ -2018,7 +1868,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
2018
1868
  components: {
2019
1869
  Chevron: ({ orientation }) => {
2020
1870
  if (orientation === "left") {
2021
- return /* @__PURE__ */ jsx29(
1871
+ return /* @__PURE__ */ jsx24(
2022
1872
  "svg",
2023
1873
  {
2024
1874
  width: "15",
@@ -2027,7 +1877,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
2027
1877
  fill: "none",
2028
1878
  xmlns: "http://www.w3.org/2000/svg",
2029
1879
  className: "h-4 w-4",
2030
- children: /* @__PURE__ */ jsx29(
1880
+ children: /* @__PURE__ */ jsx24(
2031
1881
  "path",
2032
1882
  {
2033
1883
  d: "M8.84182 3.13514C9.04327 3.32401 9.05348 3.64042 8.86462 3.84188L5.43521 7.49991L8.86462 11.1579C9.05348 11.3594 9.04327 11.6758 8.84182 11.8647C8.64036 12.0535 8.32394 12.0433 8.13508 11.8419L4.38508 7.84188C4.20477 7.64955 4.20477 7.35027 4.38508 7.15794L8.13508 3.15794C8.32394 2.95648 8.64036 2.94628 8.84182 3.13514Z",
@@ -2039,7 +1889,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
2039
1889
  }
2040
1890
  );
2041
1891
  }
2042
- return /* @__PURE__ */ jsx29(
1892
+ return /* @__PURE__ */ jsx24(
2043
1893
  "svg",
2044
1894
  {
2045
1895
  width: "15",
@@ -2048,7 +1898,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
2048
1898
  fill: "none",
2049
1899
  xmlns: "http://www.w3.org/2000/svg",
2050
1900
  className: "h-4 w-4",
2051
- children: /* @__PURE__ */ jsx29(
1901
+ children: /* @__PURE__ */ jsx24(
2052
1902
  "path",
2053
1903
  {
2054
1904
  d: "M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",
@@ -2066,1259 +1916,6 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
2066
1916
  );
2067
1917
  }
2068
1918
  Calendar.displayName = "Calendar";
2069
-
2070
- // src/templates/types.ts
2071
- var DEFAULT_RESPONSIVE_LAYOUT = {
2072
- mobile: {
2073
- padding: "var(--tekton-layout-padding-mobile)",
2074
- // 16px
2075
- gap: "var(--tekton-layout-gap-mobile)",
2076
- // 16px
2077
- columns: 4
2078
- },
2079
- tablet: {
2080
- padding: "var(--tekton-layout-padding-tablet)",
2081
- // 32px
2082
- gap: "var(--tekton-layout-gap-tablet)",
2083
- // 24px
2084
- columns: 8
2085
- },
2086
- desktop: {
2087
- padding: "var(--tekton-layout-padding-desktop)",
2088
- // 64px
2089
- gap: "var(--tekton-layout-gap-desktop)",
2090
- // 32px
2091
- columns: 12
2092
- }
2093
- };
2094
- var DEFAULT_BREAKPOINTS = {
2095
- mobile: 768,
2096
- tablet: 1024,
2097
- desktop: 1024
2098
- };
2099
-
2100
- // src/templates/registry.ts
2101
- var TemplateRegistry = class _TemplateRegistry {
2102
- static instance;
2103
- templates;
2104
- constructor() {
2105
- this.templates = /* @__PURE__ */ new Map();
2106
- }
2107
- /**
2108
- * Get singleton instance
2109
- */
2110
- static getInstance() {
2111
- if (!_TemplateRegistry.instance) {
2112
- _TemplateRegistry.instance = new _TemplateRegistry();
2113
- }
2114
- return _TemplateRegistry.instance;
2115
- }
2116
- /**
2117
- * Register a template
2118
- */
2119
- register(template) {
2120
- if (this.templates.has(template.id)) {
2121
- console.warn(`Template "${template.id}" is already registered. Overwriting.`);
2122
- }
2123
- this.templates.set(template.id, {
2124
- template,
2125
- metadata: {
2126
- usageCount: 0
2127
- }
2128
- });
2129
- }
2130
- /**
2131
- * Register multiple templates
2132
- */
2133
- registerMany(templates) {
2134
- templates.forEach((template) => this.register(template));
2135
- }
2136
- /**
2137
- * Get template by ID
2138
- */
2139
- get(id) {
2140
- const entry = this.templates.get(id);
2141
- if (entry) {
2142
- entry.metadata.usageCount++;
2143
- entry.metadata.lastUsed = (/* @__PURE__ */ new Date()).toISOString();
2144
- return entry.template;
2145
- }
2146
- return void 0;
2147
- }
2148
- /**
2149
- * Get all templates
2150
- */
2151
- getAll() {
2152
- return Array.from(this.templates.values()).map((entry) => entry.template);
2153
- }
2154
- /**
2155
- * Get templates by category
2156
- */
2157
- getByCategory(category) {
2158
- return this.getAll().filter((template) => template.category === category);
2159
- }
2160
- /**
2161
- * Find templates by required components
2162
- * Returns templates that include ALL specified components
2163
- */
2164
- findByRequiredComponents(components) {
2165
- return this.getAll().filter((template) => {
2166
- return components.every((component) => template.requiredComponents.includes(component));
2167
- });
2168
- }
2169
- /**
2170
- * Search templates by keyword
2171
- * Searches in: id, name, description, tags
2172
- */
2173
- search(keyword) {
2174
- const lowerKeyword = keyword.toLowerCase();
2175
- return this.getAll().filter((template) => {
2176
- return template.id.toLowerCase().includes(lowerKeyword) || template.name.toLowerCase().includes(lowerKeyword) || template.description.toLowerCase().includes(lowerKeyword) || template.tags?.some((tag) => tag.toLowerCase().includes(lowerKeyword));
2177
- });
2178
- }
2179
- /**
2180
- * Get template metadata
2181
- */
2182
- getMetadata(id) {
2183
- return this.templates.get(id)?.metadata;
2184
- }
2185
- /**
2186
- * Get most used templates
2187
- */
2188
- getMostUsed(limit = 10) {
2189
- return Array.from(this.templates.values()).sort((a, b) => b.metadata.usageCount - a.metadata.usageCount).slice(0, limit).map((entry) => entry.template);
2190
- }
2191
- /**
2192
- * Get recently used templates
2193
- */
2194
- getRecentlyUsed(limit = 10) {
2195
- return Array.from(this.templates.values()).filter((entry) => entry.metadata.lastUsed).sort((a, b) => {
2196
- const dateA = new Date(a.metadata.lastUsed).getTime();
2197
- const dateB = new Date(b.metadata.lastUsed).getTime();
2198
- return dateB - dateA;
2199
- }).slice(0, limit).map((entry) => entry.template);
2200
- }
2201
- /**
2202
- * Clear all templates
2203
- */
2204
- clear() {
2205
- this.templates.clear();
2206
- }
2207
- /**
2208
- * Get template count
2209
- */
2210
- count() {
2211
- return this.templates.size;
2212
- }
2213
- /**
2214
- * Check if template exists
2215
- */
2216
- has(id) {
2217
- return this.templates.has(id);
2218
- }
2219
- /**
2220
- * Remove template
2221
- */
2222
- remove(id) {
2223
- return this.templates.delete(id);
2224
- }
2225
- };
2226
- var templateRegistry = TemplateRegistry.getInstance();
2227
-
2228
- // src/templates/auth/login.tsx
2229
- import { Fragment as Fragment2, jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
2230
- function LoginTemplateComponent({
2231
- children,
2232
- className = "",
2233
- slots = {},
2234
- texts = {},
2235
- options = {}
2236
- }) {
2237
- const title = texts.title || "Welcome Back";
2238
- const subtitle = texts.subtitle || "Sign in to your account";
2239
- const buttonLabel = texts.button_label || "Sign In";
2240
- const showSocialLogin = options.social_login ?? false;
2241
- const showRememberMe = options.remember_me ?? false;
2242
- return /* @__PURE__ */ jsxs11(
2243
- "div",
2244
- {
2245
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2246
- children: [
2247
- /* @__PURE__ */ jsxs11(Card, { className: "w-full max-w-md", children: [
2248
- /* @__PURE__ */ jsxs11(CardHeader, { children: [
2249
- slots.logo && /* @__PURE__ */ jsx30("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.logo }),
2250
- /* @__PURE__ */ jsx30(CardTitle, { children: title }),
2251
- /* @__PURE__ */ jsx30(CardDescription, { children: subtitle })
2252
- ] }),
2253
- /* @__PURE__ */ jsxs11(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
2254
- /* @__PURE__ */ jsxs11("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2255
- /* @__PURE__ */ jsx30(Label, { htmlFor: "email", children: "Email" }),
2256
- /* @__PURE__ */ jsx30(Input, { id: "email", type: "email", placeholder: "Enter your email" })
2257
- ] }),
2258
- /* @__PURE__ */ jsxs11("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2259
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between", children: [
2260
- /* @__PURE__ */ jsx30(Label, { htmlFor: "password", children: "Password" }),
2261
- slots.forgotPassword && /* @__PURE__ */ jsx30("div", { children: slots.forgotPassword })
2262
- ] }),
2263
- /* @__PURE__ */ jsx30(Input, { id: "password", type: "password", placeholder: "Enter your password" })
2264
- ] }),
2265
- showRememberMe && slots.rememberMe && /* @__PURE__ */ jsx30("div", { className: "flex items-center space-x-[var(--tekton-spacing-2)]", children: slots.rememberMe }),
2266
- /* @__PURE__ */ jsx30(Button, { className: "w-full", children: buttonLabel }),
2267
- showSocialLogin && slots.socialLogin && /* @__PURE__ */ jsxs11(Fragment2, { children: [
2268
- /* @__PURE__ */ jsxs11("div", { className: "relative", children: [
2269
- /* @__PURE__ */ jsx30("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsx30(Separator, {}) }),
2270
- /* @__PURE__ */ jsx30("div", { className: "relative flex justify-center text-xs uppercase", children: /* @__PURE__ */ jsx30("span", { className: "bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-2)] text-[var(--tekton-text-muted-foreground)]", children: "Or continue with" }) })
2271
- ] }),
2272
- /* @__PURE__ */ jsx30("div", { className: "grid grid-cols-2 gap-[var(--tekton-spacing-4)]", children: slots.socialLogin })
2273
- ] })
2274
- ] }),
2275
- /* @__PURE__ */ jsx30(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs11("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
2276
- "Don't have an account?",
2277
- " ",
2278
- /* @__PURE__ */ jsx30("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Sign up" })
2279
- ] }) })
2280
- ] }),
2281
- children
2282
- ]
2283
- }
2284
- );
2285
- }
2286
- var LoginTemplate = {
2287
- id: "auth.login",
2288
- name: "Login",
2289
- category: "auth",
2290
- description: "Standard login screen with email and password",
2291
- skeleton: {
2292
- shell: "centered-card",
2293
- page: "auth-page",
2294
- sections: [
2295
- {
2296
- id: "login-form",
2297
- name: "Login Form",
2298
- slot: "main",
2299
- required: true,
2300
- Component: LoginTemplateComponent
2301
- }
2302
- ]
2303
- },
2304
- layout: {
2305
- type: "centered",
2306
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2307
- },
2308
- customizable: {
2309
- texts: ["title", "subtitle", "button_label"],
2310
- optional: ["social_login", "remember_me"],
2311
- slots: ["logo", "forgotPassword", "rememberMe", "socialLogin", "footer"]
2312
- },
2313
- requiredComponents: ["Button", "Input", "Form", "Card", "Label"],
2314
- Component: LoginTemplateComponent,
2315
- version: "1.0.0",
2316
- created: "2026-01-31",
2317
- updated: "2026-01-31",
2318
- tags: ["auth", "login", "form"]
2319
- };
2320
-
2321
- // src/templates/auth/signup.tsx
2322
- import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
2323
- function SignupTemplateComponent({
2324
- children,
2325
- className = "",
2326
- slots = {},
2327
- texts = {},
2328
- options = {}
2329
- }) {
2330
- const title = texts.title || "Create Account";
2331
- const subtitle = texts.subtitle || "Sign up to get started";
2332
- const buttonLabel = texts.button_label || "Sign Up";
2333
- const showSocialSignup = options.social_signup ?? false;
2334
- return /* @__PURE__ */ jsxs12(
2335
- "div",
2336
- {
2337
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2338
- children: [
2339
- /* @__PURE__ */ jsxs12(Card, { className: "w-full max-w-md", children: [
2340
- /* @__PURE__ */ jsxs12(CardHeader, { children: [
2341
- slots.logo && /* @__PURE__ */ jsx31("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.logo }),
2342
- /* @__PURE__ */ jsx31(CardTitle, { children: title }),
2343
- /* @__PURE__ */ jsx31(CardDescription, { children: subtitle })
2344
- ] }),
2345
- /* @__PURE__ */ jsxs12(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
2346
- /* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2347
- /* @__PURE__ */ jsx31(Label, { htmlFor: "name", children: "Name" }),
2348
- /* @__PURE__ */ jsx31(Input, { id: "name", type: "text", placeholder: "Enter your name" })
2349
- ] }),
2350
- /* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2351
- /* @__PURE__ */ jsx31(Label, { htmlFor: "email", children: "Email" }),
2352
- /* @__PURE__ */ jsx31(Input, { id: "email", type: "email", placeholder: "Enter your email" })
2353
- ] }),
2354
- /* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2355
- /* @__PURE__ */ jsx31(Label, { htmlFor: "password", children: "Password" }),
2356
- /* @__PURE__ */ jsx31(Input, { id: "password", type: "password", placeholder: "Enter your password" })
2357
- ] }),
2358
- /* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2359
- /* @__PURE__ */ jsx31(Label, { htmlFor: "password-confirm", children: "Confirm Password" }),
2360
- /* @__PURE__ */ jsx31(Input, { id: "password-confirm", type: "password", placeholder: "Confirm your password" })
2361
- ] }),
2362
- slots.termsCheckbox && /* @__PURE__ */ jsx31("div", { className: "flex items-start space-x-[var(--tekton-spacing-2)]", children: slots.termsCheckbox }),
2363
- /* @__PURE__ */ jsx31(Button, { className: "w-full", children: buttonLabel }),
2364
- showSocialSignup && slots.socialSignup && /* @__PURE__ */ jsxs12(Fragment3, { children: [
2365
- /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
2366
- /* @__PURE__ */ jsx31("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsx31(Separator, {}) }),
2367
- /* @__PURE__ */ jsx31("div", { className: "relative flex justify-center text-xs uppercase", children: /* @__PURE__ */ jsx31("span", { className: "bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-2)] text-[var(--tekton-text-muted-foreground)]", children: "Or sign up with" }) })
2368
- ] }),
2369
- /* @__PURE__ */ jsx31("div", { className: "grid grid-cols-2 gap-[var(--tekton-spacing-4)]", children: slots.socialSignup })
2370
- ] })
2371
- ] }),
2372
- /* @__PURE__ */ jsx31(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs12("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
2373
- "Already have an account?",
2374
- " ",
2375
- /* @__PURE__ */ jsx31("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Sign in" })
2376
- ] }) })
2377
- ] }),
2378
- children
2379
- ]
2380
- }
2381
- );
2382
- }
2383
- var SignupTemplate = {
2384
- id: "auth.signup",
2385
- name: "Signup",
2386
- category: "auth",
2387
- description: "Standard signup screen with name, email, and password",
2388
- skeleton: {
2389
- shell: "centered-card",
2390
- page: "auth-page",
2391
- sections: [
2392
- {
2393
- id: "signup-form",
2394
- name: "Signup Form",
2395
- slot: "main",
2396
- required: true,
2397
- Component: SignupTemplateComponent
2398
- }
2399
- ]
2400
- },
2401
- layout: {
2402
- type: "centered",
2403
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2404
- },
2405
- customizable: {
2406
- texts: ["title", "subtitle", "button_label"],
2407
- optional: ["social_signup"],
2408
- slots: ["logo", "termsCheckbox", "socialSignup", "footer"]
2409
- },
2410
- requiredComponents: ["Button", "Input", "Form", "Card", "Label", "Checkbox"],
2411
- Component: SignupTemplateComponent,
2412
- version: "1.0.0",
2413
- created: "2026-02-01",
2414
- updated: "2026-02-01",
2415
- tags: ["auth", "signup", "registration", "form"]
2416
- };
2417
-
2418
- // src/templates/auth/forgot-password.tsx
2419
- import { jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
2420
- function ForgotPasswordTemplateComponent({
2421
- children,
2422
- className = "",
2423
- slots = {},
2424
- texts = {}
2425
- }) {
2426
- const title = texts.title || "Forgot Password?";
2427
- const subtitle = texts.subtitle || "Enter your email address and we'll send you a reset link";
2428
- const buttonLabel = texts.button_label || "Send Reset Link";
2429
- return /* @__PURE__ */ jsxs13(
2430
- "div",
2431
- {
2432
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2433
- children: [
2434
- /* @__PURE__ */ jsxs13(Card, { className: "w-full max-w-md", children: [
2435
- /* @__PURE__ */ jsxs13(CardHeader, { children: [
2436
- slots.logo && /* @__PURE__ */ jsx32("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.logo }),
2437
- /* @__PURE__ */ jsx32(CardTitle, { children: title }),
2438
- /* @__PURE__ */ jsx32(CardDescription, { children: subtitle })
2439
- ] }),
2440
- /* @__PURE__ */ jsxs13(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
2441
- /* @__PURE__ */ jsxs13("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2442
- /* @__PURE__ */ jsx32(Label, { htmlFor: "email", children: "Email" }),
2443
- /* @__PURE__ */ jsx32(Input, { id: "email", type: "email", placeholder: "Enter your email" })
2444
- ] }),
2445
- /* @__PURE__ */ jsx32(Button, { className: "w-full", children: buttonLabel })
2446
- ] }),
2447
- /* @__PURE__ */ jsx32(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs13("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
2448
- "Remember your password?",
2449
- " ",
2450
- /* @__PURE__ */ jsx32("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Back to login" })
2451
- ] }) })
2452
- ] }),
2453
- children
2454
- ]
2455
- }
2456
- );
2457
- }
2458
- var ForgotPasswordTemplate = {
2459
- id: "auth.forgot-password",
2460
- name: "Forgot Password",
2461
- category: "auth",
2462
- description: "Password reset screen with email input",
2463
- skeleton: {
2464
- shell: "centered-card",
2465
- page: "auth-page",
2466
- sections: [
2467
- {
2468
- id: "forgot-password-form",
2469
- name: "Forgot Password Form",
2470
- slot: "main",
2471
- required: true,
2472
- Component: ForgotPasswordTemplateComponent
2473
- }
2474
- ]
2475
- },
2476
- layout: {
2477
- type: "centered",
2478
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2479
- },
2480
- customizable: {
2481
- texts: ["title", "subtitle", "button_label"],
2482
- optional: [],
2483
- slots: ["logo", "footer"]
2484
- },
2485
- requiredComponents: ["Button", "Input", "Form", "Card", "Label"],
2486
- Component: ForgotPasswordTemplateComponent,
2487
- version: "1.0.0",
2488
- created: "2026-02-01",
2489
- updated: "2026-02-01",
2490
- tags: ["auth", "password", "reset", "forgot"]
2491
- };
2492
-
2493
- // src/templates/auth/verification.tsx
2494
- import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
2495
- function VerificationTemplateComponent({
2496
- children,
2497
- className = "",
2498
- slots = {},
2499
- texts = {},
2500
- options = {}
2501
- }) {
2502
- const title = texts.title || "Verify Your Email";
2503
- const subtitle = texts.subtitle || "We've sent a verification link to your email address";
2504
- const buttonLabel = texts.button_label || "Continue";
2505
- const showResend = options.show_resend ?? true;
2506
- const userEmail = options.user_email || "user@example.com";
2507
- return /* @__PURE__ */ jsxs14(
2508
- "div",
2509
- {
2510
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2511
- children: [
2512
- /* @__PURE__ */ jsxs14(Card, { className: "w-full max-w-md", children: [
2513
- /* @__PURE__ */ jsxs14(CardHeader, { children: [
2514
- slots.icon && /* @__PURE__ */ jsx33("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.icon }),
2515
- /* @__PURE__ */ jsx33(CardTitle, { children: title }),
2516
- /* @__PURE__ */ jsx33(CardDescription, { children: subtitle })
2517
- ] }),
2518
- /* @__PURE__ */ jsxs14(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
2519
- /* @__PURE__ */ jsx33("div", { className: "bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-3)] rounded-[var(--tekton-radius-md)] text-center", children: /* @__PURE__ */ jsx33("p", { className: "text-sm font-medium", children: userEmail }) }),
2520
- /* @__PURE__ */ jsx33(Button, { className: "w-full", children: buttonLabel }),
2521
- showResend && /* @__PURE__ */ jsx33("div", { className: "text-center", children: /* @__PURE__ */ jsxs14("p", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: [
2522
- "Didn't receive the email?",
2523
- " ",
2524
- /* @__PURE__ */ jsx33("button", { className: "text-[var(--tekton-text-primary)] hover:underline", children: "Resend" })
2525
- ] }) })
2526
- ] }),
2527
- /* @__PURE__ */ jsx33(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs14("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
2528
- "Wrong email?",
2529
- " ",
2530
- /* @__PURE__ */ jsx33("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Change email address" })
2531
- ] }) })
2532
- ] }),
2533
- children
2534
- ]
2535
- }
2536
- );
2537
- }
2538
- var VerificationTemplate = {
2539
- id: "auth.verification",
2540
- name: "Email Verification",
2541
- category: "auth",
2542
- description: "Email verification screen with resend option",
2543
- skeleton: {
2544
- shell: "centered-card",
2545
- page: "auth-page",
2546
- sections: [
2547
- {
2548
- id: "verification-message",
2549
- name: "Verification Message",
2550
- slot: "main",
2551
- required: true,
2552
- Component: VerificationTemplateComponent
2553
- }
2554
- ]
2555
- },
2556
- layout: {
2557
- type: "centered",
2558
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2559
- },
2560
- customizable: {
2561
- texts: ["title", "subtitle", "button_label"],
2562
- optional: ["show_resend", "user_email"],
2563
- slots: ["icon", "footer"]
2564
- },
2565
- requiredComponents: ["Button", "Card"],
2566
- Component: VerificationTemplateComponent,
2567
- version: "1.0.0",
2568
- created: "2026-02-01",
2569
- updated: "2026-02-01",
2570
- tags: ["auth", "verification", "email", "confirm"]
2571
- };
2572
-
2573
- // src/templates/core/landing.tsx
2574
- import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
2575
- function LandingTemplateComponent({
2576
- children,
2577
- className = "",
2578
- slots = {},
2579
- texts = {}
2580
- }) {
2581
- const title = texts.title || "Welcome Back";
2582
- const subtitle = texts.subtitle || "Start a new conversation or continue where you left off";
2583
- const ctaLabel = texts.cta_label || "New Conversation";
2584
- return /* @__PURE__ */ jsxs15("div", { className: `min-h-screen flex ${className}`, children: [
2585
- slots.sidebar && /* @__PURE__ */ jsx34("aside", { className: "w-64 border-r border-[var(--tekton-border-default)] bg-[var(--tekton-bg-muted)]", children: slots.sidebar }),
2586
- /* @__PURE__ */ jsxs15("main", { className: "flex-1 flex flex-col", children: [
2587
- slots.header && /* @__PURE__ */ jsx34("header", { className: "border-b border-[var(--tekton-border-default)] p-[var(--tekton-spacing-4)]", children: slots.header }),
2588
- /* @__PURE__ */ jsx34("div", { className: "flex-1 flex flex-col items-center justify-center p-[var(--tekton-spacing-8)]", children: /* @__PURE__ */ jsxs15("div", { className: "max-w-2xl w-full text-center space-y-[var(--tekton-spacing-6)]", children: [
2589
- /* @__PURE__ */ jsxs15("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2590
- /* @__PURE__ */ jsx34("h1", { className: "text-3xl font-bold", children: title }),
2591
- /* @__PURE__ */ jsx34("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: subtitle })
2592
- ] }),
2593
- /* @__PURE__ */ jsx34("div", { children: /* @__PURE__ */ jsx34(Button, { size: "lg", children: ctaLabel }) }),
2594
- slots.recentActivity && /* @__PURE__ */ jsx34("div", { className: "mt-[var(--tekton-spacing-8)]", children: slots.recentActivity }),
2595
- slots.suggestions && /* @__PURE__ */ jsx34("div", { className: "mt-[var(--tekton-spacing-6)]", children: slots.suggestions })
2596
- ] }) })
2597
- ] }),
2598
- children
2599
- ] });
2600
- }
2601
- var LandingTemplate = {
2602
- id: "core.landing",
2603
- name: "Landing",
2604
- category: "marketing",
2605
- description: "Main dashboard landing page with sidebar and CTA",
2606
- skeleton: {
2607
- shell: "sidebar-layout",
2608
- page: "main-page",
2609
- sections: [
2610
- {
2611
- id: "landing-content",
2612
- name: "Landing Content",
2613
- slot: "main",
2614
- required: true,
2615
- Component: LandingTemplateComponent
2616
- }
2617
- ]
2618
- },
2619
- layout: {
2620
- type: "sidebar",
2621
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2622
- },
2623
- customizable: {
2624
- texts: ["title", "subtitle", "cta_label"],
2625
- optional: [],
2626
- slots: ["sidebar", "header", "recentActivity", "suggestions"]
2627
- },
2628
- requiredComponents: ["Button"],
2629
- Component: LandingTemplateComponent,
2630
- version: "1.0.0",
2631
- created: "2026-02-01",
2632
- updated: "2026-02-01",
2633
- tags: ["core", "landing", "dashboard", "home"]
2634
- };
2635
-
2636
- // src/templates/core/preferences.tsx
2637
- import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
2638
- function PreferencesTemplateComponent({
2639
- children,
2640
- className = "",
2641
- slots = {},
2642
- texts = {}
2643
- }) {
2644
- const title = texts.title || "Preferences";
2645
- const subtitle = texts.subtitle || "Manage your account settings and preferences";
2646
- const saveLabel = texts.save_label || "Save Changes";
2647
- return /* @__PURE__ */ jsxs16("div", { className: `min-h-screen flex ${className}`, children: [
2648
- slots.settingsNav && /* @__PURE__ */ jsx35("aside", { className: "w-64 border-r border-[var(--tekton-border-default)] p-[var(--tekton-spacing-4)] bg-[var(--tekton-bg-muted)]", children: slots.settingsNav }),
2649
- /* @__PURE__ */ jsx35("main", { className: "flex-1 p-[var(--tekton-spacing-8)]", children: /* @__PURE__ */ jsxs16("div", { className: "max-w-3xl", children: [
2650
- /* @__PURE__ */ jsxs16("div", { className: "mb-[var(--tekton-spacing-8)]", children: [
2651
- /* @__PURE__ */ jsx35("h1", { className: "text-3xl font-bold mb-[var(--tekton-spacing-2)]", children: title }),
2652
- /* @__PURE__ */ jsx35("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: subtitle })
2653
- ] }),
2654
- /* @__PURE__ */ jsxs16("div", { className: "space-y-[var(--tekton-spacing-6)]", children: [
2655
- slots.generalSettings && /* @__PURE__ */ jsxs16(Card, { children: [
2656
- /* @__PURE__ */ jsxs16(CardHeader, { children: [
2657
- /* @__PURE__ */ jsx35(CardTitle, { children: "General" }),
2658
- /* @__PURE__ */ jsx35(CardDescription, { children: "Manage your general preferences" })
2659
- ] }),
2660
- /* @__PURE__ */ jsx35(CardContent, { children: slots.generalSettings })
2661
- ] }),
2662
- slots.appearanceSettings && /* @__PURE__ */ jsxs16(Card, { children: [
2663
- /* @__PURE__ */ jsxs16(CardHeader, { children: [
2664
- /* @__PURE__ */ jsx35(CardTitle, { children: "Appearance" }),
2665
- /* @__PURE__ */ jsx35(CardDescription, { children: "Customize the look and feel" })
2666
- ] }),
2667
- /* @__PURE__ */ jsx35(CardContent, { children: slots.appearanceSettings })
2668
- ] }),
2669
- slots.notificationsSettings && /* @__PURE__ */ jsxs16(Card, { children: [
2670
- /* @__PURE__ */ jsxs16(CardHeader, { children: [
2671
- /* @__PURE__ */ jsx35(CardTitle, { children: "Notifications" }),
2672
- /* @__PURE__ */ jsx35(CardDescription, { children: "Manage notification preferences" })
2673
- ] }),
2674
- /* @__PURE__ */ jsx35(CardContent, { children: slots.notificationsSettings })
2675
- ] }),
2676
- slots.additionalSettings && slots.additionalSettings
2677
- ] }),
2678
- /* @__PURE__ */ jsxs16("div", { className: "mt-[var(--tekton-spacing-8)] flex justify-end gap-[var(--tekton-spacing-4)]", children: [
2679
- /* @__PURE__ */ jsx35(Button, { variant: "outline", children: "Cancel" }),
2680
- /* @__PURE__ */ jsx35(Button, { children: saveLabel })
2681
- ] })
2682
- ] }) }),
2683
- children
2684
- ] });
2685
- }
2686
- var PreferencesTemplate = {
2687
- id: "core.preferences",
2688
- name: "Preferences",
2689
- category: "form",
2690
- description: "Settings and preferences page with categorized options",
2691
- skeleton: {
2692
- shell: "sidebar-layout",
2693
- page: "settings-page",
2694
- sections: [
2695
- {
2696
- id: "preferences-content",
2697
- name: "Preferences Content",
2698
- slot: "main",
2699
- required: true,
2700
- Component: PreferencesTemplateComponent
2701
- }
2702
- ]
2703
- },
2704
- layout: {
2705
- type: "sidebar",
2706
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2707
- },
2708
- customizable: {
2709
- texts: ["title", "subtitle", "save_label"],
2710
- optional: [],
2711
- slots: [
2712
- "settingsNav",
2713
- "generalSettings",
2714
- "appearanceSettings",
2715
- "notificationsSettings",
2716
- "additionalSettings"
2717
- ]
2718
- },
2719
- requiredComponents: ["Button", "Card", "Switch", "Select"],
2720
- Component: PreferencesTemplateComponent,
2721
- version: "1.0.0",
2722
- created: "2026-02-01",
2723
- updated: "2026-02-01",
2724
- tags: ["core", "settings", "preferences", "configuration"]
2725
- };
2726
-
2727
- // src/templates/core/profile.tsx
2728
- import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
2729
- function ProfileTemplateComponent({
2730
- children,
2731
- className = "",
2732
- slots = {},
2733
- texts = {},
2734
- options = {}
2735
- }) {
2736
- const title = texts.title || "Profile";
2737
- const subtitle = texts.subtitle || "Manage your profile information";
2738
- const saveLabel = texts.save_label || "Save Changes";
2739
- const userName = String(options.user_name || "John Doe");
2740
- const userEmail = String(options.user_email || "john@example.com");
2741
- return /* @__PURE__ */ jsxs17("div", { className: `min-h-screen p-[var(--tekton-spacing-8)] ${className}`, children: [
2742
- /* @__PURE__ */ jsxs17("div", { className: "max-w-3xl mx-auto", children: [
2743
- /* @__PURE__ */ jsxs17("div", { className: "mb-[var(--tekton-spacing-8)]", children: [
2744
- /* @__PURE__ */ jsx36("h1", { className: "text-3xl font-bold mb-[var(--tekton-spacing-2)]", children: title }),
2745
- /* @__PURE__ */ jsx36("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: subtitle })
2746
- ] }),
2747
- /* @__PURE__ */ jsxs17(Card, { children: [
2748
- /* @__PURE__ */ jsxs17(CardHeader, { children: [
2749
- /* @__PURE__ */ jsx36(CardTitle, { children: "Personal Information" }),
2750
- /* @__PURE__ */ jsx36(CardDescription, { children: "Update your profile details" })
2751
- ] }),
2752
- /* @__PURE__ */ jsxs17(CardContent, { className: "space-y-[var(--tekton-spacing-6)]", children: [
2753
- slots.avatar && /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-[var(--tekton-spacing-4)]", children: [
2754
- /* @__PURE__ */ jsx36("div", { children: slots.avatar }),
2755
- /* @__PURE__ */ jsxs17("div", { children: [
2756
- /* @__PURE__ */ jsx36(Button, { variant: "outline", size: "sm", children: "Change Photo" }),
2757
- /* @__PURE__ */ jsx36("p", { className: "text-xs text-[var(--tekton-text-muted-foreground)] mt-[var(--tekton-spacing-2)]", children: "JPG, PNG. Max 2MB" })
2758
- ] })
2759
- ] }),
2760
- /* @__PURE__ */ jsxs17("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2761
- /* @__PURE__ */ jsx36(Label, { htmlFor: "name", children: "Name" }),
2762
- /* @__PURE__ */ jsx36(Input, { id: "name", type: "text", defaultValue: userName })
2763
- ] }),
2764
- /* @__PURE__ */ jsxs17("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2765
- /* @__PURE__ */ jsx36(Label, { htmlFor: "email", children: "Email" }),
2766
- /* @__PURE__ */ jsx36(Input, { id: "email", type: "email", defaultValue: userEmail, disabled: true }),
2767
- /* @__PURE__ */ jsx36("p", { className: "text-xs text-[var(--tekton-text-muted-foreground)]", children: "Contact support to change your email address" })
2768
- ] }),
2769
- slots.bioField && /* @__PURE__ */ jsx36("div", { className: "space-y-[var(--tekton-spacing-2)]", children: slots.bioField }),
2770
- slots.additionalFields && slots.additionalFields
2771
- ] })
2772
- ] }),
2773
- slots.additionalSections && /* @__PURE__ */ jsx36("div", { className: "mt-[var(--tekton-spacing-6)]", children: slots.additionalSections }),
2774
- /* @__PURE__ */ jsxs17("div", { className: "mt-[var(--tekton-spacing-8)] flex justify-end gap-[var(--tekton-spacing-4)]", children: [
2775
- /* @__PURE__ */ jsx36(Button, { variant: "outline", children: "Cancel" }),
2776
- /* @__PURE__ */ jsx36(Button, { children: saveLabel })
2777
- ] })
2778
- ] }),
2779
- children
2780
- ] });
2781
- }
2782
- var ProfileTemplate = {
2783
- id: "core.profile",
2784
- name: "Profile",
2785
- category: "form",
2786
- description: "User profile page with editable information",
2787
- skeleton: {
2788
- shell: "centered-layout",
2789
- page: "profile-page",
2790
- sections: [
2791
- {
2792
- id: "profile-content",
2793
- name: "Profile Content",
2794
- slot: "main",
2795
- required: true,
2796
- Component: ProfileTemplateComponent
2797
- }
2798
- ]
2799
- },
2800
- layout: {
2801
- type: "centered",
2802
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2803
- },
2804
- customizable: {
2805
- texts: ["title", "subtitle", "save_label"],
2806
- optional: ["user_name", "user_email"],
2807
- slots: ["avatar", "bioField", "additionalFields", "additionalSections"]
2808
- },
2809
- requiredComponents: ["Button", "Input", "Form", "Card", "Label", "Avatar"],
2810
- Component: ProfileTemplateComponent,
2811
- version: "1.0.0",
2812
- created: "2026-02-01",
2813
- updated: "2026-02-01",
2814
- tags: ["core", "profile", "account", "user"]
2815
- };
2816
-
2817
- // src/templates/feedback/loading.tsx
2818
- import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
2819
- function LoadingTemplateComponent({
2820
- children,
2821
- className = "",
2822
- slots = {},
2823
- texts = {},
2824
- options = {}
2825
- }) {
2826
- const message = texts.message || "Loading...";
2827
- const showMessage = options.show_message ?? true;
2828
- return /* @__PURE__ */ jsxs18(
2829
- "div",
2830
- {
2831
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2832
- children: [
2833
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col items-center gap-[var(--tekton-spacing-4)]", children: [
2834
- slots.spinner || /* @__PURE__ */ jsx37("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-[var(--tekton-border-primary)]" }),
2835
- showMessage && /* @__PURE__ */ jsx37("p", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: message })
2836
- ] }),
2837
- children
2838
- ]
2839
- }
2840
- );
2841
- }
2842
- var LoadingTemplate = {
2843
- id: "feedback.loading",
2844
- name: "Loading",
2845
- category: "feedback",
2846
- description: "Loading state screen with spinner and optional message",
2847
- skeleton: {
2848
- shell: "centered",
2849
- page: "feedback-page",
2850
- sections: [
2851
- {
2852
- id: "loading-indicator",
2853
- name: "Loading Indicator",
2854
- slot: "main",
2855
- required: true,
2856
- Component: LoadingTemplateComponent
2857
- }
2858
- ]
2859
- },
2860
- layout: {
2861
- type: "centered",
2862
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2863
- },
2864
- customizable: {
2865
- texts: ["message"],
2866
- optional: ["show_message"],
2867
- slots: ["spinner"]
2868
- },
2869
- requiredComponents: [],
2870
- Component: LoadingTemplateComponent,
2871
- version: "1.0.0",
2872
- created: "2026-02-01",
2873
- updated: "2026-02-01",
2874
- tags: ["feedback", "loading", "spinner", "state"]
2875
- };
2876
-
2877
- // src/templates/feedback/error.tsx
2878
- import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
2879
- function ErrorTemplateComponent({
2880
- children,
2881
- className = "",
2882
- slots = {},
2883
- texts = {},
2884
- options = {}
2885
- }) {
2886
- const title = texts.title || "Something Went Wrong";
2887
- const message = texts.message || "An error occurred. Please try again.";
2888
- const retryLabel = texts.retry_label || "Try Again";
2889
- const showRetry = options.show_retry ?? true;
2890
- return /* @__PURE__ */ jsxs19(
2891
- "div",
2892
- {
2893
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2894
- children: [
2895
- /* @__PURE__ */ jsxs19("div", { className: "max-w-md text-center space-y-[var(--tekton-spacing-6)]", children: [
2896
- slots.icon || /* @__PURE__ */ jsx38("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx38("div", { className: "rounded-full bg-[var(--tekton-bg-destructive)] bg-opacity-10 p-[var(--tekton-spacing-4)]", children: /* @__PURE__ */ jsx38(
2897
- "svg",
2898
- {
2899
- xmlns: "http://www.w3.org/2000/svg",
2900
- className: "h-12 w-12 text-[var(--tekton-text-destructive)]",
2901
- fill: "none",
2902
- viewBox: "0 0 24 24",
2903
- stroke: "currentColor",
2904
- children: /* @__PURE__ */ jsx38(
2905
- "path",
2906
- {
2907
- strokeLinecap: "round",
2908
- strokeLinejoin: "round",
2909
- strokeWidth: 2,
2910
- d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
2911
- }
2912
- )
2913
- }
2914
- ) }) }),
2915
- /* @__PURE__ */ jsxs19("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
2916
- /* @__PURE__ */ jsx38("h2", { className: "text-2xl font-bold", children: title }),
2917
- /* @__PURE__ */ jsx38("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: message })
2918
- ] }),
2919
- slots.errorDetails && /* @__PURE__ */ jsx38("div", { className: "text-left bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-4)] rounded-[var(--tekton-radius-md)] text-sm", children: slots.errorDetails }),
2920
- /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-[var(--tekton-spacing-3)]", children: [
2921
- showRetry && /* @__PURE__ */ jsx38(Button, { className: "w-full", children: retryLabel }),
2922
- slots.additionalActions && slots.additionalActions
2923
- ] })
2924
- ] }),
2925
- children
2926
- ]
2927
- }
2928
- );
2929
- }
2930
- var ErrorTemplate = {
2931
- id: "feedback.error",
2932
- name: "Error",
2933
- category: "feedback",
2934
- description: "Error state screen with message and retry option",
2935
- skeleton: {
2936
- shell: "centered",
2937
- page: "feedback-page",
2938
- sections: [
2939
- {
2940
- id: "error-message",
2941
- name: "Error Message",
2942
- slot: "main",
2943
- required: true,
2944
- Component: ErrorTemplateComponent
2945
- }
2946
- ]
2947
- },
2948
- layout: {
2949
- type: "centered",
2950
- responsive: DEFAULT_RESPONSIVE_LAYOUT
2951
- },
2952
- customizable: {
2953
- texts: ["title", "message", "retry_label"],
2954
- optional: ["show_retry"],
2955
- slots: ["icon", "errorDetails", "additionalActions"]
2956
- },
2957
- requiredComponents: ["Button"],
2958
- Component: ErrorTemplateComponent,
2959
- version: "1.0.0",
2960
- created: "2026-02-01",
2961
- updated: "2026-02-01",
2962
- tags: ["feedback", "error", "failure", "state"]
2963
- };
2964
-
2965
- // src/templates/feedback/empty.tsx
2966
- import { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
2967
- function EmptyTemplateComponent({
2968
- children,
2969
- className = "",
2970
- slots = {},
2971
- texts = {},
2972
- options = {}
2973
- }) {
2974
- const title = texts.title || "No Items Found";
2975
- const message = texts.message || "Get started by creating your first item";
2976
- const ctaLabel = texts.cta_label || "Create New";
2977
- const showCta = options.show_cta ?? true;
2978
- return /* @__PURE__ */ jsxs20(
2979
- "div",
2980
- {
2981
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
2982
- children: [
2983
- /* @__PURE__ */ jsxs20("div", { className: "max-w-md text-center space-y-[var(--tekton-spacing-6)]", children: [
2984
- slots.illustration || /* @__PURE__ */ jsx39("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx39("div", { className: "rounded-full bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-8)]", children: /* @__PURE__ */ jsx39(
2985
- "svg",
2986
- {
2987
- xmlns: "http://www.w3.org/2000/svg",
2988
- className: "h-16 w-16 text-[var(--tekton-text-muted-foreground)]",
2989
- fill: "none",
2990
- viewBox: "0 0 24 24",
2991
- stroke: "currentColor",
2992
- children: /* @__PURE__ */ jsx39(
2993
- "path",
2994
- {
2995
- strokeLinecap: "round",
2996
- strokeLinejoin: "round",
2997
- strokeWidth: 2,
2998
- d: "M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"
2999
- }
3000
- )
3001
- }
3002
- ) }) }),
3003
- /* @__PURE__ */ jsxs20("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
3004
- /* @__PURE__ */ jsx39("h2", { className: "text-2xl font-bold", children: title }),
3005
- /* @__PURE__ */ jsx39("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: message })
3006
- ] }),
3007
- showCta && /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39(Button, { size: "lg", children: ctaLabel }) }),
3008
- slots.helpText && /* @__PURE__ */ jsx39("div", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: slots.helpText })
3009
- ] }),
3010
- children
3011
- ]
3012
- }
3013
- );
3014
- }
3015
- var EmptyTemplate = {
3016
- id: "feedback.empty",
3017
- name: "Empty",
3018
- category: "feedback",
3019
- description: "Empty state screen with call-to-action",
3020
- skeleton: {
3021
- shell: "centered",
3022
- page: "feedback-page",
3023
- sections: [
3024
- {
3025
- id: "empty-state",
3026
- name: "Empty State",
3027
- slot: "main",
3028
- required: true,
3029
- Component: EmptyTemplateComponent
3030
- }
3031
- ]
3032
- },
3033
- layout: {
3034
- type: "centered",
3035
- responsive: DEFAULT_RESPONSIVE_LAYOUT
3036
- },
3037
- customizable: {
3038
- texts: ["title", "message", "cta_label"],
3039
- optional: ["show_cta"],
3040
- slots: ["illustration", "helpText"]
3041
- },
3042
- requiredComponents: ["Button"],
3043
- Component: EmptyTemplateComponent,
3044
- version: "1.0.0",
3045
- created: "2026-02-01",
3046
- updated: "2026-02-01",
3047
- tags: ["feedback", "empty", "state", "no-data"]
3048
- };
3049
-
3050
- // src/templates/feedback/confirmation.tsx
3051
- import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
3052
- function ConfirmationTemplateComponent({
3053
- children,
3054
- className = "",
3055
- slots = {},
3056
- texts = {},
3057
- options = {}
3058
- }) {
3059
- const title = texts.title || "Are You Sure?";
3060
- const message = texts.message || "This action cannot be undone.";
3061
- const confirmLabel = texts.confirm_label || "Confirm";
3062
- const cancelLabel = texts.cancel_label || "Cancel";
3063
- const isDestructive = options.is_destructive ?? false;
3064
- return /* @__PURE__ */ jsxs21(
3065
- "div",
3066
- {
3067
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
3068
- children: [
3069
- /* @__PURE__ */ jsxs21(Card, { className: "w-full max-w-md", children: [
3070
- /* @__PURE__ */ jsxs21(CardHeader, { children: [
3071
- isDestructive && slots.warningIcon && /* @__PURE__ */ jsx40("div", { className: "mb-[var(--tekton-spacing-2)]", children: slots.warningIcon }),
3072
- /* @__PURE__ */ jsx40(CardTitle, { children: title }),
3073
- /* @__PURE__ */ jsx40(CardDescription, { children: message })
3074
- ] }),
3075
- /* @__PURE__ */ jsx40(CardContent, { children: slots.details && /* @__PURE__ */ jsx40("div", { className: "bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-4)] rounded-[var(--tekton-radius-md)] text-sm", children: slots.details }) }),
3076
- /* @__PURE__ */ jsxs21(CardFooter, { className: "flex justify-end gap-[var(--tekton-spacing-3)]", children: [
3077
- /* @__PURE__ */ jsx40(Button, { variant: "outline", children: cancelLabel }),
3078
- /* @__PURE__ */ jsx40(Button, { variant: isDestructive ? "destructive" : "default", children: confirmLabel })
3079
- ] })
3080
- ] }),
3081
- children
3082
- ]
3083
- }
3084
- );
3085
- }
3086
- var ConfirmationTemplate = {
3087
- id: "feedback.confirmation",
3088
- name: "Confirmation",
3089
- category: "feedback",
3090
- description: "Confirmation dialog for important actions",
3091
- skeleton: {
3092
- shell: "centered-card",
3093
- page: "feedback-page",
3094
- sections: [
3095
- {
3096
- id: "confirmation-dialog",
3097
- name: "Confirmation Dialog",
3098
- slot: "main",
3099
- required: true,
3100
- Component: ConfirmationTemplateComponent
3101
- }
3102
- ]
3103
- },
3104
- layout: {
3105
- type: "centered",
3106
- responsive: DEFAULT_RESPONSIVE_LAYOUT
3107
- },
3108
- customizable: {
3109
- texts: ["title", "message", "confirm_label", "cancel_label"],
3110
- optional: ["is_destructive"],
3111
- slots: ["warningIcon", "details"]
3112
- },
3113
- requiredComponents: ["Button", "Card"],
3114
- Component: ConfirmationTemplateComponent,
3115
- version: "1.0.0",
3116
- created: "2026-02-01",
3117
- updated: "2026-02-01",
3118
- tags: ["feedback", "confirmation", "dialog", "warning"]
3119
- };
3120
-
3121
- // src/templates/feedback/success.tsx
3122
- import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
3123
- function SuccessTemplateComponent({
3124
- children,
3125
- className = "",
3126
- slots = {},
3127
- texts = {},
3128
- options = {}
3129
- }) {
3130
- const title = texts.title || "Success!";
3131
- const message = texts.message || "Your action was completed successfully";
3132
- const ctaLabel = texts.cta_label || "Continue";
3133
- const showCta = options.show_cta ?? true;
3134
- return /* @__PURE__ */ jsxs22(
3135
- "div",
3136
- {
3137
- className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
3138
- children: [
3139
- /* @__PURE__ */ jsxs22("div", { className: "max-w-md text-center space-y-[var(--tekton-spacing-6)]", children: [
3140
- slots.icon || /* @__PURE__ */ jsx41("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx41("div", { className: "rounded-full bg-[var(--tekton-bg-success)] bg-opacity-10 p-[var(--tekton-spacing-4)]", children: /* @__PURE__ */ jsx41(
3141
- "svg",
3142
- {
3143
- xmlns: "http://www.w3.org/2000/svg",
3144
- className: "h-12 w-12 text-[var(--tekton-text-success)]",
3145
- fill: "none",
3146
- viewBox: "0 0 24 24",
3147
- stroke: "currentColor",
3148
- children: /* @__PURE__ */ jsx41(
3149
- "path",
3150
- {
3151
- strokeLinecap: "round",
3152
- strokeLinejoin: "round",
3153
- strokeWidth: 2,
3154
- d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
3155
- }
3156
- )
3157
- }
3158
- ) }) }),
3159
- /* @__PURE__ */ jsxs22("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
3160
- /* @__PURE__ */ jsx41("h2", { className: "text-2xl font-bold", children: title }),
3161
- /* @__PURE__ */ jsx41("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: message })
3162
- ] }),
3163
- slots.details && /* @__PURE__ */ jsx41("div", { className: "text-left bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-4)] rounded-[var(--tekton-radius-md)] text-sm", children: slots.details }),
3164
- showCta && /* @__PURE__ */ jsx41("div", { children: /* @__PURE__ */ jsx41(Button, { className: "w-full", size: "lg", children: ctaLabel }) }),
3165
- slots.additionalActions && /* @__PURE__ */ jsx41("div", { className: "flex flex-col gap-[var(--tekton-spacing-3)]", children: slots.additionalActions })
3166
- ] }),
3167
- children
3168
- ]
3169
- }
3170
- );
3171
- }
3172
- var SuccessTemplate = {
3173
- id: "feedback.success",
3174
- name: "Success",
3175
- category: "feedback",
3176
- description: "Success state screen with confirmation message",
3177
- skeleton: {
3178
- shell: "centered",
3179
- page: "feedback-page",
3180
- sections: [
3181
- {
3182
- id: "success-message",
3183
- name: "Success Message",
3184
- slot: "main",
3185
- required: true,
3186
- Component: SuccessTemplateComponent
3187
- }
3188
- ]
3189
- },
3190
- layout: {
3191
- type: "centered",
3192
- responsive: DEFAULT_RESPONSIVE_LAYOUT
3193
- },
3194
- customizable: {
3195
- texts: ["title", "message", "cta_label"],
3196
- optional: ["show_cta"],
3197
- slots: ["icon", "details", "additionalActions"]
3198
- },
3199
- requiredComponents: ["Button"],
3200
- Component: SuccessTemplateComponent,
3201
- version: "1.0.0",
3202
- created: "2026-02-01",
3203
- updated: "2026-02-01",
3204
- tags: ["feedback", "success", "confirmation", "state"]
3205
- };
3206
-
3207
- // src/templates/dashboard/overview.tsx
3208
- import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
3209
- function DashboardTemplateComponent({
3210
- children,
3211
- className = "",
3212
- slots = {},
3213
- texts = {}
3214
- }) {
3215
- const title = texts.title || "Dashboard";
3216
- const subtitle = texts.subtitle || "Welcome to your dashboard";
3217
- return /* @__PURE__ */ jsxs23("div", { className: `min-h-screen flex ${className}`, children: [
3218
- slots.sidebar && /* @__PURE__ */ jsx42("aside", { className: "w-64 border-r border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] hidden lg:block", children: slots.sidebar }),
3219
- /* @__PURE__ */ jsxs23("main", { className: "flex-1 overflow-auto bg-[var(--tekton-bg-background)]", children: [
3220
- /* @__PURE__ */ jsx42("header", { className: "sticky top-0 z-10 border-b border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)]/80 backdrop-blur-md p-[var(--tekton-spacing-4)]", children: /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between", children: [
3221
- /* @__PURE__ */ jsxs23("div", { children: [
3222
- /* @__PURE__ */ jsx42("h1", { className: "text-2xl font-bold text-[var(--tekton-text-foreground)]", children: title }),
3223
- /* @__PURE__ */ jsx42("p", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: subtitle })
3224
- ] }),
3225
- slots.headerActions && /* @__PURE__ */ jsx42("div", { children: slots.headerActions })
3226
- ] }) }),
3227
- /* @__PURE__ */ jsxs23("div", { className: "py-[var(--tekton-layout-section-py,var(--tekton-spacing-6))] px-[var(--tekton-layout-container-px,var(--tekton-spacing-6))] space-y-[var(--tekton-layout-stack-gap,var(--tekton-spacing-6))] max-w-[var(--tekton-layout-container-xl)] mx-auto", children: [
3228
- slots.metrics && /* @__PURE__ */ jsx42("div", { className: "grid gap-[var(--tekton-spacing-4)] grid-cols-2 lg:grid-cols-4", children: slots.metrics }),
3229
- /* @__PURE__ */ jsx42(Separator, {}),
3230
- /* @__PURE__ */ jsxs23("div", { className: "grid gap-x-[var(--tekton-layout-grid-gap-x,var(--tekton-spacing-6))] gap-y-[var(--tekton-layout-grid-gap-y,var(--tekton-spacing-6))] lg:grid-cols-12", children: [
3231
- slots.primaryContent && /* @__PURE__ */ jsx42("div", { className: "lg:col-span-8 space-y-[var(--tekton-layout-stack-gap,var(--tekton-spacing-6))]", children: slots.primaryContent }),
3232
- slots.secondaryContent && /* @__PURE__ */ jsx42("div", { className: "lg:col-span-4 space-y-[var(--tekton-layout-stack-gap,var(--tekton-spacing-6))]", children: /* @__PURE__ */ jsxs23(Card, { className: "h-full", children: [
3233
- /* @__PURE__ */ jsxs23(CardHeader, { children: [
3234
- /* @__PURE__ */ jsx42(CardTitle, { children: texts.secondary_title || "Activity" }),
3235
- /* @__PURE__ */ jsx42(CardDescription, { children: texts.secondary_description || "Recent updates" })
3236
- ] }),
3237
- /* @__PURE__ */ jsx42(CardContent, { className: "p-0", children: slots.secondaryContent })
3238
- ] }) })
3239
- ] }),
3240
- slots.additionalSections && /* @__PURE__ */ jsx42("div", { children: slots.additionalSections })
3241
- ] })
3242
- ] }),
3243
- children
3244
- ] });
3245
- }
3246
- var DashboardTemplate = {
3247
- id: "dashboard.overview",
3248
- name: "Dashboard Overview",
3249
- category: "dashboard",
3250
- description: "Standard dashboard layout with sidebar, metrics, and content areas (12-column grid)",
3251
- skeleton: {
3252
- shell: "sidebar-layout",
3253
- page: "dashboard-page",
3254
- sections: [
3255
- {
3256
- id: "dashboard-sidebar",
3257
- name: "Sidebar Navigation",
3258
- slot: "sidebar",
3259
- required: false,
3260
- Component: () => null
3261
- },
3262
- {
3263
- id: "dashboard-main",
3264
- name: "Main Content",
3265
- slot: "primaryContent",
3266
- required: true,
3267
- Component: () => null
3268
- },
3269
- {
3270
- id: "dashboard-side",
3271
- name: "Side Panel",
3272
- slot: "secondaryContent",
3273
- required: false,
3274
- Component: () => null
3275
- }
3276
- ]
3277
- },
3278
- layout: {
3279
- type: "sidebar",
3280
- responsive: DEFAULT_RESPONSIVE_LAYOUT
3281
- },
3282
- customizable: {
3283
- texts: ["title", "subtitle", "texts.secondary_title", "texts.secondary_description"],
3284
- optional: ["metrics", "additionalSections"],
3285
- slots: [
3286
- "sidebar",
3287
- "headerActions",
3288
- "metrics",
3289
- "primaryContent",
3290
- "secondaryContent",
3291
- "additionalSections"
3292
- ]
3293
- },
3294
- requiredComponents: ["Card", "Separator"],
3295
- Component: DashboardTemplateComponent,
3296
- version: "1.1.0",
3297
- created: "2026-01-31",
3298
- updated: "2026-02-01",
3299
- tags: ["dashboard", "overview", "analytics"]
3300
- };
3301
-
3302
- // src/templates/index.ts
3303
- templateRegistry.registerMany([
3304
- // Auth
3305
- LoginTemplate,
3306
- SignupTemplate,
3307
- ForgotPasswordTemplate,
3308
- VerificationTemplate,
3309
- // Core
3310
- LandingTemplate,
3311
- PreferencesTemplate,
3312
- ProfileTemplate,
3313
- // Feedback
3314
- LoadingTemplate,
3315
- ErrorTemplate,
3316
- EmptyTemplate,
3317
- ConfirmationTemplate,
3318
- SuccessTemplate,
3319
- // Dashboard
3320
- DashboardTemplate
3321
- ]);
3322
1919
  export {
3323
1920
  AlertDialog,
3324
1921
  AlertDialogAction,
@@ -3360,12 +1957,6 @@ export {
3360
1957
  CommandList,
3361
1958
  CommandSeparator,
3362
1959
  CommandShortcut,
3363
- ConfirmationTemplate,
3364
- ConfirmationTemplateComponent,
3365
- DEFAULT_BREAKPOINTS,
3366
- DEFAULT_RESPONSIVE_LAYOUT,
3367
- DashboardTemplate,
3368
- DashboardTemplateComponent,
3369
1960
  Dialog,
3370
1961
  DialogClose,
3371
1962
  DialogContent,
@@ -3391,20 +1982,8 @@ export {
3391
1982
  DropdownMenuSubContent,
3392
1983
  DropdownMenuSubTrigger,
3393
1984
  DropdownMenuTrigger,
3394
- EmptyTemplate,
3395
- EmptyTemplateComponent,
3396
- ErrorTemplate,
3397
- ErrorTemplateComponent,
3398
- ForgotPasswordTemplate,
3399
- ForgotPasswordTemplateComponent,
3400
1985
  Input,
3401
1986
  Label,
3402
- LandingTemplate,
3403
- LandingTemplateComponent,
3404
- LoadingTemplate,
3405
- LoadingTemplateComponent,
3406
- LoginTemplate,
3407
- LoginTemplateComponent,
3408
1987
  NavigationMenu,
3409
1988
  NavigationMenuContent,
3410
1989
  NavigationMenuIndicator,
@@ -3416,10 +1995,6 @@ export {
3416
1995
  Popover,
3417
1996
  PopoverContent,
3418
1997
  PopoverTrigger,
3419
- PreferencesTemplate,
3420
- PreferencesTemplateComponent,
3421
- ProfileTemplate,
3422
- ProfileTemplateComponent,
3423
1998
  Progress,
3424
1999
  RadioGroup,
3425
2000
  RadioGroupItem,
@@ -3453,11 +2028,7 @@ export {
3453
2028
  SidebarItem,
3454
2029
  SidebarSection,
3455
2030
  SidebarSectionTitle,
3456
- SignupTemplate,
3457
- SignupTemplateComponent,
3458
2031
  Skeleton,
3459
- SuccessTemplate,
3460
- SuccessTemplateComponent,
3461
2032
  Switch,
3462
2033
  Table,
3463
2034
  TableBody,
@@ -3471,7 +2042,6 @@ export {
3471
2042
  TabsContent,
3472
2043
  TabsList,
3473
2044
  TabsTrigger,
3474
- TemplateRegistry,
3475
2045
  Textarea,
3476
2046
  Toast,
3477
2047
  ToastAction,
@@ -3484,8 +2054,6 @@ export {
3484
2054
  TooltipContent,
3485
2055
  TooltipProvider,
3486
2056
  TooltipTrigger,
3487
- VerificationTemplate,
3488
- VerificationTemplateComponent,
3489
2057
  badgeVariants,
3490
2058
  buttonVariants,
3491
2059
  cn,
@@ -3503,7 +2071,6 @@ export {
3503
2071
  setThemeId,
3504
2072
  sidebarVariants,
3505
2073
  slideVariants,
3506
- templateRegistry,
3507
2074
  themeToCSS,
3508
2075
  tokenVars,
3509
2076
  transitions,