@shortwind/catalog 0.1.0-beta.13 → 0.1.0-beta.14

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 (46) hide show
  1. package/dist/registry/badge/CHANGELOG.md +1 -1
  2. package/dist/registry/badge.css +17 -7
  3. package/dist/registry/{badge@0.0.1.css → badge@0.0.2.css} +17 -7
  4. package/dist/registry/button/CHANGELOG.md +1 -1
  5. package/dist/registry/button.css +49 -6
  6. package/dist/registry/button@0.0.2.css +117 -0
  7. package/dist/registry/index.json +5 -0
  8. package/dist/registry/layout/CHANGELOG.md +1 -1
  9. package/dist/registry/layout.css +9 -5
  10. package/dist/registry/{layout@0.0.1.css → layout@0.0.2.css} +9 -5
  11. package/dist/registry/list/CHANGELOG.md +1 -1
  12. package/dist/registry/list.css +16 -3
  13. package/dist/registry/{list@0.0.1.css → list@0.0.2.css} +16 -3
  14. package/dist/registry/manifest.json +858 -153
  15. package/dist/registry/menu/CHANGELOG.md +5 -0
  16. package/dist/registry/menu.css +30 -0
  17. package/dist/registry/menu@0.0.1.css +30 -0
  18. package/dist/registry/navigation/CHANGELOG.md +1 -1
  19. package/dist/registry/navigation.css +18 -5
  20. package/dist/registry/{navigation@0.0.1.css → navigation@0.0.2.css} +18 -5
  21. package/dist/registry/presets.json +1 -1
  22. package/dist/registry/recipes/badge.css +17 -7
  23. package/dist/registry/recipes/button.css +49 -6
  24. package/dist/registry/recipes/layout.css +9 -5
  25. package/dist/registry/recipes/list.css +16 -3
  26. package/dist/registry/recipes/menu.css +30 -0
  27. package/dist/registry/recipes/navigation.css +18 -5
  28. package/dist/registry/recipes/segmented.css +19 -0
  29. package/dist/registry/recipes/sheet.css +38 -0
  30. package/dist/registry/recipes/stat.css +30 -0
  31. package/dist/registry/recipes/switch.css +19 -0
  32. package/dist/registry/segmented/CHANGELOG.md +5 -0
  33. package/dist/registry/segmented.css +19 -0
  34. package/dist/registry/segmented@0.0.1.css +19 -0
  35. package/dist/registry/sheet/CHANGELOG.md +5 -0
  36. package/dist/registry/sheet.css +38 -0
  37. package/dist/registry/sheet@0.0.1.css +38 -0
  38. package/dist/registry/stat/CHANGELOG.md +5 -0
  39. package/dist/registry/stat.css +30 -0
  40. package/dist/registry/stat@0.0.1.css +30 -0
  41. package/dist/registry/switch/CHANGELOG.md +5 -0
  42. package/dist/registry/switch.css +19 -0
  43. package/dist/registry/switch@0.0.1.css +19 -0
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +2 -2
  46. package/dist/registry/button@0.0.1.css +0 -74
@@ -23,18 +23,18 @@
23
23
  "name": "badge-base"
24
24
  },
25
25
  {
26
- "description": "Default neutral badge.",
26
+ "description": "Default badge — tone-aware. Reads --tone-bg/--tone-fg (set via data-tone),\n falling back to the neutral muted tokens so it renders unchanged when no\n tone is set.",
27
27
  "expansion": [
28
28
  "inline-flex",
29
29
  "items-center",
30
30
  "gap-1",
31
31
  "rounded-full",
32
- "bg-muted",
33
32
  "px-2",
34
33
  "py-0.5",
35
34
  "text-xs",
36
35
  "font-medium",
37
- "text-muted-foreground"
36
+ "bg-[var(--tone-bg,var(--muted))]",
37
+ "text-[var(--tone-fg,var(--muted-foreground))]"
38
38
  ],
39
39
  "name": "badge"
40
40
  },
@@ -124,8 +124,8 @@
124
124
  "name": "badge-outline"
125
125
  }
126
126
  ],
127
- "sha": "8548b9a7305a0a59",
128
- "version": "0.0.1"
127
+ "sha": "07c6ab5a8deb77e3",
128
+ "version": "0.0.2"
129
129
  },
130
130
  {
131
131
  "name": "button",
@@ -456,172 +456,499 @@
456
456
  "disabled:opacity-50"
457
457
  ],
458
458
  "name": "btn-icon"
