elseware-ui 2.29.1 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ var reactChartjs2 = require('react-chartjs-2');
8
8
  var chart_js = require('chart.js');
9
9
  var React4 = require('react');
10
10
  var react = require('@headlessui/react');
11
- var classNames28 = require('classnames');
11
+ var classNames17 = require('classnames');
12
12
  var fa6 = require('react-icons/fa6');
13
13
  var ReactWorldFlags = require('react-world-flags');
14
14
  var emojiFlags = require('emoji-flags');
@@ -46,7 +46,7 @@ function _interopNamespace(e) {
46
46
  }
47
47
 
48
48
  var React4__default = /*#__PURE__*/_interopDefault(React4);
49
- var classNames28__default = /*#__PURE__*/_interopDefault(classNames28);
49
+ var classNames17__default = /*#__PURE__*/_interopDefault(classNames17);
50
50
  var ReactWorldFlags__default = /*#__PURE__*/_interopDefault(ReactWorldFlags);
51
51
  var emojiFlags__default = /*#__PURE__*/_interopDefault(emojiFlags);
52
52
  var d3__namespace = /*#__PURE__*/_interopNamespace(d3);
@@ -70,6 +70,11 @@ function cn(...inputs) {
70
70
  return tailwindMerge.twMerge(clsx_default(inputs));
71
71
  }
72
72
 
73
+ // src/utils/components.ts
74
+ function isRenderFn(children) {
75
+ return typeof children === "function";
76
+ }
77
+
73
78
  // src/data/meta/currency.tsx
