@bitrix24/b24ui-nuxt 0.2.1 → 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 (44) hide show
  1. package/.nuxt/b24ui/button.ts +9 -2
  2. package/.nuxt/b24ui/checkbox.ts +1 -1
  3. package/.nuxt/b24ui/dropdown-menu.ts +235 -0
  4. package/.nuxt/b24ui/index.ts +2 -0
  5. package/.nuxt/b24ui/input-menu.ts +1 -1
  6. package/.nuxt/b24ui/modal.ts +28 -0
  7. package/.nuxt/b24ui/radio-group.ts +1 -1
  8. package/.nuxt/b24ui/range.ts +1 -1
  9. package/.nuxt/b24ui/select-menu.ts +1 -1
  10. package/.nuxt/b24ui/select.ts +1 -1
  11. package/.nuxt/b24ui/switch.ts +1 -1
  12. package/.nuxt/b24ui/tabs.ts +2 -2
  13. package/.nuxt/b24ui/toaster.ts +4 -4
  14. package/.nuxt/b24ui.css +2 -0
  15. package/dist/meta.cjs +9050 -1027
  16. package/dist/meta.d.cts +9050 -1027
  17. package/dist/meta.d.mts +9050 -1027
  18. package/dist/meta.d.ts +9050 -1027
  19. package/dist/meta.mjs +9050 -1027
  20. package/dist/module.cjs +1 -1
  21. package/dist/module.json +1 -1
  22. package/dist/module.mjs +1 -1
  23. package/dist/runtime/components/App.vue +2 -2
  24. package/dist/runtime/components/DropdownMenu.vue +135 -0
  25. package/dist/runtime/components/DropdownMenuContent.vue +182 -0
  26. package/dist/runtime/components/Modal.vue +179 -0
  27. package/dist/runtime/components/ModalDialogClose.vue +17 -0
  28. package/dist/runtime/components/ModalProvider.vue +12 -0
  29. package/dist/runtime/composables/useComponentIcons.d.ts +2 -2
  30. package/dist/runtime/composables/useModal.d.ts +17 -0
  31. package/dist/runtime/composables/useModal.js +46 -0
  32. package/dist/runtime/index.css +1 -1
  33. package/dist/runtime/plugins/modal.d.ts +2 -0
  34. package/dist/runtime/plugins/modal.js +10 -0
  35. package/dist/runtime/types/index.d.ts +3 -0
  36. package/dist/runtime/types/index.js +3 -0
  37. package/dist/runtime/vue/components/Link.vue +1 -0
  38. package/dist/shared/{b24ui-nuxt.D5cXbZSx.cjs → b24ui-nuxt.Ce3hzs_q.cjs} +440 -26
  39. package/dist/shared/{b24ui-nuxt.CrjojW8t.mjs → b24ui-nuxt.DY8ePXC7.mjs} +440 -26
  40. package/dist/unplugin.cjs +1 -1
  41. package/dist/unplugin.mjs +1 -1
  42. package/dist/vite.cjs +1 -1
  43. package/dist/vite.mjs +1 -1
  44. package/package.json +12 -8