459
- }
460
- ],
461
- "sha": "777fa510c4ab4aeb",
462
- "version": "0.0.1"
463
- },
464
- {
465
- "name": "card",
466
- "recipes": [
467
- {
468
- "description": "Default content card with border, padding, and surface color.",
469
- "expansion": [
470
- "rounded-lg",
471
- "border",
472
- "border-border",
473
- "bg-card",
474
- "text-card-foreground",
475
- "p-4"
476
- ],
477
- "name": "card"
478
- },
479
- {
480
- "description": "Card with raised shadow for emphasis.",
481
- "expansion": [
482
- "rounded-lg",
483
- "border",
484
- "border-border",
485
- "bg-card",
486
- "text-card-foreground",
487
- "p-4",
488
- "shadow-md"
489
- ],
490
- "name": "card-elevated"
491
459
  },
492
460
  {
493
- "description": "Card without border, on a muted surface.",
461
+ "description": "Shared button shell (alias of @btn-base).",
494
462
  "expansion": [
495
- "rounded-lg",
496
- "bg-muted",
497
- "text-foreground",
498
- "p-4"
463
+ "inline-flex",
464
+ "items-center",
465
+ "justify-center",
466
+ "gap-2",
467
+ "rounded-md",
468
+ "px-4",
469
+ "py-2",
470
+ "text-sm",
471
+ "font-medium",
472
+ "transition-colors",
473
+ "focus-visible:outline-2",
474
+ "focus-visible:outline-offset-2",
475
+ "focus-visible:outline-ring",
476
+ "disabled:cursor-not-allowed",
477
+ "disabled:opacity-50"
499
478
  ],
500
- "name": "card-flat"
479
+ "name": "button-base"
501
480
  },
502
481
  {
503
- "description": "Clickable card with hover and focus-visible states.",
482
+ "description": "Primary call-to-action button (alias of @btn-primary).",
504
483
  "expansion": [
505
- "rounded-lg",
506
- "border",
507
- "border-border",
508
- "bg-card",
509
- "text-card-foreground",
510
- "p-4",
511
- "cursor-pointer",
512
- "transition-shadow",
513
- "hover:shadow-md",
484
+ "inline-flex",
485
+ "items-center",
486
+ "justify-center",
487
+ "gap-2",
488
+ "rounded-md",
489
+ "px-4",
490
+ "py-2",
491
+ "text-sm",
492
+ "font-medium",
493
+ "transition-colors",
514
494
  "focus-visible:outline-2",
515
495
  "focus-visible:outline-offset-2",
516
- "focus-visible:outline-ring"
496
+ "focus-visible:outline-ring",
497
+ "disabled:cursor-not-allowed",
498
+ "disabled:opacity-50",
499
+ "bg-primary",
500
+ "text-primary-foreground",
501
+ "hover:bg-primary/90"
517
502
  ],
518
- "name": "card-interactive"
503
+ "name": "button-primary"
519
504
  },
520
505
  {
521
- "description": "Card header region with bottom divider.",
506
+ "description": "Small primary button (alias of @btn-primary-sm).",
522
507
  "expansion": [
523
- "mb-3",
524
- "border-b",
525
- "border-border",
526
- "pb-3"
508
+ "inline-flex",
509
+ "items-center",
510
+ "justify-center",
511
+ "gap-2",
512
+ "rounded-md",
513
+ "px-4",
514
+ "py-2",
515
+ "text-sm",
516
+ "font-medium",
517
+ "transition-colors",
518
+ "focus-visible:outline-2",
519
+ "focus-visible:outline-offset-2",
520
+ "focus-visible:outline-ring",
521
+ "disabled:cursor-not-allowed",
522
+ "disabled:opacity-50",
523
+ "bg-primary",
524
+ "text-primary-foreground",
525
+ "hover:bg-primary/90",
526
+ "px-3",
527
+ "py-1.5",
528
+ "text-xs"
527
529
  ],
528
- "name": "card-header"
530
+ "name": "button-primary-sm"
529
531
  },
530
532
  {
531
- "description": "Card body region.",
533
+ "description": "Large primary button (alias of @btn-primary-lg).",
532
534
  "expansion": [
533
- "py-1"
535
+ "inline-flex",
536
+ "items-center",
537
+ "justify-center",
538
+ "gap-2",
539
+ "rounded-md",
540
+ "px-4",
541
+ "py-2",
542
+ "text-sm",
543
+ "font-medium",
544
+ "transition-colors",
545
+ "focus-visible:outline-2",
546
+ "focus-visible:outline-offset-2",
547
+ "focus-visible:outline-ring",
548
+ "disabled:cursor-not-allowed",
549
+ "disabled:opacity-50",
550
+ "bg-primary",
551
+ "text-primary-foreground",
552
+ "hover:bg-primary/90",
553
+ "px-6",
554
+ "py-3",
555
+ "text-base"
534
556
  ],
535
- "name": "card-body"
557
+ "name": "button-primary-lg"
536
558
  },
537
559
  {
538
- "description": "Card footer with top divider and right-aligned actions.",
560
+ "description": "Secondary button (alias of @btn-secondary).",
539
561
  "expansion": [
540
- "mt-3",
541
- "flex",
562
+ "inline-flex",
542
563
  "items-center",
543
- "justify-end",
564
+ "justify-center",
544
565
  "gap-2",
545
- "border-t",
566
+ "rounded-md",
567
+ "px-4",
568
+ "py-2",
569
+ "text-sm",
570
+ "font-medium",
571
+ "transition-colors",
572
+ "focus-visible:outline-2",
573
+ "focus-visible:outline-offset-2",
574
+ "focus-visible:outline-ring",
575
+ "disabled:cursor-not-allowed",
576
+ "disabled:opacity-50",
577
+ "border",
546
578
  "border-border",
547
- "pt-3"
548
- ],
549
- "name": "card-footer"
550
- }
551
- ],
552
- "sha": "4813cef10cd21824",
553
- "version": "0.0.1"
554
- },
555
- {
556
- "name": "code",
557
- "recipes": [
558
- {
559
- "description": "Inline code span.",
560
- "expansion": [
561
- "rounded",
562
- "bg-muted",
563
- "px-1.5",
564
- "py-0.5",
565
- "font-mono",
566
- "text-[0.875em]",
567
- "text-foreground"
579
+ "bg-secondary",
580
+ "text-secondary-foreground",
581
+ "hover:bg-secondary/80"
568
582
  ],
569
- "name": "code-inline"
583
+ "name": "button-secondary"
570
584
  },
571
585
  {
572
- "description": "Block of preformatted code.",
586
+ "description": "Small secondary button (alias of @btn-secondary-sm).",
573
587
  "expansion": [
574
- "overflow-x-auto",
588
+ "inline-flex",
589
+ "items-center",
590
+ "justify-center",
591
+ "gap-2",
575
592
  "rounded-md",
593
+ "px-4",
594
+ "py-2",
595
+ "text-sm",
596
+ "font-medium",
597
+ "transition-colors",
598
+ "focus-visible:outline-2",
599
+ "focus-visible:outline-offset-2",
600
+ "focus-visible:outline-ring",
601
+ "disabled:cursor-not-allowed",
602
+ "disabled:opacity-50",
576
603
  "border",
577
604
  "border-border",
578
- "bg-muted",
579
- "p-4",
580
- "font-mono",
581
- "text-sm",
582
- "leading-6",
583
- "text-foreground"
605
+ "bg-secondary",
606
+ "text-secondary-foreground",
607
+ "hover:bg-secondary/80",
608
+ "px-3",
609
+ "py-1.5",
610
+ "text-xs"
584
611
  ],
585
- "name": "code-block"
612
+ "name": "button-secondary-sm"
586
613
  },
587
614
  {
588
- "description": "Keyboard shortcut hint.",
615
+ "description": "Large secondary button (alias of @btn-secondary-lg).",
589
616
  "expansion": [
590
617
  "inline-flex",
591
618
  "items-center",
592
- "rounded",
619
+ "justify-center",
620
+ "gap-2",
621
+ "rounded-md",
622
+ "px-4",
623
+ "py-2",
624
+ "text-sm",
625
+ "font-medium",
626
+ "transition-colors",
627
+ "focus-visible:outline-2",
628
+ "focus-visible:outline-offset-2",
629
+ "focus-visible:outline-ring",
630
+ "disabled:cursor-not-allowed",
631
+ "disabled:opacity-50",
593
632
  "border",
594
633
  "border-border",
595
- "bg-muted",
596
- "px-1.5",
597
- "py-0.5",
598
- "font-mono",
599
- "text-xs",
600
- "text-foreground",
601
- "shadow-sm"
634
+ "bg-secondary",
635
+ "text-secondary-foreground",
636
+ "hover:bg-secondary/80",
637
+ "px-6",
638
+ "py-3",
639
+ "text-base"
602
640
  ],
603
- "name": "kbd"
604
- }
605
- ],
606
- "sha": "cc8d2b0bedb5b453",
607
- "version": "0.0.1"
608
- },
609
- {
610
- "name": "dialog",
611
- "recipes": [
641
+ "name": "button-secondary-lg"
642
+ },
612
643
  {
613
- "description": "Modal dialog wrapper covers the viewport, centers content.",
644
+ "description": "Ghost button (alias of @btn-ghost).",
614
645
  "expansion": [
615
- "fixed",
616
- "inset-0",
617
- "z-50",
618
- "flex",
646
+ "inline-flex",
619
647
  "items-center",
620
648
  "justify-center",
621
- "p-4"
622
- ],
623
- "name": "dialog"
624
- },
649
+ "gap-2",
650
+ "rounded-md",
651
+ "px-4",
652
+ "py-2",
653
+ "text-sm",
654
+ "font-medium",
655
+ "transition-colors",
656
+ "focus-visible:outline-2",
657
+ "focus-visible:outline-offset-2",
658
+ "focus-visible:outline-ring",
659
+ "disabled:cursor-not-allowed",
660
+ "disabled:opacity-50",
661
+ "text-foreground",
662
+ "hover:bg-muted"
663
+ ],
664
+ "name": "button-ghost"
665
+ },
666
+ {
667
+ "description": "Small ghost button (alias of @btn-ghost-sm).",
668
+ "expansion": [
669
+ "inline-flex",
670
+ "items-center",
671
+ "justify-center",
672
+ "gap-2",
673
+ "rounded-md",
674
+ "px-4",
675
+ "py-2",
676
+ "text-sm",
677
+ "font-medium",
678
+ "transition-colors",
679
+ "focus-visible:outline-2",
680
+ "focus-visible:outline-offset-2",
681
+ "focus-visible:outline-ring",
682
+ "disabled:cursor-not-allowed",
683
+ "disabled:opacity-50",
684
+ "text-foreground",
685
+ "hover:bg-muted",
686
+ "px-3",
687
+ "py-1.5",
688
+ "text-xs"
689
+ ],
690
+ "name": "button-ghost-sm"
691
+ },
692
+ {
693
+ "description": "Large ghost button (alias of @btn-ghost-lg).",
694
+ "expansion": [
695
+ "inline-flex",
696
+ "items-center",
697
+ "justify-center",
698
+ "gap-2",
699
+ "rounded-md",
700
+ "px-4",
701
+ "py-2",
702
+ "text-sm",
703
+ "font-medium",
704
+ "transition-colors",
705
+ "focus-visible:outline-2",
706
+ "focus-visible:outline-offset-2",
707
+ "focus-visible:outline-ring",
708
+ "disabled:cursor-not-allowed",
709
+ "disabled:opacity-50",
710
+ "text-foreground",
711
+ "hover:bg-muted",
712
+ "px-6",
713
+ "py-3",
714
+ "text-base"
715
+ ],
716
+ "name": "button-ghost-lg"
717
+ },
718
+ {
719
+ "description": "Destructive button (alias of @btn-danger).",
720
+ "expansion": [
721
+ "inline-flex",
722
+ "items-center",
723
+ "justify-center",
724
+ "gap-2",
725
+ "rounded-md",
726
+ "px-4",
727
+ "py-2",
728
+ "text-sm",
729
+ "font-medium",
730
+ "transition-colors",
731
+ "focus-visible:outline-2",
732
+ "focus-visible:outline-offset-2",
733
+ "focus-visible:outline-ring",
734
+ "disabled:cursor-not-allowed",
735
+ "disabled:opacity-50",
736
+ "bg-destructive",
737
+ "text-destructive-foreground",
738
+ "hover:bg-destructive/90"
739
+ ],
740
+ "name": "button-danger"
741
+ },
742
+ {
743
+ "description": "Outline button (alias of @btn-outline).",
744
+ "expansion": [
745
+ "inline-flex",
746
+ "items-center",
747
+ "justify-center",
748
+ "gap-2",
749
+ "rounded-md",
750
+ "px-4",
751
+ "py-2",
752
+ "text-sm",
753
+ "font-medium",
754
+ "transition-colors",
755
+ "focus-visible:outline-2",
756
+ "focus-visible:outline-offset-2",
757
+ "focus-visible:outline-ring",
758
+ "disabled:cursor-not-allowed",
759
+ "disabled:opacity-50",
760
+ "border",
761
+ "border-primary",
762
+ "text-primary",
763
+ "hover:bg-primary/10"
764
+ ],
765
+ "name": "button-outline"
766
+ },
767
+ {
768
+ "description": "Square icon-only button (alias of @btn-icon).",
769
+ "expansion": [
770
+ "inline-flex",
771
+ "h-9",
772
+ "w-9",
773
+ "items-center",
774
+ "justify-center",
775
+ "rounded-md",
776
+ "text-foreground",
777
+ "transition-colors",
778
+ "hover:bg-muted",
779
+ "focus-visible:outline-2",
780
+ "focus-visible:outline-offset-2",
781
+ "focus-visible:outline-ring",
782
+ "disabled:cursor-not-allowed",
783
+ "disabled:opacity-50"
784
+ ],
785
+ "name": "button-icon"
786
+ }
787
+ ],
788
+ "sha": "b0b08652cd757b90",
789
+ "version": "0.0.2"
790
+ },
791
+ {
792
+ "name": "card",
793
+ "recipes": [
794
+ {
795
+ "description": "Default content card with border, padding, and surface color.",
796
+ "expansion": [
797
+ "rounded-lg",
798
+ "border",
799
+ "border-border",
800
+ "bg-card",
801
+ "text-card-foreground",
802
+ "p-4"
803
+ ],
804
+ "name": "card"
805
+ },
806
+ {
807
+ "description": "Card with raised shadow for emphasis.",
808
+ "expansion": [
809
+ "rounded-lg",
810
+ "border",
811
+ "border-border",
812
+ "bg-card",
813
+ "text-card-foreground",
814
+ "p-4",
815
+ "shadow-md"
816
+ ],
817
+ "name": "card-elevated"
818
+ },
819
+ {
820
+ "description": "Card without border, on a muted surface.",
821
+ "expansion": [
822
+ "rounded-lg",
823
+ "bg-muted",
824
+ "text-foreground",
825
+ "p-4"
826
+ ],
827
+ "name": "card-flat"
828
+ },
829
+ {
830
+ "description": "Clickable card with hover and focus-visible states.",
831
+ "expansion": [
832
+ "rounded-lg",
833
+ "border",
834
+ "border-border",
835
+ "bg-card",
836
+ "text-card-foreground",
837
+ "p-4",
838
+ "cursor-pointer",
839
+ "transition-shadow",
840
+ "hover:shadow-md",
841
+ "focus-visible:outline-2",
842
+ "focus-visible:outline-offset-2",
843
+ "focus-visible:outline-ring"
844
+ ],
845
+ "name": "card-interactive"
846
+ },
847
+ {
848
+ "description": "Card header region with bottom divider.",
849
+ "expansion": [
850
+ "mb-3",
851
+ "border-b",
852
+ "border-border",
853
+ "pb-3"
854
+ ],
855
+ "name": "card-header"
856
+ },
857
+ {
858
+ "description": "Card body region.",
859
+ "expansion": [
860
+ "py-1"
861
+ ],
862
+ "name": "card-body"
863
+ },
864
+ {
865
+ "description": "Card footer with top divider and right-aligned actions.",
866
+ "expansion": [
867
+ "mt-3",
868
+ "flex",
869
+ "items-center",
870
+ "justify-end",
871
+ "gap-2",
872
+ "border-t",
873
+ "border-border",
874
+ "pt-3"
875
+ ],
876
+ "name": "card-footer"
877
+ }
878
+ ],
879
+ "sha": "4813cef10cd21824",
880
+ "version": "0.0.1"
881
+ },
882
+ {
883
+ "name": "code",
884
+ "recipes": [
885
+ {
886
+ "description": "Inline code span.",
887
+ "expansion": [
888
+ "rounded",
889
+ "bg-muted",
890
+ "px-1.5",
891
+ "py-0.5",
892
+ "font-mono",
893
+ "text-[0.875em]",
894
+ "text-foreground"
895
+ ],
896
+ "name": "code-inline"
897
+ },
898
+ {
899
+ "description": "Block of preformatted code.",
900
+ "expansion": [
901
+ "overflow-x-auto",
902
+ "rounded-md",
903
+ "border",
904
+ "border-border",
905
+ "bg-muted",
906
+ "p-4",
907
+ "font-mono",
908
+ "text-sm",
909
+ "leading-6",
910
+ "text-foreground"
911
+ ],
912
+ "name": "code-block"
913
+ },
914
+ {
915
+ "description": "Keyboard shortcut hint.",
916
+ "expansion": [
917
+ "inline-flex",
918
+ "items-center",
919
+ "rounded",
920
+ "border",
921
+ "border-border",
922
+ "bg-muted",
923
+ "px-1.5",
924
+ "py-0.5",
925
+ "font-mono",
926
+ "text-xs",
927
+ "text-foreground",
928
+ "shadow-sm"
929
+ ],
930
+ "name": "kbd"
931
+ }
932
+ ],
933
+ "sha": "cc8d2b0bedb5b453",
934
+ "version": "0.0.1"
935
+ },
936
+ {
937
+ "name": "dialog",
938
+ "recipes": [
939
+ {
940
+ "description": "Modal dialog wrapper — covers the viewport, centers content.",
941
+ "expansion": [
942
+ "fixed",
943
+ "inset-0",
944
+ "z-50",
945
+ "flex",
946
+ "items-center",
947
+ "justify-center",
948
+ "p-4"
949
+ ],
950
+ "name": "dialog"
951
+ },
625
952
  {
626
953
  "description": "Dimmed overlay behind the dialog.",
627
954
  "expansion": [
@@ -1119,6 +1446,15 @@
1119
1446
  {
1120
1447
  "name": "layout",
1121
1448
  "recipes": [
1449
+ {
1450
+ "description": "Bare stack — default gap, alias for @stack-md.",
1451
+ "expansion": [
1452
+ "flex",
1453
+ "flex-col",
1454
+ "gap-4"
1455
+ ],
1456
+ "name": "stack"
1457
+ },
1122
1458
  {
1123
1459
  "description": "Vertical stack with extra-small gap.",
1124
1460
  "expansion": [
@@ -1237,8 +1573,8 @@
1237
1573
  "name": "full"
1238
1574
  }
1239
1575
  ],
1240
- "sha": "48a2a7b6e1a5d7ad",
1241
- "version": "0.0.1"
1576
+ "sha": "48025daeec83041a",
1577
+ "version": "0.0.2"
1242
1578
  },
1243
1579
  {
1244
1580
  "name": "list",
@@ -1305,10 +1641,39 @@
1305
1641
  "sm:col-span-2"
1306
1642
  ],
1307
1643
  "name": "dd"
1644
+ },
1645
+ {
1646
+ "description": "Definition list container (alias of @dl).",
1647
+ "expansion": [
1648
+ "grid",
1649
+ "grid-cols-1",
1650
+ "gap-2",
1651
+ "sm:grid-cols-3",
1652
+ "sm:gap-4"
1653
+ ],
1654
+ "name": "description-list"
1655
+ },
1656
+ {
1657
+ "description": "Definition term (alias of @dt).",
1658
+ "expansion": [
1659
+ "text-sm",
1660
+ "font-medium",
1661
+ "text-muted-foreground"
1662
+ ],
1663
+ "name": "description-term"
1664
+ },
1665
+ {
1666
+ "description": "Definition description (alias of @dd).",
1667
+ "expansion": [
1668
+ "text-sm",
1669
+ "text-foreground",
1670
+ "sm:col-span-2"
1671
+ ],
1672
+ "name": "description-detail"
1308
1673
  }
1309
1674
  ],
1310
- "sha": "f662887791fabb8d",
1311
- "version": "0.0.1"
1675
+ "sha": "6a7f93aa95067c44",
1676
+ "version": "0.0.2"
1312
1677
  },
1313
1678
  {
1314
1679
  "name": "media",
@@ -1368,40 +1733,109 @@
1368
1733
  "w-14",
1369
1734
  "text-base"
1370
1735
  ],
1371
- "name": "avatar-lg"
1736
+ "name": "avatar-lg"
1737
+ },
1738
+ {
1739
+ "description": "Small image thumbnail.",
1740
+ "expansion": [
1741
+ "h-16",
1742
+ "w-16",
1743
+ "rounded-md",
1744
+ "object-cover"
1745
+ ],
1746
+ "name": "thumb"
1747
+ },
1748
+ {
1749
+ "description": "1:1 aspect-ratio wrapper.",
1750
+ "expansion": [
1751
+ "aspect-square",
1752
+ "w-full",
1753
+ "overflow-hidden",
1754
+ "rounded-md"
1755
+ ],
1756
+ "name": "aspect-square"
1757
+ },
1758
+ {
1759
+ "description": "16:9 aspect-ratio wrapper.",
1760
+ "expansion": [
1761
+ "aspect-video",
1762
+ "w-full",
1763
+ "overflow-hidden",
1764
+ "rounded-md"
1765
+ ],
1766
+ "name": "aspect-video"
1767
+ }
1768
+ ],
1769
+ "sha": "dfc85633101b0637",
1770
+ "version": "0.0.1"
1771
+ },
1772
+ {
1773
+ "name": "menu",
1774
+ "recipes": [
1775
+ {
1776
+ "description": "Dropdown menu panel.",
1777
+ "expansion": [
1778
+ "min-w-[8rem]",
1779
+ "overflow-hidden",
1780
+ "rounded-md",
1781
+ "border",
1782
+ "border-border",
1783
+ "bg-popover",
1784
+ "p-1",
1785
+ "text-popover-foreground",
1786
+ "shadow-md"
1787
+ ],
1788
+ "name": "menu"
1372
1789
  },
1373
1790
  {
1374
- "description": "Small image thumbnail.",
1791
+ "description": "A single menu row. Highlight with data-active, dim with data-disabled.",
1375
1792
  "expansion": [
1376
- "h-16",
1377
- "w-16",
1378
- "rounded-md",
1379
- "object-cover"
1793
+ "relative",
1794
+ "flex",
1795
+ "cursor-pointer",
1796
+ "items-center",
1797
+ "gap-2",
1798
+ "rounded-sm",
1799
+ "px-2",
1800
+ "py-1.5",
1801
+ "text-sm",
1802
+ "text-foreground",
1803
+ "outline-none",
1804
+ "transition-colors",
1805
+ "hover:bg-muted",
1806
+ "focus-visible:bg-muted",
1807
+ "data-[active]:bg-muted",
1808
+ "data-[disabled]:pointer-events-none",
1809
+ "data-[disabled]:opacity-50"
1380
1810
  ],
1381
- "name": "thumb"
1811
+ "name": "menu-item"
1382
1812
  },
1383
1813
  {
1384
- "description": "1:1 aspect-ratio wrapper.",
1814
+ "description": "The control that opens the menu.",
1385
1815
  "expansion": [
1386
- "aspect-square",
1387
- "w-full",
1388
- "overflow-hidden",
1389
- "rounded-md"
1816
+ "inline-flex",
1817
+ "items-center",
1818
+ "justify-center",
1819
+ "gap-1",
1820
+ "outline-none",
1821
+ "focus-visible:outline-2",
1822
+ "focus-visible:outline-offset-2",
1823
+ "focus-visible:outline-ring"
1390
1824
  ],
1391
- "name": "aspect-square"
1825
+ "name": "menu-trigger"
1392
1826
  },
1393
1827
  {
1394
- "description": "16:9 aspect-ratio wrapper.",
1828
+ "description": "Divider between menu groups.",
1395
1829
  "expansion": [
1396
- "aspect-video",
1397
- "w-full",
1398
- "overflow-hidden",
1399
- "rounded-md"
1830
+ "-mx-1",
1831
+ "my-1",
1832
+ "h-px",
1833
+ "bg-border"
1400
1834
  ],
1401
- "name": "aspect-video"
1835
+ "name": "menu-separator"
1402
1836
  }
1403
1837
  ],
1404
- "sha": "dfc85633101b0637",
1838
+ "sha": "c95d3650d92a2fa6",
1405
1839
  "version": "0.0.1"
1406
1840
  },