74
79
  var CURRENCIES = [
75
80
  { name: "US Dollar", symbol: "$", code: "USD" },
@@ -168,10 +173,8 @@ var getCurrencySymbol = (code) => {
168
173
  return currency ? currency.symbol : null;
169
174
  };
170
175
 
171
- // src/utils/components.ts
172
- function isRenderFn(children) {
173
- return typeof children === "function";
174
- }
176
+ // src/utils/enum.ts
177
+ var enumValues = (enumObject) => Object.values(enumObject);
175
178
 
176
179
  // src/utils/routes.ts
177
180
  var normalize = (path) => {
@@ -764,7 +767,7 @@ function Accordion({
764
767
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(
765
768
  "div",
766
769
  {
767
- className: classNames28__default.default({
770
+ className: classNames17__default.default({
768
771
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs": true,
769
772
  "hover:cursor-pointer": toggleOnSummaryClick
770
773
  }),
@@ -782,7 +785,7 @@ function Accordion({
782
785
  children: /* @__PURE__ */ jsxRuntime.jsx(
783
786
  fa6.FaCircleChevronDown,
784
787
  {
785
- className: classNames28__default.default(
788
+ className: classNames17__default.default(
786
789
  "text-xl transition-transform duration-300",
787
790
  { "rotate-180": collapse }
788
791
  )
@@ -808,7 +811,7 @@ function Accordion({
808
811
  children: /* @__PURE__ */ jsxRuntime.jsx(
809
812
  "div",
810
813
  {
811
- className: classNames28__default.default({
814
+ className: classNames17__default.default({
812
815
  "border-t border-t-eui-dark-400/40 eui-text-sm": true,
813
816
  "p-5": enableChildrenPadding
814
817
  }),
@@ -888,7 +891,7 @@ function CardHeader({ icon, title, description, className }) {
888
891
  return /* @__PURE__ */ jsxRuntime.jsxs(
889
892
  "div",
890
893
  {
891
- className: classNames28__default.default(
894
+ className: classNames17__default.default(
892
895
  "flex items-start gap-4 p-6 border-b border-white/10",
893
896
  className
894
897
  ),
@@ -904,14 +907,14 @@ function CardHeader({ icon, title, description, className }) {
904
907
  }
905
908
  var CardHeader_default = CardHeader;
906
909
  function CardContent({ children, className }) {
907
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames28__default.default("p-6 text-gray-300 text-sm", className), children });
910
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames17__default.default("p-6 text-gray-300 text-sm", className), children });
908
911
  }
909
912
  var CardContent_default = CardContent;
910
913
  function CardFooter({ children, className }) {
911
914
  return /* @__PURE__ */ jsxRuntime.jsx(
912
915
  "div",
913
916
  {
914
- className: classNames28__default.default(
917
+ className: classNames17__default.default(
915
918
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
916
919
  className
917
920
  ),
@@ -953,7 +956,7 @@ function GradientAnimation({
953
956
  return /* @__PURE__ */ jsxRuntime.jsx(
954
957
  "div",
955
958
  {
956
- className: classNames28__default.default("absolute inset-0"),
959
+ className: classNames17__default.default("absolute inset-0"),
957
960
  style: {
958
961
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
959
962
  backgroundSize: cfg.backgroundSize,
@@ -1099,7 +1102,7 @@ function MotionSurface({
1099
1102
  }) {
1100
1103
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
1101
1104
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
1102
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames28__default.default("relative overflow-hidden", className), children: [
1105
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames17__default.default("relative overflow-hidden", className), children: [
1103
1106
  AnimationComponent && /* @__PURE__ */ jsxRuntime.jsx(AnimationComponent, { config: animationConfig, animated }),
1104
1107
  OverlayComponent && /* @__PURE__ */ jsxRuntime.jsx(OverlayComponent, { config: overlayConfig }),
1105
1108
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children })
@@ -1552,13 +1555,9 @@ var Graph = ({
1552
1555
  }
1553
1556
  );
1554
1557
  };
1555
- var CloudinaryContextConfig = React4.createContext(null);
1556
- var CloudinaryProvider = ({
1557
- cloudName,
1558
- children
1559
- }) => /* @__PURE__ */ jsxRuntime.jsx(CloudinaryContextConfig.Provider, { value: { cloudName }, children });
1558
+ var CloudinaryContext = React4.createContext(null);
1560
1559
  var useCloudinaryConfig = () => {
1561
- const ctx = React4.useContext(CloudinaryContextConfig);
1560
+ const ctx = React4.useContext(CloudinaryContext);
1562
1561
  if (!ctx) {
1563
1562
  throw new Error(
1564
1563
  "CloudinaryProvider is missing. Wrap your app with <CloudinaryProvider />"
@@ -1568,10 +1567,12 @@ var useCloudinaryConfig = () => {
1568
1567
  };
1569
1568
  var DEFAULT_PUBLIC_CLOUD = "demo";
1570
1569
  function CloudinaryImage({
1571
- publicId,
1570
+ publicId = "sample",
1572
1571
  cloudName,
1573
1572
  secure = true,
1574
- alt,
1573
+ alt = "image",
1574
+ fallbackSrc,
1575
+ loading = "lazy",
1575
1576
  className,
1576
1577
  ...rest
1577
1578
  }) {
@@ -1581,10 +1582,16 @@ function CloudinaryImage({
1581
1582
  cloudinaryReact.Image,
1582
1583
  {
1583
1584
  ...rest,
1584
- publicId: publicId || "sample",
1585
+ publicId,
1585
1586
  secure,
1586
1587
  alt,
1587
- className: cn(className)
1588
+ loading,
1589
+ className: cn(className),
1590
+ onError: (e) => {
1591
+ if (fallbackSrc) {
1592
+ e.currentTarget.src = fallbackSrc;
1593
+ }
1594
+ }
1588
1595
  }
1589
1596
  ) });
1590
1597
  }
@@ -1613,10 +1620,10 @@ var Image2 = ({
1613
1620
  };
1614
1621
  function Info({
1615
1622
  children,
1616
- className,
1617
1623
  variant = "default",
1618
1624
  appearance = "lite",
1619
1625
  shape = "roundedSquare",
1626
+ className,
1620
1627
  ...rest
1621
1628
  }) {
1622
1629
  const variantStyles = appearance === "solid" ? infoVariantsSolid[variant] : appearance === "ghost" ? infoVariantsGhost[variant] : infoVariantsLite[variant];
@@ -1635,114 +1642,335 @@ function Info({
1635
1642
  );
1636
1643
  }
1637
1644
  var Info_default = Info;
1638
- var levels = {
1639
- 1: "text-5xl leading-[90px]",
1640
- 2: "text-4xl leading-[80px]",
1641
- 3: "text-3xl leading-[70px]"
1645
+
1646
+ // src/components/data-display/typography/shared/typography.levels.ts
1647
+ var typographyLevels = {
1648
+ display: {
1649
+ 1: "text-8xl leading-[120px]",
1650
+ 2: "text-7xl leading-[110px]",
1651
+ 3: "text-6xl leading-[100px]"
1652
+ },
1653
+ chapter: {
1654
+ 1: "text-5xl leading-[90px]",
1655
+ 2: "text-4xl leading-[80px]",
1656
+ 3: "text-3xl leading-[70px]"
1657
+ },
1658
+ section: {
1659
+ 1: "text-2xl leading-[50px] pt-4",
1660
+ 2: "text-xl leading-[50px]",
1661
+ 3: "text-lg leading-[40px]"
1662
+ },
1663
+ paragraph: {
1664
+ 1: "text-base leading-[28px]",
1665
+ 2: "text-sm leading-[25px]",
1666
+ 3: "text-xs leading-[20px]"
1667
+ },
1668
+ quote: {
1669
+ 1: "text-base leading-[28px]",
1670
+ 2: "text-sm leading-[25px]",
1671
+ 3: "text-xs leading-[20px]"
1672
+ }
1642
1673
  };
1674
+
1675
+ // src/components/data-display/typography/shared/typography.styles.ts
1676
+ var typographyStyles = ({
1677
+ variant = "default",
1678
+ decoration = "noUnderline",
1679
+ bold,
1680
+ italic,
1681
+ className
1682
+ }) => cn(
1683
+ textVariants[variant],
1684
+ decorations[decoration],
1685
+ bold && "font-bold",
1686
+ italic && "italic",
1687
+ className
1688
+ );
1643
1689
  var Chapter = ({
1644
1690
  level = 1,
1645
1691
  children,
1646
- variant = "default",
1647
- decoration = "noUnderline",
1692
+ variant,
1693
+ decoration,
1648
1694
  bold,
1649
1695
  italic,
1650
- styles,
1651
- onClick
1696
+ className,
1697
+ ...rest
1652
1698
  }) => {
1699
+ const Tag2 = level === 1 ? "h1" : level === 2 ? "h2" : "h3";
1653
1700
  return /* @__PURE__ */ jsxRuntime.jsx(
1654
- "div",
1701
+ Tag2,
1655
1702
  {
1656
- onClick,
1657
- className: classNames28__default.default({
1658
- [`${textVariants[variant]}`]: variant,
1659
- [`${levels[level]}`]: level,
1660
- [`${styles}`]: styles,
1661
- [`${decorations[decoration]}`]: decoration,
1662
- "font-bold": bold,
1663
- italic
1664
- }),
1665
- children: children ? children : "Title"
1703
+ ...rest,
1704
+ className: cn(
1705
+ typographyLevels.chapter[level],
1706
+ typographyStyles({
1707
+ variant,
1708
+ decoration,
1709
+ bold,
1710
+ italic,
1711
+ className
1712
+ })
1713
+ ),
1714
+ children: children || "Chapter"
1666
1715
  }
1667
1716
  );
1668
1717
  };
1669
- var levels2 = {
1670
- 1: "text-2xl leading-[50px] pt-4",
1671
- 2: "text-xl leading-[50px]",
1672
- 3: "text-lg leading-[40px]"
1673
- };
1674
1718
  var Section = ({
1675
1719
  level = 1,
1676
1720
  children,
1677
- variant = "default",
1678
- decoration = "noUnderline",
1721
+ variant,
1722
+ decoration,
1679
1723
  bold,
1680
1724
  italic,
1681
- styles,
1682
- onClick
1725
+ className,
1726
+ ...rest
1683
1727
  }) => {
1728
+ const Tag2 = level === 1 ? "h4" : level === 2 ? "h5" : "h6";
1684
1729
  return /* @__PURE__ */ jsxRuntime.jsx(
1685
- "div",
1730
+ Tag2,
1686
1731
  {
1687
- onClick,
1688
- className: classNames28__default.default({
1689
- [`${textVariants[variant]} opacity-80`]: variant,
1690
- [`${levels2[level]}`]: level,
1691
- [`${styles}`]: styles,
1692
- [`${decorations[decoration]}`]: decoration,
1693
- "font-bold": bold,
1694
- italic
1695
- }),
1696
- children: children ? children : "Title"
1732
+ ...rest,
1733
+ className: cn(
1734
+ "opacity-80",
1735
+ typographyLevels.section[level],
1736
+ typographyStyles({
1737
+ variant,
1738
+ decoration,
1739
+ bold,
1740
+ italic,
1741
+ className
1742
+ })
1743
+ ),
1744
+ children: children || "Section"
1697
1745
  }
1698
1746
  );
1699
1747
  };
1700
- var levels3 = {
1701
- 1: "text-base leading-[28px]",
1702
- 2: "text-sm leading-[25px]",
1703
- 3: "text-xs leading-[20px]"
1704
- };
1705
1748
  var Paragraph = ({
1706
1749
  level = 1,
1707
1750
  children,
1708
- variant = "default",
1709
- decoration = "noUnderline",
1751
+ variant,
1752
+ decoration,
1710
1753
  bold,
1711
1754
  italic,
1712
- styles,
1713
- onClick
1755
+ className,
1756
+ ...rest
1757
+ }) => {
1758
+ return /* @__PURE__ */ jsxRuntime.jsx(
1759
+ "p",
1760
+ {
1761
+ ...rest,
1762
+ className: cn(
1763
+ typographyLevels.paragraph[level],
1764
+ typographyStyles({
1765
+ variant,
1766
+ decoration,
1767
+ bold,
1768
+ italic,
1769
+ className
1770
+ })
1771
+ ),
1772
+ children: children || "Paragraph"
1773
+ }
1774
+ );
1775
+ };
1776
+ var Quote = ({
1777
+ level = 1,
1778
+ children,
1779
+ variant,
1780
+ decoration,
1781
+ bold,
1782
+ italic,
1783
+ className,
1784
+ ...rest
1714
1785
  }) => {
1715
1786
  return /* @__PURE__ */ jsxRuntime.jsx(
1716
1787
  "div",
1717
1788
  {
1718
- onClick,
1719
- className: classNames28__default.default({
1720
- [`${textVariants[variant]}`]: variant,
1721
- [`${levels3[level]}`]: level,
1722
- [`${styles}`]: styles,
1723
- [`${decorations[decoration]}`]: decoration,
1724
- "font-bold": bold,
1725
- italic
1726
- }),
1727
- children: children ? children : "Text"
1789
+ ...rest,
1790
+ className: cn(
1791
+ "pl-4 py-1 border-l-2 border-l-gray-400 w-full",
1792
+ typographyLevels.quote[level],
1793
+ typographyStyles({
1794
+ variant,
1795
+ decoration,
1796
+ bold,
1797
+ italic,
1798
+ className
1799
+ })
1800
+ ),
1801
+ children: children || "Quote"
1728
1802
  }
1729
1803
  );
1730
1804
  };
1731
- var Quote = ({ children, styles }) => {
1805
+ var Caption = ({
1806
+ children,
1807
+ variant,
1808
+ decoration,
1809
+ bold,
1810
+ italic,
1811
+ className,
1812
+ ...rest
1813
+ }) => {
1814
+ return /* @__PURE__ */ jsxRuntime.jsx(
1815
+ "span",
1816
+ {
1817
+ ...rest,
1818
+ className: cn(
1819
+ "text-xs leading-[18px] opacity-70",
1820
+ typographyStyles({
1821
+ variant,
1822
+ decoration,
1823
+ bold,
1824
+ italic,
1825
+ className
1826
+ })
1827
+ ),
1828
+ children: children || "Caption"
1829
+ }
1830
+ );
1831
+ };
1832
+ var Label = ({
1833
+ children,
1834
+ variant,
1835
+ decoration,
1836
+ bold = true,
1837
+ italic,
1838
+ className,
1839
+ ...rest
1840
+ }) => {
1732
1841
  return /* @__PURE__ */ jsxRuntime.jsx(
1733
1842
  "div",
1734
1843
  {
1735
- className: classNames28__default.default({
1736
- "pl-4 py-1 border-l-2 border-l-gray-400 w-full": true,
1737
- [`${styles}`]: styles
1738
- }),
1739
- children
1844
+ ...rest,
1845
+ className: cn(
1846
+ "text-sm leading-[22px]",
1847
+ typographyStyles({
1848
+ variant,
1849
+ decoration,
1850
+ bold,
1851
+ italic,
1852
+ className
1853
+ })
1854
+ ),
1855
+ children: children || "Label"
1856
+ }
1857
+ );
1858
+ };
1859
+ var Code = ({
1860
+ children,
1861
+ className,
1862
+ ...rest
1863
+ }) => {
1864
+ return /* @__PURE__ */ jsxRuntime.jsx(
1865
+ "code",
1866
+ {
1867
+ ...rest,
1868
+ className: cn(
1869
+ "px-1.5 py-0.5 rounded-md",
1870
+ "bg-gray-800 text-green-400",
1871
+ "font-mono text-sm",
1872
+ className
1873
+ ),
1874
+ children: children || "npm install"
1875
+ }
1876
+ );
1877
+ };
1878
+ var Lead = ({
1879
+ children,
1880
+ variant,
1881
+ decoration,
1882
+ bold,
1883
+ italic,
1884
+ className,
1885
+ ...rest
1886
+ }) => {
1887
+ return /* @__PURE__ */ jsxRuntime.jsx(
1888
+ "p",
1889
+ {
1890
+ ...rest,
1891
+ className: cn(
1892
+ "text-xl leading-[38px] opacity-90",
1893
+ typographyStyles({
1894
+ variant,
1895
+ decoration,
1896
+ bold,
1897
+ italic,
1898
+ className
1899
+ })
1900
+ ),
1901
+ children: children || "Lead paragraph"
1902
+ }
1903
+ );
1904
+ };
1905
+ var Overline = ({
1906
+ children,
1907
+ variant,
1908
+ decoration,
1909
+ bold = true,
1910
+ italic,
1911
+ className,
1912
+ ...rest
1913
+ }) => {
1914
+ return /* @__PURE__ */ jsxRuntime.jsx(
1915
+ "div",
1916
+ {
1917
+ ...rest,
1918
+ className: cn(
1919
+ "text-xs uppercase tracking-[0.2em]",
1920
+ typographyStyles({
1921
+ variant,
1922
+ decoration,
1923
+ bold,
1924
+ italic,
1925
+ className
1926
+ })
1927
+ ),
1928
+ children: children || "Overline"
1929
+ }
1930
+ );
1931
+ };
1932
+ var Display = ({
1933
+ level = 1,
1934
+ children,
1935
+ variant,
1936
+ decoration,
1937
+ bold = true,
1938
+ italic,
1939
+ className,
1940
+ ...rest
1941
+ }) => {
1942
+ return /* @__PURE__ */ jsxRuntime.jsx(
1943
+ "h1",
1944
+ {
1945
+ ...rest,
1946
+ className: cn(
1947
+ typographyLevels.display[level],
1948
+ typographyStyles({
1949
+ variant,
1950
+ decoration,
1951
+ bold,
1952
+ italic,
1953
+ className
1954
+ })
1955
+ ),
1956
+ children: children || "Display"
1740
1957
  }
1741
1958
  );
1742
1959
  };
1743
1960
 
1744
1961
  // src/components/data-display/typography/index.tsx
1745
- var Typography = { Chapter, Section, Paragraph, Quote };
1962
+ var Typography = {
1963
+ Display,
1964
+ Chapter,
1965
+ Section,
1966
+ Paragraph,
1967
+ Quote,
1968
+ Lead,
1969
+ Caption,
1970
+ Label,
1971
+ Code,
1972
+ Overline
1973
+ };
1746
1974
  var ListItem = ({
1747
1975
  content,
1748
1976
  TypographyComponent = /* @__PURE__ */ jsxRuntime.jsx(Paragraph, { level: 1 }),
@@ -1859,15 +2087,19 @@ var List_default = List;
1859
2087
  var applyDiscount = (discount, price) => {
1860
2088
  return (price - price / 100 * discount).toFixed(2);
1861
2089
  };
1862
- function PriceTag({ discount, price, code = "USD", styles }) {
2090
+ function PriceTag({
2091
+ discount,
2092
+ price,
2093
+ code = "USD",
2094
+ className,
2095
+ ...rest
2096
+ }) {
1863
2097
  if (price === 0) {
1864
2098
  return /* @__PURE__ */ jsxRuntime.jsx(
1865
2099
  "div",
1866
2100
  {
1867
- className: classNames28__default.default({
1868
- "inline-flex gap-3 text-md w-fit": true,
1869
- [`${styles}`]: styles
1870
- }),
2101
+ ...rest,
2102
+ className: cn("inline-flex gap-3 text-md w-fit", className),
1871
2103
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-green-700 px-2 py-1 font-bold rounded-md text-gray-200", children: "FREE" })
1872
2104
  }
1873
2105
  );
@@ -1876,10 +2108,8 @@ function PriceTag({ discount, price, code = "USD", styles }) {
1876
2108
  return /* @__PURE__ */ jsxRuntime.jsxs(
1877
2109
  "div",
1878
2110
  {
1879
- className: classNames28__default.default({
1880
- "inline-flex gap-3 text-md w-fit": true,
1881
- [`${styles}`]: styles
1882
- }),
2111
+ ...rest,
2112
+ className: cn("inline-flex gap-3 text-md w-fit", className),
1883
2113
  children: [
1884
2114
  discount && discount !== 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-green-700 px-2 py-1 font-bold rounded-md text-gray-200", children: [
1885
2115
  "-",
@@ -1921,11 +2151,11 @@ var ProgressBar = ({
1921
2151
  showLabel = true,
1922
2152
  label,
1923
2153
  labelPlacement = "top",
1924
- // ✅ default
1925
- styles
2154
+ className,
2155
+ ...rest
1926
2156
  }) => {
1927
2157
  const clampedValue = Math.min(100, Math.max(0, value));
1928
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames28__default.default("w-full", styles), children: [
2158
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...rest, className: cn("w-full", className), children: [
1929
2159
  showLabel && labelPlacement === "top" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-1 text-gray-400", children: [
1930
2160
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: label ?? "Progress" }),
1931
2161
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
@@ -1936,7 +2166,7 @@ var ProgressBar = ({
1936
2166
  /* @__PURE__ */ jsxRuntime.jsxs(
1937
2167
  "div",
1938
2168
  {
1939
- className: classNames28__default.default(
2169
+ className: cn(
1940
2170
  "relative w-full bg-gray-700 rounded overflow-hidden",
1941
2171
  sizes[size]
1942
2172
  ),
@@ -1944,7 +2174,7 @@ var ProgressBar = ({
1944
2174
  /* @__PURE__ */ jsxRuntime.jsx(
1945
2175
  "div",
1946
2176
  {
1947
- className: classNames28__default.default(
2177
+ className: cn(
1948
2178
  "h-full transition-all duration-300 ease-out",
1949
2179
  variants[variant]
1950
2180
  ),
@@ -1962,20 +2192,36 @@ var ProgressBar = ({
1962
2192
  )
1963
2193
  ] });
1964
2194
  };
1965
- function StarRating({ rating, reviewAmount, isNumericRatingEnabled = false, isReviewAmountEnabled = false, styles }) {
2195
+ function StarRating({
2196
+ rating,
2197
+ reviewAmount,
2198
+ isNumericRatingEnabled = false,
2199
+ isReviewAmountEnabled = false,
2200
+ className,
2201
+ ...rest
2202
+ }) {
1966
2203
  const fullStars = Math.floor(rating);
1967
2204
  const halfStars = Math.ceil(rating - fullStars);
1968
2205
  const emptyStars = 5 - fullStars - halfStars;
1969
2206
  const starIcon = /* @__PURE__ */ jsxRuntime.jsx(bs.BsStarFill, {});
1970
2207
  const halfStarIcon = /* @__PURE__ */ jsxRuntime.jsx(bs.BsStarHalf, {});
1971
2208
  const emptyStarIcon = /* @__PURE__ */ jsxRuntime.jsx(bs.BsStar, {});
1972
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "inline-flex gap-2 items-center", children: [
2209
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...rest, className: "inline-flex gap-2 items-center", children: [
1973
2210
  isNumericRatingEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-yellow-700 font-semibold text-[14px]", children: rating.toFixed(1) }),
1974
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex flex-row gap-[2px] text-[13px] text-yellow-600 ${styles}`, children: [
1975
- [...Array(fullStars)].map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: starIcon }, index)),
1976
- [...Array(halfStars)].map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: halfStarIcon }, index + fullStars)),
1977
- [...Array(emptyStars)].map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: emptyStarIcon }, index + fullStars + halfStars))
1978
- ] }),
2211
+ /* @__PURE__ */ jsxRuntime.jsxs(
2212
+ "div",
2213
+ {
2214
+ className: cn(
2215
+ "flex flex-row gap-[2px] text-[13px] text-yellow-600",
2216
+ className
2217
+ ),
2218
+ children: [
2219
+ [...Array(fullStars)].map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: starIcon }, index)),
2220
+ [...Array(halfStars)].map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: halfStarIcon }, index + fullStars)),
2221
+ [...Array(emptyStars)].map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: emptyStarIcon }, index + fullStars + halfStars))
2222
+ ]
2223
+ }
2224
+ ),
1979
2225
  isReviewAmountEnabled && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-gray-400 font-semibold text-[14px]", children: [
1980
2226
  "(",
1981
2227
  reviewAmount,
@@ -2062,83 +2308,6 @@ function StarRatingDistribution({
2062
2308
  ] });
2063
2309
  }
2064
2310
  var StarRatingDistribution_default = StarRatingDistribution;
2065
- var Skeleton = ({ children, styles }) => {
2066
- return /* @__PURE__ */ jsxRuntime.jsx(
2067
- "div",
2068
- {
2069
- className: classNames28__default.default({
2070
- "bg-gradient-to-r from-eui-dark-300/20 to-eui-dark-100/10 dark:from-eui-light-400/10 dark:to-eui-light-400/5 animate-pulse min-w-5 min-h-3": true,
2071
- [`${styles}`]: styles
2072
- }),
2073
- children
2074
- }
2075
- );
2076
- };
2077
- function SliderItem({ img, onClick, selected, styles }) {
2078
- return /* @__PURE__ */ jsxRuntime.jsx(
2079
- "div",
2080
- {
2081
- onClick,
2082
- className: classNames28__default.default({
2083
- "flex-shrink-0 w-[160px] h-[90px] border-[3px] overflow-hidden brightness-50": true,
2084
- "hover:cursor-pointer hover:border-eui-secondary-600 hover:shadow-lg hover:shadow-[#167d0f]/50 hover:brightness-100": true,
2085
- "border-transparent": !selected,
2086
- "border-opacity-100 border-[#0b6b05] brightness-100": selected,
2087
- "transition-all ease-in-out duration-500": true,
2088
- [`${styles}`]: styles
2089
- }),
2090
- children: /* @__PURE__ */ jsxRuntime.jsx(CloudinaryImage_default, { publicId: img, alt: "image", className: "w-full h-full object-cover" })
2091
- }
2092
- );
2093
- }
2094
- var SliderItem_default = SliderItem;
2095
- function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
2096
- const [images, setImages] = React4.useState([
2097
- {
2098
- img: coverArt,
2099
- selected: true
2100
- }
2101
- ]);
2102
- React4.useEffect(() => {
2103
- setImages([
2104
- {
2105
- img: coverArt,
2106
- selected: true
2107
- }
2108
- ]);
2109
- }, [isSuccess]);
2110
- React4.useEffect(() => {
2111
- if (screenshots) {
2112
- const selectableScreenshots = [];
2113
- screenshots.forEach((item) => {
2114
- selectableScreenshots.push({
2115
- img: item,
2116
- selected: false
2117
- });
2118
- });
2119
- setImages((prev) => [...prev, ...selectableScreenshots]);
2120
- }
2121
- }, [isSuccess]);
2122
- const [displayImg, setDisplayImg] = React4.useState(coverArt);
2123
- React4.useEffect(() => {
2124
- setDisplayImg(coverArt);
2125
- }, [coverArt]);
2126
- const displayImageHandler = (itemIndex, img) => {
2127
- setDisplayImg(img);
2128
- const newArray = images.map((obj, i) => {
2129
- if (i === itemIndex) {
2130
- return { ...obj, selected: true };
2131
- }
2132
- return { ...obj, selected: false };
2133
- });
2134
- setImages(newArray);
2135
- };
2136
- return /* @__PURE__ */ jsxRuntime.jsx("div", { children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { styles: "w-full aspect-w-16 aspect-h-9" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2137
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(CloudinaryImage_default, { publicId: displayImg, alt: "displayImg", className: "aspect-w-16 aspect-h-9" }) }),
2138
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-[130px]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute pt-2 pb-4 w-full flex space-x-2 overflow-auto", children: images.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(SliderItem_default, { img: item.img, onClick: () => displayImageHandler(index, item.img), selected: item.selected }, index)) }) })
2139
- ] }) });
2140
- }
2141
- var Slider_default = Slider;
2142
2311
  function Table({
2143
2312
  title,
2144
2313
  columns,
@@ -2226,25 +2395,27 @@ function Table({
2226
2395
  ] });
2227
2396
  }
2228
2397
  var Table_default = Table;
2229
- function Tag({ text, styles }) {
2398
+ function Tag({ text, className, ...rest }) {
2230
2399
  return /* @__PURE__ */ jsxRuntime.jsx(
2231
2400
  "span",
2232
2401
  {
2233
- className: classNames28__default.default({
2234
- "text-xs bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200 px-2 py-1 rounded mr-2 mt-1": true,
2235
- [`${styles}`]: styles
2236
- }),
2402
+ ...rest,
2403
+ className: cn(
2404
+ "text-xs bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-200 px-2 py-1 rounded mr-2 mt-1",
2405
+ className
2406
+ ),
2237
2407
  children: text
2238
2408
  }
2239
2409
  );
2240
2410
  }
2241
2411
  var Tag_default = Tag;
2242
2412
  function Tooltip4({
2243
- content,
2413
+ children,
2244
2414
  show,
2245
2415
  offsetX = 20,
2246
2416
  offsetY = 20,
2247
- className = ""
2417
+ className,
2418
+ ...rest
2248
2419
  }) {
2249
2420
  const [pos, setPos] = React4.useState({ x: 0, y: 0 });
2250
2421
  React4.useEffect(() => {
@@ -2259,18 +2430,19 @@ function Tooltip4({
2259
2430
  return /* @__PURE__ */ jsxRuntime.jsx(
2260
2431
  "div",
2261
2432
  {
2262
- className: `
2263
- pointer-events-none absolute z-50 px-3 py-2 text-sm
2264
- rounded-lg shadow-lg bg-neutral-900 text-white
2265
- dark:bg-neutral-800
2266
- ${className}
2267
- `,
2433
+ ...rest,
2434
+ className: cn(
2435
+ "pointer-events-none absolute z-50 px-3 py-2 text-sm",
2436
+ "rounded-lg shadow-lg bg-neutral-900 text-white",
2437
+ "dark:bg-neutral-800",
2438
+ className
2439
+ ),
2268
2440
  style: {
2269
2441
  top: pos.y,
2270
2442
  left: pos.x,
2271
2443
  transform: "translate(-50%, -50%)"
2272
2444
  },
2273
- children: content
2445
+ children
2274
2446
  }
2275
2447
  );
2276
2448
  }
@@ -2319,7 +2491,7 @@ var ValueBadge = ({
2319
2491
  return /* @__PURE__ */ jsxRuntime.jsx(
2320
2492
  "div",
2321
2493
  {
2322
- className: classNames28__default.default(
2494
+ className: cn(
2323
2495
  "px-2 py-1 rounded-md text-xs font-semibold w-fit eg-theme-transition",
2324
2496
  noBackground ? "bg-transparent" : style.bg,
2325
2497
  style.color,
@@ -2330,8 +2502,48 @@ var ValueBadge = ({
2330
2502
  );
2331
2503
  };
2332
2504
  var ValueBadge_default = ValueBadge;
2333
- function CloudinaryVideo() {
2334
- return /* @__PURE__ */ jsxRuntime.jsx("div", { children: "CloudinaryVideo" });
2505
+ var DEFAULT_PUBLIC_CLOUD2 = "demo";
2506
+ function CloudinaryVideo({
2507
+ publicId = "dog",
2508
+ cloudName,
2509
+ secure = true,
2510
+ controls = true,
2511
+ autoPlay = false,
2512
+ muted = false,
2513
+ loop = false,
2514
+ playsInline = true,
2515
+ poster,
2516
+ preload = "metadata",
2517
+ className,
2518
+ ...rest
2519
+ }) {
2520
+ const providerConfig = useCloudinaryConfig();
2521
+ const resolvedCloudName = cloudName || providerConfig?.cloudName || DEFAULT_PUBLIC_CLOUD2;
2522
+ const protocol = secure ? "https" : "http";
2523
+ const videoUrl = `
2524
+ ${protocol}://res.cloudinary.com/
2525
+ ${resolvedCloudName}
2526
+ /video/upload/
2527
+ ${publicId}.mp4
2528
+ `.replace(/\s+/g, "");
2529
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2530
+ "video",
2531
+ {
2532
+ ...rest,
2533
+ controls,
2534
+ autoPlay,
2535
+ muted,
2536
+ loop,
2537
+ playsInline,
2538
+ poster,
2539
+ preload,
2540
+ className: cn(className),
2541
+ children: [
2542
+ /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" }),
2543
+ "Your browser does not support the video tag."
2544
+ ]
2545
+ }
2546
+ );
2335
2547
  }
2336
2548
  var CloudinaryVideo_default = CloudinaryVideo;
2337
2549
  var FormObserver = ({ formik, onChange }) => {
@@ -2403,7 +2615,7 @@ var Form = ({
2403
2615
  /* @__PURE__ */ jsxRuntime.jsx(UnsavedChangesGuard_default, { formik: formik$1, enabled: warnOnUnsavedChanges }),
2404
2616
  /* @__PURE__ */ jsxRuntime.jsx(DirtyObserver_default, { formik: formik$1, onDirtyChange }),
2405
2617
  /* @__PURE__ */ jsxRuntime.jsx(FormObserver_default, { formik: formik$1, onChange }),
2406
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames28__default.default(styles), children })
2618
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames17__default.default(styles), children })
2407
2619
  ] })
2408
2620
  }
2409
2621
  );
@@ -2412,7 +2624,7 @@ var Backdrop = ({ children, styles }) => {
2412
2624
  return /* @__PURE__ */ jsxRuntime.jsx(
2413
2625
  "div",
2414
2626
  {
2415
- className: classNames28__default.default({
2627
+ className: classNames17__default.default({
2416
2628
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
2417
2629
  [`${styles}`]: styles
2418
2630
  }),
@@ -2421,6 +2633,19 @@ var Backdrop = ({ children, styles }) => {
2421
2633
  );
2422
2634
  };
2423
2635
  var Backdrop_default = Backdrop;
2636
+ var Skeleton = ({ children, className, ...rest }) => {
2637
+ return /* @__PURE__ */ jsxRuntime.jsx(
2638
+ "div",
2639
+ {
2640
+ ...rest,
2641
+ className: cn(
2642
+ "bg-gradient-to-r from-eui-dark-300/20 to-eui-dark-100/10 dark:from-eui-light-400/10 dark:to-eui-light-400/5 animate-pulse min-w-5 min-h-3",
2643
+ className
2644
+ ),
2645
+ children
2646
+ }
2647
+ );
2648
+ };
2424
2649
  function sendToast(data = { status: "", message: "" }) {
2425
2650
  switch (data?.status) {
2426
2651
  case "success":
@@ -2510,55 +2735,175 @@ function FormResponse({
2510
2735
  return /* @__PURE__ */ jsxRuntime.jsx(Transition4.TransitionDropdown, { visibility: text ? true : false, children: /* @__PURE__ */ jsxRuntime.jsx(
2511
2736
  "div",
2512
2737
  {
2513
- className: classNames28__default.default({
2514
- "font-poppins font-light text-sm": true,
2515
- [`${variantsLite[variant]}`]: variant,
2516
- [`${shapes[shape]}`]: shape,
2517
- [`${sizes2[size]}`]: size,
2518
- [`${styles}`]: styles
2519
- }),
2520
- children: text
2738
+ className: classNames17__default.default({
2739
+ "font-poppins font-light text-sm": true,
2740
+ [`${variantsLite[variant]}`]: variant,
2741
+ [`${shapes[shape]}`]: shape,
2742
+ [`${sizes2[size]}`]: size,
2743
+ [`${styles}`]: styles
2744
+ }),
2745
+ children: text
2746
+ }
2747
+ ) });
2748
+ }
2749
+ var FormResponse_default = FormResponse;
2750
+ var getYoutubeEmbedUrl = (url) => {
2751
+ const videoIdMatch = url.match(
2752
+ /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/
2753
+ );
2754
+ if (!videoIdMatch) {
2755
+ return "";
2756
+ }
2757
+ return `https://www.youtube.com/embed/${videoIdMatch[1]}`;
2758
+ };
2759
+ function YoutubeVideo({
2760
+ videoUrl,
2761
+ width = 750,
2762
+ height = 422,
2763
+ autoPlay = false,
2764
+ muted = false,
2765
+ controls = true,
2766
+ className,
2767
+ ...rest
2768
+ }) {
2769
+ const embedUrl = getYoutubeEmbedUrl(videoUrl);
2770
+ if (!embedUrl) {
2771
+ return /* @__PURE__ */ jsxRuntime.jsx(FormResponse_default, { text: "Invalid YouTube URL", variant: "danger" });
2772
+ }
2773
+ const params = new URLSearchParams({
2774
+ autoplay: autoPlay ? "1" : "0",
2775
+ mute: muted ? "1" : "0",
2776
+ controls: controls ? "1" : "0"
2777
+ });
2778
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
2779
+ "div",
2780
+ {
2781
+ className: "relative w-full",
2782
+ style: {
2783
+ maxWidth: `${width}px`,
2784
+ paddingTop: `${height / width * 100}%`
2785
+ },
2786
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2787
+ "iframe",
2788
+ {
2789
+ ...rest,
2790
+ src: `${embedUrl}?${params.toString()}`,
2791
+ title: "YouTube video player",
2792
+ loading: "lazy",
2793
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
2794
+ allowFullScreen: true,
2795
+ className: cn(
2796
+ "absolute top-0 left-0 w-full h-full rounded-xl shadow-xl border-0",
2797
+ className
2798
+ )
2799
+ }
2800
+ )
2801
+ }
2802
+ ) });
2803
+ }
2804
+ var YoutubeVideo_default = YoutubeVideo;
2805
+ var ThemeContext = React4.createContext(
2806
+ void 0
2807
+ );
2808
+ var ThemeProvider = ({
2809
+ defaultTheme = "dark",
2810
+ children
2811
+ }) => {
2812
+ const [theme, setTheme] = React4.useState(() => {
2813
+ return localStorage.getItem("theme") || defaultTheme;
2814
+ });
2815
+ React4.useEffect(() => {
2816
+ if (theme === "dark") {
2817
+ document.documentElement.classList.add("dark");
2818
+ } else {
2819
+ document.documentElement.classList.remove("dark");
2820
+ }
2821
+ localStorage.setItem("theme", theme);
2822
+ }, [theme]);
2823
+ const toggleTheme = () => {
2824
+ setTheme((prev) => prev === "dark" ? "light" : "dark");
2825
+ };
2826
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children });
2827
+ };
2828
+ var ThemeSwitch = () => {
2829
+ const themeContext = React4.useContext(ThemeContext);
2830
+ if (!themeContext) return null;
2831
+ const { theme, toggleTheme } = themeContext;
2832
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2833
+ "button",
2834
+ {
2835
+ onClick: toggleTheme,
2836
+ className: "relative w-16 h-8 flex items-center bg-gray-300 dark:bg-gray-800 rounded-full p-1 transition-all",
2837
+ children: [
2838
+ /* @__PURE__ */ jsxRuntime.jsx(
2839
+ fa.FaSun,
2840
+ {
2841
+ className: "absolute left-2 text-yellow-500 transition-opacity duration-300 z-10",
2842
+ style: { opacity: theme === "dark" ? 0 : 1 }
2843
+ }
2844
+ ),
2845
+ /* @__PURE__ */ jsxRuntime.jsx(
2846
+ fa.FaMoon,
2847
+ {
2848
+ className: "absolute right-2 text-blue-400 transition-opacity duration-300 z-10",
2849
+ style: { opacity: theme === "dark" ? 1 : 0 }
2850
+ }
2851
+ ),
2852
+ /* @__PURE__ */ jsxRuntime.jsx(
2853
+ "div",
2854
+ {
2855
+ className: classNames17__default.default(
2856
+ "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
2857
+ theme === "dark" ? "translate-x-8" : "translate-x-0"
2858
+ )
2859
+ }
2860
+ )
2861
+ ]
2862
+ }
2863
+ );
2864
+ };
2865
+
2866
+ // src/data/enums.ts
2867
+ var Shape = /* @__PURE__ */ ((Shape2) => {
2868
+ Shape2["circle"] = "circle";
2869
+ Shape2["roundedSquare"] = "roundedSquare";
2870
+ Shape2["softRoundedSquare"] = "softRoundedSquare";
2871
+ Shape2["square"] = "square";
2872
+ return Shape2;
2873
+ })(Shape || {});
2874
+ var ShapeSwitch = () => {
2875
+ const { config, setConfig } = useEUIConfig();
2876
+ const currentShape = config.global?.shape ?? "square";
2877
+ const handleChange = (e) => {
2878
+ const shape = e.target.value;
2879
+ setConfig((prev) => ({
2880
+ ...prev,
2881
+ global: {
2882
+ ...prev.global,
2883
+ shape
2884
+ }
2885
+ }));
2886
+ };
2887
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1 w-fit", children: /* @__PURE__ */ jsxRuntime.jsx(
2888
+ "select",
2889
+ {
2890
+ value: currentShape,
2891
+ onChange: handleChange,
2892
+ className: "\n px-3 py-2 rounded-md border border-gray-300\n bg-white dark:bg-gray-800\n text-sm shadow-sm\n focus:outline-none\n ",
2893
+ children: Object.keys(Shape).map((shape) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: shape, children: shape }, shape))
2521
2894
  }
2522
2895
  ) });
2523
- }
2524
- var FormResponse_default = FormResponse;
2525
- var getYoutubeEmbedUrl = (url) => {
2526
- const videoIdMatch = url.match(
2527
- /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/
2528
- );
2529
- return videoIdMatch ? `https://www.youtube.com/embed/${videoIdMatch[1]}` : "";
2530
2896
  };
2531
- function YoutubeVideoPlayer({
2532
- videoUrl,
2533
- width = 750,
2534
- height = 422
2535
- }) {
2536
- const embedUrl = getYoutubeEmbedUrl(videoUrl);
2537
- if (!embedUrl) {
2538
- return /* @__PURE__ */ jsxRuntime.jsx(FormResponse_default, { text: "Invalid YouTube URL", variant: "danger" });
2897
+
2898
+ // src/hooks/theme/useCurrentTheme.ts
2899
+ var useCurrentTheme = () => {
2900
+ const context = React4.useContext(ThemeContext);
2901
+ if (!context) {
2902
+ throw new Error("useCurrentTheme must be used within a ThemeProvider");
2539
2903
  }
2540
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
2541
- "div",
2542
- {
2543
- className: "relative w-full",
2544
- style: {
2545
- maxWidth: `${width}px`,
2546
- paddingTop: `${height / width * 100}%`
2547
- },
2548
- children: /* @__PURE__ */ jsxRuntime.jsx(
2549
- "iframe",
2550
- {
2551
- src: embedUrl,
2552
- title: "YouTube video player",
2553
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
2554
- allowFullScreen: true,
2555
- className: "absolute top-0 left-0 w-full h-full rounded-lg shadow-lg"
2556
- }
2557
- )
2558
- }
2559
- ) });
2560
- }
2561
- var YoutubeVideoPlayer_default = YoutubeVideoPlayer;
2904
+ return context.theme;
2905
+ };
2906
+ var useCurrentTheme_default = useCurrentTheme;
2562
2907
  var COUNTRY_NAMES = {
2563
2908
  AF: "Afghanistan",
2564
2909
  AL: "Albania",
@@ -13868,108 +14213,6 @@ var worldMapTopoJSONContries100m = {
13868
14213
  translate: [-180, -85.60903777459771]
13869
14214
  }
13870
14215
  };
13871
- var ThemeContext = React4.createContext(
13872
- void 0
13873
- );
13874
- var ThemeProvider = ({
13875
- defaultTheme = "dark",
13876
- children
13877
- }) => {
13878
- const [theme, setTheme] = React4.useState(() => {
13879
- return localStorage.getItem("theme") || defaultTheme;
13880
- });
13881
- React4.useEffect(() => {
13882
- if (theme === "dark") {
13883
- document.documentElement.classList.add("dark");
13884
- } else {
13885
- document.documentElement.classList.remove("dark");
13886
- }
13887
- localStorage.setItem("theme", theme);
13888
- }, [theme]);
13889
- const toggleTheme = () => {
13890
- setTheme((prev) => prev === "dark" ? "light" : "dark");
13891
- };
13892
- return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children });
13893
- };
13894
- var ThemeSwitch = () => {
13895
- const themeContext = React4.useContext(ThemeContext);
13896
- if (!themeContext) return null;
13897
- const { theme, toggleTheme } = themeContext;
13898
- return /* @__PURE__ */ jsxRuntime.jsxs(
13899
- "button",
13900
- {
13901
- onClick: toggleTheme,
13902
- className: "relative w-16 h-8 flex items-center bg-gray-300 dark:bg-gray-800 rounded-full p-1 transition-all",
13903
- children: [
13904
- /* @__PURE__ */ jsxRuntime.jsx(
13905
- fa.FaSun,
13906
- {
13907
- className: "absolute left-2 text-yellow-500 transition-opacity duration-300 z-10",
13908
- style: { opacity: theme === "dark" ? 0 : 1 }
13909
- }
13910
- ),
13911
- /* @__PURE__ */ jsxRuntime.jsx(
13912
- fa.FaMoon,
13913
- {
13914
- className: "absolute right-2 text-blue-400 transition-opacity duration-300 z-10",
13915
- style: { opacity: theme === "dark" ? 1 : 0 }
13916
- }
13917
- ),
13918
- /* @__PURE__ */ jsxRuntime.jsx(
13919
- "div",
13920
- {
13921
- className: classNames28__default.default(
13922
- "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
13923
- theme === "dark" ? "translate-x-8" : "translate-x-0"
13924
- )
13925
- }
13926
- )
13927
- ]
13928
- }
13929
- );
13930
- };
13931
-
13932
- // src/data/enums.ts
13933
- var Shape = /* @__PURE__ */ ((Shape2) => {
13934
- Shape2["circle"] = "circle";
13935
- Shape2["roundedSquare"] = "roundedSquare";
13936
- Shape2["softRoundedSquare"] = "softRoundedSquare";
13937
- Shape2["square"] = "square";
13938
- return Shape2;
13939
- })(Shape || {});
13940
- var ShapeSwitch = () => {
13941
- const { config, setConfig } = useEUIConfig();
13942
- const currentShape = config.global?.shape ?? "square";
13943
- const handleChange = (e) => {
13944
- const shape = e.target.value;
13945
- setConfig((prev) => ({
13946
- ...prev,
13947
- global: {
13948
- ...prev.global,
13949
- shape
13950
- }
13951
- }));
13952
- };
13953
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1 w-fit", children: /* @__PURE__ */ jsxRuntime.jsx(
13954
- "select",
13955
- {
13956
- value: currentShape,
13957
- onChange: handleChange,
13958
- className: "\n px-3 py-2 rounded-md border border-gray-300\n bg-white dark:bg-gray-800\n text-sm shadow-sm\n focus:outline-none\n ",
13959
- children: Object.keys(Shape).map((shape) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: shape, children: shape }, shape))
13960
- }
13961
- ) });
13962
- };
13963
-
13964
- // src/hooks/theme/useCurrentTheme.ts
13965
- var useCurrentTheme = () => {
13966
- const context = React4.useContext(ThemeContext);
13967
- if (!context) {
13968
- throw new Error("useCurrentTheme must be used within a ThemeProvider");
13969
- }
13970
- return context.theme;
13971
- };
13972
- var useCurrentTheme_default = useCurrentTheme;
13973
14216
  function WorldMap({
13974
14217
  data,
13975
14218
  title = "Global Data Overview",
@@ -13977,9 +14220,10 @@ function WorldMap({
13977
14220
  bubbleStroke = "stroke-teal-900",
13978
14221
  bubbleScale = 40,
13979
14222
  minBubble = 6,
13980
- styles,
13981
14223
  disableCountryHover = true,
13982
- disableCountrySelect = true
14224
+ disableCountrySelect = true,
14225
+ className,
14226
+ ...rest
13983
14227
  }) {
13984
14228
  const currentTheme = useCurrentTheme_default();
13985
14229
  const isDarkMode = currentTheme === "dark";
@@ -14023,60 +14267,52 @@ function WorldMap({
14023
14267
  setShowTooltip(true);
14024
14268
  };
14025
14269
  const hideTooltip = () => setShowTooltip(false);
14026
- return /* @__PURE__ */ jsxRuntime.jsxs(
14027
- "div",
14028
- {
14029
- className: classNames28__default.default({
14030
- [`${styles}`]: true
14031
- }),
14032
- children: [
14033
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold mb-4", children: title }),
14034
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full aspect-[2/1]", children: /* @__PURE__ */ jsxRuntime.jsxs(
14035
- reactSimpleMaps.ComposableMap,
14036
- {
14037
- projectionConfig: { scale: 140 },
14038
- width: 800,
14039
- height: 400,
14040
- style: { width: "100%", height: "100%" },
14041
- children: [
14042
- /* @__PURE__ */ jsxRuntime.jsx(reactSimpleMaps.Geographies, { geography: worldMapTopoJSONContries100m, children: ({ geographies }) => geographies.map((geo) => /* @__PURE__ */ jsxRuntime.jsx(
14043
- reactSimpleMaps.Geography,
14044
- {
14045
- geography: geo,
14046
- style: {
14047
- default: {
14048
- ...mode.default,
14049
- strokeWidth: 0.5,
14050
- pointerEvents: disableCountryHover && disableCountrySelect ? "none" : "auto"
14051
- },
14052
- hover: disableCountryHover ? { ...mode.default, pointerEvents: "none" } : mode.hover,
14053
- pressed: disableCountrySelect ? { ...mode.default, pointerEvents: "none" } : mode.pressed
14054
- }
14270
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...rest, className: cn(className), children: [
14271
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold mb-4", children: title }),
14272
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full aspect-[2/1]", children: /* @__PURE__ */ jsxRuntime.jsxs(
14273
+ reactSimpleMaps.ComposableMap,
14274
+ {
14275
+ projectionConfig: { scale: 140 },
14276
+ width: 800,
14277
+ height: 400,
14278
+ style: { width: "100%", height: "100%" },
14279
+ children: [
14280
+ /* @__PURE__ */ jsxRuntime.jsx(reactSimpleMaps.Geographies, { geography: worldMapTopoJSONContries100m, children: ({ geographies }) => geographies.map((geo) => /* @__PURE__ */ jsxRuntime.jsx(
14281
+ reactSimpleMaps.Geography,
14282
+ {
14283
+ geography: geo,
14284
+ style: {
14285
+ default: {
14286
+ ...mode.default,
14287
+ strokeWidth: 0.5,
14288
+ pointerEvents: disableCountryHover && disableCountrySelect ? "none" : "auto"
14055
14289
  },
14056
- geo.rsmKey
14057
- )) }),
14058
- resolvedData.map((point, index) => {
14059
- const size = point.value / maxValue * bubbleScale + minBubble;
14060
- return /* @__PURE__ */ jsxRuntime.jsx(reactSimpleMaps.Marker, { coordinates: point.coordinates, children: /* @__PURE__ */ jsxRuntime.jsx(
14061
- framerMotion.motion.circle,
14062
- {
14063
- r: size,
14064
- initial: { opacity: 0, scale: 0 },
14065
- animate: { opacity: 0.6, scale: 1 },
14066
- transition: { duration: 0.5 },
14067
- className: `${bubbleColor} ${bubbleStroke} stroke-1 cursor-pointer`,
14068
- onMouseMove: (e) => handleMouseMove(e, point),
14069
- onMouseLeave: hideTooltip
14070
- }
14071
- ) }, index);
14072
- })
14073
- ]
14074
- }
14075
- ) }),
14076
- /* @__PURE__ */ jsxRuntime.jsx(Tooltip4, { show: showTooltip, content: tooltipContent })
14077
- ]
14078
- }
14079
- );
14290
+ hover: disableCountryHover ? { ...mode.default, pointerEvents: "none" } : mode.hover,
14291
+ pressed: disableCountrySelect ? { ...mode.default, pointerEvents: "none" } : mode.pressed
14292
+ }
14293
+ },
14294
+ geo.rsmKey
14295
+ )) }),
14296
+ resolvedData.map((point, index) => {
14297
+ const size = point.value / maxValue * bubbleScale + minBubble;
14298
+ return /* @__PURE__ */ jsxRuntime.jsx(reactSimpleMaps.Marker, { coordinates: point.coordinates, children: /* @__PURE__ */ jsxRuntime.jsx(
14299
+ framerMotion.motion.circle,
14300
+ {
14301
+ r: size,
14302
+ initial: { opacity: 0, scale: 0 },
14303
+ animate: { opacity: 0.6, scale: 1 },
14304
+ transition: { duration: 0.5 },
14305
+ className: `${bubbleColor} ${bubbleStroke} stroke-1 cursor-pointer`,
14306
+ onMouseMove: (e) => handleMouseMove(e, point),
14307
+ onMouseLeave: hideTooltip
14308
+ }
14309
+ ) }, index);
14310
+ })
14311
+ ]
14312
+ }
14313
+ ) }),
14314
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip4, { show: showTooltip, children: tooltipContent })
14315
+ ] });
14080
14316
  }
14081
14317
  var sizes3 = {
14082
14318
  xs: "px-2 py-1 text-xs",
@@ -14120,7 +14356,7 @@ var Button = ({
14120
14356
  onClick,
14121
14357
  onMouseMove: handleMouseMove,
14122
14358
  disabled: disabled || loading,
14123
- className: classNames28__default.default({
14359
+ className: classNames17__default.default({
14124
14360
  "relative z-0 overflow-hidden group": true,
14125
14361
  "flex flex-row items-center justify-center gap-2": true,
14126
14362
  [`${variants[variant]}`]: !ghost,
@@ -14166,7 +14402,7 @@ function InputResponse({
14166
14402
  return /* @__PURE__ */ jsxRuntime.jsx(Transition4.TransitionDropdown, { visibility, children: /* @__PURE__ */ jsxRuntime.jsx(
14167
14403
  "div",
14168
14404
  {
14169
- className: classNames28__default.default({
14405
+ className: classNames17__default.default({
14170
14406
  "font-medium text-sm py-1 px-2": true,
14171
14407
  [`${textVariants[variant]}`]: variant,
14172
14408
  "transition-all ease-in-out": true,
@@ -14181,7 +14417,7 @@ function InputLabel({ text, children, styles }) {
14181
14417
  return /* @__PURE__ */ jsxRuntime.jsx(
14182
14418
  "label",
14183
14419
  {
14184
- className: classNames28__default.default({
14420
+ className: classNames17__default.default({
14185
14421
  "px-0 eui-text-sm text-[13.5px] pointer-events-none select-none": true,
14186
14422
  "transition-all ease-in-out": true,
14187
14423
  [`${styles}`]: styles
@@ -14233,7 +14469,7 @@ var Input = ({
14233
14469
  ...field,
14234
14470
  ...props,
14235
14471
  placeholder,
14236
- className: classNames28__default.default({
14472
+ className: classNames17__default.default({
14237
14473
  "border peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:outline-none h-[50px]": true,
14238
14474
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
14239
14475
  "border-eui-danger-500": meta.touched && meta.error,
@@ -14278,7 +14514,7 @@ var InputFile = ({
14278
14514
  /* @__PURE__ */ jsxRuntime.jsx(
14279
14515
  "div",
14280
14516
  {
14281
- className: classNames28__default.default(
14517
+ className: classNames17__default.default(
14282
14518
  "border rounded-sm bg-eui-primary-300/10 px-3 pt-3 text-md text-eui-dark-100 cursor-pointer h-[50px] flex items-center",
14283
14519
  {
14284
14520
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -14304,7 +14540,7 @@ var InputFile = ({
14304
14540
  InputLabel_default,
14305
14541
  {
14306
14542
  text: placeholder,
14307
- styles: classNames28__default.default({
14543
+ styles: classNames17__default.default({
14308
14544
  "absolute left-2 eui-text-sm peer-placeholder-shown:text-base peer-placeholder-shown:top-3 pointer-events-none": true,
14309
14545
  "top-[0.7px]": showFloatingLabel,
14310
14546
  "top-[13px] text-base": !showFloatingLabel
@@ -14330,7 +14566,7 @@ var InputList = ({ name, placeholder, shape }) => {
14330
14566
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntime.jsx(formik.FieldArray, { name, children: ({ push, remove, move }) => /* @__PURE__ */ jsxRuntime.jsxs(
14331
14567
  "div",
14332
14568
  {
14333
- className: classNames28__default.default({
14569
+ className: classNames17__default.default({
14334
14570
  "flex flex-col space-y-2 w-full bg-eui-primary-300/10": true,
14335
14571
  [`${shapes[resolvedShape]}`]: true
14336
14572
  }),
@@ -14361,7 +14597,7 @@ var InputList = ({ name, placeholder, shape }) => {
14361
14597
  {
14362
14598
  name: `${name}[${index}]`,
14363
14599
  placeholder: `Item ${index + 1}`,
14364
- className: classNames28__default.default(
14600
+ className: classNames17__default.default(
14365
14601
  "border peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:outline-none h-[50px]",
14366
14602
  [`${shapes[resolvedShape]}`],
14367
14603
  errors[name]?.[index] ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -14429,7 +14665,7 @@ var InputListGroup = ({
14429
14665
  values[name]?.map((group, groupIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
14430
14666
  "div",
14431
14667
  {
14432
- className: classNames28__default.default({
14668
+ className: classNames17__default.default({
14433
14669
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3": true,
14434
14670
  [`${shapes[resolvedShape]}`]: true
14435
14671
  }),
@@ -14441,7 +14677,7 @@ var InputListGroup = ({
14441
14677
  {
14442
14678
  name: `${name}[${groupIndex}].name`,
14443
14679
  placeholder: `Group ${groupIndex + 1}`,
14444
- className: classNames28__default.default(
14680
+ className: classNames17__default.default(
14445
14681
  "border w-full bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none h-[40px]",
14446
14682
  [`${shapes[resolvedShape]}`],
14447
14683
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -14483,7 +14719,7 @@ var InputListGroup = ({
14483
14719
  {
14484
14720
  ref: provided.innerRef,
14485
14721
  ...provided.droppableProps,
14486
- className: classNames28__default.default({
14722
+ className: classNames17__default.default({
14487
14723
  "space-y-2 bg-eui-primary-300/10 p-2": true,
14488
14724
  [`${shapes[resolvedShape]}`]: true
14489
14725
  }),
@@ -14498,7 +14734,7 @@ var InputListGroup = ({
14498
14734
  {
14499
14735
  ref: provided2.innerRef,
14500
14736
  ...provided2.draggableProps,
14501
- className: classNames28__default.default({
14737
+ className: classNames17__default.default({
14502
14738
  "flex items-center gap-2 bg-eui-primary-300/10 p-2": true,
14503
14739
  [`${shapes[resolvedShape]}`]: true
14504
14740
  }),
@@ -14509,7 +14745,7 @@ var InputListGroup = ({
14509
14745
  {
14510
14746
  name: `${name}[${groupIndex}].items[${itemIndex}]`,
14511
14747
  placeholder: `Item ${itemIndex + 1}`,
14512
- className: classNames28__default.default(
14748
+ className: classNames17__default.default(
14513
14749
  "border w-full bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none h-[40px]",
14514
14750
  [`${shapes[resolvedShape]}`],
14515
14751
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -14586,7 +14822,7 @@ var Checkbox = (props) => {
14586
14822
  const { placeholder } = props;
14587
14823
  const isMulti = isMultiCheckbox(props);
14588
14824
  const [field, meta, helpers] = isMulti ? formik.useField(props) : formik.useField(props);
14589
- const checkboxClass = classNames28__default.default(
14825
+ const checkboxClass = classNames17__default.default(
14590
14826
  "appearance-none cursor-pointer transition-all duration-300",
14591
14827
  "w-5 h-5 min-w-[1.25rem] min-h-[1.25rem]",
14592
14828
  "flex-shrink-0",
@@ -14687,7 +14923,7 @@ var DateSelector = ({
14687
14923
  ...field,
14688
14924
  ...props,
14689
14925
  placeholder,
14690
- className: classNames28__default.default({
14926
+ className: classNames17__default.default({
14691
14927
  "border border-eui-primary-400 peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:border-eui-secondary-500 focus:outline-none h-[50px]": true,
14692
14928
  "border-eui-danger-500": meta.touched && meta.error,
14693
14929
  "transition-all ease-in-out": true,
@@ -14796,7 +15032,7 @@ var ImageInput = React4.forwardRef(
14796
15032
  /* @__PURE__ */ jsxRuntime.jsxs(
14797
15033
  "label",
14798
15034
  {
14799
- className: classNames28__default.default({
15035
+ className: classNames17__default.default({
14800
15036
  "border-2 border-dashed border-gray-700 bg-gray-900 h-[200px] w-[300px] flex flex-col gap-2 items-center justify-center group": true,
14801
15037
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
14802
15038
  "transition-all ease-in-out duration-150": true
@@ -14913,7 +15149,7 @@ function Radio({
14913
15149
  return /* @__PURE__ */ jsxRuntime.jsxs(
14914
15150
  "div",
14915
15151
  {
14916
- className: classNames28__default.default({
15152
+ className: classNames17__default.default({
14917
15153
  "flex flex-row gap-2 items-center mx-1 my-2": true
14918
15154
  }),
14919
15155
  children: [
@@ -14926,7 +15162,7 @@ function Radio({
14926
15162
  ...props,
14927
15163
  value: option.value,
14928
15164
  checked: field2.value === option.value,
14929
- className: classNames28__default.default({
15165
+ className: classNames17__default.default({
14930
15166
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
14931
15167
  // base radio button styles
14932
15168
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -14938,7 +15174,7 @@ function Radio({
14938
15174
  "label",
14939
15175
  {
14940
15176
  htmlFor: option.value,
14941
- className: classNames28__default.default({
15177
+ className: classNames17__default.default({
14942
15178
  "eui-text-md text-sm": true
14943
15179
  }),
14944
15180
  children: option.label
@@ -14981,7 +15217,7 @@ function StarRatingInput({
14981
15217
  return /* @__PURE__ */ jsxRuntime.jsxs(
14982
15218
  "div",
14983
15219
  {
14984
- className: classNames28__default.default({
15220
+ className: classNames17__default.default({
14985
15221
  "inline-flex gap-[4px] text-[20px]": true,
14986
15222
  [`${styles}`]: styles
14987
15223
  }),
@@ -14994,7 +15230,7 @@ function StarRatingInput({
14994
15230
  onClick: () => handleOnClick(index),
14995
15231
  onMouseEnter: () => setHover(index),
14996
15232
  onMouseLeave: () => setHover(null),
14997
- className: classNames28__default.default({
15233
+ className: classNames17__default.default({
14998
15234
  "text-yellow-600": index <= (hover ?? rating - 1),
14999
15235
  "text-gray-400": index > (hover ?? rating - 1)
15000
15236
  }),
@@ -15038,7 +15274,7 @@ function Select({
15038
15274
  {
15039
15275
  as: "select",
15040
15276
  ...props,
15041
- className: classNames28__default.default({
15277
+ className: classNames17__default.default({
15042
15278
  "border peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:border-eui-secondary-500 focus:outline-none h-[50px]": true,
15043
15279
  "border-eui-primary-400": !(meta.touched && meta.error),
15044
15280
  "border-red-500": meta.touched && meta.error,
@@ -15090,7 +15326,7 @@ function Switch({
15090
15326
  "div",
15091
15327
  {
15092
15328
  onClick: () => helpers.setValue(!field.value),
15093
- className: classNames28__default.default(
15329
+ className: classNames17__default.default(
15094
15330
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
15095
15331
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
15096
15332
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -15147,7 +15383,7 @@ function Tags({
15147
15383
  /* @__PURE__ */ jsxRuntime.jsxs(
15148
15384
  "div",
15149
15385
  {
15150
- className: classNames28__default.default(
15386
+ className: classNames17__default.default(
15151
15387
  "border rounded-sm flex flex-wrap items-center gap-2 px-2 pt-2 pb-6 min-h-[3rem]",
15152
15388
  {
15153
15389
  "bg-eui-primary-300/10 eui-text-md": true,
@@ -15195,7 +15431,7 @@ function Tags({
15195
15431
  InputLabel_default,
15196
15432
  {
15197
15433
  text: placeholder,
15198
- styles: classNames28__default.default(
15434
+ styles: classNames17__default.default(
15199
15435
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
15200
15436
  input.length > 0 || field.value.length > 0 ? "top-[2px] text-[13.5px]" : "top-3 text-base"
15201
15437
  )
@@ -15236,7 +15472,7 @@ function TextArea({
15236
15472
  as: "textarea",
15237
15473
  ...field,
15238
15474
  ...props,
15239
- className: classNames28__default.default({
15475
+ className: classNames17__default.default({
15240
15476
  "border peer w-full bg-eui-primary-300/10 eui-text-md outline-none px-3 py-5 resize-none focus:resize-none focus:outline-none": true,
15241
15477
  "transition-all ease-in-out": true,
15242
15478
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -15250,7 +15486,7 @@ function TextArea({
15250
15486
  InputLabel_default,
15251
15487
  {
15252
15488
  text: placeholder,
15253
- styles: classNames28__default.default(
15489
+ styles: classNames17__default.default(
15254
15490
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
15255
15491
  field.value ? "top-[2px] text-[13.5px]" : "top-3 text-base"
15256
15492
  )
@@ -15281,7 +15517,7 @@ function ContentArea({
15281
15517
  return /* @__PURE__ */ jsxRuntime.jsx(
15282
15518
  "div",
15283
15519
  {
15284
- className: classNames28__default.default({
15520
+ className: classNames17__default.default({
15285
15521
  "min-h-screen h-full w-full py-3 px-5": true,
15286
15522
  "py-3 px-5": !enablePadding,
15287
15523
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -15297,7 +15533,7 @@ function FlexCol({ children, gap = 3, styles }) {
15297
15533
  return /* @__PURE__ */ jsxRuntime.jsx(
15298
15534
  "div",
15299
15535
  {
15300
- className: classNames28__default.default({
15536
+ className: classNames17__default.default({
15301
15537
  [`flex flex-col gap-${gap}`]: true,
15302
15538
  [`${styles}`]: styles
15303
15539
  }),
@@ -15310,7 +15546,7 @@ function FlexRow({ children, gap = 3, styles }) {
15310
15546
  return /* @__PURE__ */ jsxRuntime.jsx(
15311
15547
  "div",
15312
15548
  {
15313
- className: classNames28__default.default({
15549
+ className: classNames17__default.default({
15314
15550
  [`flex flex-row gap-${gap}`]: true,
15315
15551
  [`${styles}`]: styles
15316
15552
  }),
@@ -15329,7 +15565,7 @@ function Grid({ children, styles }) {
15329
15565
  return /* @__PURE__ */ jsxRuntime.jsx(
15330
15566
  "div",
15331
15567
  {
15332
- className: classNames28__default.default({
15568
+ className: classNames17__default.default({
15333
15569
  [`grid`]: true,
15334
15570
  [`${styles}`]: styles
15335
15571
  }),
@@ -15346,7 +15582,7 @@ var Layout = ({
15346
15582
  return /* @__PURE__ */ jsxRuntime.jsx(
15347
15583
  "div",
15348
15584
  {
15349
- className: classNames28__default.default({
15585
+ className: classNames17__default.default({
15350
15586
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
15351
15587
  "flex bg-eui-light-600": true,
15352
15588
  "flex-col": flexDirection === "vertical",
@@ -15365,7 +15601,7 @@ var Header = ({
15365
15601
  return /* @__PURE__ */ jsxRuntime.jsx(
15366
15602
  "div",
15367
15603
  {
15368
- className: classNames28__default.default({
15604
+ className: classNames17__default.default({
15369
15605
  static: position === "static",
15370
15606
  fixed: position === "fixed",
15371
15607
  sticky: position === "sticky",
@@ -15405,7 +15641,7 @@ var Content = ({
15405
15641
  return /* @__PURE__ */ jsxRuntime.jsx(
15406
15642
  "div",
15407
15643
  {
15408
- className: classNames28__default.default({
15644
+ className: classNames17__default.default({
15409
15645
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
15410
15646
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
15411
15647
  // Shift when sidebar is open (desktop)
@@ -15421,7 +15657,7 @@ var Footer = ({ children, styles }) => {
15421
15657
  return /* @__PURE__ */ jsxRuntime.jsx(
15422
15658
  "div",
15423
15659
  {
15424
- className: classNames28__default.default({
15660
+ className: classNames17__default.default({
15425
15661
  "bottom-0 w-full h-fit": true,
15426
15662
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
15427
15663
  [`${styles}`]: styles
@@ -15509,7 +15745,7 @@ function MarkdownEditor({
15509
15745
  const [field, meta, helpers] = formik.useField(props);
15510
15746
  const { theme } = useTheme_default();
15511
15747
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
15512
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames28__default.default(theme === "dark" ? "dark" : "", styles), children: /* @__PURE__ */ jsxRuntime.jsx(
15748
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames17__default.default(theme === "dark" ? "dark" : "", styles), children: /* @__PURE__ */ jsxRuntime.jsx(
15513
15749
  editor.MDXEditor,
15514
15750
  {
15515
15751
  markdown: field.value,
@@ -15612,7 +15848,7 @@ function MarkdownTOC({ title = "Table of Contents" }) {
15612
15848
  "button",
15613
15849
  {
15614
15850
  onClick: () => scrollToHeading(heading.id),
15615
- className: classNames28__default.default(
15851
+ className: classNames17__default.default(
15616
15852
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
15617
15853
  "hover:text-primary",
15618
15854
  activeHeading === heading.id ? "text-primary font-semibold underline" : "text-gray-500 dark:text-gray-400"
@@ -15768,7 +16004,7 @@ function BreadcrumbItem({
15768
16004
  {
15769
16005
  href,
15770
16006
  onClick,
15771
- className: classNames28__default.default({
16007
+ className: classNames17__default.default({
15772
16008
  "text-lg font-semibold": true,
15773
16009
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
15774
16010
  "text-eui-light-800": active,
@@ -15845,7 +16081,7 @@ var Breadcrumb = ({
15845
16081
  index < resolvedData.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
15846
16082
  "span",
15847
16083
  {
15848
- className: classNames28__default.default({
16084
+ className: classNames17__default.default({
15849
16085
  "text-lg font-semibold text-gray-500": true,
15850
16086
  [`px-${gap}`]: gap
15851
16087
  }),
@@ -15859,7 +16095,7 @@ var Breadcrumb = ({
15859
16095
  return /* @__PURE__ */ jsxRuntime.jsx(
15860
16096
  "div",
15861
16097
  {
15862
- className: classNames28__default.default({
16098
+ className: classNames17__default.default({
15863
16099
  "inline-flex": true,
15864
16100
  [`${styles}`]: styles
15865
16101
  }),
@@ -15889,7 +16125,7 @@ var Drawer = ({
15889
16125
  {
15890
16126
  show: visibility,
15891
16127
  enter: "transform transition duration-200 ease-out",
15892
- enterFrom: classNames28__default.default({
16128
+ enterFrom: classNames17__default.default({
15893
16129
  "-translate-x-full": side === "left",
15894
16130
  "translate-x-full": side === "right",
15895
16131
  "-translate-y-full": side === "top",
@@ -15898,7 +16134,7 @@ var Drawer = ({
15898
16134
  enterTo: "translate-x-0 translate-y-0",
15899
16135
  leave: "transform transition duration-200 ease-in",
15900
16136
  leaveFrom: "translate-x-0 translate-y-0",
15901
- leaveTo: classNames28__default.default({
16137
+ leaveTo: classNames17__default.default({
15902
16138
  "-translate-x-full": side === "left",
15903
16139
  "translate-x-full": side === "right",
15904
16140
  "-translate-y-full": side === "top",
@@ -15907,7 +16143,7 @@ var Drawer = ({
15907
16143
  children: /* @__PURE__ */ jsxRuntime.jsx(
15908
16144
  "div",
15909
16145
  {
15910
- className: classNames28__default.default(
16146
+ className: classNames17__default.default(
15911
16147
  "fixed shadow-lg z-50",
15912
16148
  {
15913
16149
  "h-full w-[300px]": isHorizontal,
@@ -15939,7 +16175,7 @@ function DrawerToggler({
15939
16175
  return /* @__PURE__ */ jsxRuntime.jsx(
15940
16176
  "div",
15941
16177
  {
15942
- className: classNames28__default.default({
16178
+ className: classNames17__default.default({
15943
16179
  "text-xl p-3 cursor-pointer": true,
15944
16180
  "transition-all ease-in-out": true,
15945
16181
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -15987,7 +16223,7 @@ function FooterNav({ data = [], styles }) {
15987
16223
  childrenContent = /* @__PURE__ */ jsxRuntime.jsx(
15988
16224
  "div",
15989
16225
  {
15990
- className: classNames28__default.default({
16226
+ className: classNames17__default.default({
15991
16227
  "grid w-full": true,
15992
16228
  "grid-cols-1": isMobile,
15993
16229
  "grid-cols-3": !isMobile,
@@ -16000,7 +16236,7 @@ function FooterNav({ data = [], styles }) {
16000
16236
  return /* @__PURE__ */ jsxRuntime.jsx(
16001
16237
  "div",
16002
16238
  {
16003
- className: classNames28__default.default({
16239
+ className: classNames17__default.default({
16004
16240
  [`${styles}`]: styles
16005
16241
  }),
16006
16242
  children: childrenContent
@@ -16041,7 +16277,7 @@ var FooterNavGroup = ({
16041
16277
  /* @__PURE__ */ jsxRuntime.jsx(
16042
16278
  "div",
16043
16279
  {
16044
- className: classNames28__default.default({
16280
+ className: classNames17__default.default({
16045
16281
  "": true,
16046
16282
  "py-2 font-semibold eui-text-lg": !styles,
16047
16283
  [`${styles}`]: styles
@@ -16086,7 +16322,7 @@ var FooterNavItem = ({
16086
16322
  "div",
16087
16323
  {
16088
16324
  onClick: handleNavigation,
16089
- className: classNames28__default.default({
16325
+ className: classNames17__default.default({
16090
16326
  "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
16091
16327
  "transition-all duration-200 ease-in-out": true,
16092
16328
  "text-sm eui-text-sm": !styles,
@@ -16115,7 +16351,7 @@ var FooterNavItemTitle = ({
16115
16351
  return /* @__PURE__ */ jsxRuntime.jsx(
16116
16352
  "div",
16117
16353
  {
16118
- className: classNames28__default.default({
16354
+ className: classNames17__default.default({
16119
16355
  "": true,
16120
16356
  "py-2 font-thin eui-text-md": !styles,
16121
16357
  [`${styles}`]: styles
@@ -16168,7 +16404,7 @@ function HeaderNav({ data = [], styles }) {
16168
16404
  return /* @__PURE__ */ jsxRuntime.jsx(
16169
16405
  "div",
16170
16406
  {
16171
- className: classNames28__default.default({
16407
+ className: classNames17__default.default({
16172
16408
  [`${styles}`]: styles
16173
16409
  }),
16174
16410
  children: childrenContent
@@ -16230,7 +16466,7 @@ var HeaderNavGroup = ({
16230
16466
  /* @__PURE__ */ jsxRuntime.jsxs(
16231
16467
  "div",
16232
16468
  {
16233
- className: classNames28__default.default({
16469
+ className: classNames17__default.default({
16234
16470
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
16235
16471
  "transition-all duration-300 ease-in-out": true,
16236
16472
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -16258,7 +16494,7 @@ var HeaderNavGroup = ({
16258
16494
  children && /* @__PURE__ */ jsxRuntime.jsx(
16259
16495
  bs.BsChevronDown,
16260
16496
  {
16261
- className: classNames28__default.default({
16497
+ className: classNames17__default.default({
16262
16498
  "text-md": true,
16263
16499
  "transition-all ease-in-out duration-300": true,
16264
16500
  "rotate-180": !collapsed
@@ -16271,7 +16507,7 @@ var HeaderNavGroup = ({
16271
16507
  !collapsed && children && /* @__PURE__ */ jsxRuntime.jsx(
16272
16508
  "div",
16273
16509
  {
16274
- className: classNames28__default.default({
16510
+ className: classNames17__default.default({
16275
16511
  "absolute min-w-80 left-0 top-full mt-1 border border-eui-dark-300/10 dark:border-eui-dark-300/50 shadow-lg eui-shadow-lg z-50 w-full eui-bg-md": true,
16276
16512
  "transition-all duration-300 ease-in-out": true
16277
16513
  }),
@@ -16301,7 +16537,7 @@ var HeaderNavItem = ({
16301
16537
  "div",
16302
16538
  {
16303
16539
  onClick: handleNavigation,
16304
- className: classNames28__default.default({
16540
+ className: classNames17__default.default({
16305
16541
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
16306
16542
  "transition-all duration-200 ease-in-out": true,
16307
16543
  "eui-text-md border-b border-eui-dark-500/20 dark:border-eui-secondary-900/20 bg-gradient-to-r from-eui-dark-500/10 dark:from-eui-secondary-900/10": !styles,
@@ -16330,7 +16566,7 @@ var HeaderNavItemTitle = ({
16330
16566
  return /* @__PURE__ */ jsxRuntime.jsx(
16331
16567
  "div",
16332
16568
  {
16333
- className: classNames28__default.default({
16569
+ className: classNames17__default.default({
16334
16570
  "p-3 font-thin": true,
16335
16571
  "eui-text-md": !styles,
16336
16572
  [`${styles}`]: styles
@@ -16370,7 +16606,7 @@ var Link = ({
16370
16606
  href: href || "#",
16371
16607
  target: targets[target],
16372
16608
  onClick: handleClick,
16373
- className: classNames28__default.default({
16609
+ className: classNames17__default.default({
16374
16610
  [`${textVariants[variant]}`]: variant,
16375
16611
  [`${decorations[decoration]}`]: decoration,
16376
16612
  "font-bold": bold,
@@ -16835,7 +17071,7 @@ function Modal({
16835
17071
  "div",
16836
17072
  {
16837
17073
  ref: modalRef,
16838
- className: classNames28__default.default({
17074
+ className: classNames17__default.default({
16839
17075
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit": true,
16840
17076
  [`${shapes[resolvedShape]}`]: true,
16841
17077
  [`${styles}`]: styles
@@ -16846,7 +17082,7 @@ function Modal({
16846
17082
  /* @__PURE__ */ jsxRuntime.jsx(
16847
17083
  "div",
16848
17084
  {
16849
- className: classNames28__default.default({
17085
+ className: classNames17__default.default({
16850
17086
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast": true,
16851
17087
  "hover:cursor-pointer hover:bg-eui-dark-500": true
16852
17088
  }),
@@ -16952,7 +17188,7 @@ function ShowMore({ text, limit }) {
16952
17188
  /* @__PURE__ */ jsxRuntime.jsx(
16953
17189
  "div",
16954
17190
  {
16955
- className: classNames28__default.default({
17191
+ className: classNames17__default.default({
16956
17192
  "text-blue-300 px-1 pb-1 mt-1": true,
16957
17193
  "bg-slate-900/70": !showMore,
16958
17194
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -17014,6 +17250,99 @@ function DocumentationPanel({ value, toc = true }) {
17014
17250
  ] }) });
17015
17251
  }
17016
17252
  var DocumentationPanel_default = DocumentationPanel;
17253
+ function SliderItem({
17254
+ img,
17255
+ onClick,
17256
+ selected,
17257
+ className,
17258
+ ...rest
17259
+ }) {
17260
+ return /* @__PURE__ */ jsxRuntime.jsx(
17261
+ "div",
17262
+ {
17263
+ ...rest,
17264
+ onClick,
17265
+ className: cn(
17266
+ "flex-shrink-0 w-[160px] h-[90px] border-[3px] overflow-hidden brightness-50",
17267
+ "hover:cursor-pointer hover:border-eui-secondary-600 hover:shadow-lg hover:shadow-[#167d0f]/50 hover:brightness-100",
17268
+ selected ? "border-opacity-100 border-[#0b6b05] brightness-100" : "border-transparent",
17269
+ "transition-all ease-in-out duration-500",
17270
+ className
17271
+ ),
17272
+ children: /* @__PURE__ */ jsxRuntime.jsx(
17273
+ CloudinaryImage_default,
17274
+ {
17275
+ publicId: img,
17276
+ alt: "image",
17277
+ className: "w-full h-full object-cover"
17278
+ }
17279
+ )
17280
+ }
17281
+ );
17282
+ }
17283
+ var SliderItem_default = SliderItem;
17284
+ function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
17285
+ const [images, setImages] = React4.useState([
17286
+ {
17287
+ img: coverArt,
17288
+ selected: true
17289
+ }
17290
+ ]);
17291
+ React4.useEffect(() => {
17292
+ setImages([
17293
+ {
17294
+ img: coverArt,
17295
+ selected: true
17296
+ }
17297
+ ]);
17298
+ }, [isSuccess]);
17299
+ React4.useEffect(() => {
17300
+ if (screenshots) {
17301
+ const selectableScreenshots = [];
17302
+ screenshots.forEach((item) => {
17303
+ selectableScreenshots.push({
17304
+ img: item,
17305
+ selected: false
17306
+ });
17307
+ });
17308
+ setImages((prev) => [...prev, ...selectableScreenshots]);
17309
+ }
17310
+ }, [isSuccess]);
17311
+ const [displayImg, setDisplayImg] = React4.useState(coverArt);
17312
+ React4.useEffect(() => {
17313
+ setDisplayImg(coverArt);
17314
+ }, [coverArt]);
17315
+ const displayImageHandler = (itemIndex, img) => {
17316
+ setDisplayImg(img);
17317
+ const newArray = images.map((obj, i) => {
17318
+ if (i === itemIndex) {
17319
+ return { ...obj, selected: true };
17320
+ }
17321
+ return { ...obj, selected: false };
17322
+ });
17323
+ setImages(newArray);
17324
+ };
17325
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "w-full aspect-w-16 aspect-h-9" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
17326
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
17327
+ CloudinaryImage_default,
17328
+ {
17329
+ publicId: displayImg,
17330
+ alt: "displayImg",
17331
+ className: "aspect-w-16 aspect-h-9"
17332
+ }
17333
+ ) }),
17334
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-[130px]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute pt-2 pb-4 w-full flex space-x-2 overflow-auto", children: images.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
17335
+ SliderItem_default,
17336
+ {
17337
+ img: item.img,
17338
+ onClick: () => displayImageHandler(index, item.img),
17339
+ selected: item.selected
17340
+ },
17341
+ index
17342
+ )) }) })
17343
+ ] }) });
17344
+ }
17345
+ var Slider_default = Slider;
17017
17346
  function WorldMapCountryTable({
17018
17347
  title = "Country Breakdown",
17019
17348
  data
@@ -17110,7 +17439,7 @@ function BoxNavItem({ icon, name, to, selected, onClick }) {
17110
17439
  type: "button",
17111
17440
  onClick: handleClick,
17112
17441
  "aria-current": selected ? "page" : void 0,
17113
- className: classNames28__default.default(
17442
+ className: classNames17__default.default(
17114
17443
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
17115
17444
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
17116
17445
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -17500,7 +17829,7 @@ function GenericLayout({
17500
17829
  return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsxRuntime.jsx(
17501
17830
  "div",
17502
17831
  {
17503
- className: classNames28__default.default({
17832
+ className: classNames17__default.default({
17504
17833
  [`${styles}`]: styles
17505
17834
  }),
17506
17835
  children
@@ -17549,7 +17878,7 @@ function SidemenuLayout({ data, children }) {
17549
17878
  return /* @__PURE__ */ jsxRuntime.jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxRuntime.jsxs(
17550
17879
  "div",
17551
17880
  {
17552
- className: classNames28__default.default({
17881
+ className: classNames17__default.default({
17553
17882
  grid: true,
17554
17883
  "grid-cols-7 gap-10": !isMobile,
17555
17884
  "grid-cols-1 gap-": isMobile
@@ -17622,6 +17951,7 @@ exports.Brand = Brand_default;
17622
17951
  exports.Breadcrumb = Breadcrumb;
17623
17952
  exports.BreadcrumbItem = BreadcrumbItem_default;
17624
17953
  exports.Button = Button;
17954
+ exports.Caption = Caption;
17625
17955
  exports.Card = Card_default;
17626
17956
  exports.CardContent = CardContent_default;
17627
17957
  exports.CardFooter = CardFooter_default;
@@ -17630,14 +17960,15 @@ exports.Chapter = Chapter;
17630
17960
  exports.Checkbox = Checkbox_default;
17631
17961
  exports.Chip = Chip;
17632
17962
  exports.CloudinaryImage = CloudinaryImage_default;
17633
- exports.CloudinaryProvider = CloudinaryProvider;
17634
17963
  exports.CloudinaryVideo = CloudinaryVideo_default;
17964
+ exports.Code = Code;
17635
17965
  exports.Content = Content;
17636
17966
  exports.ContentArea = ContentArea_default;
17637
17967
  exports.DataView = DataView;
17638
17968
  exports.DataViewTable = DataViewTable_default;
17639
17969
  exports.DateSelector = DateSelector_default;
17640
17970
  exports.DefaultLayout = DefaultLayout_default;
17971
+ exports.Display = Display;
17641
17972
  exports.DocumentationPanel = DocumentationPanel_default;
17642
17973
  exports.Drawer = Drawer;
17643
17974
  exports.DrawerToggler = DrawerToggler_default;
@@ -17678,7 +18009,9 @@ exports.InputLabel = InputLabel_default;
17678
18009
  exports.InputList = InputList;
17679
18010
  exports.InputListGroup = InputListGroup;
17680
18011
  exports.InputResponse = InputResponse_default;
18012
+ exports.Label = Label;
17681
18013
  exports.Layout = Layout;
18014
+ exports.Lead = Lead;
17682
18015
  exports.LineChart = LineChart_default;
17683
18016
  exports.Link = Link;
17684
18017
  exports.List = List_default;
@@ -17694,6 +18027,7 @@ exports.MenuItemTitle = MenuItemTitle;
17694
18027
  exports.Modal = Modal_default;
17695
18028
  exports.MotionSurface = MotionSurface_default;
17696
18029
  exports.MultiImageInput = MultiImageInput_default;
18030
+ exports.Overline = Overline;
17697
18031
  exports.Paragraph = Paragraph;
17698
18032
  exports.PieChart = PieChart_default;
17699
18033
  exports.PriceTag = PriceTag;
@@ -17739,11 +18073,12 @@ exports.UnderConstructionBanner = UnderConstructionBanner;
17739
18073
  exports.ValueBadge = ValueBadge_default;
17740
18074
  exports.WorldMap = WorldMap;
17741
18075
  exports.WorldMapCountryTable = WorldMapCountryTable;
17742
- exports.YoutubeVideoPlayer = YoutubeVideoPlayer_default;
18076
+ exports.YoutubeVideoPlayer = YoutubeVideo_default;
17743
18077
  exports.cn = cn;
17744
18078
  exports.createForceLayout = createForceLayout;
17745
18079
  exports.createGridLayout = createGridLayout;
17746
18080
  exports.createTreeLayout = createTreeLayout;
18081
+ exports.enumValues = enumValues;
17747
18082
  exports.getCurrencySymbol = getCurrencySymbol;
17748
18083
  exports.getLayout = getLayout;
17749
18084
  exports.isMatch = isMatch;
@@ -17753,7 +18088,6 @@ exports.registerLayout = registerLayout;
17753
18088
  exports.resolveWithGlobal = resolveWithGlobal;
17754
18089
  exports.sendToast = sendToast;
17755
18090
  exports.useClickOutside = useClickOutside;
17756
- exports.useCloudinaryConfig = useCloudinaryConfig;
17757
18091
  exports.useCurrentTheme = useCurrentTheme_default;
17758
18092
  exports.useDrawer = useDrawer_default;
17759
18093
  exports.useEUIConfig = useEUIConfig;