@epilot/volt-ui-experimental-griffel 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/AGENTS.md +153 -0
  2. package/AUTHORING.md +292 -0
  3. package/README.md +90 -7
  4. package/dist/components/alert-dialog/alert-dialog.js +18 -18
  5. package/dist/components/avatar/avatar.js +18 -19
  6. package/dist/components/avatar/avatar.js.map +1 -1
  7. package/dist/components/badge/badge.js +13 -13
  8. package/dist/components/badge/badge.js.map +1 -1
  9. package/dist/components/breadcrumb/breadcrumb.js +6 -6
  10. package/dist/components/button/button.js +20 -20
  11. package/dist/components/button-group/button-group.js +6 -6
  12. package/dist/components/callout/callout.js +6 -6
  13. package/dist/components/card/card.js +8 -8
  14. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +4 -4
  15. package/dist/components/command/command.js +15 -15
  16. package/dist/components/data-table/data-table-column-header.js +5 -5
  17. package/dist/components/data-table/data-table-error.js +13 -13
  18. package/dist/components/data-table/data-table-loading.js +4 -4
  19. package/dist/components/date-range-picker/date-range-picker.js +8 -8
  20. package/dist/components/date-time-picker/calendar.js +15 -15
  21. package/dist/components/date-time-picker/date-time-picker-panel.js +73 -67
  22. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  23. package/dist/components/date-time-picker/date-time-picker.js +53 -49
  24. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  25. package/dist/components/date-time-picker/time-picker.js +77 -71
  26. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  27. package/dist/components/dialog/dialog.js +21 -21
  28. package/dist/components/drawer/drawer.js +16 -16
  29. package/dist/components/dropdown-menu/dropdown-menu.js +13 -13
  30. package/dist/components/field/field-combobox.js +9 -9
  31. package/dist/components/field/field.js +22 -22
  32. package/dist/components/label/label.js +11 -11
  33. package/dist/components/list/list.js +13 -13
  34. package/dist/components/option-card/option-card.js +24 -24
  35. package/dist/components/pill/pill.js +21 -20
  36. package/dist/components/pill/pill.js.map +1 -1
  37. package/dist/components/popover/popover.js +4 -4
  38. package/dist/components/radio/radio.js +8 -8
  39. package/dist/components/scroll-overflow/scroll-overflow.js +6 -6
  40. package/dist/components/select/select.js +25 -25
  41. package/dist/components/skeleton/skeleton.js +17 -17
  42. package/dist/components/skeleton/skeleton.js.map +1 -1
  43. package/dist/components/table/table-pagination.js +74 -76
  44. package/dist/components/table/table-pagination.js.map +1 -1
  45. package/dist/components/tabs/tabs.js +19 -19
  46. package/dist/components/toast/toast.js +24 -24
  47. package/dist/components/toggle/toggle.js +17 -17
  48. package/dist/components/tooltip/tooltip.js +6 -6
  49. package/dist/index.d.ts +9200 -65
  50. package/dist/index.js +276 -273
  51. package/dist/index.js.map +1 -1
  52. package/dist/tokens/core.generated.js +1168 -1154
  53. package/dist/tokens/core.generated.js.map +1 -1
  54. package/dist/tokens/index.d.ts +1079 -1053
  55. package/dist/tokens/index.js +1078 -1056
  56. package/dist/tokens/index.js.map +1 -1
  57. package/dist/tokens/install.js +21 -9
  58. package/dist/tokens/install.js.map +1 -1
  59. package/dist/tokens/palette.generated.js +1323 -1293
  60. package/dist/tokens/palette.generated.js.map +1 -1
  61. package/dist/tokens.json +45 -1
  62. package/package.json +12 -5
  63. package/testing/jest-preset.cjs +64 -0
  64. package/dist/components/accordion/accordion.d.ts +0 -14
  65. package/dist/components/alert-dialog/alert-dialog.d.ts +0 -36
  66. package/dist/components/avatar/avatar-group.d.ts +0 -7
  67. package/dist/components/avatar/avatar.d.ts +0 -17
  68. package/dist/components/badge/badge.d.ts +0 -41
  69. package/dist/components/breadcrumb/breadcrumb.d.ts +0 -37
  70. package/dist/components/button/button.d.ts +0 -18
  71. package/dist/components/button-group/button-group.d.ts +0 -30
  72. package/dist/components/callout/callout.d.ts +0 -23
  73. package/dist/components/card/card.d.ts +0 -9
  74. package/dist/components/checkbox/checkbox.d.ts +0 -4
  75. package/dist/components/collapsible-sidebar/collapsible-sidebar.d.ts +0 -33
  76. package/dist/components/command/command.d.ts +0 -85
  77. package/dist/components/data-table/data-table-body.d.ts +0 -21
  78. package/dist/components/data-table/data-table-column-header.d.ts +0 -13
  79. package/dist/components/data-table/data-table-column-visibility.d.ts +0 -21
  80. package/dist/components/data-table/data-table-content.d.ts +0 -13
  81. package/dist/components/data-table/data-table-context.d.ts +0 -66
  82. package/dist/components/data-table/data-table-error.d.ts +0 -21
  83. package/dist/components/data-table/data-table-header.d.ts +0 -14
  84. package/dist/components/data-table/data-table-loading.d.ts +0 -13
  85. package/dist/components/data-table/data-table-pagination.d.ts +0 -17
  86. package/dist/components/data-table/data-table-pinning-utils.d.ts +0 -17
  87. package/dist/components/data-table/data-table-row.d.ts +0 -14
  88. package/dist/components/data-table/data-table-toolbar.d.ts +0 -7
  89. package/dist/components/data-table/data-table.d.ts +0 -92
  90. package/dist/components/data-table/get-selected-row-data.d.ts +0 -18
  91. package/dist/components/data-table/hooks/index.d.ts +0 -2
  92. package/dist/components/data-table/hooks/use-data-table-content.d.ts +0 -1
  93. package/dist/components/data-table/hooks/use-data-table.d.ts +0 -2
  94. package/dist/components/date-range-picker/date-range-picker-utils.d.ts +0 -2
  95. package/dist/components/date-range-picker/date-range-picker.d.ts +0 -34
  96. package/dist/components/date-range-picker/range-calendar.d.ts +0 -15
  97. package/dist/components/date-time-picker/calendar.d.ts +0 -28
  98. package/dist/components/date-time-picker/date-time-picker-context.d.ts +0 -39
  99. package/dist/components/date-time-picker/date-time-picker-input.d.ts +0 -13
  100. package/dist/components/date-time-picker/date-time-picker-panel.d.ts +0 -15
  101. package/dist/components/date-time-picker/date-time-picker-popover.d.ts +0 -6
  102. package/dist/components/date-time-picker/date-time-picker-utils.d.ts +0 -37
  103. package/dist/components/date-time-picker/date-time-picker.d.ts +0 -47
  104. package/dist/components/date-time-picker/time-picker.d.ts +0 -12
  105. package/dist/components/dialog/dialog.d.ts +0 -27
  106. package/dist/components/drawer/drawer.d.ts +0 -27
  107. package/dist/components/dropdown-menu/dropdown-menu.d.ts +0 -41
  108. package/dist/components/field/field-combobox.d.ts +0 -90
  109. package/dist/components/field/field-select.d.ts +0 -4
  110. package/dist/components/field/field.d.ts +0 -76
  111. package/dist/components/label/label.d.ts +0 -21
  112. package/dist/components/list/list.d.ts +0 -46
  113. package/dist/components/option-card/option-card.d.ts +0 -39
  114. package/dist/components/pill/pill.d.ts +0 -27
  115. package/dist/components/popover/popover.d.ts +0 -14
  116. package/dist/components/radio/radio.d.ts +0 -6
  117. package/dist/components/scroll-overflow/scroll-overflow.d.ts +0 -38
  118. package/dist/components/segmented-control/segmented-control.d.ts +0 -11
  119. package/dist/components/select/select.d.ts +0 -26
  120. package/dist/components/separator/separator.d.ts +0 -30
  121. package/dist/components/skeleton/skeleton.d.ts +0 -24
  122. package/dist/components/spinner/spinner.d.ts +0 -25
  123. package/dist/components/switch/switch.d.ts +0 -17
  124. package/dist/components/table/table-pagination.d.ts +0 -45
  125. package/dist/components/table/table.d.ts +0 -50
  126. package/dist/components/tabs/tabs.d.ts +0 -18
  127. package/dist/components/text/text.d.ts +0 -22
  128. package/dist/components/toast/toast.d.ts +0 -10
  129. package/dist/components/toggle/toggle-group.d.ts +0 -10
  130. package/dist/components/toggle/toggle.d.ts +0 -10
  131. package/dist/components/tooltip/tooltip.d.ts +0 -15
  132. package/dist/lib/clear-button.d.ts +0 -5
  133. package/dist/lib/icons.d.ts +0 -3
  134. package/dist/lib/pagination.d.ts +0 -71
  135. package/dist/renderer/contract.d.ts +0 -12
  136. package/dist/renderer/index.d.ts +0 -10
  137. package/dist/styles/make-styles.d.ts +0 -37
  138. package/dist/tokens/core.generated.d.ts +0 -3
  139. package/dist/tokens/install.d.ts +0 -38
  140. package/dist/tokens/palette.generated.d.ts +0 -3