1407
1841
  {
@@ -1507,10 +1941,59 @@
1507
1941
  "focus-visible:outline-ring"
1508
1942
  ],
1509
1943
  "name": "tab-active"
1944
+ },
1945
+ {
1946
+ "description": "Top-level nav container (alias of @nav).",
1947
+ "expansion": [
1948
+ "flex",
1949
+ "items-center",
1950
+ "gap-1"
1951
+ ],
1952
+ "name": "navigation"
1953
+ },
1954
+ {
1955
+ "description": "Inactive nav link (alias of @nav-link).",
1956
+ "expansion": [
1957
+ "inline-flex",
1958
+ "items-center",
1959
+ "gap-2",
1960
+ "rounded-md",
1961
+ "px-3",
1962
+ "py-1.5",
1963
+ "text-sm",
1964
+ "font-medium",
1965
+ "text-muted-foreground",
1966
+ "transition-colors",
1967
+ "hover:bg-muted",
1968
+ "hover:text-foreground",
1969
+ "focus-visible:outline-2",
1970
+ "focus-visible:outline-offset-2",
1971
+ "focus-visible:outline-ring"
1972
+ ],
1973
+ "name": "navigation-link"
1974
+ },
1975
+ {
1976
+ "description": "Active nav link (alias of @nav-link-active).",
1977
+ "expansion": [
1978
+ "inline-flex",
1979
+ "items-center",
1980
+ "gap-2",
1981
+ "rounded-md",
1982
+ "bg-muted",
1983
+ "px-3",
1984
+ "py-1.5",
1985
+ "text-sm",
1986
+ "font-medium",
1987
+ "text-foreground",
1988
+ "focus-visible:outline-2",
1989
+ "focus-visible:outline-offset-2",
1990
+ "focus-visible:outline-ring"
1991
+ ],
1992
+ "name": "navigation-link-active"
1510
1993
  }
