@pactor-app/ui 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,7 +39,7 @@ __export(components_exports, {
39
39
  Breadcrumb: () => Breadcrumb2,
40
40
  Button: () => Button2,
41
41
  ButtonGroup: () => ButtonGroup2,
42
- Calendar: () => Calendar2,
42
+ Calendar: () => Calendar3,
43
43
  Card: () => Card2,
44
44
  Carousel: () => Carousel2,
45
45
  Chart: () => Chart,
@@ -294,18 +294,186 @@ function AlertDescription({
294
294
  );
295
295
  }
296
296
 
297
- // src/components/components/Alert/index.tsx
297
+ // src/components/components/Icon/index.tsx
298
+ var import_lucide_react2 = require("lucide-react");
298
299
  var import_jsx_runtime4 = require("react/jsx-runtime");
300
+ var ICONS = {
301
+ "arrow-left": import_lucide_react2.ArrowLeft,
302
+ "arrow-right": import_lucide_react2.ArrowRight,
303
+ "arrow-up": import_lucide_react2.ArrowUp,
304
+ "arrow-down": import_lucide_react2.ArrowDown,
305
+ "chevron-left": import_lucide_react2.ChevronLeft,
306
+ "chevron-right": import_lucide_react2.ChevronRight,
307
+ "chevron-up": import_lucide_react2.ChevronUp,
308
+ "chevron-down": import_lucide_react2.ChevronDown,
309
+ check: import_lucide_react2.Check,
310
+ x: import_lucide_react2.X,
311
+ plus: import_lucide_react2.Plus,
312
+ minus: import_lucide_react2.Minus,
313
+ search: import_lucide_react2.Search,
314
+ settings: import_lucide_react2.Settings,
315
+ user: import_lucide_react2.User,
316
+ users: import_lucide_react2.Users,
317
+ home: import_lucide_react2.House,
318
+ menu: import_lucide_react2.Menu,
319
+ bell: import_lucide_react2.Bell,
320
+ calendar: import_lucide_react2.Calendar,
321
+ clock: import_lucide_react2.Clock,
322
+ download: import_lucide_react2.Download,
323
+ upload: import_lucide_react2.Upload,
324
+ pencil: import_lucide_react2.Pencil,
325
+ edit: import_lucide_react2.SquarePen,
326
+ trash: import_lucide_react2.Trash2,
327
+ eye: import_lucide_react2.Eye,
328
+ info: import_lucide_react2.Info,
329
+ warning: import_lucide_react2.TriangleAlert,
330
+ error: import_lucide_react2.CircleAlert,
331
+ "check-circle": import_lucide_react2.CircleCheck,
332
+ "x-circle": import_lucide_react2.CircleX,
333
+ "help-circle": import_lucide_react2.CircleQuestionMark,
334
+ loading: import_lucide_react2.LoaderCircle,
335
+ spinner: import_lucide_react2.LoaderCircle,
336
+ star: import_lucide_react2.Star,
337
+ heart: import_lucide_react2.Heart,
338
+ bookmark: import_lucide_react2.Bookmark,
339
+ share: import_lucide_react2.Share2,
340
+ copy: import_lucide_react2.Copy,
341
+ "external-link": import_lucide_react2.ExternalLink,
342
+ link: import_lucide_react2.Link,
343
+ mail: import_lucide_react2.Mail,
344
+ phone: import_lucide_react2.Phone,
345
+ lock: import_lucide_react2.Lock,
346
+ unlock: import_lucide_react2.LockOpen,
347
+ "log-in": import_lucide_react2.LogIn,
348
+ "log-out": import_lucide_react2.LogOut,
349
+ sun: import_lucide_react2.Sun,
350
+ moon: import_lucide_react2.Moon,
351
+ globe: import_lucide_react2.Globe,
352
+ filter: import_lucide_react2.Funnel,
353
+ "list-filter": import_lucide_react2.ListFilter,
354
+ "more-horizontal": import_lucide_react2.Ellipsis,
355
+ "more-vertical": import_lucide_react2.EllipsisVertical,
356
+ refresh: import_lucide_react2.RefreshCcw,
357
+ save: import_lucide_react2.Save,
358
+ file: import_lucide_react2.File,
359
+ folder: import_lucide_react2.Folder,
360
+ image: import_lucide_react2.Image,
361
+ camera: import_lucide_react2.Camera,
362
+ chart: import_lucide_react2.ChartColumn,
363
+ table: import_lucide_react2.Table,
364
+ list: import_lucide_react2.List,
365
+ grid: import_lucide_react2.LayoutGrid,
366
+ tag: import_lucide_react2.Tag,
367
+ "shopping-cart": import_lucide_react2.ShoppingCart,
368
+ "credit-card": import_lucide_react2.CreditCard,
369
+ package: import_lucide_react2.Package,
370
+ "map-pin": import_lucide_react2.MapPin,
371
+ building: import_lucide_react2.Building2,
372
+ briefcase: import_lucide_react2.Briefcase,
373
+ send: import_lucide_react2.Send,
374
+ message: import_lucide_react2.MessageCircle,
375
+ "message-square": import_lucide_react2.MessageSquare,
376
+ paperclip: import_lucide_react2.Paperclip,
377
+ "thumbs-up": import_lucide_react2.ThumbsUp,
378
+ "thumbs-down": import_lucide_react2.ThumbsDown,
379
+ zap: import_lucide_react2.Zap,
380
+ flag: import_lucide_react2.Flag,
381
+ key: import_lucide_react2.Key,
382
+ shield: import_lucide_react2.Shield,
383
+ terminal: import_lucide_react2.Terminal,
384
+ code: import_lucide_react2.Code,
385
+ database: import_lucide_react2.Database,
386
+ cloud: import_lucide_react2.Cloud,
387
+ languages: import_lucide_react2.Languages,
388
+ // @pactor-app/chat 收敛(spec: chat-icon-convergence):chat 既有图标与
389
+ // 契约图标名(menu.icon / messageActions[].icon 的既有取值)直通
390
+ "chevrons-up-down": import_lucide_react2.ChevronsUpDown,
391
+ "file-text": import_lucide_react2.FileText,
392
+ "panel-left": import_lucide_react2.PanelLeft,
393
+ "panel-right-open": import_lucide_react2.PanelRightOpen,
394
+ square: import_lucide_react2.Square,
395
+ history: import_lucide_react2.History,
396
+ "rotate-ccw": import_lucide_react2.RotateCcw,
397
+ quote: import_lucide_react2.Quote,
398
+ chat: import_lucide_react2.MessageSquare,
399
+ brain: import_lucide_react2.Brain
400
+ };
401
+ function normalizeIconName(name) {
402
+ return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
403
+ }
404
+ var sizePx = {
405
+ sm: 16,
406
+ default: 20,
407
+ lg: 24
408
+ };
409
+ function Icon({
410
+ name,
411
+ size = "default",
412
+ color,
413
+ strokeWidth,
414
+ className,
415
+ style
416
+ }) {
417
+ const key = name ? normalizeIconName(name) : "";
418
+ const Lucide = ICONS[key];
419
+ const px = typeof size === "number" ? size : sizePx[size];
420
+ if (!Lucide) {
421
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
422
+ import_lucide_react2.CircleQuestionMark,
423
+ {
424
+ "data-slot": "icon",
425
+ "data-unknown": name,
426
+ size: px,
427
+ color,
428
+ strokeWidth,
429
+ className: cn("shrink-0 text-muted-foreground", className),
430
+ style,
431
+ "aria-hidden": "true"
432
+ }
433
+ );
434
+ }
435
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
436
+ Lucide,
437
+ {
438
+ "data-slot": "icon",
439
+ size: px,
440
+ color,
441
+ strokeWidth,
442
+ className: cn("shrink-0", className),
443
+ style,
444
+ "aria-hidden": "true"
445
+ }
446
+ );
447
+ }
448
+
449
+ // src/components/components/Alert/index.tsx
450
+ var import_jsx_runtime5 = require("react/jsx-runtime");
299
451
  var variantMap = {
300
452
  success: "success",
301
453
  info: "info",
302
454
  warning: "warning",
303
455
  error: "destructive"
304
456
  };
305
- function Alert2({ message, description, variant = "info", className, style }) {
306
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Alert, { variant: variantMap[variant], className, style, children: [
307
- message ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AlertTitle, { children: message }) : null,
308
- description ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AlertDescription, { children: description }) : null
457
+ var defaultIconMap = {
458
+ success: "check-circle",
459
+ info: "info",
460
+ warning: "warning",
461
+ error: "x-circle"
462
+ };
463
+ function Alert2({
464
+ message,
465
+ description,
466
+ variant = "info",
467
+ showIcon,
468
+ icon,
469
+ className,
470
+ style
471
+ }) {
472
+ const iconName = icon ?? (showIcon === true ? defaultIconMap[variant] : void 0);
473
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Alert, { variant: variantMap[variant], className, style, children: [
474
+ iconName ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon, { name: iconName, size: "sm" }) : null,
475
+ message ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AlertTitle, { children: message }) : null,
476
+ description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AlertDescription, { children: description }) : null
309
477
  ] });
310
478
  }
311
479
 
@@ -320,7 +488,7 @@ var import_alert_dialog = require("@base-ui/react/alert-dialog");
320
488
  var import_button = require("@base-ui/react/button");
321
489
  var import_class_variance_authority2 = require("class-variance-authority");
322
490
  var React = __toESM(require("react"), 1);