@@ -720,7 +720,8 @@ const button = {
720
720
  slots: {
721
721
  base: [
722
722
  "select-none cursor-pointer inline-flex items-center",
723
- "relative focus:outline-hidden",
723
+ "relative",
724
+ "outline-transparent focus:outline-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
724
725
  "disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-50 aria-disabled:opacity-50",
725
726
  "transition duration-150 ease-linear"
726
727
  // transition-colors
@@ -737,7 +738,6 @@ const button = {
737
738
  variants: {
738
739
  ...buttonGroupVariant,
739
740
  color: {
740
- // DEFAULT ////
741
741
  default: [
742
742
  "text-white dark:text-base-100 bg-base-650 border border-base-650",
743
743
  "hover:bg-base-850 hover:border-base-850 hover:focus-visible:ring-0",
@@ -754,7 +754,6 @@ const button = {
754
754
  "focus-visible:outline-red-720",
755
755
  "ring-red-800 focus-visible:ring-red-800"
756
756
  ].join(" "),
757
- // SUCCESS ////
758
757
  success: [
759
758
  "text-base-900 bg-green-450 border border-green-450",
760
759
  "hover:bg-green-370 hover:border-green-370 hover:focus-visible:ring-0",
@@ -763,7 +762,6 @@ const button = {
763
762
  "focus-visible:outline-green-450",
764
763
  "ring-green-500 focus-visible:ring-green-500"
765
764
  ].join(" "),
766
- // new WARNING ////
767
765
  warning: [
768
766
  "text-white dark:text-orange-100 bg-orange-500 border border-orange-500",
769
767
  "hover:bg-orange-500/75 hover:border-orange-500/75 hover:focus-visible:ring-0",
@@ -772,7 +770,6 @@ const button = {
772
770
  "focus-visible:outline-orange-500",
773
771
  "ring-orange-800 focus-visible:ring-orange-800"
774
772
  ].join(" "),
775
- // PRIMARY ////
776
773
  primary: [
777
774
  "text-white dark:text-blue-100 bg-blue-530 border border-blue-530",
778
775
  "hover:bg-blue-450 hover:border-blue-450 hover:focus-visible:ring-0",
@@ -781,7 +778,6 @@ const button = {
781
778
  "focus-visible:outline-blue-530",
782
779
  "ring-blue-800 focus-visible:ring-blue-800"
783
780
  ].join(" "),
784
- // SECONDARY ////
785
781
  secondary: [
786
782
  "text-base-900 bg-cyan-160 border border-cyan-230",
787
783
  "hover:bg-cyan-150 hover:border-cyan-230 hover:focus-visible:ring-0",
@@ -790,7 +786,6 @@ const button = {
790
786
  "focus-visible:outline-cyan-160",
791
787
  "ring-cyan-500 focus-visible:ring-cyan-500"
792
788
  ].join(" "),
793
- // COLLAB ////
794
789
  collab: [
795
790
  "text-white dark:text-collab-100 bg-collab-600 border border-collab-600",
796
791
  "hover:bg-collab-500 hover:border-collab-500 hover:focus-visible:ring-0",
@@ -799,7 +794,6 @@ const button = {
799
794
  "focus-visible:outline-collab-600",
800
795
  "ring-collab-900 focus-visible:ring-collab-900"
801
796
  ].join(" "),
802
- // AI ////
803
797
  ai: [
804
798
  "text-white dark:text-ai-100 bg-ai-450 border border-ai-450",
805
799
  "hover:bg-ai-370 hover:border-ai-370 hover:focus-visible:ring-0",
@@ -808,7 +802,6 @@ const button = {
808
802
  "focus-visible:outline-ai-450",
809
803
  "ring-ai-900 focus-visible:ring-ai-900"
810
804
  ].join(" "),
811
- // LINK ////
812
805
  link: [
813
806
  "no-underline decoration-solid decoration-auto",
814
807
  "text-base-900 decoration-gray-900 bg-transparent border border-transparent dark:text-base-300",
@@ -896,7 +889,6 @@ const button = {
896
889
  compoundVariants: [
897
890
  // region default ////
898
891
  {
899
- // BASE_LIGHT ////
900
892
  color: "default",
901
893
  depth: "light",
902
894
  class: [
@@ -904,7 +896,8 @@ const button = {
904
896
  "hover:bg-base-320 hover:border-base-320 hover:focus-visible:ring-0",
905
897
  "active:bg-base-250 active:border-base-250 active:focus-visible:ring-0",
906
898
  "disabled:bg-base-200 aria-disabled:bg-base-200 disabled:border-base-300 aria-disabled:border-base-300",
907
- "focus-visible:outline-base-200"
899
+ "focus-visible:outline-base-200",
900
+ "ring-base-320 focus-visible:ring-base-320"
908
901
  ].join(" ")
909
902
  },
910
903
  {
@@ -1125,12 +1118,18 @@ const button = {
1125
1118
  ].join(" ")
1126
1119
  },
1127
1120
  {
1128
- // LIGHT_BORDER ////
1121
+ // LINK ////
1129
1122
  color: "link",
1130
1123
  depth: "light",
1131
1124
  useLabel: true,
1132
1125
  class: "ps-1.5 pe-1.5"
1133
1126
  },
1127
+ {
1128
+ color: "link",
1129
+ depth: "normal",
1130
+ useLabel: true,
1131
+ class: "ps-0 pe-0"
1132
+ },
1134
1133
  {
1135
1134
  // LIGHT_BORDER ////
1136
1135
  color: "link",
@@ -1266,7 +1265,11 @@ const button = {
1266
1265
  const checkbox = {
1267
1266
  slots: {
1268
1267
  root: "relative flex items-start",
1269
- base: "cursor-pointer shrink-0 flex items-center justify-center rounded-2xs text-white dark:text-base-150 ring ring-inset ring-base-300 dark:ring-base-700 focus-visible:outline-2 focus-visible:outline-offset-2",
1268
+ base: [
1269
+ "cursor-pointer shrink-0 flex items-center justify-center rounded-2xs text-white dark:text-base-150",
1270
+ "ring ring-inset ring-base-300 dark:ring-base-700",
1271
+ "outline-transparent focus-visible:outline-2 focus-visible:outline-offset-2"
1272
+ ].join(" "),
1270
1273
  container: "flex items-center",
1271
1274
  wrapper: "font-b24-primary ms-2",
1272
1275
  icon: "shrink-0 size-full",
@@ -1599,6 +1602,359 @@ const countdown = {
1599
1602
  }
1600
1603
  };
1601
1604
 
1605
+ const dropdownMenu = {
1606
+ slots: {
1607
+ content: [
1608
+ "min-w-32",
1609
+ "bg-white dark:bg-base-dark",
1610
+ "shadow-lg rounded-2xs ring ring-base-300 dark:ring-base-800",
1611
+ "overflow-y-auto",
1612
+ "data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
1613
+ "divide-y divide-base-master/10 dark:divide-base-100/20 scroll-py-1",
1614
+ "pointer-events-auto"
1615
+ ].join(" "),
1616
+ arrow: "fill-base-master/10 dark:fill-base-100/20",
1617
+ group: "p-1 isolate",
1618
+ label: [
1619
+ "w-full flex items-center",
1620
+ "font-semibold text-base-900 dark:text-base-200"
1621
+ ].join(" "),
1622
+ separator: "-mx-1 my-1 h-px bg-base-master/10 dark:bg-base-100/20",
1623
+ item: [
1624
+ "group relative w-full flex items-center select-none outline-none",
1625
+ "before:absolute before:z-[-1] before:inset-px before:rounded-2xs",
1626
+ "cursor-pointer",
1627
+ "data-disabled:cursor-not-allowed data-disabled:opacity-75",
1628
+ "text-base-master dark:text-base-150",
1629
+ "data-highlighted:text-base-900 dark:data-highlighted:text-base-200 data-highlighted:before:bg-base-100/50 dark:data-highlighted:before:bg-base-900",
1630
+ // 'data-[state=checked]:text-base-900 dark:data-[state=checked]:text-base-200 data-[state=checked]:before:bg-base-100/50 dark:data-[state=checked]:before:bg-base-900',
1631
+ "transition-colors before:transition-colors"
1632
+ ].join(" "),
1633
+ itemLeadingIcon: [
1634
+ "shrink-0 text-base-500 dark:text-base-700",
1635
+ "group-data-highlighted:text-base-master dark:group-data-highlighted:text-base-150",
1636
+ "group-data-[state=checked]:text-base-master dark:group-data-[state=checked]:text-base-150",
1637
+ "transition-colors"
1638
+ ].join(" "),
1639
+ itemLeadingAvatar: "shrink-0",
1640
+ itemLeadingAvatarSize: "",
1641
+ itemTrailing: "ms-auto inline-flex gap-1.5 items-center",
1642
+ itemTrailingIcon: "shrink-0",
1643
+ itemTrailingKbds: "hidden lg:inline-flex items-center shrink-0",
1644
+ itemTrailingKbdsSize: "",
1645
+ itemLabel: "truncate",
1646
+ itemLabelExternalIcon: "inline-block size-3 align-top text-base-500 dark:text-base-700"
1647
+ },
1648
+ variants: {
1649
+ color: {
1650
+ default: "",
1651
+ danger: "",
1652
+ success: "",
1653
+ warning: "",
1654
+ primary: "",
1655
+ secondary: "",
1656
+ collab: "",
1657
+ ai: ""
1658
+ },
1659
+ active: {
1660
+ false: {
1661
+ item: [
1662
+ "text-base-master data-highlighted:text-base-900 data-highlighted:before:bg-base-100/50 data-[state=open]:text-base-900 data-[state=open]:before:bg-base-100/50",
1663
+ "dark:text-base-150 dark:data-highlighted:text-base-200 dark:data-highlighted:before:bg-base-900 dark:data-[state=open]:text-base-200 dark:data-[state=open]:before:bg-base-900",
1664
+ "transition-colors before:transition-colors"
1665
+ ].join(" "),
1666
+ itemLeadingIcon: [
1667
+ "text-base-500 group-data-highlighted:text-base-master group-data-[state=open]:text-base-master",
1668
+ "dark:text-base-700 dark:group-data-highlighted:text-base-150 dark:group-data-[state=open]:text-base-150",
1669
+ "transition-colors"
1670
+ ].join(" ")
1671
+ },
1672
+ true: {
1673
+ item: [
1674
+ "text-base-900 before:bg-base-100/50",
1675
+ "dark:text-base-200 dark:before:bg-base-900"
1676
+ ].join(" "),
1677
+ itemLeadingIcon: [
1678
+ "text-base-master group-data-[state=open]:text-base-master",
1679
+ "dark:text-base-700"
1680
+ ].join(" ")
1681
+ }
1682
+ },
1683
+ loading: {
1684
+ true: {
1685
+ itemLeadingIcon: "animate-spin"
1686
+ }
1687
+ },
1688
+ size: {
1689
+ xs: {
1690
+ label: "p-1 text-xs gap-1",
1691
+ item: "p-1 text-xs gap-1",
1692
+ itemLeadingIcon: "size-4",
1693
+ itemLeadingAvatarSize: "3xs",
1694
+ itemTrailingIcon: "size-4",
1695
+ itemTrailingKbds: "gap-0.5",
1696
+ itemTrailingKbdsSize: "sm"
1697
+ },
1698
+ sm: {
1699
+ label: "p-1.5 text-xs gap-1.5",
1700
+ item: "p-1.5 text-xs gap-1.5",
1701
+ itemLeadingIcon: "size-4",
1702
+ itemLeadingAvatarSize: "3xs",
1703
+ itemTrailingIcon: "size-4",
1704
+ itemTrailingKbds: "gap-0.5",
1705
+ itemTrailingKbdsSize: "sm"
1706
+ },
1707
+ md: {
1708
+ label: "h-9 ps-2 pe-3 text-sm gap-2",
1709
+ item: "h-9 ps-3 pe-3 text-sm gap-2",
1710
+ itemLeadingIcon: "size-5",
1711
+ itemLeadingAvatarSize: "2xs",
1712
+ itemTrailingIcon: "size-3",
1713
+ itemTrailingKbds: "gap-0.5",
1714
+ itemTrailingKbdsSize: "md"
1715
+ },
1716
+ lg: {
1717
+ label: "p-2 text-sm gap-2",
1718
+ item: "p-2 text-sm gap-2",
1719
+ itemLeadingIcon: "size-5",
1720
+ itemLeadingAvatarSize: "2xs",
1721
+ itemTrailingIcon: "size-5",
1722
+ itemTrailingKbds: "gap-1",
1723
+ itemTrailingKbdsSize: "md"
1724
+ }
1725
+ }
1726
+ },
1727
+ compoundVariants: [
1728
+ {
1729
+ color: "default",
1730
+ active: false,
1731
+ class: {
1732
+ item: [
1733
+ "text-base-master data-highlighted:text-base-900 data-highlighted:before:bg-base-100/50 data-[state=open]:text-base-900 data-[state=open]:before:bg-base-100/50",
1734
+ "dark:text-base-150 dark:data-highlighted:text-base-200 dark:data-highlighted:before:bg-base-900 dark:data-[state=open]:text-base-200 dark:data-[state=open]:before:bg-base-900"
1735
+ ].join(" "),
1736
+ itemLeadingIcon: [
1737
+ "text-base-500 group-data-highlighted:text-base-master group-data-[state=open]:text-base-master",
1738
+ "dark:text-base-700 dark:group-data-highlighted:text-base-150 dark:group-data-[state=open]:text-base-150"
1739
+ ].join(" ")
1740
+ }
1741
+ },
1742
+ {
1743
+ color: "default",
1744
+ active: true,
1745
+ class: {
1746
+ item: [
1747
+ "text-base-900 before:bg-base-100/50",
1748
+ "dark:text-base-200 dark:before:bg-base-900"
1749
+ ].join(" "),
1750
+ itemLeadingIcon: [
1751
+ "text-base-master group-data-[state=open]:text-base-master",
1752
+ "dark:text-base-700"
1753
+ ].join(" ")
1754
+ }
1755
+ },
1756
+ {
1757
+ color: "danger",
1758
+ active: false,
1759
+ class: {
1760
+ item: [
1761
+ "text-red-950 data-highlighted:text-red-900 data-highlighted:before:bg-red-100 data-[state=open]:text-red-900 data-[state=open]:before:bg-red-100",
1762
+ "dark:text-red-150 dark:data-highlighted:text-red-200 dark:data-highlighted:before:bg-red-900 dark:data-[state=open]:text-red-200 dark:data-[state=open]:before:bg-red-900"
1763
+ ].join(" "),
1764
+ itemLeadingIcon: [
1765
+ "text-red-500 group-data-highlighted:text-red-950 group-data-[state=open]:text-red-950",
1766
+ "dark:text-red-700 dark:group-data-highlighted:text-red-150 dark:group-data-[state=open]:text-red-150"
1767
+ ].join(" ")
1768
+ }
1769
+ },
1770
+ {
1771
+ color: "danger",
1772
+ active: true,
1773
+ class: {
1774
+ item: [
1775
+ "text-red-900 before:bg-red-100",
1776
+ "dark:text-red-200 dark:before:bg-red-900"
1777
+ ].join(" "),
1778
+ itemLeadingIcon: [
1779
+ "text-red-950 group-data-[state=open]:text-red-950",
1780
+ "dark:text-red-700"
1781
+ ].join(" ")
1782
+ }
1783
+ },
1784
+ {
1785
+ color: "success",
1786
+ active: false,
1787
+ class: {
1788
+ item: [
1789
+ "text-green-950 data-highlighted:text-green-900 data-highlighted:before:bg-green-100 data-[state=open]:text-green-900 data-[state=open]:before:bg-green-100",
1790
+ "dark:text-green-150 dark:data-highlighted:text-green-200 dark:data-highlighted:before:bg-green-900 dark:data-[state=open]:text-green-200 dark:data-[state=open]:before:bg-green-900"
1791
+ ].join(" "),
1792
+ itemLeadingIcon: [
1793
+ "text-green-500 group-data-highlighted:text-green-950 group-data-[state=open]:text-green-950",
1794
+ "dark:text-green-700 dark:group-data-highlighted:text-green-150 dark:group-data-[state=open]:text-green-150"
1795
+ ].join(" ")
1796
+ }
1797
+ },
1798
+ {
1799
+ color: "success",
1800
+ active: true,
1801
+ class: {
1802
+ item: [
1803
+ "text-green-900 before:bg-green-100",
1804
+ "dark:text-green-200 dark:before:bg-green-900"
1805
+ ].join(" "),
1806
+ itemLeadingIcon: [
1807
+ "text-green-950 group-data-[state=open]:text-green-950",
1808
+ "dark:text-green-700"
1809
+ ].join(" ")
1810
+ }
1811
+ },
1812
+ {
1813
+ color: "warning",
1814
+ active: false,
1815
+ class: {
1816
+ item: [
1817
+ "text-orange-950 data-highlighted:text-orange-900 data-highlighted:before:bg-orange-100 data-[state=open]:text-orange-900 data-[state=open]:before:bg-orange-100",
1818
+ "dark:text-orange-150 dark:data-highlighted:text-orange-200 dark:data-highlighted:before:bg-orange-900 dark:data-[state=open]:text-orange-200 dark:data-[state=open]:before:bg-orange-900"
1819
+ ].join(" "),
1820
+ itemLeadingIcon: [
1821
+ "text-orange-500 group-data-highlighted:text-orange-950 group-data-[state=open]:text-orange-950",
1822
+ "dark:text-orange-700 dark:group-data-highlighted:text-orange-150 dark:group-data-[state=open]:text-orange-150"
1823
+ ].join(" ")
1824
+ }
1825
+ },
1826
+ {
1827
+ color: "warning",
1828
+ active: true,
1829
+ class: {
1830
+ item: [
1831
+ "text-orange-900 before:bg-orange-100",
1832
+ "dark:text-orange-200 dark:before:bg-orange-900"
1833
+ ].join(" "),
1834
+ itemLeadingIcon: [
1835
+ "text-orange-950 group-data-[state=open]:text-orange-950",
1836
+ "dark:text-orange-700"
1837
+ ].join(" ")
1838
+ }
1839
+ },
1840
+ {
1841
+ color: "primary",
1842
+ active: false,
1843
+ class: {
1844
+ item: [
1845
+ "text-blue-950 data-highlighted:text-blue-900 data-highlighted:before:bg-blue-100 data-[state=open]:text-blue-900 data-[state=open]:before:bg-blue-100",
1846
+ "dark:text-blue-150 dark:data-highlighted:text-blue-200 dark:data-highlighted:before:bg-blue-900 dark:data-[state=open]:text-blue-200 dark:data-[state=open]:before:bg-blue-900"
1847
+ ].join(" "),
1848
+ itemLeadingIcon: [
1849
+ "text-blue-500 group-data-highlighted:text-blue-950 group-data-[state=open]:text-blue-950",
1850
+ "dark:text-blue-700 dark:group-data-highlighted:text-blue-150 dark:group-data-[state=open]:text-blue-150"
1851
+ ].join(" ")
1852
+ }
1853
+ },
1854
+ {
1855
+ color: "primary",
1856
+ active: true,
1857
+ class: {
1858
+ item: [
1859
+ "text-blue-900 before:bg-blue-100",
1860
+ "dark:text-blue-200 dark:before:bg-blue-900"
1861
+ ].join(" "),
1862
+ itemLeadingIcon: [
1863
+ "text-blue-950 group-data-[state=open]:text-blue-950",
1864
+ "dark:text-blue-700"
1865
+ ].join(" ")
1866
+ }
1867
+ },
1868
+ {
1869
+ color: "secondary",
1870
+ active: false,
1871
+ class: {
1872
+ item: [
1873
+ "text-cyan-950 data-highlighted:text-cyan-900 data-highlighted:before:bg-cyan-100/50 data-[state=open]:text-cyan-900 data-[state=open]:before:bg-cyan-100/50",
1874
+ "dark:text-cyan-150 dark:data-highlighted:text-cyan-200 dark:data-highlighted:before:bg-cyan-900 dark:data-[state=open]:text-cyan-200 dark:data-[state=open]:before:bg-cyan-900"
1875
+ ].join(" "),
1876
+ itemLeadingIcon: [
1877
+ "text-cyan-500 group-data-highlighted:text-cyan-950 group-data-[state=open]:text-cyan-950",
1878
+ "dark:text-cyan-700 dark:group-data-highlighted:text-cyan-150 dark:group-data-[state=open]:text-cyan-150"
1879
+ ].join(" ")
1880
+ }
1881
+ },
1882
+ {
1883
+ color: "secondary",
1884
+ active: true,
1885
+ class: {
1886
+ item: [
1887
+ "text-cyan-900 before:bg-cyan-100/50",
1888
+ "dark:text-cyan-200 dark:before:bg-cyan-900"
1889
+ ].join(" "),
1890
+ itemLeadingIcon: [
1891
+ "text-cyan-950 group-data-[state=open]:text-cyan-950",
1892
+ "dark:text-cyan-700"
1893
+ ].join(" ")
1894
+ }
1895
+ },
1896
+ {
1897
+ color: "collab",
1898
+ active: false,
1899
+ class: {
1900
+ item: [
1901
+ "text-collab-950 data-highlighted:text-collab-900 data-highlighted:before:bg-collab-100 data-[state=open]:text-collab-900 data-[state=open]:before:bg-collab-100",
1902
+ "dark:text-collab-150 dark:data-highlighted:text-collab-200 dark:data-highlighted:before:bg-collab-900 dark:data-[state=open]:text-collab-200 dark:data-[state=open]:before:bg-collab-900"
1903
+ ].join(" "),
1904
+ itemLeadingIcon: [
1905
+ "text-collab-500 group-data-highlighted:text-collab-950 group-data-[state=open]:text-collab-950",
1906
+ "dark:text-collab-700 dark:group-data-highlighted:text-collab-150 dark:group-data-[state=open]:text-collab-150"
1907
+ ].join(" ")
1908
+ }
1909
+ },
1910
+ {
1911
+ color: "collab",
1912
+ active: true,
1913
+ class: {
1914
+ item: [
1915
+ "text-collab-900 before:bg-collab-100",
1916
+ "dark:text-collab-200 dark:before:bg-collab-900"
1917
+ ].join(" "),
1918
+ itemLeadingIcon: [
1919
+ "text-collab-950 group-data-[state=open]:text-collab-950",
1920
+ "dark:text-collab-700"
1921
+ ].join(" ")
1922
+ }
1923
+ },
1924
+ {
1925
+ color: "ai",
1926
+ active: false,
1927
+ class: {
1928
+ item: [
1929
+ "text-ai-950 data-highlighted:text-ai-900 data-highlighted:before:bg-ai-100/50 data-[state=open]:text-ai-900 data-[state=open]:before:bg-ai-100/50",
1930
+ "dark:text-ai-150 dark:data-highlighted:text-ai-200 dark:data-highlighted:before:bg-ai-900 dark:data-[state=open]:text-ai-200 dark:data-[state=open]:before:bg-ai-900"
1931
+ ].join(" "),
1932
+ itemLeadingIcon: [
1933
+ "text-ai-500 group-data-highlighted:text-ai-950 group-data-[state=open]:text-ai-950",
1934
+ "dark:text-ai-700 dark:group-data-highlighted:text-ai-150 dark:group-data-[state=open]:text-ai-150"
1935
+ ].join(" ")
1936
+ }
1937
+ },
1938
+ {
1939
+ color: "ai",
1940
+ active: true,
1941
+ class: {
1942
+ item: [
1943
+ "text-ai-900 before:bg-ai-100/50",
1944
+ "dark:text-ai-200 dark:before:bg-ai-900"
1945
+ ].join(" "),
1946
+ itemLeadingIcon: [
1947
+ "text-ai-950 group-data-[state=open]:text-ai-950",
1948
+ "dark:text-ai-700"
1949
+ ].join(" ")
1950
+ }
1951
+ }
1952
+ ],
1953
+ defaultVariants: {
1954
+ size: "md"
1955
+ }
1956
+ };
1957
+
1602
1958
  const form = {
1603
1959
  base: ""
1604
1960
  };
@@ -2124,9 +2480,9 @@ const inputMenu = () => {
2124
2480
  trailing: "group absolute inset-y-0 end-0 flex items-center disabled:cursor-not-allowed disabled:opacity-75",
2125
2481
  arrow: "fill-base-master/10 dark:fill-base-100/20",
2126
2482
  content: [
2127
- "w-[var(--reka-popper-anchor-width)]",
2483
+ "w-(--reka-popper-anchor-width)",
2128
2484
  // 'max-h-60',
2129
- // 'h-[var(--reka-popper-available-height)]',
2485
+ // 'h-(--reka-popper-available-height)',
2130
2486
  "bg-white dark:bg-base-dark",
2131
2487
  "shadow-md rounded-2xs ring ring-base-300 dark:ring-base-800",
2132
2488
  "overflow-hidden",
@@ -2399,6 +2755,46 @@ const link = (options) => ({
2399
2755
  }
2400
2756
  });
2401
2757
 
2758
+ const modal = {
2759
+ slots: {
2760
+ overlay: "fixed inset-0 bg-base-950/20 dark:bg-base-950/30",
2761
+ content: [
2762
+ "py-md2 px-5",
2763
+ "fixed w-full h-dvh bg-white dark:bg-base-950",
2764
+ // 'divide-y divide-base-900/10 dark:divide-white/20',
2765
+ "flex flex-col focus:outline-none"
2766
+ ].join(" "),
2767
+ header: "pe-5 pt-0",
2768
+ body: "flex-1 overflow-y-auto my-2.5 text-md leading-normal",
2769
+ footer: "flex items-center justify-center gap-3 mt-2.5 pt-4 border-t border-t-1 border-t-base-900/10 dark:border-t-white/20",
2770
+ title: "font-bold text-md leading-normal text-base-900 dark:text-base-150",
2771
+ description: "mt-0.5 mb-1 text-base-500 dark:text-base-400 text-sm",
2772
+ close: "absolute top-2 end-1.5 p-0.5"
2773
+ },
2774
+ variants: {
2775
+ transition: {
2776
+ true: {
2777
+ overlay: "data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]",
2778
+ content: "data-[state=open]:animate-[scale-in_200ms_ease-out] data-[state=closed]:animate-[scale-out_200ms_ease-in]"
2779
+ }
2780
+ },
2781
+ fullscreen: {
2782
+ true: {
2783
+ content: "inset-0"
2784
+ },
2785
+ false: {
2786
+ content: [
2787
+ "top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]",
2788
+ "sm:min-w-[400px]",
2789
+ "sm:max-w-[420px] sm:h-auto sm:max-h-[calc(100vh-4rem)]",
2790
+ "sm:rounded-md sm:shadow-lg",
2791
+ "sm:ring ring-base-300 dark:ring-base-800"
2792
+ ].join(" ")
2793
+ }
2794
+ }
2795
+ }
2796
+ };
2797
+
2402
2798
  const progress = {
2403
2799
  slots: {
2404
2800
  root: "gap-2",
@@ -2679,7 +3075,11 @@ const radioGroup = {
2679
3075
  fieldset: "flex",
2680
3076
  legend: "mb-1.5 block font-medium text-base-master dark:text-base-400",
2681
3077
  item: "flex items-start",
2682
- base: "cursor-pointer rounded-full ring ring-inset ring-base-300 dark:ring-base-700 focus-visible:outline-2 focus-visible:outline-offset-2",
3078
+ base: [
3079
+ "cursor-pointer rounded-full",
3080
+ "ring ring-inset ring-base-300 dark:ring-base-700",
3081
+ "outline-transparent focus-visible:outline-2 focus-visible:outline-offset-2"
3082
+ ].join(" "),
2683
3083
  indicator: " flex items-center justify-center size-full rounded-full after:bg-white dark:after:bg-base-dark after:rounded-full",
2684
3084
  container: "flex items-center",
2685
3085
  wrapper: "font-b24-primary font-regular ms-2",
@@ -2791,7 +3191,11 @@ const range = {
2791
3191
  root: "relative flex items-center select-none touch-none",
2792
3192
  track: "relative bg-base-200 dark:bg-base-800 overflow-hidden rounded-full grow",
2793
3193
  range: "absolute rounded-full",
2794
- thumb: "rounded-full bg-white dark:bg-base-100 ring-2 focus-visible:outline-2 focus-visible:outline-offset-2"
3194
+ thumb: [
3195
+ "rounded-full bg-white dark:bg-base-100",
3196
+ "ring-2",
3197
+ "outline-transparent focus-visible:outline-2 focus-visible:outline-offset-2"
3198
+ ].join(" ")
2795
3199
  },
2796
3200
  variants: {
2797
3201
  color: {
@@ -2977,9 +3381,9 @@ const select = () => {
2977
3381
  placeholder: "truncate text-base-400 dark:text-base-300",
2978
3382
  arrow: "fill-base-master/10 dark:fill-base-100/20",
2979
3383
  content: [
2980
- "w-[var(--reka-popper-anchor-width)]",
3384
+ "w-(--reka-popper-anchor-width)",
2981
3385
  // 'max-h-60',
2982
- // 'h-[var(--reka-popper-available-height)]',
3386
+ // 'h-(--reka-popper-available-height)',
2983
3387
  "bg-white dark:bg-base-dark",
2984
3388
  "shadow-md rounded-2xs ring ring-base-300 dark:ring-base-800",
2985
3389
  "overflow-hidden",
@@ -3189,7 +3593,8 @@ const _switch = {
3189
3593
  slots: {
3190
3594
  root: "relative flex items-start",
3191
3595
  base: [
3192
- "cursor-pointer inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-base-200 dark:data-[state=unchecked]:bg-base-800",
3596
+ "cursor-pointer inline-flex items-center shrink-0 rounded-full border-2 border-transparent data-[state=unchecked]:bg-base-200 dark:data-[state=unchecked]:bg-base-800",
3597
+ "outline-transparent focus-visible:outline-2 focus-visible:outline-offset-2",
3193
3598
  "transition-colors duration-200"
3194
3599
  ].join(" "),
3195
3600
  container: "flex items-center",
@@ -3347,12 +3752,12 @@ const tabs = {
3347
3752
  horizontal: {
3348
3753
  root: "flex-col",
3349
3754
  list: "w-full",
3350
- indicator: "left-0 w-[var(--reka-tabs-indicator-size)] translate-x-[var(--reka-tabs-indicator-position)]",
3755
+ indicator: "left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",
3351
3756
  trigger: "justify-center"
3352
3757
  },
3353
3758
  vertical: {
3354
3759
  list: "flex-col",
3355
- indicator: "top-0 h-[var(--reka-tabs-indicator-size)] translate-y-[var(--reka-tabs-indicator-position)]"
3760
+ indicator: "top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"
3356
3761
  }
3357
3762
  },
3358
3763
  size: {
@@ -4042,8 +4447,8 @@ const toast = {
4042
4447
 
4043
4448
  const toaster = {
4044
4449
  slots: {
4045
- viewport: "fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-[var(--height)] focus:outline-none",
4046
- base: "pointer-events-auto absolute inset-x-0 z-[var(--index)] transform-[var(--transform)] data-[expanded=false]:data-[front=false]:h-[var(--front-height)] data-[expanded=false]:data-[front=false]:*:invisible data-[state=closed]:animate-[toast-closed_200ms_ease-in-out] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_ease-in-out] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out"
4450
+ viewport: "fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none",
4451
+ base: "pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:h-(--front-height) data-[expanded=false]:data-[front=false]:*:invisible data-[state=closed]:animate-[toast-closed_200ms_ease-in-out] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_ease-in-out] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out"
4047
4452
  },
4048
4453
  variants: {
4049
4454
  position: {
@@ -4101,14 +4506,14 @@ const toaster = {
4101
4506
  "left",
4102
4507
  "right"
4103
4508
  ],
4104
- class: "data-[swipe=move]:translate-x-[var(--reka-toast-swipe-move-x)] data-[swipe=end]:translate-x-[var(--reka-toast-swipe-end-x)] data-[swipe=cancel]:translate-x-0"
4509
+ class: "data-[swipe=move]:translate-x-(--reka-toast-swipe-move-x) data-[swipe=end]:translate-x-(--reka-toast-swipe-end-x) data-[swipe=cancel]:translate-x-0"
4105
4510
  },
4106
4511
  {
4107
4512
  swipeDirection: [
4108
4513
  "up",
4109
4514
  "down"
4110
4515
  ],
4111
- class: "data-[swipe=move]:translate-y-[var(--reka-toast-swipe-move-y)] data-[swipe=end]:translate-y-[var(--reka-toast-swipe-end-y)] data-[swipe=cancel]:translate-y-0"
4516
+ class: "data-[swipe=move]:translate-y-(--reka-toast-swipe-move-y) data-[swipe=end]:translate-y-(--reka-toast-swipe-end-y) data-[swipe=cancel]:translate-y-0"
4112
4517
  }
4113
4518
  ],
4114
4519
  defaultVariants: {
@@ -4147,12 +4552,14 @@ const theme = {
4147
4552
  chip: chip,
4148
4553
  container: container,
4149
4554
  countdown: countdown,
4555
+ dropdownMenu: dropdownMenu,
4150
4556
  form: form,
4151
4557
  formField: formField,
4152
4558
  input: input,
4153
4559
  inputMenu: inputMenu,
4154
4560
  kbd: kbd,
4155
4561
  link: link,
4562
+ modal: modal,
4156
4563
  progress: progress,
4157
4564
  radioGroup: radioGroup,
4158
4565
  range: range,
@@ -4334,6 +4741,13 @@ function getTemplates(options) {
4334
4741
  }
4335
4742
  });
4336
4743
  }
4744
+ templates.push({
4745
+ filename: "b24ui.css",
4746
+ write: true,
4747
+ getContents: () => `@theme default {
4748
+ }
4749
+ `
4750
+ });
4337
4751
  templates.push({
4338
4752
  filename: "b24ui/index.ts",
4339
4753
  write: true,