package/dist/tokens.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$comment": "GENERATED. Design token values for consumers that do not render this package's React components. Compile these into your own CSS under your own names at your own build time; do not reference this package's runtime custom properties, whose names are content-hashed and change with their values.",
3
3
  "package": "@epilot/volt-ui-experimental-griffel",
4
- "version": "0.2.0",
4
+ "version": "0.2.3",
5
5
  "themes": {
6
6
  "light": {
7
7
  "accent-1": "#fcfdfe",
@@ -548,6 +548,7 @@
548
548
  "sem-accent-high-contrast": "#00224bee",
549
549
  "sem-accent-light": "#005bb8f0",
550
550
  "sem-accent-on-high-contrast": "#fcfdfe",
551
+ "sem-accent-on-soft": "#00224bee",
551
552
  "sem-accent-on-solid": "#ffffff",
552
553
  "sem-accent-soft": "#0066e614",
553
554
  "sem-accent-soft-hover": "#006ef823",
@@ -563,6 +564,7 @@
563
564
  "sem-blue-high-contrast": "#002359ee",
564
565
  "sem-blue-light": "#006dcbf2",
565
566
  "sem-blue-on-high-contrast": "#fbfdff",
567
+ "sem-blue-on-soft": "#002359ee",
566
568
  "sem-blue-on-solid": "#ffffff",
567
569
  "sem-blue-soft": "#008ff519",
568
570
  "sem-blue-soft-hover": "#009eff2a",
@@ -579,6 +581,7 @@
579
581
  "sem-bronze-high-contrast": "#1d0600d4",
580
582
  "sem-bronze-light": "#3d0f00ab",
581
583
  "sem-bronze-on-high-contrast": "#fdfcfc",
584
+ "sem-bronze-on-soft": "#1d0600d4",
582
585
  "sem-bronze-on-solid": "#ffffff",
583
586
  "sem-bronze-soft": "#92250015",
584
587
  "sem-bronze-soft-hover": "#80280020",
@@ -594,6 +597,7 @@
594
597
  "sem-cyan-high-contrast": "#00323ef2",
595
598
  "sem-cyan-light": "#007491ef",
596
599
  "sem-cyan-on-high-contrast": "#fafdfe",
600
+ "sem-cyan-on-soft": "#00323ef2",
597
601
  "sem-cyan-on-solid": "#ffffff",
598
602
  "sem-cyan-soft": "#00c2d121",
599
603
  "sem-cyan-soft-hover": "#00bcd435",
@@ -609,6 +613,7 @@
609
613
  "sem-error-high-contrast": "#5a0400ec",
610
614
  "sem-error-light": "#ce0200e1",
611
615
  "sem-error-on-high-contrast": "#fffcfc",
616
+ "sem-error-on-soft": "#5a0400ec",
612
617
  "sem-error-on-solid": "#ffffff",
613
618
  "sem-error-soft": "#ff220017",
614
619
  "sem-error-soft-hover": "#ff25002a",
@@ -618,12 +623,14 @@
618
623
  "sem-error-surface-hover": "#ff220017",
619
624
  "sem-error-ui": "#ed1d0062",
620
625
  "sem-error-ui-hover": "#df1b007f",
626
+ "sem-focus-ring": "#0f65bc",
621
627
  "sem-gray-contrast": "#ffffff",
622
628
  "sem-gray-default": "#020008e0",
623
629
  "sem-gray-disabled": "#08003145",
624
630
  "sem-gray-high-contrast": "#020008e0",
625
631
  "sem-gray-light": "#0400119c",
626
632
  "sem-gray-on-high-contrast": "#fdfcfd",
633
+ "sem-gray-on-soft": "#020008e0",
627
634
  "sem-gray-on-solid": "#ffffff",
628
635
  "sem-gray-soft": "#30004010",
629
636
  "sem-gray-soft-hover": "#20003618",
@@ -639,6 +646,7 @@
639
646
  "sem-green-high-contrast": "#002616e6",
640
647
  "sem-green-light": "#00713fde",
641
648
  "sem-green-on-high-contrast": "#fbfefc",
649
+ "sem-green-on-soft": "#002616e6",
642
650
  "sem-green-on-solid": "#ffffff",
643
651
  "sem-green-soft": "#00a43319",
644
652
  "sem-green-soft-hover": "#00a83829",
@@ -654,6 +662,7 @@
654
662
  "sem-indigo-high-contrast": "#001046e0",
655
663
  "sem-indigo-light": "#002bb7c5",
656
664
  "sem-indigo-on-high-contrast": "#fdfdfe",
665
+ "sem-indigo-on-soft": "#001046e0",
657
666
  "sem-indigo-on-solid": "#ffffff",
658
667
  "sem-indigo-soft": "#0047f112",
659
668
  "sem-indigo-soft-hover": "#0044ff1e",
@@ -669,6 +678,7 @@
669
678
  "sem-info-high-contrast": "#002359ee",
670
679
  "sem-info-light": "#006dcbf2",
671
680
  "sem-info-on-high-contrast": "#fbfdff",
681
+ "sem-info-on-soft": "#002359ee",
672
682
  "sem-info-on-solid": "#ffffff",
673
683
  "sem-info-soft": "#008ff519",
674
684
  "sem-info-soft-hover": "#009eff2a",
@@ -687,6 +697,7 @@
687
697
  "sem-lime-high-contrast": "#1e2900e3",
688
698
  "sem-lime-light": "#375f00d0",
689
699
  "sem-lime-on-high-contrast": "#fcfdfa",
700
+ "sem-lime-on-soft": "#1e2900e3",
690
701
  "sem-lime-on-solid": "#1d211c",
691
702
  "sem-lime-soft": "#96c80029",
692
703
  "sem-lime-soft-hover": "#8fc60042",
@@ -702,6 +713,7 @@
702
713
  "sem-mauve-high-contrast": "#020008e0",
703
714
  "sem-mauve-light": "#0400119c",
704
715
  "sem-mauve-on-high-contrast": "#fdfcfd",
716
+ "sem-mauve-on-soft": "#020008e0",
705
717
  "sem-mauve-on-solid": "#ffffff",
706
718
  "sem-mauve-soft": "#30004010",
707
719
  "sem-mauve-soft-hover": "#20003618",
@@ -717,6 +729,7 @@
717
729
  "sem-mint-high-contrast": "#00312ae9",
718
730
  "sem-mint-light": "#007763fd",
719
731
  "sem-mint-on-high-contrast": "#f9fefd",
732
+ "sem-mint-on-soft": "#00312ae9",
720
733
  "sem-mint-on-solid": "#1a211e",
721
734
  "sem-mint-soft": "#00d29e22",
722
735
  "sem-mint-soft-hover": "#00cc9937",
@@ -732,6 +745,7 @@
732
745
  "sem-orange-high-contrast": "#431200e2",
733
746
  "sem-orange-light": "#cc4e00",
734
747
  "sem-orange-on-high-contrast": "#fefcfb",
748
+ "sem-orange-on-soft": "#431200e2",
735
749
  "sem-orange-on-solid": "#ffffff",
736
750
  "sem-orange-soft": "#ff9c0029",
737
751
  "sem-orange-soft-hover": "#ff91014a",
@@ -747,6 +761,7 @@
747
761
  "sem-pink-high-contrast": "#59003bed",
748
762
  "sem-pink-light": "#b60074d6",
749
763
  "sem-pink-on-high-contrast": "#fffcfe",
764
+ "sem-pink-on-soft": "#59003bed",
750
765
  "sem-pink-on-solid": "#ffffff",
751
766
  "sem-pink-soft": "#f4008c16",
752
767
  "sem-pink-soft-hover": "#e2008b23",
@@ -762,6 +777,7 @@
762
777
  "sem-purple-high-contrast": "#250049df",
763
778
  "sem-purple-light": "#52009aba",
764
779
  "sem-purple-on-high-contrast": "#fefcfe",
780
+ "sem-purple-on-soft": "#250049df",
765
781
  "sem-purple-on-solid": "#ffffff",
766
782
  "sem-purple-soft": "#8e00f112",
767
783
  "sem-purple-soft-hover": "#8d00e51d",
@@ -777,6 +793,7 @@
777
793
  "sem-red-high-contrast": "#5a0400ec",
778
794
  "sem-red-light": "#ce0200e1",
779
795
  "sem-red-on-high-contrast": "#fffcfc",
796
+ "sem-red-on-soft": "#5a0400ec",
780
797
  "sem-red-on-solid": "#ffffff",
781
798
  "sem-red-soft": "#ff220017",
782
799
  "sem-red-soft-hover": "#ff25002a",
@@ -792,6 +809,7 @@
792
809
  "sem-sky-high-contrast": "#002540e2",
793
810
  "sem-sky-light": "#00749e",
794
811
  "sem-sky-on-high-contrast": "#f9feff",
812
+ "sem-sky-on-soft": "#002540e2",
795
813
  "sem-sky-on-solid": "#1c2024",
796
814
  "sem-sky-soft": "#00b3ee1e",
797
815
  "sem-sky-soft-hover": "#00ace42e",
@@ -807,6 +825,7 @@
807
825
  "sem-success-high-contrast": "#002616e6",
808
826
  "sem-success-light": "#00713fde",
809
827
  "sem-success-on-high-contrast": "#fbfefc",
828
+ "sem-success-on-soft": "#002616e6",
810
829
  "sem-success-on-solid": "#ffffff",
811
830
  "sem-success-soft": "#00a43319",
812
831
  "sem-success-soft-hover": "#00a83829",
@@ -822,6 +841,7 @@
822
841
  "sem-teal-high-contrast": "#00332df2",
823
842
  "sem-teal-light": "#008573",
824
843
  "sem-teal-on-high-contrast": "#fafefd",
844
+ "sem-teal-on-soft": "#00332df2",
825
845
  "sem-teal-on-solid": "#ffffff",
826
846
  "sem-teal-soft": "#00c69d1f",
827
847
  "sem-teal-soft-hover": "#00c39633",
@@ -837,6 +857,7 @@
837
857
  "sem-warning-high-contrast": "#431200e2",
838
858
  "sem-warning-light": "#cc4e00",
839
859
  "sem-warning-on-high-contrast": "#fefcfb",
860
+ "sem-warning-on-soft": "#431200e2",
840
861
  "sem-warning-on-solid": "#ffffff",
841
862
  "sem-warning-soft": "#ff9c0029",
842
863
  "sem-warning-soft-hover": "#ff91014a",
@@ -852,6 +873,7 @@
852
873
  "sem-yellow-high-contrast": "#2e2000e0",
853
874
  "sem-yellow-light": "#9e6c00",
854
875
  "sem-yellow-on-high-contrast": "#fdfdf9",
876
+ "sem-yellow-on-soft": "#2e2000e0",
855
877
  "sem-yellow-on-solid": "#21201c",
856
878
  "sem-yellow-soft": "#ffee0047",
857
879
  "sem-yellow-soft-hover": "#ffe3016b",
@@ -1601,6 +1623,7 @@
1601
1623
  "sem-accent-high-contrast": "#c5e4ff",
1602
1624
  "sem-accent-light": "#71b8ff",
1603
1625
  "sem-accent-on-high-contrast": "#07121f",
1626
+ "sem-accent-on-soft": "#c5e4ff",
1604
1627
  "sem-accent-on-solid": "#ffffff",
1605
1628
  "sem-accent-soft": "#0060fe44",
1606
1629
  "sem-accent-soft-hover": "#005dff65",
@@ -1616,6 +1639,7 @@
1616
1639
  "sem-blue-high-contrast": "#c2e6ff",
1617
1640
  "sem-blue-light": "#70b8ff",
1618
1641
  "sem-blue-on-high-contrast": "#0d1520",
1642
+ "sem-blue-on-soft": "#c2e6ff",
1619
1643
  "sem-blue-on-solid": "#ffffff",
1620
1644
  "sem-blue-soft": "#0077ff3a",
1621
1645
  "sem-blue-soft-hover": "#0075ff57",
@@ -1632,6 +1656,7 @@
1632
1656
  "sem-bronze-high-contrast": "#fff1e9ec",
1633
1657
  "sem-bronze-light": "#ffd7c6d1",
1634
1658
  "sem-bronze-on-high-contrast": "#141110",
1659
+ "sem-bronze-on-soft": "#fff1e9ec",
1635
1660
  "sem-bronze-on-solid": "#ffffff",
1636
1661
  "sem-bronze-soft": "#faceb817",
1637
1662
  "sem-bronze-soft-hover": "#facdb622",
@@ -1647,6 +1672,7 @@
1647
1672
  "sem-cyan-high-contrast": "#bbf3fef7",
1648
1673
  "sem-cyan-light": "#52e1fee5",
1649
1674
  "sem-cyan-on-high-contrast": "#0b161a",
1675
+ "sem-cyan-on-soft": "#bbf3fef7",
1650
1676
  "sem-cyan-on-solid": "#ffffff",
1651
1677
  "sem-cyan-soft": "#00befd28",
1652
1678
  "sem-cyan-soft-hover": "#00baff3b",
@@ -1662,6 +1688,7 @@
1662
1688
  "sem-error-high-contrast": "#ffcdc4",
1663
1689
  "sem-error-light": "#ff9081",
1664
1690
  "sem-error-on-high-contrast": "#190e0c",
1691
+ "sem-error-on-soft": "#ffcdc4",
1665
1692
  "sem-error-on-solid": "#ffffff",
1666
1693
  "sem-error-soft": "#fe000037",
1667
1694
  "sem-error-soft-hover": "#fe000053",
@@ -1671,12 +1698,14 @@
1671
1698
  "sem-error-surface-hover": "#fe000037",
1672
1699
  "sem-error-ui": "#fe11119a",
1673
1700
  "sem-error-ui-hover": "#ff191acc",
1701
+ "sem-focus-ring": "#71b8ff",
1674
1702
  "sem-gray-contrast": "#ffffff",
1675
1703
  "sem-gray-default": "#fdfdffef",
1676
1704
  "sem-gray-disabled": "#eee7ff5d",
1677
1705
  "sem-gray-high-contrast": "#fdfdffef",
1678
1706
  "sem-gray-light": "#f5f1ffb7",
1679
1707
  "sem-gray-on-high-contrast": "#121113",
1708
+ "sem-gray-on-soft": "#fdfdffef",
1680
1709
  "sem-gray-on-solid": "#ffffff",
1681
1710
  "sem-gray-soft": "#ebeaf814",
1682
1711
  "sem-gray-soft-hover": "#eee5f81d",
@@ -1692,6 +1721,7 @@
1692
1721
  "sem-green-high-contrast": "#bbffd7f0",
1693
1722
  "sem-green-light": "#46fea5d4",
1694
1723
  "sem-green-on-high-contrast": "#0e1512",
1724
+ "sem-green-on-soft": "#bbffd7f0",
1695
1725
  "sem-green-on-solid": "#ffffff",
1696
1726
  "sem-green-soft": "#22ff991e",
1697
1727
  "sem-green-soft-hover": "#11ff992d",
@@ -1707,6 +1737,7 @@
1707
1737
  "sem-indigo-high-contrast": "#d6e1ff",
1708
1738
  "sem-indigo-light": "#9eb1ff",
1709
1739
  "sem-indigo-on-high-contrast": "#11131f",
1740
+ "sem-indigo-on-soft": "#d6e1ff",
1710
1741
  "sem-indigo-on-solid": "#ffffff",
1711
1742
  "sem-indigo-soft": "#2f62ff3c",
1712
1743
  "sem-indigo-soft-hover": "#3566ff57",
@@ -1722,6 +1753,7 @@
1722
1753
  "sem-info-high-contrast": "#c2e6ff",
1723
1754
  "sem-info-light": "#70b8ff",
1724
1755
  "sem-info-on-high-contrast": "#0d1520",
1756
+ "sem-info-on-soft": "#c2e6ff",
1725
1757
  "sem-info-on-solid": "#ffffff",
1726
1758
  "sem-info-soft": "#0077ff3a",
1727
1759
  "sem-info-soft-hover": "#0075ff57",
@@ -1740,6 +1772,7 @@
1740
1772
  "sem-lime-high-contrast": "#e9febff7",
1741
1773
  "sem-lime-light": "#d1fe77e4",
1742
1774
  "sem-lime-on-high-contrast": "#11130c",
1775
+ "sem-lime-on-soft": "#e9febff7",
1743
1776
  "sem-lime-on-solid": "#1d211c",
1744
1777
  "sem-lime-soft": "#9bfd4c1a",
1745
1778
  "sem-lime-soft-hover": "#a7fe5c29",
@@ -1755,6 +1788,7 @@
1755
1788
  "sem-mauve-high-contrast": "#fdfdffef",
1756
1789
  "sem-mauve-light": "#f5f1ffb7",
1757
1790
  "sem-mauve-on-high-contrast": "#121113",
1791
+ "sem-mauve-on-soft": "#fdfdffef",
1758
1792
  "sem-mauve-on-solid": "#ffffff",
1759
1793
  "sem-mauve-soft": "#ebeaf814",
1760
1794
  "sem-mauve-soft-hover": "#eee5f81d",
@@ -1770,6 +1804,7 @@
1770
1804
  "sem-mint-high-contrast": "#cbfee9f5",
1771
1805
  "sem-mint-light": "#67ffded2",
1772
1806
  "sem-mint-on-high-contrast": "#0e1515",
1807
+ "sem-mint-on-soft": "#cbfee9f5",
1773
1808
  "sem-mint-on-solid": "#1a211e",
1774
1809
  "sem-mint-soft": "#00fff61d",
1775
1810
  "sem-mint-soft-hover": "#00fff42c",
@@ -1785,6 +1820,7 @@
1785
1820
  "sem-orange-high-contrast": "#ffe0c2",
1786
1821
  "sem-orange-light": "#ffa057",
1787
1822
  "sem-orange-on-high-contrast": "#17120e",
1823
+ "sem-orange-on-soft": "#ffe0c2",
1788
1824
  "sem-orange-on-solid": "#ffffff",
1789
1825
  "sem-orange-soft": "#fb6a0025",
1790
1826
  "sem-orange-soft-hover": "#ff590039",
@@ -1800,6 +1836,7 @@
1800
1836
  "sem-pink-high-contrast": "#ffd3ecfd",
1801
1837
  "sem-pink-light": "#ff8dcc",
1802
1838
  "sem-pink-on-high-contrast": "#191117",
1839
+ "sem-pink-on-soft": "#ffd3ecfd",
1803
1840
  "sem-pink-on-solid": "#ffffff",
1804
1841
  "sem-pink-soft": "#fe37cc29",
1805
1842
  "sem-pink-soft-hover": "#fc1ec43f",
@@ -1815,6 +1852,7 @@
1815
1852
  "sem-purple-high-contrast": "#f1ddfffa",
1816
1853
  "sem-purple-light": "#d19dff",
1817
1854
  "sem-purple-on-high-contrast": "#18111b",
1855
+ "sem-purple-on-soft": "#f1ddfffa",
1818
1856
  "sem-purple-on-solid": "#ffffff",
1819
1857
  "sem-purple-soft": "#c150ff2d",
1820
1858
  "sem-purple-soft-hover": "#bb53fd42",
@@ -1830,6 +1868,7 @@
1830
1868
  "sem-red-high-contrast": "#ffcdc4",
1831
1869
  "sem-red-light": "#ff9081",
1832
1870
  "sem-red-on-high-contrast": "#190e0c",
1871
+ "sem-red-on-soft": "#ffcdc4",
1833
1872
  "sem-red-on-solid": "#ffffff",
1834
1873
  "sem-red-soft": "#fe000037",
1835
1874
  "sem-red-soft-hover": "#fe000053",
@@ -1845,6 +1884,7 @@
1845
1884
  "sem-sky-high-contrast": "#c2f3ff",
1846
1885
  "sem-sky-light": "#7cd3ffef",
1847
1886
  "sem-sky-on-high-contrast": "#0d141f",
1887
+ "sem-sky-on-soft": "#c2f3ff",
1848
1888
  "sem-sky-on-solid": "#1c2024",
1849
1889
  "sem-sky-soft": "#1184fc33",
1850
1890
  "sem-sky-soft-hover": "#128fff49",
@@ -1860,6 +1900,7 @@
1860
1900
  "sem-success-high-contrast": "#bbffd7f0",
1861
1901
  "sem-success-light": "#46fea5d4",
1862
1902
  "sem-success-on-high-contrast": "#0e1512",
1903
+ "sem-success-on-soft": "#bbffd7f0",
1863
1904
  "sem-success-on-solid": "#ffffff",
1864
1905
  "sem-success-soft": "#22ff991e",
1865
1906
  "sem-success-soft-hover": "#11ff992d",
@@ -1875,6 +1916,7 @@
1875
1916
  "sem-teal-high-contrast": "#b8ffebef",
1876
1917
  "sem-teal-light": "#0afed5d6",
1877
1918
  "sem-teal-on-high-contrast": "#0d1514",
1919
+ "sem-teal-on-soft": "#b8ffebef",
1878
1920
  "sem-teal-on-solid": "#ffffff",
1879
1921
  "sem-teal-soft": "#00ffe61e",
1880
1922
  "sem-teal-soft-hover": "#00ffe92d",
@@ -1890,6 +1932,7 @@
1890
1932
  "sem-warning-high-contrast": "#ffe0c2",
1891
1933
  "sem-warning-light": "#ffa057",
1892
1934
  "sem-warning-on-high-contrast": "#17120e",
1935
+ "sem-warning-on-soft": "#ffe0c2",
1893
1936
  "sem-warning-on-solid": "#ffffff",
1894
1937
  "sem-warning-soft": "#fb6a0025",
1895
1938
  "sem-warning-soft-hover": "#ff590039",
@@ -1905,6 +1948,7 @@
1905
1948
  "sem-yellow-high-contrast": "#fef6baf6",
1906
1949
  "sem-yellow-light": "#fee949f5",
1907
1950
  "sem-yellow-on-high-contrast": "#14120b",
1951
+ "sem-yellow-on-soft": "#fef6baf6",
1908
1952
  "sem-yellow-on-solid": "#21201c",
1909
1953
  "sem-yellow-soft": "#ffaa001e",
1910
1954
  "sem-yellow-soft-hover": "#fdb70028",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/volt-ui-experimental-griffel",
3
- "version": "0.2.0",
3
+ "version": "0.2.3",
4
4
  "description": "Experimental Volt UI rebuild: Radix primitives styled with Griffel, bundled per micro-frontend instead of shared as a singleton",
5
5
  "type": "module",
6
6
  "repository": {
@@ -10,6 +10,7 @@
10
10
  },
11
11
  "module": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts",
13
+ "main": "./dist/index.js",
13
14
  "exports": {
14
15
  ".": {
15
16
  "types": "./dist/index.d.ts",
@@ -20,13 +21,17 @@
20
21
  "import": "./dist/tokens/index.js"
21
22
  },
22
23
  "./tokens.json": "./dist/tokens.json",
24
+ "./testing/jest-preset.cjs": "./testing/jest-preset.cjs",
23
25
  "./package.json": "./package.json"
24
26
  },
25
27
  "files": [
26
28
  "dist",
29
+ "testing",
27
30
  "tokens.js",
28
31
  "tokens.d.ts",
29
- "README.md"
32
+ "README.md",
33
+ "AGENTS.md",
34
+ "AUTHORING.md"
30
35
  ],
31
36
  "sideEffects": false,
32
37
  "publishConfig": {
@@ -36,7 +41,7 @@
36
41
  },
37
42
  "scripts": {
38
43
  "prepack": "bun run build",
39
- "build": "rm -rf dist && bun run tokens && tsc --project tsconfig.build.json && vite build && cp src/tokens/values.generated.json dist/tokens.json",
44
+ "build": "rm -rf dist && bun run tokens && tsc --project tsconfig.build.json && vite build && node scripts/bundle-dts.mjs && cp src/tokens/values.generated.json dist/tokens.json",
40
45
  "tokens": "bun ../tokens/scripts/build.ts",
41
46
  "test": "vitest run",
42
47
  "react18:test": "vitest run --config vitest.react18.config.ts",
@@ -47,10 +52,11 @@
47
52
  "release": "npm publish --tag experiment",
48
53
  "gate:token-value-skew": "node gates/token-value-skew/run.mjs",
49
54
  "gate:class-salt-skew": "node gates/class-salt-skew/run.mjs",
50
- "gates": "bun run gate:vr && bun run gate:isolation && bun run gate:token-value-skew && bun run gate:class-salt-skew && bun run gate:cascade && bun run gate:griffel-contract",
55
+ "gates": "bun run gate:vr && bun run gate:isolation && bun run gate:token-value-skew && bun run gate:class-salt-skew && bun run gate:cascade && bun run gate:griffel-contract && bun run gate:dts-self-contained",
51
56
  "measure:coresidency": "bun scripts/pilot-coresidency.mjs",
52
57
  "migration:sweep": "bun scripts/migration-sweep.mjs",
53
- "gate:one-bare-specifier": "node gates/one-bare-specifier.mjs"
58
+ "gate:one-bare-specifier": "node gates/one-bare-specifier.mjs",
59
+ "gate:dts-self-contained": "node gates/dts-self-contained.mjs"
54
60
  },
55
61
  "peerDependencies": {
56
62
  "react": ">=18",
@@ -88,6 +94,7 @@
88
94
  "react-18": "npm:react@^18.3.1",
89
95
  "react-dom-18": "npm:react-dom@^18.3.1",
90
96
  "rifm": "0.12.1",
97
+ "rollup-plugin-dts": "^6.5.1",
91
98
  "sonner": "2.0.7",
92
99
  "typescript": "^5.6.3",
93
100
  "vite": "^5.4.9",
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Jest/Vitest configuration for consumers of this package.
3
+ *
4
+ * WHY THIS EXISTS. The package is ESM-only. Jest 26 and 27 ignore the `exports` field, so before
5
+ * 0.2.2 a bare `@epilot/volt-ui-experimental-griffel` resolved to nothing and every suite that
6
+ * rendered a component died with "Cannot find module". Both pilot MFEs hit it; one hand-wrote
7
+ * `moduleNameMapper: { '^@epilot/…$': '<rootDir>/../../../node_modules/@epilot/…/dist/index.js' }`,
8
+ * a path that breaks the moment hoisting changes.
9
+ *
10
+ * 0.2.2 adds a `main` field, so those resolvers now find `dist/index.js` on their own and no
11
+ * mapping is needed. What is still needed is a TRANSFORM: the file they resolve is ESM, and Jest's
12
+ * default `transformIgnorePatterns` skips everything in `node_modules`. That is what this file
13
+ * supplies.
14
+ *
15
+ * There is deliberately no CommonJS build. The runtime keeps module-level state — `sheet.ts` holds
16
+ * the `installed` Set that dedups token sheets, and one shared renderer — and a dual ESM/CJS build
17
+ * would give a consumer two copies of it. That breaks the single-insertion-point and single-renderer
18
+ * guarantees `gate:isolation` and `gate:griffel-contract` assert. One format is a correctness
19
+ * requirement here, not an oversight. See DECISIONS D13.
20
+ *
21
+ * USAGE — spread it into your own config:
22
+ *
23
+ * const griffel = require("@epilot/volt-ui-experimental-griffel/testing/jest-preset.cjs")
24
+ *
25
+ * module.exports = griffel.withGriffel({
26
+ * preset: "ts-jest",
27
+ * // …your config…
28
+ * }, { alsoTransform: ["@xyflow"] })
29
+ *
30
+ * Requires `babel-jest` and `@babel/preset-env` as devDependencies. If you already transform JS in
31
+ * `node_modules` with something else, take `transformIgnorePatterns` from here and keep your own
32
+ * `transform`.
33
+ */
34
+ const PACKAGE_NAME = "@epilot/volt-ui-experimental-griffel"
35
+
36
+ /** Transform for the ESM this package ships. Keyed on `.js`/`.mjs`, which is all it emits. */
37
+ const transform = {
38
+ "^.+\\.m?js$": [
39
+ "babel-jest",
40
+ { presets: [["@babel/preset-env", { targets: { node: "current" } }]] },
41
+ ],
42
+ }
43
+
44
+ /**
45
+ * Jest ignores a file if ANY pattern matches, so an extra pattern cannot un-ignore what the
46
+ * default `/node_modules/` already caught — the array has to be replaced, not appended to. Hence
47
+ * the explicit `alsoTransform` list rather than a merge.
48
+ */
49
+ const transformIgnorePatterns = (alsoTransform = []) => [
50
+ `node_modules/(?!(${[PACKAGE_NAME, ...alsoTransform].join("|")})/)`,
51
+ ]
52
+
53
+ const withGriffel = (config = {}, { alsoTransform = [] } = {}) => ({
54
+ ...config,
55
+ transform: { ...transform, ...config.transform },
56
+ transformIgnorePatterns: transformIgnorePatterns(alsoTransform),
57
+ })
58
+
59
+ module.exports = {
60
+ PACKAGE_NAME,
61
+ transform,
62
+ transformIgnorePatterns: transformIgnorePatterns(),
63
+ withGriffel,
64
+ }
@@ -1,14 +0,0 @@
1
- import * as React from "react";
2
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
3
- export type AccordionType = "single" | "multiple";
4
- export type AccordionAlign = "start" | "end";
5
- export type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>;
6
- export type AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>;
7
- export type AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger> & {
8
- align?: AccordionAlign;
9
- };
10
- export type AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Content>;
11
- export declare const Accordion: React.ForwardRefExoticComponent<(Omit<AccordionPrimitive.AccordionSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<AccordionPrimitive.AccordionMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & React.RefAttributes<HTMLDivElement>>;
12
- export declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
- export declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
14
- export declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,36 +0,0 @@
1
- import * as React from "react";
2
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
- import { type ButtonProps, type ButtonSize, type ButtonVariant } from "../button/button";
4
- export type AlertDialogProps = React.ComponentProps<typeof AlertDialogPrimitive.Root>;
5
- export type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogPrimitive.Trigger>;
6
- export type AlertDialogPortalProps = React.ComponentProps<typeof AlertDialogPrimitive.Portal>;
7
- export type AlertDialogOverlayProps = React.ComponentProps<typeof AlertDialogPrimitive.Overlay>;
8
- export type AlertDialogSize = "xl" | "lg" | "md" | "sm";
9
- export type AlertDialogContentProps = React.ComponentProps<typeof AlertDialogPrimitive.Content> & {
10
- size?: AlertDialogSize;
11
- };
12
- export type AlertDialogHeaderProps = React.ComponentProps<"div">;
13
- export type AlertDialogFooterProps = React.ComponentProps<"div">;
14
- export type AlertDialogTitleProps = React.ComponentProps<typeof AlertDialogPrimitive.Title>;
15
- export type AlertDialogDescriptionProps = React.ComponentProps<typeof AlertDialogPrimitive.Description>;
16
- export type AlertDialogActionProps = Omit<ButtonProps, "variant" | "size" | "destructive"> & {
17
- variant?: ButtonVariant;
18
- size?: ButtonSize;
19
- destructive?: boolean;
20
- };
21
- export type AlertDialogCancelProps = Omit<ButtonProps, "variant" | "size" | "destructive"> & {
22
- variant?: ButtonVariant;
23
- size?: ButtonSize;
24
- destructive?: boolean;
25
- };
26
- export declare const AlertDialog: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogProps & React.RefAttributes<HTMLElement>>;
27
- export declare const AlertDialogTrigger: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
28
- export declare const AlertDialogPortal: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogPortalProps & React.RefAttributes<HTMLElement>>;
29
- export declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
30
- export declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<AlertDialogContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
31
- export declare const AlertDialogHeader: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
32
- export declare const AlertDialogFooter: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
33
- export declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
34
- export declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
35
- export declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogActionProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
36
- export declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogCancelProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
@@ -1,7 +0,0 @@
1
- import * as React from "react";
2
- import { type AvatarSize } from "./avatar";
3
- export type AvatarGroupProps = Omit<React.ComponentProps<"div">, "color"> & {
4
- max?: number;
5
- size?: AvatarSize;
6
- };
7
- export declare const AvatarGroup: React.ForwardRefExoticComponent<Omit<AvatarGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,17 +0,0 @@
1
- import * as React from "react";
2
- import * as AvatarPrimitive from "@radix-ui/react-avatar";
3
- export type AvatarColor = "gray" | "blue" | "sky" | "cyan" | "teal" | "mint" | "green" | "lime" | "yellow" | "orange" | "bronze" | "red" | "pink" | "purple" | "indigo";
4
- export type AvatarSize = "sm" | "base" | "lg";
5
- declare const AvatarGroupContext: React.Context<{
6
- size?: AvatarSize;
7
- } | null>;
8
- export type AvatarProps = Omit<React.ComponentProps<typeof AvatarPrimitive.Root>, "className" | "color" | "children"> & {
9
- className?: string;
10
- src?: string;
11
- alt?: string;
12
- initials?: string;
13
- color?: AvatarColor;
14
- size?: AvatarSize;
15
- };
16
- export declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
17
- export { AvatarGroupContext };
@@ -1,41 +0,0 @@
1
- import * as React from "react";
2
- /**
3
- * REFERENCE COMPONENT — the colour-matrix collapse. Read this before writing another component
4
- * that takes a `color` prop.
5
- *
6
- * v1 enumerates 20 colours x 3 styles as 60 `compoundVariants`, each a distinct class string like
7
- * `volt-bg-mint-soft`. Because those names are built by interpolation, Tailwind's scanner cannot
8
- * see them, which is what `safelist.css` exists to force — 9 lines that emit ~945 rules, 65.6 KB
9
- * and 59% of v1's entire rule count. The Griffel PoC carried the same shape forward as 60 static
10
- * style objects.
11
- *
12
- * Here the colour is a VALUE, not part of a class name. Three atoms read three custom properties;
13
- * the component sets those properties inline from the `color` prop. Total rules: one small set per
14
- * style variant, regardless of how many colours exist. Adding a 22nd palette family costs zero
15
- * rules.
16
- *
17
- * Two consequences worth knowing:
18
- * - `color` may legitimately arrive from a runtime expression (`getColorForEntityLabel(label)` and
19
- * `WCAG_BADGE_MAP[level].color` both exist in consumer code today), which no build step can
20
- * resolve. That is exactly why the palette sheet cannot be statically shaken, and why this
21
- * component calls `ensurePaletteTokens()`.
22
- * - Selectors key on SLOT_ATTR, never on `data-slot`. `data-slot` values are shared with v1, so a
23
- * rule keyed on one also matches v1-rendered DOM — the StyleX track had a v1 icon compute to
24
- * 0x0 through a green gate this way. `data-slot` is still emitted, purely as a diagnostic.
25
- */
26
- declare const COLORS: readonly ["accent", "neutral", "gray", "success", "warning", "error", "info", "blue", "sky", "mint", "lime", "green", "teal", "cyan", "indigo", "purple", "pink", "red", "orange", "yellow", "bronze"];
27
- export type BadgeColor = (typeof COLORS)[number];
28
- export type BadgeVariant = "soft" | "solid" | "surface";
29
- export type BadgeSize = "sm" | "base" | "lg";
30
- export type BadgeProps = Omit<React.ComponentProps<"span">, "color"> & {
31
- color?: BadgeColor;
32
- /**
33
- * Named `variant`, not `style`. v1 called this `style`, which shadows the HTML `style` attribute
34
- * and made a badge unable to take both a visual treatment and an inline style. Retrocompat is
35
- * not a requirement here, so the collision is fixed rather than inherited.
36
- */
37
- variant?: BadgeVariant;
38
- size?: BadgeSize;
39
- };
40
- export declare const Badge: React.ForwardRefExoticComponent<Omit<BadgeProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
41
- export { COLORS as BADGE_COLORS };
@@ -1,37 +0,0 @@
1
- import * as React from "react";
2
- /**
3
- * Breadcrumb — Card's compound pattern applied to the nav / ol / li structure.
4
- *
5
- * v1's `Breadcrumb` walks its children and interleaves a presentational separator `<li>` between
6
- * them; `BreadcrumbItem` decides between a link and a plain page by whether a `href` exists. The
7
- * `nav` / `ol` / `li` semantics and the `aria-current="page"` handling are the real value of this
8
- * component and are reproduced exactly.
9
- *
10
- * v1 renders the link branch through Radix `Slot` when `asChild` is set — dropped here per
11
- * CONVENTIONS rule 6 (no Radix dependency). There is no `asChild` escape hatch; a consumer wanting
12
- * a non-`<a>` link anchors it themselves.
13
- *
14
- * `BreadcrumbItem` with a `href` renders an `<a>` (slot `breadcrumb-link`); without one, a `<span>`
15
- * (slot `breadcrumb-page`). Either way the item is wrapped in a `breadcrumb-item` `<li>`. The nav
16
- * itself has no base styles in v1 — it is left to the caller's className — so it carries only the
17
- * slot attributes.
18
- *
19
- * The link's `transition-colors` expands to Tailwind v4's default property list plus the 150ms
20
- * `cubic-bezier(0.4, 0, 0.2, 1)` easing — literals from the framework's default theme, which is
21
- * visible motion and cannot be read from the v1 file (Rule 0: flagged, not approximated away).
22
- */
23
- export type BreadcrumbProps = React.ComponentProps<"nav"> & {
24
- separator?: React.ReactNode;
25
- };
26
- export declare const Breadcrumb: React.ForwardRefExoticComponent<Omit<BreadcrumbProps, "ref"> & React.RefAttributes<HTMLElement>>;
27
- export type BreadcrumbItemProps = Omit<React.ComponentProps<"a">, "href"> & {
28
- href?: string;
29
- isCurrent?: boolean;
30
- /**
31
- * Render the child instead of the built-in `a`, keeping the link styling and slot markers. This
32
- * is how a consumer supplies a router link. v1 supports it; it was dropped here while the package
33
- * was on Base UI and restored once it moved back to Radix.
34
- */
35
- asChild?: boolean;
36
- };
37
- export declare const BreadcrumbItem: React.ForwardRefExoticComponent<Omit<BreadcrumbItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
@@ -1,18 +0,0 @@
1
- import * as React from "react";
2
- export type ButtonVariant = "primary" | "secondary" | "tertiary" | "ghost";
3
- export type ButtonSize = "xs" | "sm" | "base" | "lg" | "icon-xs" | "icon-sm" | "icon" | "icon-lg";
4
- export type ButtonShape = "normal" | "rounded";
5
- export type ButtonProps = Omit<React.ComponentProps<"button">, "variant" | "size" | "shape" | "destructive" | "className" | "render"> & {
6
- variant?: ButtonVariant;
7
- size?: ButtonSize;
8
- shape?: ButtonShape;
9
- destructive?: boolean;
10
- className?: string;
11
- /**
12
- * Render the child element instead of a `button`, keeping Button's styling and slot markers.
13
- * v1 supports this and consumers rely on it to wrap links; it was dropped here while the package
14
- * was briefly on Base UI, and restored once it moved back to Radix.
15
- */
16
- asChild?: boolean;
17
- };
18
- export declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;