323
- var import_jsx_runtime5 = require("react/jsx-runtime");
491
+ var import_jsx_runtime6 = require("react/jsx-runtime");
324
492
  var buttonVariants = (0, import_class_variance_authority2.cva)(
325
493
  "inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
326
494
  {
@@ -359,7 +527,7 @@ function Button({
359
527
  ...props
360
528
  }) {
361
529
  if (asChild && React.isValidElement(children)) {
362
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
530
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
363
531
  import_button.Button,
364
532
  {
365
533
  "data-slot": "button",
@@ -369,7 +537,7 @@ function Button({
369
537
  }
370
538
  );
371
539
  }
372
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
540
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
373
541
  import_button.Button,
374
542
  {
375
543
  "data-slot": "button",
@@ -381,27 +549,27 @@ function Button({
381
549
  }
382
550
 
383
551
  // src/ui/alert-dialog.tsx
384
- var import_jsx_runtime6 = require("react/jsx-runtime");
552
+ var import_jsx_runtime7 = require("react/jsx-runtime");
385
553
  function AlertDialog({
386
554
  ...props
387
555
  }) {
388
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_alert_dialog.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
556
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_alert_dialog.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
389
557
  }
390
558
  function AlertDialogTrigger({
391
559
  ...props
392
560
  }) {
393
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_alert_dialog.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
561
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_alert_dialog.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
394
562
  }
395
563
  function AlertDialogPortal({
396
564
  ...props
397
565
  }) {
398
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_alert_dialog.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
566
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_alert_dialog.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
399
567
  }
400
568
  function AlertDialogOverlay({
401
569
  className,
402
570
  ...props
403
571
  }) {
404
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
572
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
405
573
  import_alert_dialog.AlertDialog.Backdrop,
406
574
  {
407
575
  "data-slot": "alert-dialog-overlay",
@@ -417,9 +585,9 @@ function AlertDialogContent({
417
585
  className,
418
586
  ...props
419
587
  }) {
420
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(AlertDialogPortal, { "data-slot": "alert-dialog-portal", children: [
421
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AlertDialogOverlay, {}),
422
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
588
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(AlertDialogPortal, { "data-slot": "alert-dialog-portal", children: [
589
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(AlertDialogOverlay, {}),
590
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
423
591
  import_alert_dialog.AlertDialog.Popup,
424
592
  {
425
593
  "data-slot": "alert-dialog-content",
@@ -436,7 +604,7 @@ function AlertDialogHeader({
436
604
  className,
437
605
  ...props
438
606
  }) {
439
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
607
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
440
608
  "div",
441
609
  {
442
610
  "data-slot": "alert-dialog-header",
@@ -449,7 +617,7 @@ function AlertDialogFooter({
449
617
  className,
450
618
  ...props
451
619
  }) {
452
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
620
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
453
621
  "div",
454
622
  {
455
623
  "data-slot": "alert-dialog-footer",
@@ -465,7 +633,7 @@ function AlertDialogTitle({
465
633
  className,
466
634
  ...props
467
635
  }) {
468
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
636
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
469
637
  import_alert_dialog.AlertDialog.Title,
470
638
  {
471
639
  "data-slot": "alert-dialog-title",
@@ -478,7 +646,7 @@ function AlertDialogDescription({
478
646
  className,
479
647
  ...props
480
648
  }) {
481
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
649
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
482
650
  import_alert_dialog.AlertDialog.Description,
483
651
  {
484
652
  "data-slot": "alert-dialog-description",
@@ -492,7 +660,7 @@ function AlertDialogAction({
492
660
  variant = "default",
493
661
  ...props
494
662
  }) {
495
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
663
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
496
664
  import_alert_dialog.AlertDialog.Close,
497
665
  {
498
666
  "data-slot": "alert-dialog-action",
@@ -506,7 +674,7 @@ function AlertDialogCancel({
506
674
  variant = "outline",
507
675
  ...props
508
676
  }) {
509
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
677
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
510
678
  import_alert_dialog.AlertDialog.Close,
511
679
  {
512
680
  "data-slot": "alert-dialog-cancel",
@@ -517,13 +685,13 @@ function AlertDialogCancel({
517
685
  }
518
686
 
519
687
  // src/components/components/trigger-render.tsx
520
- var import_jsx_runtime7 = require("react/jsx-runtime");
688
+ var import_jsx_runtime8 = require("react/jsx-runtime");
521
689
  function triggerWrapper(slot) {
522
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { "data-slot": slot });
690
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { "data-slot": slot });
523
691
  }
524
692
 
525
693
  // src/components/components/AlertDialog/index.tsx
526
- var import_jsx_runtime8 = require("react/jsx-runtime");
694
+ var import_jsx_runtime9 = require("react/jsx-runtime");
527
695
  function AlertDialog2({
528
696
  title,
529
697
  description,
@@ -541,7 +709,7 @@ function AlertDialog2({
541
709
  const [innerOpen, setInnerOpen] = (0, import_react.useState)(false);
542
710
  const controlled = open !== void 0;
543
711
  const visible = controlled ? open : innerOpen;
544
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
712
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
545
713
  AlertDialog,
546
714
  {
547
715
  open: visible,
@@ -551,7 +719,7 @@ function AlertDialog2({
551
719
  }
552
720
  },
553
721
  children: [
554
- trigger ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
722
+ trigger ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
555
723
  AlertDialogTrigger,
556
724
  {
557
725
  nativeButton: false,
@@ -559,14 +727,14 @@ function AlertDialog2({
559
727
  children: renderChildren([trigger])
560
728
  }
561
729
  ) : null,
562
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(AlertDialogContent, { className, style, children: [
563
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(AlertDialogHeader, { children: [
564
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AlertDialogTitle, { children: title ?? "" }),
565
- description ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AlertDialogDescription, { children: description }) : null
730
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(AlertDialogContent, { className, style, children: [
731
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(AlertDialogHeader, { children: [
732
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AlertDialogTitle, { children: title ?? "" }),
733
+ description ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AlertDialogDescription, { children: description }) : null
566
734
  ] }),
567
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(AlertDialogFooter, { children: [
568
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AlertDialogCancel, { onClick: () => onCancel?.(), children: cancelText ?? t("pactor.alertDialog.cancel") }),
569
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AlertDialogAction, { onClick: () => onConfirm?.(), children: confirmText ?? t("pactor.alertDialog.confirm") })
735
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(AlertDialogFooter, { children: [
736
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AlertDialogCancel, { onClick: () => onCancel?.(), children: cancelText ?? t("pactor.alertDialog.cancel") }),
737
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AlertDialogAction, { onClick: () => onConfirm?.(), children: confirmText ?? t("pactor.alertDialog.confirm") })
570
738
  ] })
571
739
  ] })
572
740
  ]
@@ -575,14 +743,14 @@ function AlertDialog2({
575
743
  }
576
744
 
577
745
  // src/ui/aspect-ratio.tsx
578
- var import_jsx_runtime9 = require("react/jsx-runtime");
746
+ var import_jsx_runtime10 = require("react/jsx-runtime");
579
747
  function AspectRatio({
580
748
  ratio = 1,
581
749
  className,
582
750
  style,
583
751
  ...props
584
752
  }) {
585
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
753
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
586
754
  "div",
587
755
  {
588
756
  "data-slot": "aspect-ratio",
@@ -594,16 +762,16 @@ function AspectRatio({
594
762
  }
595
763
 
596
764
  // src/components/components/AspectRatio/index.tsx
597
- var import_jsx_runtime10 = require("react/jsx-runtime");
765
+ var import_jsx_runtime11 = require("react/jsx-runtime");
598
766
  function AspectRatio2({ ratio = 1, children, className, style }) {
599
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AspectRatio, { ratio, className, style, children });
767
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AspectRatio, { ratio, className, style, children });
600
768
  }
601
769
 
602
770
  // src/ui/avatar.tsx
603
771
  var import_avatar = require("@base-ui/react/avatar");
604
- var import_jsx_runtime11 = require("react/jsx-runtime");
772
+ var import_jsx_runtime12 = require("react/jsx-runtime");
605
773
  function Avatar({ className, ...props }) {
606
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
774
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
607
775
  import_avatar.Avatar.Root,
608
776
  {
609
777
  "data-slot": "avatar",
@@ -616,7 +784,7 @@ function Avatar({ className, ...props }) {
616
784
  );
617
785
  }
618
786
  function AvatarImage({ className, ...props }) {
619
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
787
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
620
788
  import_avatar.Avatar.Image,
621
789
  {
622
790
  "data-slot": "avatar-image",
@@ -626,7 +794,7 @@ function AvatarImage({ className, ...props }) {
626
794
  );
627
795
  }
628
796
  function AvatarFallback({ className, ...props }) {
629
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
797
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
630
798
  import_avatar.Avatar.Fallback,
631
799
  {
632
800
  "data-slot": "avatar-fallback",
@@ -640,17 +808,17 @@ function AvatarFallback({ className, ...props }) {
640
808
  }
641
809
 
642
810
  // src/components/components/Avatar/index.tsx
643
- var import_jsx_runtime12 = require("react/jsx-runtime");
811
+ var import_jsx_runtime13 = require("react/jsx-runtime");
644
812
  function Avatar2({ src, alt, fallback, className, style }) {
645
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Avatar, { className, style, children: [
646
- src ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AvatarImage, { src, alt: alt ?? "" }) : null,
647
- fallback ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AvatarFallback, { children: fallback }) : null
813
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Avatar, { className, style, children: [
814
+ src ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(AvatarImage, { src, alt: alt ?? "" }) : null,
815
+ fallback ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(AvatarFallback, { children: fallback }) : null
648
816
  ] });
649
817
  }
650
818
 
651
819
  // src/ui/badge.tsx
652
820
  var import_class_variance_authority3 = require("class-variance-authority");
653
- var import_jsx_runtime13 = require("react/jsx-runtime");
821
+ var import_jsx_runtime14 = require("react/jsx-runtime");
654
822
  var badgeVariants = (0, import_class_variance_authority3.cva)(
655
823
  "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-md border px-2 py-0.5 text-xs font-medium whitespace-nowrap [&>svg]:pointer-events-none [&>svg]:size-3",
656
824
  {
@@ -672,7 +840,7 @@ function Badge({
672
840
  variant,
673
841
  ...props
674
842
  }) {
675
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
843
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
676
844
  "span",
677
845
  {
678
846
  "data-slot": "badge",
@@ -683,22 +851,22 @@ function Badge({
683
851
  }
684
852
 
685
853
  // src/components/components/Badge/index.tsx
686
- var import_jsx_runtime14 = require("react/jsx-runtime");
854
+ var import_jsx_runtime15 = require("react/jsx-runtime");
687
855
  function Badge2({ text, variant = "default", className, style }) {
688
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Badge, { variant, className, style, children: text });
856
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Badge, { variant, className, style, children: text });
689
857
  }
690
858
 
691
859
  // src/components/components/Breadcrumb/index.tsx
692
860
  var import_react2 = require("react");
693
861
 
694
862
  // src/ui/breadcrumb.tsx
695
- var import_lucide_react2 = require("lucide-react");
696
- var import_jsx_runtime15 = require("react/jsx-runtime");
863
+ var import_lucide_react3 = require("lucide-react");
864
+ var import_jsx_runtime16 = require("react/jsx-runtime");
697
865
  function Breadcrumb({ ...props }) {
698
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
866
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
699
867
  }
700
868
  function BreadcrumbList({ className, ...props }) {
701
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
869
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
702
870
  "ol",
703
871
  {
704
872
  "data-slot": "breadcrumb-list",
@@ -711,7 +879,7 @@ function BreadcrumbList({ className, ...props }) {
711
879
  );
712
880
  }
713
881
  function BreadcrumbItem({ className, ...props }) {
714
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
882
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
715
883
  "li",
716
884
  {
717
885
  "data-slot": "breadcrumb-item",
@@ -721,7 +889,7 @@ function BreadcrumbItem({ className, ...props }) {
721
889
  );
722
890
  }
723
891
  function BreadcrumbLink({ className, ...props }) {
724
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
892
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
725
893
  "a",
726
894
  {
727
895
  "data-slot": "breadcrumb-link",
@@ -731,7 +899,7 @@ function BreadcrumbLink({ className, ...props }) {
731
899
  );
732
900
  }
733
901
  function BreadcrumbPage({ className, ...props }) {
734
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
902
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
735
903
  "span",
736
904
  {
737
905
  "data-slot": "breadcrumb-page",
@@ -748,7 +916,7 @@ function BreadcrumbSeparator({
748
916
  className,
749
917
  ...props
750
918
  }) {
751
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
919
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
752
920
  "li",
753
921
  {
754
922
  "data-slot": "breadcrumb-separator",
@@ -756,26 +924,26 @@ function BreadcrumbSeparator({
756
924
  "aria-hidden": "true",
757
925
  className: cn("[&>svg]:size-3.5", className),
758
926
  ...props,
759
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react2.ChevronRightIcon, {})
927
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.ChevronRightIcon, {})
760
928
  }
761
929
  );
762
930
  }
763
931
 
764
932
  // src/components/components/Breadcrumb/index.tsx
765
- var import_jsx_runtime16 = require("react/jsx-runtime");
933
+ var import_jsx_runtime17 = require("react/jsx-runtime");
766
934
  function Breadcrumb2({ items = [], className, style }) {
767
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Breadcrumb, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BreadcrumbList, { children: items.map((item, index) => {
935
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Breadcrumb, { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbList, { children: items.map((item, index) => {
768
936
  const isLast = index === items.length - 1;
769
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_react2.Fragment, { children: [
770
- index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BreadcrumbSeparator, {}) : null,
771
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BreadcrumbItem, { children: isLast || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BreadcrumbLink, { href: item.href, children: item.label }) })
937
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react2.Fragment, { children: [
938
+ index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbSeparator, {}) : null,
939
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbItem, { children: isLast || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BreadcrumbLink, { href: item.href, children: item.label }) })
772
940
  ] }, `${item.label}-${index}`);
773
941
  }) }) });
774
942
  }
775
943
 
776
944
  // src/components/components/Button/index.tsx
777
- var import_lucide_react3 = require("lucide-react");
778
- var import_jsx_runtime17 = require("react/jsx-runtime");
945
+ var import_lucide_react4 = require("lucide-react");
946
+ var import_jsx_runtime18 = require("react/jsx-runtime");
779
947
  var variantMap2 = {
780
948
  default: "outline",
781
949
  primary: "default",
@@ -802,7 +970,7 @@ function Button2({
802
970
  children
803
971
  }) {
804
972
  const textual = variant === "link" || variant === "text";
805
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
973
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
806
974
  Button,
807
975
  {
808
976
  type: submit ? "submit" : "button",
@@ -818,7 +986,7 @@ function Button2({
818
986
  className
819
987
  ),
820
988
  children: [
821
- loading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Loader2, { "aria-hidden": true, className: "animate-spin" }) : null,
989
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react4.Loader2, { "aria-hidden": true, className: "animate-spin" }) : null,
822
990
  text ?? children
823
991
  ]
824
992
  }
@@ -826,9 +994,9 @@ function Button2({
826
994
  }
827
995
 
828
996
  // src/ui/button-group.tsx
829
- var import_jsx_runtime18 = require("react/jsx-runtime");
997
+ var import_jsx_runtime19 = require("react/jsx-runtime");
830
998
  function ButtonGroup({ className, ...props }) {
831
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
999
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
832
1000
  "div",
833
1001
  {
834
1002
  role: "group",
@@ -843,9 +1011,9 @@ function ButtonGroup({ className, ...props }) {
843
1011
  }
844
1012
 
845
1013
  // src/components/components/ButtonGroup/index.tsx
846
- var import_jsx_runtime19 = require("react/jsx-runtime");
1014
+ var import_jsx_runtime20 = require("react/jsx-runtime");
847
1015
  function ButtonGroup2({ className, style, children }) {
848
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ButtonGroup, { className, style, children });
1016
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ButtonGroup, { className, style, children });
849
1017
  }
850
1018
 
851
1019
  // src/components/components/Calendar/index.tsx
@@ -853,17 +1021,17 @@ var import_date_fns = require("date-fns");
853
1021
  var import_react4 = require("react");
854
1022
 
855
1023
  // src/ui/calendar.tsx
856
- var import_lucide_react4 = require("lucide-react");
1024
+ var import_lucide_react5 = require("lucide-react");
857
1025
  var import_react_day_picker = require("react-day-picker");
858
- var import_jsx_runtime20 = require("react/jsx-runtime");
859
- function Calendar({
1026
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1027
+ function Calendar2({
860
1028
  className,
861
1029
  classNames,
862
1030
  showOutsideDays = true,
863
1031
  ...props
864
1032
  }) {
865
1033
  const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
866
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1034
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
867
1035
  import_react_day_picker.DayPicker,
868
1036
  {
869
1037
  showOutsideDays,
@@ -920,7 +1088,7 @@ function Calendar({
920
1088
  ...classNames
921
1089
  },
922
1090
  components: {
923
- Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react4.ChevronLeftIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react4.ChevronRightIcon, { className: "size-4" })
1091
+ Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react5.ChevronLeftIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react5.ChevronRightIcon, { className: "size-4" })
924
1092
  },
925
1093
  ...props
926
1094
  }
@@ -946,13 +1114,13 @@ function formItemClass(layout) {
946
1114
  }
947
1115
 
948
1116
  // src/components/components/Calendar/index.tsx
949
- var import_jsx_runtime21 = require("react/jsx-runtime");
1117
+ var import_jsx_runtime22 = require("react/jsx-runtime");
950
1118
  function parseValue(value) {
951
1119
  if (typeof value !== "string" || value === "") return void 0;
952
1120
  const date = (0, import_date_fns.parseISO)(value);
953
1121
  return (0, import_date_fns.isValid)(date) ? date : void 0;
954
1122
  }
955
- function Calendar2({
1123
+ function Calendar3({
956
1124
  name,
957
1125
  label,
958
1126
  rules,
@@ -980,8 +1148,8 @@ function Calendar2({
980
1148
  }
981
1149
  onChange?.(next);
982
1150
  };
983
- const calendar = /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
984
- Calendar,
1151
+ const calendar = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1152
+ Calendar2,
985
1153
  {
986
1154
  mode,
987
1155
  selected: parseValue(current),
@@ -993,16 +1161,16 @@ function Calendar2({
993
1161
  );
994
1162
  if (inForm && form && name) {
995
1163
  const error = form.errors[name];
996
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
997
1165
  "div",
998
1166
  {
999
1167
  "data-slot": "form-item",
1000
1168
  className: cn(formItemClass(form.layout), className),
1001
1169
  style,
1002
1170
  children: [
1003
- label ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
1171
+ label ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("label", { className: "shrink-0 text-sm leading-none font-medium whitespace-nowrap", children: label }) : null,
1004
1172
  calendar,
1005
- error ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1173
+ error ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1006
1174
  ]
1007
1175
  }
1008
1176
  );
@@ -1011,7 +1179,7 @@ function Calendar2({
1011
1179
  }
1012
1180
 
1013
1181
  // src/ui/card.tsx
1014
- var import_jsx_runtime22 = require("react/jsx-runtime");
1182
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1015
1183
  var cardRoundedClasses = {
1016
1184
  none: "rounded-none",
1017
1185
  sm: "rounded-sm",
@@ -1026,7 +1194,7 @@ function Card({
1026
1194
  rounded = "lg",
1027
1195
  ...props
1028
1196
  }) {
1029
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1197
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1030
1198
  "div",
1031
1199
  {
1032
1200
  "data-slot": "card",
@@ -1040,7 +1208,7 @@ function Card({
1040
1208
  );
1041
1209
  }
1042
1210
  function CardHeader({ className, ...props }) {
1043
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1211
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1044
1212
  "div",
1045
1213
  {
1046
1214
  "data-slot": "card-header",
@@ -1053,7 +1221,7 @@ function CardHeader({ className, ...props }) {
1053
1221
  );
1054
1222
  }
1055
1223
  function CardTitle({ className, ...props }) {
1056
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1224
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1057
1225
  "div",
1058
1226
  {
1059
1227
  "data-slot": "card-title",
@@ -1063,7 +1231,7 @@ function CardTitle({ className, ...props }) {
1063
1231
  );
1064
1232
  }
1065
1233
  function CardContent({ className, ...props }) {
1066
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1234
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1067
1235
  "div",
1068
1236
  {
1069
1237
  "data-slot": "card-content",
@@ -1074,17 +1242,17 @@ function CardContent({ className, ...props }) {
1074
1242
  }
1075
1243
 
1076
1244
  // src/components/components/Card/index.tsx
1077
- var import_jsx_runtime23 = require("react/jsx-runtime");
1245
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1078
1246
  function Card2({ title, bordered = true, rounded, className, style, children }) {
1079
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1247
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1080
1248
  Card,
1081
1249
  {
1082
1250
  rounded,
1083
1251
  className: cn("gap-4 py-4", !bordered && "border-transparent shadow-none", className),
1084
1252
  style,
1085
1253
  children: [
1086
- title ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardHeader, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardTitle, { children: title }) }) : null,
1087
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardContent, { className: "px-4", children })
1254
+ title ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CardHeader, { className: "px-4", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CardTitle, { children: title }) }) : null,
1255
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CardContent, { className: "px-4", children })
1088
1256
  ]
1089
1257
  }
1090
1258
  );
@@ -1096,9 +1264,9 @@ var import_react5 = require("react");
1096
1264
 
1097
1265
  // src/ui/carousel.tsx
1098
1266
  var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
1099
- var import_lucide_react5 = require("lucide-react");
1267
+ var import_lucide_react6 = require("lucide-react");
1100
1268
  var React2 = __toESM(require("react"), 1);
1101
- var import_jsx_runtime24 = require("react/jsx-runtime");
1269
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1102
1270
  var CarouselContext = React2.createContext(null);
1103
1271
  function useCarousel() {
1104
1272
  const context = React2.useContext(CarouselContext);
@@ -1153,7 +1321,7 @@ function Carousel({
1153
1321
  api.off("select", onSelect);
1154
1322
  };
1155
1323
  }, [api, onSelect]);
1156
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1324
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1157
1325
  CarouselContext.Provider,
1158
1326
  {
1159
1327
  value: {
@@ -1166,7 +1334,7 @@ function Carousel({
1166
1334
  canScrollPrev,
1167
1335
  canScrollNext
1168
1336
  },
1169
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1337
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1170
1338
  "div",
1171
1339
  {
1172
1340
  onKeyDownCapture: handleKeyDown,
@@ -1183,7 +1351,7 @@ function Carousel({
1183
1351
  }
1184
1352
  function CarouselContent({ className, ...props }) {
1185
1353
  const { carouselRef, orientation } = useCarousel();
1186
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1354
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1187
1355
  "div",
1188
1356
  {
1189
1357
  className: cn(
@@ -1197,7 +1365,7 @@ function CarouselContent({ className, ...props }) {
1197
1365
  }
1198
1366
  function CarouselItem({ className, ...props }) {
1199
1367
  const { orientation } = useCarousel();
1200
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1368
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1201
1369
  "div",
1202
1370
  {
1203
1371
  role: "group",
@@ -1219,7 +1387,7 @@ function CarouselPrevious({
1219
1387
  ...props
1220
1388
  }) {
1221
1389
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1222
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1390
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1223
1391
  Button,
1224
1392
  {
1225
1393
  "data-slot": "carousel-previous",
@@ -1234,8 +1402,8 @@ function CarouselPrevious({
1234
1402
  onClick: scrollPrev,
1235
1403
  ...props,
1236
1404
  children: [
1237
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react5.ChevronLeftIcon, {}),
1238
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sr-only", children: "Previous slide" })
1405
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronLeftIcon, {}),
1406
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sr-only", children: "Previous slide" })
1239
1407
  ]
1240
1408
  }
1241
1409
  );
@@ -1247,7 +1415,7 @@ function CarouselNext({
1247
1415
  ...props
1248
1416
  }) {
1249
1417
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1250
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1418
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1251
1419
  Button,
1252
1420
  {
1253
1421
  "data-slot": "carousel-next",
@@ -1262,15 +1430,15 @@ function CarouselNext({
1262
1430
  onClick: scrollNext,
1263
1431
  ...props,
1264
1432
  children: [
1265
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react5.ChevronRightIcon, {}),
1266
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sr-only", children: "Next slide" })
1433
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronRightIcon, {}),
1434
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sr-only", children: "Next slide" })
1267
1435
  ]
1268
1436
  }
1269
1437
  );
1270
1438
  }
1271
1439
 
1272
1440
  // src/components/components/Carousel/index.tsx
1273
- var import_jsx_runtime25 = require("react/jsx-runtime");
1441
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1274
1442
  function isDslNode(item) {
1275
1443
  return typeof item.type === "string";
1276
1444
  }
@@ -1295,7 +1463,7 @@ function Carousel2({
1295
1463
  }, interval);
1296
1464
  return () => clearInterval(timer);
1297
1465
  }, [api, autoplay, loop]);
1298
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1466
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1299
1467
  Carousel,
1300
1468
  {
1301
1469
  opts: { loop: loop === true },
@@ -1303,7 +1471,7 @@ function Carousel2({
1303
1471
  className,
1304
1472
  style,
1305
1473
  children: [
1306
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CarouselContent, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CarouselItem, { children: isDslNode(item) ? renderChildren([item]) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1474
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselContent, { children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselItem, { children: isDslNode(item) ? renderChildren([item]) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1307
1475
  "img",
1308
1476
  {
1309
1477
  src: item.src,
@@ -1311,8 +1479,8 @@ function Carousel2({
1311
1479
  className: "w-full rounded-md object-cover"
1312
1480
  }
1313
1481
  ) }, index)) }),
1314
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CarouselPrevious, {}),
1315
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CarouselNext, {})
1482
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselPrevious, {}),
1483
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CarouselNext, {})
1316
1484
  ]
1317
1485
  }
1318
1486
  );
@@ -1323,10 +1491,10 @@ var import_react6 = require("react");
1323
1491
 
1324
1492
  // src/ui/checkbox.tsx
1325
1493
  var import_checkbox = require("@base-ui/react/checkbox");
1326
- var import_lucide_react6 = require("lucide-react");
1327
- var import_jsx_runtime26 = require("react/jsx-runtime");
1494
+ var import_lucide_react7 = require("lucide-react");
1495
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1328
1496
  function Checkbox({ className, ...props }) {
1329
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1497
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1330
1498
  import_checkbox.Checkbox.Root,
1331
1499
  {
1332
1500
  "data-slot": "checkbox",
@@ -1335,12 +1503,12 @@ function Checkbox({ className, ...props }) {
1335
1503
  className
1336
1504
  ),
1337
1505
  ...props,
1338
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1506
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1339
1507
  import_checkbox.Checkbox.Indicator,
1340
1508
  {
1341
1509
  "data-slot": "checkbox-indicator",
1342
1510
  className: "flex items-center justify-center text-current",
1343
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react6.CheckIcon, { className: "size-3.5" })
1511
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react7.CheckIcon, { className: "size-3.5" })
1344
1512
  }
1345
1513
  )
1346
1514
  }
@@ -1348,7 +1516,7 @@ function Checkbox({ className, ...props }) {
1348
1516
  }
1349
1517
 
1350
1518
  // src/components/components/Checkbox/index.tsx
1351
- var import_jsx_runtime27 = require("react/jsx-runtime");
1519
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1352
1520
  function Checkbox2({
1353
1521
  name,
1354
1522
  label,
@@ -1377,13 +1545,13 @@ function Checkbox2({
1377
1545
  }
1378
1546
  onChange?.(next);
1379
1547
  };
1380
- const control = /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
1548
+ const control = /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1381
1549
  "span",
1382
1550
  {
1383
1551
  className: cn("inline-flex items-center gap-2", !inForm && className),
1384
1552
  style: inForm ? void 0 : style,
1385
1553
  children: [
1386
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1554
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1387
1555
  Checkbox,
1388
1556
  {
1389
1557
  id: controlId,
@@ -1393,12 +1561,12 @@ function Checkbox2({
1393
1561
  onCheckedChange: handleChange
1394
1562
  }
1395
1563
  ),
1396
- label ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
1564
+ label ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { htmlFor: controlId, className: "text-sm leading-none font-medium", children: label }) : null
1397
1565
  ]
1398
1566
  }
1399
1567
  );
1400
1568
  if (inForm && form && name) {
1401
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
1569
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1402
1570
  "div",
1403
1571
  {
1404
1572
  "data-slot": "form-item",
@@ -1406,7 +1574,7 @@ function Checkbox2({
1406
1574
  style,
1407
1575
  children: [
1408
1576
  control,
1409
- form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
1577
+ form.errors[name] ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { "data-slot": "form-error", className: "mt-1.5 text-sm text-destructive", children: form.errors[name] }) : null
1410
1578
  ]
1411
1579
  }
1412
1580
  );
@@ -1419,19 +1587,19 @@ var import_react7 = require("react");
1419
1587
 
1420
1588
  // src/ui/collapsible.tsx
1421
1589
  var import_collapsible = require("@base-ui/react/collapsible");
1422
- var import_lucide_react7 = require("lucide-react");
1423
- var import_jsx_runtime28 = require("react/jsx-runtime");
1590
+ var import_lucide_react8 = require("lucide-react");
1591
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1424
1592
  function Collapsible({
1425
1593
  ...props
1426
1594
  }) {
1427
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_collapsible.Collapsible.Root, { "data-slot": "collapsible", ...props });
1595
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_collapsible.Collapsible.Root, { "data-slot": "collapsible", ...props });
1428
1596
  }
1429
1597
  function CollapsibleTrigger({
1430
1598
  className,
1431
1599
  children,
1432
1600
  ...props
1433
1601
  }) {
1434
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1602
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1435
1603
  import_collapsible.Collapsible.Trigger,
1436
1604
  {
1437
1605
  "data-slot": "collapsible-trigger",
@@ -1442,7 +1610,7 @@ function CollapsibleTrigger({
1442
1610
  ...props,
1443
1611
  children: [
1444
1612
  children,
1445
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react7.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
1613
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react8.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
1446
1614
  ]
1447
1615
  }
1448
1616
  );
@@ -1451,7 +1619,7 @@ function CollapsibleContent({
1451
1619
  className,
1452
1620
  ...props
1453
1621
  }) {
1454
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1622
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1455
1623
  import_collapsible.Collapsible.Panel,
1456
1624
  {
1457
1625
  "data-slot": "collapsible-content",
@@ -1465,7 +1633,7 @@ function CollapsibleContent({
1465
1633
  }
1466
1634
 
1467
1635
  // src/components/components/Collapsible/index.tsx
1468
- var import_jsx_runtime29 = require("react/jsx-runtime");
1636
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1469
1637
  function Collapsible2({
1470
1638
  title,
1471
1639
  open,
@@ -1475,7 +1643,7 @@ function Collapsible2({
1475
1643
  }) {
1476
1644
  const [innerOpen, setInnerOpen] = (0, import_react7.useState)(false);
1477
1645
  const controlled = open !== void 0;
1478
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1646
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1479
1647
  Collapsible,
1480
1648
  {
1481
1649
  open: controlled ? open : innerOpen,
@@ -1487,8 +1655,8 @@ function Collapsible2({
1487
1655
  className,
1488
1656
  style,
1489
1657
  children: [
1490
- title ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CollapsibleTrigger, { children: title }) : null,
1491
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CollapsibleContent, { children })
1658
+ title ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CollapsibleTrigger, { children: title }) : null,
1659
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CollapsibleContent, { children })
1492
1660
  ]
1493
1661
  }
1494
1662
  );
@@ -1498,20 +1666,20 @@ function Collapsible2({
1498
1666
  var import_react8 = require("react");
1499
1667
 
1500
1668
  // src/ui/combobox.tsx
1501
- var import_lucide_react8 = require("lucide-react");
1669
+ var import_lucide_react9 = require("lucide-react");
1502
1670
 
1503
1671
  // src/ui/popover.tsx
1504
1672
  var import_popover = require("@base-ui/react/popover");
1505
- var import_jsx_runtime30 = require("react/jsx-runtime");
1673
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1506
1674
  function Popover({
1507
1675
  ...props
1508
1676
  }) {
1509
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
1677
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
1510
1678
  }
1511
1679
  function PopoverTrigger({
1512
1680
  ...props
1513
1681
  }) {
1514
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
1682
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
1515
1683
  }
1516
1684
  function PopoverContent({
1517
1685
  className,
@@ -1521,7 +1689,7 @@ function PopoverContent({
1521
1689
  anchor,
1522
1690
  ...props
1523
1691
  }) {
1524
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1692
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1525
1693
  import_popover.Popover.Positioner,
1526
1694
  {
1527
1695
  align,
@@ -1529,7 +1697,7 @@ function PopoverContent({
1529
1697
  sideOffset,
1530
1698
  anchor,
1531
1699
  className: "isolate z-50",
1532
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1700
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1533
1701
  import_popover.Popover.Popup,
1534
1702
  {
1535
1703
  "data-slot": "popover-content",
@@ -1545,20 +1713,20 @@ function PopoverContent({
1545
1713
  }
1546
1714
 
1547
1715
  // src/ui/combobox.tsx
1548
- var import_jsx_runtime31 = require("react/jsx-runtime");
1716
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1549
1717
  function Combobox({
1550
1718
  open,
1551
1719
  onOpenChange,
1552
1720
  children
1553
1721
  }) {
1554
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Popover, { open, onOpenChange: (next) => onOpenChange?.(next), children });
1722
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Popover, { open, onOpenChange: (next) => onOpenChange?.(next), children });
1555
1723
  }
1556
1724
  function ComboboxTrigger({
1557
1725
  className,
1558
1726
  children,
1559
1727
  ...props
1560
1728
  }) {
1561
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
1729
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1562
1730
  PopoverTrigger,
1563
1731
  {
1564
1732
  "data-slot": "combobox-trigger",
@@ -1568,8 +1736,8 @@ function ComboboxTrigger({
1568
1736
  ),
1569
1737
  ...props,
1570
1738
  children: [
1571
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children }),
1572
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react8.ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })
1739
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children }),
1740
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react9.ChevronsUpDownIcon, { className: "size-4 shrink-0 opacity-50" })
1573
1741
  ]
1574
1742
  }
1575
1743
  );
@@ -1579,7 +1747,7 @@ function ComboboxContent({
1579
1747
  children,
1580
1748
  ...props
1581
1749
  }) {
1582
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1750
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1583
1751
  PopoverContent,
1584
1752
  {
1585
1753
  "data-slot": "combobox-content",
@@ -1592,13 +1760,13 @@ function ComboboxContent({
1592
1760
 
1593
1761
  // src/ui/command.tsx
1594
1762
  var import_cmdk = require("cmdk");
1595
- var import_lucide_react9 = require("lucide-react");
1596
- var import_jsx_runtime32 = require("react/jsx-runtime");
1763
+ var import_lucide_react10 = require("lucide-react");
1764
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1597
1765
  function Command({
1598
1766
  className,
1599
1767
  ...props
1600
1768
  }) {
1601
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1769
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1602
1770
  import_cmdk.Command,
1603
1771
  {
1604
1772
  "data-slot": "command",
@@ -1614,14 +1782,14 @@ function CommandInput({
1614
1782
  className,
1615
1783
  ...props
1616
1784
  }) {
1617
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1785
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1618
1786
  "div",
1619
1787
  {
1620
1788
  "data-slot": "command-input-wrapper",
1621
1789
  className: "flex items-center gap-2 border-b border-border px-3",
1622
1790
  children: [
1623
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react9.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1624
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1791
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react10.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
1792
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1625
1793
  import_cmdk.Command.Input,
1626
1794
  {
1627
1795
  "data-slot": "command-input",
@@ -1640,7 +1808,7 @@ function CommandList({
1640
1808
  className,
1641
1809
  ...props
1642
1810
  }) {
1643
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1811
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1644
1812
  import_cmdk.Command.List,
1645
1813
  {
1646
1814
  "data-slot": "command-list",
@@ -1655,7 +1823,7 @@ function CommandList({
1655
1823
  function CommandEmpty({
1656
1824
  ...props
1657
1825
  }) {
1658
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1826
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1659
1827
  import_cmdk.Command.Empty,
1660
1828
  {
1661
1829
  "data-slot": "command-empty",
@@ -1668,7 +1836,7 @@ function CommandGroup({
1668
1836
  className,
1669
1837
  ...props
1670
1838
  }) {
1671
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1839
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1672
1840
  import_cmdk.Command.Group,
1673
1841
  {
1674
1842
  "data-slot": "command-group",
@@ -1684,7 +1852,7 @@ function CommandItem({
1684
1852
  className,
1685
1853
  ...props
1686
1854
  }) {
1687
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1855
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1688
1856
  import_cmdk.Command.Item,
1689
1857
  {
1690
1858
  "data-slot": "command-item",
@@ -1698,7 +1866,7 @@ function CommandItem({
1698
1866
  }
1699
1867
 
1700
1868
  // src/components/components/Combobox/index.tsx
1701
- var import_jsx_runtime33 = require("react/jsx-runtime");
1869
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1702
1870
  function Combobox2({
1703
1871
  name,
1704
1872
  label,
@@ -1739,8 +1907,8 @@ function Combobox2({
1739
1907
  onChange?.(option.value);
1740
1908
  setOpen(false);
1741
1909
  };
1742
- const control = /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Combobox, { open, onOpenChange: setOpen, children: [
1743
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1910
+ const control = /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Combobox, { open, onOpenChange: setOpen, children: [
1911
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1744
1912
  ComboboxTrigger,
1745
1913
  {
1746
1914
  id: controlId,
@@ -1751,11 +1919,11 @@ function Combobox2({
1751
1919
  children: selected ? selected.label : placeholder ?? ""
1752
1920
  }
1753
1921
  ),
1754
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ComboboxContent, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Command, { children: [
1755
- searchable ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CommandInput, { placeholder }) : null,
1756
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(CommandList, { children: [
1757
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CommandEmpty, { children: "\u65E0\u5339\u914D\u7ED3\u679C" }),
1758
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CommandGroup, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1922
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ComboboxContent, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Command, { children: [
1923
+ searchable ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandInput, { placeholder }) : null,
1924
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(CommandList, { children: [
1925
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandEmpty, { children: "\u65E0\u5339\u914D\u7ED3\u679C" }),
1926
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandGroup, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1759
1927
  CommandItem,
1760
1928
  {
1761
1929
  value: String(option.value),
@@ -1772,14 +1940,14 @@ function Combobox2({
1772
1940
  ] });
1773
1941
  if (inForm && form && name) {
1774
1942
  const error = form.errors[name];
1775
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1943
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1776
1944
  "div",
1777
1945
  {
1778
1946
  "data-slot": "form-item",
1779
1947
  className: cn(formItemClass(form.layout), className),
1780
1948
  style,
1781
1949
  children: [
1782
- label ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1950
+ label ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1783
1951
  "label",
1784
1952
  {
1785
1953
  htmlFor: controlId,
@@ -1788,7 +1956,7 @@ function Combobox2({
1788
1956
  }
1789
1957
  ) : null,
1790
1958
  control,
1791
- error ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1959
+ error ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
1792
1960
  ]
1793
1961
  }
1794
1962
  );
@@ -1798,160 +1966,6 @@ function Combobox2({
1798
1966
 
1799
1967
  // src/components/components/Command/index.tsx
1800
1968
  var import_runtime4 = require("@pactor-app/runtime");
1801
-
1802
- // src/components/components/Icon/index.tsx
1803
- var import_lucide_react10 = require("lucide-react");
1804
- var import_jsx_runtime34 = require("react/jsx-runtime");
1805
- var ICONS = {
1806
- "arrow-left": import_lucide_react10.ArrowLeft,
1807
- "arrow-right": import_lucide_react10.ArrowRight,
1808
- "arrow-up": import_lucide_react10.ArrowUp,
1809
- "arrow-down": import_lucide_react10.ArrowDown,
1810
- "chevron-left": import_lucide_react10.ChevronLeft,
1811
- "chevron-right": import_lucide_react10.ChevronRight,
1812
- "chevron-up": import_lucide_react10.ChevronUp,
1813
- "chevron-down": import_lucide_react10.ChevronDown,
1814
- check: import_lucide_react10.Check,
1815
- x: import_lucide_react10.X,
1816
- plus: import_lucide_react10.Plus,
1817
- minus: import_lucide_react10.Minus,
1818
- search: import_lucide_react10.Search,
1819
- settings: import_lucide_react10.Settings,
1820
- user: import_lucide_react10.User,
1821
- users: import_lucide_react10.Users,
1822
- home: import_lucide_react10.House,
1823
- menu: import_lucide_react10.Menu,
1824
- bell: import_lucide_react10.Bell,
1825
- calendar: import_lucide_react10.Calendar,
1826
- clock: import_lucide_react10.Clock,
1827
- download: import_lucide_react10.Download,
1828
- upload: import_lucide_react10.Upload,
1829
- pencil: import_lucide_react10.Pencil,
1830
- edit: import_lucide_react10.SquarePen,
1831
- trash: import_lucide_react10.Trash2,
1832
- eye: import_lucide_react10.Eye,
1833
- info: import_lucide_react10.Info,
1834
- warning: import_lucide_react10.TriangleAlert,
1835
- error: import_lucide_react10.CircleAlert,
1836
- "check-circle": import_lucide_react10.CircleCheck,
1837
- "x-circle": import_lucide_react10.CircleX,
1838
- "help-circle": import_lucide_react10.CircleQuestionMark,
1839
- loading: import_lucide_react10.LoaderCircle,
1840
- spinner: import_lucide_react10.LoaderCircle,
1841
- star: import_lucide_react10.Star,
1842
- heart: import_lucide_react10.Heart,
1843
- bookmark: import_lucide_react10.Bookmark,
1844
- share: import_lucide_react10.Share2,
1845
- copy: import_lucide_react10.Copy,
1846
- "external-link": import_lucide_react10.ExternalLink,
1847
- link: import_lucide_react10.Link,
1848
- mail: import_lucide_react10.Mail,
1849
- phone: import_lucide_react10.Phone,
1850
- lock: import_lucide_react10.Lock,
1851
- unlock: import_lucide_react10.LockOpen,
1852
- "log-in": import_lucide_react10.LogIn,
1853
- "log-out": import_lucide_react10.LogOut,
1854
- sun: import_lucide_react10.Sun,
1855
- moon: import_lucide_react10.Moon,
1856
- globe: import_lucide_react10.Globe,
1857
- filter: import_lucide_react10.Funnel,
1858
- "list-filter": import_lucide_react10.ListFilter,
1859
- "more-horizontal": import_lucide_react10.Ellipsis,
1860
- "more-vertical": import_lucide_react10.EllipsisVertical,
1861
- refresh: import_lucide_react10.RefreshCcw,
1862
- save: import_lucide_react10.Save,
1863
- file: import_lucide_react10.File,
1864
- folder: import_lucide_react10.Folder,
1865
- image: import_lucide_react10.Image,
1866
- camera: import_lucide_react10.Camera,
1867
- chart: import_lucide_react10.ChartColumn,
1868
- table: import_lucide_react10.Table,
1869
- list: import_lucide_react10.List,
1870
- grid: import_lucide_react10.LayoutGrid,
1871
- tag: import_lucide_react10.Tag,
1872
- "shopping-cart": import_lucide_react10.ShoppingCart,
1873
- "credit-card": import_lucide_react10.CreditCard,
1874
- package: import_lucide_react10.Package,
1875
- "map-pin": import_lucide_react10.MapPin,
1876
- building: import_lucide_react10.Building2,
1877
- briefcase: import_lucide_react10.Briefcase,
1878
- send: import_lucide_react10.Send,
1879
- message: import_lucide_react10.MessageCircle,
1880
- "message-square": import_lucide_react10.MessageSquare,
1881
- paperclip: import_lucide_react10.Paperclip,
1882
- "thumbs-up": import_lucide_react10.ThumbsUp,
1883
- "thumbs-down": import_lucide_react10.ThumbsDown,
1884
- zap: import_lucide_react10.Zap,
1885
- flag: import_lucide_react10.Flag,
1886
- key: import_lucide_react10.Key,
1887
- shield: import_lucide_react10.Shield,
1888
- terminal: import_lucide_react10.Terminal,
1889
- code: import_lucide_react10.Code,
1890
- database: import_lucide_react10.Database,
1891
- cloud: import_lucide_react10.Cloud,
1892
- languages: import_lucide_react10.Languages,
1893
- // @pactor-app/chat 收敛(spec: chat-icon-convergence):chat 既有图标与
1894
- // 契约图标名(menu.icon / messageActions[].icon 的既有取值)直通
1895
- "chevrons-up-down": import_lucide_react10.ChevronsUpDown,
1896
- "file-text": import_lucide_react10.FileText,
1897
- "panel-left": import_lucide_react10.PanelLeft,
1898
- "panel-right-open": import_lucide_react10.PanelRightOpen,
1899
- square: import_lucide_react10.Square,
1900
- history: import_lucide_react10.History,
1901
- "rotate-ccw": import_lucide_react10.RotateCcw,
1902
- quote: import_lucide_react10.Quote,
1903
- chat: import_lucide_react10.MessageSquare,
1904
- brain: import_lucide_react10.Brain
1905
- };
1906
- function normalizeIconName(name) {
1907
- return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
1908
- }
1909
- var sizePx = {
1910
- sm: 16,
1911
- default: 20,
1912
- lg: 24
1913
- };
1914
- function Icon({
1915
- name,
1916
- size = "default",
1917
- color,
1918
- strokeWidth,
1919
- className,
1920
- style
1921
- }) {
1922
- const key = name ? normalizeIconName(name) : "";
1923
- const Lucide = ICONS[key];
1924
- const px = typeof size === "number" ? size : sizePx[size];
1925
- if (!Lucide) {
1926
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1927
- import_lucide_react10.CircleQuestionMark,
1928
- {
1929
- "data-slot": "icon",
1930
- "data-unknown": name,
1931
- size: px,
1932
- color,
1933
- strokeWidth,
1934
- className: cn("shrink-0 text-muted-foreground", className),
1935
- style,
1936
- "aria-hidden": "true"
1937
- }
1938
- );
1939
- }
1940
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1941
- Lucide,
1942
- {
1943
- "data-slot": "icon",
1944
- size: px,
1945
- color,
1946
- strokeWidth,
1947
- className: cn("shrink-0", className),
1948
- style,
1949
- "aria-hidden": "true"
1950
- }
1951
- );
1952
- }
1953
-
1954
- // src/components/components/Command/index.tsx
1955
1969
  var import_jsx_runtime35 = require("react/jsx-runtime");
1956
1970
  function Command2({
1957
1971
  groups = [],
@@ -2751,7 +2765,7 @@ function DatePicker(props) {
2751
2765
  "data-slot": "datepicker-start-panel",
2752
2766
  className: "border-r border-border",
2753
2767
  children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2754
- Calendar,
2768
+ Calendar2,
2755
2769
  {
2756
2770
  mode: "single",
2757
2771
  month: startMonth,
@@ -2765,7 +2779,7 @@ function DatePicker(props) {
2765
2779
  }
2766
2780
  ),
2767
2781
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "datepicker-end-panel", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2768
- Calendar,
2782
+ Calendar2,
2769
2783
  {
2770
2784
  mode: "single",
2771
2785
  month: endMonth,
@@ -2777,7 +2791,7 @@ function DatePicker(props) {
2777
2791
  }
2778
2792
  ) })
2779
2793
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2780
- Calendar,
2794
+ Calendar2,
2781
2795
  {
2782
2796
  mode: "single",
2783
2797
  selected: singleDate,
@@ -3844,6 +3858,7 @@ function HoverCard2({ content, children, className, style }) {
3844
3858
  }
3845
3859
 
3846
3860
  // src/components/components/Input/index.tsx
3861
+ var import_runtime12 = require("@pactor-app/runtime");
3847
3862
  var import_react15 = require("react");
3848
3863
  var import_jsx_runtime64 = require("react/jsx-runtime");
3849
3864
  function Input2({
@@ -3854,11 +3869,13 @@ function Input2({
3854
3869
  type = "text",
3855
3870
  placeholder,
3856
3871
  disabled,
3872
+ allowClear,
3857
3873
  onChange,
3858
3874
  className,
3859
3875
  style
3860
3876
  }) {
3861
3877
  const form = useFormContext();
3878
+ const { t } = (0, import_runtime12.useI18n)();
3862
3879
  const controlId = (0, import_react15.useId)();
3863
3880
  const inForm = form?.inForm === true && typeof name === "string" && name !== "";
3864
3881
  (0, import_react15.useEffect)(() => {
@@ -3868,8 +3885,56 @@ function Input2({
3868
3885
  }
3869
3886
  return void 0;
3870
3887
  });
3888
+ const fieldValue = inForm && form && name ? form.values[name] : void 0;
3889
+ const currentValue = typeof fieldValue === "string" ? fieldValue : inForm ? "" : value ?? "";
3890
+ const showClear = allowClear === true && disabled !== true && currentValue !== "";
3891
+ const handleClear = () => {
3892
+ if (inForm && form && name) {
3893
+ form.setValue(name, "");
3894
+ }
3895
+ onChange?.("");
3896
+ };
3897
+ const inFormRoot = inForm === true;
3898
+ const input = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3899
+ Input,
3900
+ {
3901
+ id: controlId,
3902
+ type,
3903
+ value: currentValue,
3904
+ placeholder,
3905
+ disabled,
3906
+ className: !inFormRoot && allowClear !== true ? className : void 0,
3907
+ style: !inFormRoot && allowClear !== true ? style : void 0,
3908
+ onChange: (event) => {
3909
+ if (inForm && form && name) {
3910
+ form.setValue(name, event.target.value);
3911
+ }
3912
+ onChange?.(event.target.value);
3913
+ }
3914
+ }
3915
+ );
3916
+ const clearButton = showClear ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3917
+ "button",
3918
+ {
3919
+ type: "button",
3920
+ "aria-label": t("pactor.input.clear"),
3921
+ className: "shrink-0 cursor-pointer text-muted-foreground hover:text-foreground",
3922
+ onClick: handleClear,
3923
+ children: "\xD7"
3924
+ }
3925
+ ) : null;
3926
+ const control = allowClear === true ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3927
+ "span",
3928
+ {
3929
+ className: cn("flex items-center gap-1", !inFormRoot && className),
3930
+ style: inFormRoot ? void 0 : style,
3931
+ children: [
3932
+ input,
3933
+ clearButton
3934
+ ]
3935
+ }
3936
+ ) : input;
3871
3937
  if (inForm && form && name) {
3872
- const fieldValue = form.values[name];
3873
3938
  const error = form.errors[name];
3874
3939
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3875
3940
  "div",
@@ -3886,37 +3951,13 @@ function Input2({
3886
3951
  children: label
3887
3952
  }
3888
3953
  ) : null,
3889
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3890
- Input,
3891
- {
3892
- id: controlId,
3893
- type,
3894
- value: typeof fieldValue === "string" ? fieldValue : "",
3895
- placeholder,
3896
- disabled,
3897
- onChange: (event) => {
3898
- form.setValue(name, event.target.value);
3899
- onChange?.(event.target.value);
3900
- }
3901
- }
3902
- ),
3954
+ control,
3903
3955
  error ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { "data-slot": "form-error", className: "text-sm text-destructive", children: error }) : null
3904
3956
  ]
3905
3957
  }
3906
3958
  );
3907
3959
  }
3908
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3909
- Input,
3910
- {
3911
- type,
3912
- value: value ?? "",
3913
- placeholder,
3914
- disabled,
3915
- className,
3916
- style,
3917
- onChange: (event) => onChange?.(event.target.value)
3918
- }
3919
- );
3960
+ return control;
3920
3961
  }
3921
3962
 
3922
3963
  // src/ui/input-group.tsx
@@ -4076,7 +4117,7 @@ function InputOTP2({
4076
4117
  }
4077
4118
 
4078
4119
  // src/components/components/Item/index.tsx
4079
- var import_runtime12 = require("@pactor-app/runtime");
4120
+ var import_runtime13 = require("@pactor-app/runtime");
4080
4121
 
4081
4122
  // src/ui/item.tsx
4082
4123
  var import_jsx_runtime69 = require("react/jsx-runtime");
@@ -4157,7 +4198,7 @@ function Item2({
4157
4198
  className,
4158
4199
  style
4159
4200
  }) {
4160
- const { renderChildren } = (0, import_runtime12.useRenderer)();
4201
+ const { renderChildren } = (0, import_runtime13.useRenderer)();
4161
4202
  const mediaNodes = media === void 0 ? [] : Array.isArray(media) ? media : [media];
4162
4203
  return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Item, { className, style, children: [
4163
4204
  mediaNodes.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ItemMedia, { children: renderChildren(mediaNodes) }) : null,
@@ -4218,10 +4259,10 @@ function Label2({ text, htmlFor, className, style }) {
4218
4259
 
4219
4260
  // src/components/components/Layout/index.tsx
4220
4261
  var import_core = require("@pactor-app/core");
4221
- var import_runtime13 = require("@pactor-app/runtime");
4262
+ var import_runtime14 = require("@pactor-app/runtime");
4222
4263
  var import_jsx_runtime75 = require("react/jsx-runtime");
4223
4264
  function Layout({ direction, className, style, dslChildren }) {
4224
- const { renderChildren, context } = (0, import_runtime13.useRenderer)();
4265
+ const { renderChildren, context } = (0, import_runtime14.useRenderer)();
4225
4266
  const hasSider = Array.isArray(dslChildren) ? dslChildren.some(
4226
4267
  (child) => !(0, import_core.isDslSourceRef)(child) && resolveRootType(child, context) === "Sider"
4227
4268
  ) : false;
@@ -4342,7 +4383,7 @@ function RailTooltip({
4342
4383
  }
4343
4384
 
4344
4385
  // src/components/components/Sidebar/index.tsx
4345
- var import_runtime14 = require("@pactor-app/runtime");
4386
+ var import_runtime15 = require("@pactor-app/runtime");
4346
4387
  var import_react18 = require("react");
4347
4388
 
4348
4389
  // src/ui/sidebar.tsx
@@ -4879,7 +4920,7 @@ function useSidebarDrawer() {
4879
4920
  }
4880
4921
  function useOptionalRenderer() {
4881
4922
  try {
4882
- return (0, import_runtime14.useRenderer)();
4923
+ return (0, import_runtime15.useRenderer)();
4883
4924
  } catch {
4884
4925
  return null;
4885
4926
  }
@@ -4986,7 +5027,7 @@ function SidebarInner({
4986
5027
  drawer = true,
4987
5028
  children
4988
5029
  }) {
4989
- const { t } = (0, import_runtime14.useI18n)();
5030
+ const { t } = (0, import_runtime15.useI18n)();
4990
5031
  const isMobile = useIsMobile();
4991
5032
  const { state, setOpenMobile, toggleSidebar } = useSidebar();
4992
5033
  const collapsed = state === "collapsed";
@@ -5764,13 +5805,13 @@ function Pagination2({
5764
5805
  }
5765
5806
 
5766
5807
  // src/components/components/Popover/index.tsx
5767
- var import_runtime15 = require("@pactor-app/runtime");
5808
+ var import_runtime16 = require("@pactor-app/runtime");
5768
5809
  var import_jsx_runtime92 = require("react/jsx-runtime");
5769
5810
  function isDslNode3(value) {
5770
5811
  return typeof value === "object" && value !== null && typeof value.type === "string";
5771
5812
  }
5772
5813
  function Popover2({ content, children, className, style }) {
5773
- const { renderChildren } = (0, import_runtime15.useRenderer)();
5814
+ const { renderChildren } = (0, import_runtime16.useRenderer)();
5774
5815
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Popover, { children: [
5775
5816
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
5776
5817
  PopoverTrigger,
@@ -5976,7 +6017,7 @@ function RadioGroup2({
5976
6017
  }
5977
6018
 
5978
6019
  // src/components/components/Resizable/index.tsx
5979
- var import_runtime16 = require("@pactor-app/runtime");
6020
+ var import_runtime17 = require("@pactor-app/runtime");
5980
6021
  var import_react22 = require("react");
5981
6022
 
5982
6023
  // src/ui/resizable.tsx
@@ -6029,7 +6070,7 @@ function Resizable({
6029
6070
  className,
6030
6071
  style
6031
6072
  }) {
6032
- const { renderChildren } = (0, import_runtime16.useRenderer)();
6073
+ const { renderChildren } = (0, import_runtime17.useRenderer)();
6033
6074
  return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(PanelGroup, { orientation: direction, className, style, children: panels.map((panel, index) => /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_react22.Fragment, { children: [
6034
6075
  index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ResizableHandle, { withHandle: true }) : null,
6035
6076
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
@@ -6121,7 +6162,7 @@ function ScrollArea2({
6121
6162
  }
6122
6163
 
6123
6164
  // src/components/components/Select/index.tsx
6124
- var import_runtime17 = require("@pactor-app/runtime");
6165
+ var import_runtime18 = require("@pactor-app/runtime");
6125
6166
  var import_react23 = require("react");
6126
6167
 
6127
6168
  // src/ui/select.tsx
@@ -6270,7 +6311,7 @@ function Select2({
6270
6311
  style
6271
6312
  }) {
6272
6313
  const form = useFormContext();
6273
- const { t } = (0, import_runtime17.useI18n)();
6314
+ const { t } = (0, import_runtime18.useI18n)();
6274
6315
  const controlId = (0, import_react23.useId)();
6275
6316
  const inForm = form?.inForm === true && typeof name === "string" && name !== "";
6276
6317
  (0, import_react23.useEffect)(() => {
@@ -6595,7 +6636,7 @@ function Slider2({
6595
6636
  }
6596
6637
 
6597
6638
  // src/components/components/Sonner/index.tsx
6598
- var import_runtime18 = require("@pactor-app/runtime");
6639
+ var import_runtime19 = require("@pactor-app/runtime");
6599
6640
  var import_react25 = require("react");
6600
6641
 
6601
6642
  // src/ui/toast.tsx
@@ -6675,7 +6716,7 @@ function Toaster({ className }) {
6675
6716
  // src/components/components/Sonner/index.tsx
6676
6717
  var import_jsx_runtime111 = require("react/jsx-runtime");
6677
6718
  function Sonner({ className, style }) {
6678
- const { context } = (0, import_runtime18.useRenderer)();
6719
+ const { context } = (0, import_runtime19.useRenderer)();
6679
6720
  (0, import_react25.useEffect)(() => {
6680
6721
  const { actions } = context;
6681
6722
  if (actions.has("toast")) {
@@ -6828,7 +6869,7 @@ function Switch2({
6828
6869
  }
6829
6870
 
6830
6871
  // src/components/components/Table/index.tsx
6831
- var import_runtime19 = require("@pactor-app/runtime");
6872
+ var import_runtime20 = require("@pactor-app/runtime");
6832
6873
  var import_react27 = require("react");
6833
6874
  var import_jsx_runtime117 = require("react/jsx-runtime");
6834
6875
  function renderCellValue2(value) {
@@ -6850,8 +6891,8 @@ function Table3({
6850
6891
  className,
6851
6892
  style
6852
6893
  }) {
6853
- const { renderChildren } = (0, import_runtime19.useRenderer)();
6854
- const { t } = (0, import_runtime19.useI18n)();
6894
+ const { renderChildren } = (0, import_runtime20.useRenderer)();
6895
+ const { t } = (0, import_runtime20.useI18n)();
6855
6896
  const [current, setCurrent] = (0, import_react27.useState)(1);
6856
6897
  const pageSize = pagination === false ? void 0 : pagination?.pageSize;
6857
6898
  const total = dataSource.length;
@@ -6917,10 +6958,11 @@ function Table3({
6917
6958
  }
6918
6959
 
6919
6960
  // src/components/components/Tabs/index.tsx
6920
- var import_runtime20 = require("@pactor-app/runtime");
6961
+ var import_runtime21 = require("@pactor-app/runtime");
6921
6962
 
6922
6963
  // src/ui/tabs.tsx
6923
6964
  var import_tabs = require("@base-ui/react/tabs");
6965
+ var import_class_variance_authority7 = require("class-variance-authority");
6924
6966
  var import_jsx_runtime118 = require("react/jsx-runtime");
6925
6967
  function Tabs({
6926
6968
  className,
@@ -6935,18 +6977,31 @@ function Tabs({
6935
6977
  }
6936
6978
  );
6937
6979
  }
6980
+ var tabsListVariants = (0, import_class_variance_authority7.cva)(
6981
+ "group/tabs-list inline-flex w-fit items-center justify-center text-muted-foreground",
6982
+ {
6983
+ variants: {
6984
+ variant: {
6985
+ default: "h-9 rounded-lg bg-muted p-[3px]",
6986
+ line: "h-auto gap-1 rounded-none border-b border-border bg-transparent p-0"
6987
+ }
6988
+ },
6989
+ defaultVariants: {
6990
+ variant: "default"
6991
+ }
6992
+ }
6993
+ );
6938
6994
  function TabsList({
6939
6995
  className,
6996
+ variant,
6940
6997
  ...props
6941
6998
  }) {
6942
6999
  return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
6943
7000
  import_tabs.Tabs.List,
6944
7001
  {
6945
7002
  "data-slot": "tabs-list",
6946
- className: cn(
6947
- "inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground",
6948
- className
6949
- ),
7003
+ "data-variant": variant ?? "default",
7004
+ className: cn(tabsListVariants({ variant }), className),
6950
7005
  ...props
6951
7006
  }
6952
7007
  );
@@ -6960,7 +7015,12 @@ function TabsTrigger({
6960
7015
  {
6961
7016
  "data-slot": "tabs-trigger",
6962
7017
  className: cn(
6963
- "inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-active:border-border data-active:bg-card data-active:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
7018
+ "inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
7019
+ // default 变体:激活态胶囊(边框 + 卡片底 + 阴影)
7020
+ "group-data-[variant=default]/tabs-list:data-active:border-border group-data-[variant=default]/tabs-list:data-active:bg-card group-data-[variant=default]/tabs-list:data-active:shadow-sm",
7021
+ // line 变体:下划线指示——弱化未激活文字,激活态底部 2px 主色线
7022
+ //(叠在 List 的底边轨道上),无底色/圆角/阴影
7023
+ "group-data-[variant=line]/tabs-list:-mb-px group-data-[variant=line]/tabs-list:h-9 group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-x-0 group-data-[variant=line]/tabs-list:border-t-0 group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:py-1.5 group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:data-active:border-b-primary group-data-[variant=line]/tabs-list:data-active:text-foreground",
6964
7024
  className
6965
7025
  ),
6966
7026
  ...props
@@ -6983,8 +7043,8 @@ function TabsContent({
6983
7043
 
6984
7044
  // src/components/components/Tabs/index.tsx
6985
7045
  var import_jsx_runtime119 = require("react/jsx-runtime");
6986
- function Tabs2({ items = [], activeKey, onChange, className, style }) {
6987
- const { renderChildren } = (0, import_runtime20.useRenderer)();
7046
+ function Tabs2({ items = [], activeKey, variant, onChange, className, style }) {
7047
+ const { renderChildren } = (0, import_runtime21.useRenderer)();
6988
7048
  return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
6989
7049
  Tabs,
6990
7050
  {
@@ -6994,7 +7054,7 @@ function Tabs2({ items = [], activeKey, onChange, className, style }) {
6994
7054
  className,
6995
7055
  style,
6996
7056
  children: [
6997
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsList, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
7057
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsList, { variant, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
6998
7058
  items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsContent, { value: item.key, children: renderChildren(item.children) }, item.key))
6999
7059
  ]
7000
7060
  }
@@ -7109,9 +7169,9 @@ function Textarea2({
7109
7169
 
7110
7170
  // src/ui/toggle.tsx
7111
7171
  var import_toggle = require("@base-ui/react/toggle");
7112
- var import_class_variance_authority7 = require("class-variance-authority");
7172
+ var import_class_variance_authority8 = require("class-variance-authority");
7113
7173
  var import_jsx_runtime122 = require("react/jsx-runtime");
7114
- var toggleVariants = (0, import_class_variance_authority7.cva)(
7174
+ var toggleVariants = (0, import_class_variance_authority8.cva)(
7115
7175
  "inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-colors outline-none hover:bg-muted hover:text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-pressed:bg-accent data-pressed:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
7116
7176
  {
7117
7177
  variants: {
@@ -7286,9 +7346,9 @@ function Tooltip3({ content, children, className, style }) {
7286
7346
  }
7287
7347
 
7288
7348
  // src/ui/typography.tsx
7289
- var import_class_variance_authority8 = require("class-variance-authority");
7349
+ var import_class_variance_authority9 = require("class-variance-authority");
7290
7350
  var import_jsx_runtime127 = require("react/jsx-runtime");
7291
- var typographyVariants = (0, import_class_variance_authority8.cva)("", {
7351
+ var typographyVariants = (0, import_class_variance_authority9.cva)("", {
7292
7352
  variants: {
7293
7353
  variant: {
7294
7354
  h1: "scroll-m-20 text-4xl font-extrabold tracking-tight text-balance",
@@ -7406,7 +7466,7 @@ var builtinComponents = {
7406
7466
  Tooltip: Tooltip3,
7407
7467
  HoverCard: HoverCard2,
7408
7468
  // 复合类扩展组件(第三批)
7409
- Calendar: Calendar2,
7469
+ Calendar: Calendar3,
7410
7470
  DatePicker,
7411
7471
  InputOTP: InputOTP2,
7412
7472
  Combobox: Combobox2,