1511
1994
  ],
1512
- "sha": "73150057219b648a",
1513
- "version": "0.0.1"
1995
+ "sha": "2bb73370d69e0f65",
1996
+ "version": "0.0.2"
1514
1997
  },
1515
1998
  {
1516
1999
  "name": "progress",
@@ -1554,6 +2037,127 @@
1554
2037
  "sha": "37210e32d2cd555f",
1555
2038
  "version": "0.0.1"
1556
2039
  },
2040
+ {
2041
+ "name": "segmented",
2042
+ "recipes": [
2043
+ {
2044
+ "description": "Segmented-control track.",
2045
+ "expansion": [
2046
+ "inline-flex",
2047
+ "items-center",
2048
+ "gap-1",
2049
+ "rounded-md",
2050
+ "bg-muted",
2051
+ "p-1"
2052
+ ],
2053
+ "name": "segmented"
2054
+ },
2055
+ {
2056
+ "description": "A segment. Mark the selected one with data-active.",
2057
+ "expansion": [
2058
+ "inline-flex",
2059
+ "items-center",
2060
+ "justify-center",
2061
+ "gap-1.5",
2062
+ "rounded-sm",
2063
+ "px-3",
2064
+ "py-1",
2065
+ "text-sm",
2066
+ "font-medium",
2067
+ "text-muted-foreground",
2068
+ "transition-colors",
2069
+ "hover:text-foreground",
2070
+ "data-[active]:bg-background",
2071
+ "data-[active]:text-foreground",
2072
+ "data-[active]:shadow-sm",
2073
+ "focus-visible:outline-2",
2074
+ "focus-visible:outline-offset-2",
2075
+ "focus-visible:outline-ring"
2076
+ ],
2077
+ "name": "segmented-item"
2078
+ }
2079
+ ],
2080
+ "sha": "60bb982c1fc271f0",
2081
+ "version": "0.0.1"
2082
+ },
2083
+ {
2084
+ "name": "sheet",
2085
+ "recipes": [
2086
+ {
2087
+ "description": "Dimmed backdrop behind the sheet.",
2088
+ "expansion": [
2089
+ "fixed",
2090
+ "inset-0",
2091
+ "z-40",
2092
+ "bg-black/50"
2093
+ ],
2094
+ "name": "sheet-overlay"
2095
+ },
2096
+ {
2097
+ "description": "Positioner — anchors the panel to a side via data-side.",
2098
+ "expansion": [
2099
+ "fixed",
2100
+ "inset-0",
2101
+ "z-50",
2102
+ "flex",
2103
+ "data-[side=right]:justify-end",
2104
+ "data-[side=left]:justify-start"
2105
+ ],
2106
+ "name": "sheet"
2107
+ },
2108
+ {
2109
+ "description": "The sliding panel.",
2110
+ "expansion": [
2111
+ "flex",
2112
+ "h-full",
2113
+ "w-3/4",
2114
+ "max-w-sm",
2115
+ "flex-col",
2116
+ "gap-4",
2117
+ "border-border",
2118
+ "bg-popover",
2119
+ "p-6",
2120
+ "text-popover-foreground",
2121
+ "shadow-xl"
2122
+ ],
2123
+ "name": "sheet-content"
2124
+ },
2125
+ {
2126
+ "description": "Sheet header region.",
2127
+ "expansion": [
2128
+ "flex",
2129
+ "flex-col",
2130
+ "gap-1"
2131
+ ],
2132
+ "name": "sheet-header"
2133
+ },
2134
+ {
2135
+ "description": "Sheet footer with bottom-pinned, right-aligned actions.",
2136
+ "expansion": [
2137
+ "mt-auto",
2138
+ "flex",
2139
+ "items-center",
2140
+ "justify-end",
2141
+ "gap-2"
2142
+ ],
2143
+ "name": "sheet-footer"
2144
+ },
2145
+ {
2146
+ "description": "Alias — @drawer reads as @sheet.",
2147
+ "expansion": [
2148
+ "fixed",
2149
+ "inset-0",
2150
+ "z-50",
2151
+ "flex",
2152
+ "data-[side=right]:justify-end",
2153
+ "data-[side=left]:justify-start"
2154
+ ],
2155
+ "name": "drawer"
2156
+ }
2157
+ ],
2158
+ "sha": "2dd5109c9e3865fa",
2159
+ "version": "0.0.1"
2160
+ },
1557
2161
  {
1558
2162
  "name": "skeleton",
1559
2163
  "recipes": [
@@ -1592,6 +2196,60 @@
1592
2196
  "sha": "cd2db5c1c48b16d3",
1593
2197
  "version": "0.0.1"
1594
2198
  },
2199
+ {
2200
+ "name": "stat",
2201
+ "recipes": [
2202
+ {
2203
+ "description": "Metric tile container.",
2204
+ "expansion": [
2205
+ "flex",
2206
+ "flex-col",
2207
+ "gap-1",
2208
+ "rounded-lg",
2209
+ "border",
2210
+ "border-border",
2211
+ "bg-card",
2212
+ "p-4",
2213
+ "text-card-foreground"
2214
+ ],
2215
+ "name": "stat"
2216
+ },
2217
+ {
2218
+ "description": "Metric name.",
2219
+ "expansion": [
2220
+ "text-sm",
2221
+ "font-medium",
2222
+ "text-muted-foreground"
2223
+ ],
2224
+ "name": "stat-label"
2225
+ },
2226
+ {
2227
+ "description": "The metric's primary value.",
2228
+ "expansion": [
2229
+ "text-2xl",
2230
+ "font-semibold",
2231
+ "tracking-tight",
2232
+ "text-foreground",
2233
+ "tabular-nums"
2234
+ ],
2235
+ "name": "stat-value"
2236
+ },
2237
+ {
2238
+ "description": "Trend delta — tone-aware; set data-tone (success up / danger down).",
2239
+ "expansion": [
2240
+ "inline-flex",
2241
+ "items-center",
2242
+ "gap-1",
2243
+ "text-xs",
2244
+ "font-medium",
2245
+ "text-[var(--tone-fg,var(--muted-foreground))]"
2246
+ ],
2247
+ "name": "stat-trend"
2248
+ }
2249
+ ],
2250
+ "sha": "445f1f7abfebc0b1",
2251
+ "version": "0.0.1"
2252
+ },
1595
2253
  {
1596
2254
  "name": "surface",
1597
2255
  "recipes": [
@@ -1666,6 +2324,53 @@
1666
2324
  "sha": "31716e4cbe81f93f",
1667
2325
  "version": "0.0.2"
1668
2326
  },
2327
+ {
2328
+ "name": "switch",
2329
+ "recipes": [
2330
+ {
2331
+ "description": "Toggle track. Add data-checked when on.",
2332
+ "expansion": [
2333
+ "peer",
2334
+ "inline-flex",
2335
+ "h-5",
2336
+ "w-9",
2337
+ "shrink-0",
2338
+ "cursor-pointer",
2339
+ "items-center",
2340
+ "rounded-full",
2341
+ "border-2",
2342
+ "border-transparent",
2343
+ "bg-input",
2344
+ "transition-colors",
2345
+ "data-[checked]:bg-primary",
2346
+ "focus-visible:outline-2",
2347
+ "focus-visible:outline-offset-2",
2348
+ "focus-visible:outline-ring",
2349
+ "disabled:cursor-not-allowed",
2350
+ "disabled:opacity-50"
2351
+ ],
2352
+ "name": "switch"
2353
+ },
2354
+ {
2355
+ "description": "Sliding knob. Add data-checked to slide it on.",
2356
+ "expansion": [
2357
+ "pointer-events-none",
2358
+ "block",
2359
+ "h-4",
2360
+ "w-4",
2361
+ "translate-x-0",
2362
+ "rounded-full",
2363
+ "bg-background",
2364
+ "shadow-sm",
2365
+ "transition-transform",
2366
+ "data-[checked]:translate-x-4"
2367
+ ],
2368
+ "name": "switch-thumb"
2369
+ }
2370
+ ],
2371
+ "sha": "54fa33bb72839799",
2372
+ "version": "0.0.1"
2373
+ },
1669
2374
  {
1670
2375
  "name": "table",
1671
2376
  "recipes": [