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.mjs CHANGED
@@ -6,12 +6,12 @@ import { Bar, Line, Pie } from 'react-chartjs-2';
6
6
  import { Chart, CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend, LineElement, PointElement, ArcElement } from 'chart.js';
7
7
  import React4, { createContext, forwardRef, useState, useImperativeHandle, useEffect, useMemo, useContext, Fragment as Fragment$1, useRef, useCallback } from 'react';
8
8
  import { Transition } from '@headlessui/react';
9
- import classNames28 from 'classnames';
9
+ import classNames17 from 'classnames';
10
10
  import { FaCircleChevronDown } from 'react-icons/fa6';
11
11
  import ReactWorldFlags from 'react-world-flags';
12
12
  import emojiFlags from 'emoji-flags';
13
13
  import * as d3 from 'd3';
14
- import { Image, CloudinaryContext } from 'cloudinary-react';
14
+ import { Image, CloudinaryContext as CloudinaryContext$1 } from 'cloudinary-react';
15
15
  import { useField, ErrorMessage, Formik, Form as Form$1, Field, useFormikContext, FieldArray } from 'formik';
16
16
  import { toast, ToastContainer } from 'react-toastify';
17
17
  import 'react-toastify/dist/ReactToastify.css';
@@ -42,6 +42,11 @@ function cn(...inputs) {
42
42
  return twMerge(clsx_default(inputs));
43
43
  }
44
44
 
45
+ // src/utils/components.ts
46
+ function isRenderFn(children) {
47
+ return typeof children === "function";
48
+ }
49
+
45
50
  // src/data/meta/currency.tsx
46
51
  var CURRENCIES = [
47
52
  { name: "US Dollar", symbol: "$", code: "USD" },
@@ -140,10 +145,8 @@ var getCurrencySymbol = (code) => {
140
145
  return currency ? currency.symbol : null;
141
146
  };
142
147
 
143
- // src/utils/components.ts
144
- function isRenderFn(children) {
145
- return typeof children === "function";
146
- }
148
+ // src/utils/enum.ts
149
+ var enumValues = (enumObject) => Object.values(enumObject);
147
150
 
148
151
  // src/utils/routes.ts
149
152
  var normalize = (path) => {
@@ -736,7 +739,7 @@ function Accordion({
736
739
  /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(
737
740
  "div",
738
741
  {
739
- className: classNames28({
742
+ className: classNames17({
740
743
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs": true,
741
744
  "hover:cursor-pointer": toggleOnSummaryClick
742
745
  }),
@@ -754,7 +757,7 @@ function Accordion({
754
757
  children: /* @__PURE__ */ jsx(
755
758
  FaCircleChevronDown,
756
759
  {
757
- className: classNames28(
760
+ className: classNames17(
758
761
  "text-xl transition-transform duration-300",
759
762
  { "rotate-180": collapse }
760
763
  )
@@ -780,7 +783,7 @@ function Accordion({
780
783
  children: /* @__PURE__ */ jsx(
781
784
  "div",
782
785
  {
783
- className: classNames28({
786
+ className: classNames17({
784
787
  "border-t border-t-eui-dark-400/40 eui-text-sm": true,
785
788
  "p-5": enableChildrenPadding
786
789
  }),
@@ -860,7 +863,7 @@ function CardHeader({ icon, title, description, className }) {
860
863
  return /* @__PURE__ */ jsxs(
861
864
  "div",
862
865
  {
863
- className: classNames28(
866
+ className: classNames17(
864
867
  "flex items-start gap-4 p-6 border-b border-white/10",
865
868
  className
866
869
  ),
@@ -876,14 +879,14 @@ function CardHeader({ icon, title, description, className }) {
876
879
  }
877
880
  var CardHeader_default = CardHeader;
878
881
  function CardContent({ children, className }) {
879
- return /* @__PURE__ */ jsx("div", { className: classNames28("p-6 text-gray-300 text-sm", className), children });
882
+ return /* @__PURE__ */ jsx("div", { className: classNames17("p-6 text-gray-300 text-sm", className), children });
880
883
  }
881
884
  var CardContent_default = CardContent;
882
885
  function CardFooter({ children, className }) {
883
886
  return /* @__PURE__ */ jsx(
884
887
  "div",
885
888
  {
886
- className: classNames28(
889
+ className: classNames17(
887
890
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
888
891
  className
889
892
  ),
@@ -925,7 +928,7 @@ function GradientAnimation({
925
928
  return /* @__PURE__ */ jsx(
926
929
  "div",
927
930
  {
928
- className: classNames28("absolute inset-0"),
931
+ className: classNames17("absolute inset-0"),
929
932
  style: {
930
933
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
931
934
  backgroundSize: cfg.backgroundSize,
@@ -1071,7 +1074,7 @@ function MotionSurface({
1071
1074
  }) {
1072
1075
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
1073
1076
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
1074
- return /* @__PURE__ */ jsxs("div", { className: classNames28("relative overflow-hidden", className), children: [
1077
+ return /* @__PURE__ */ jsxs("div", { className: classNames17("relative overflow-hidden", className), children: [
1075
1078
  AnimationComponent && /* @__PURE__ */ jsx(AnimationComponent, { config: animationConfig, animated }),
1076
1079
  OverlayComponent && /* @__PURE__ */ jsx(OverlayComponent, { config: overlayConfig }),
1077
1080
  /* @__PURE__ */ jsx("div", { className: "relative z-10", children })
@@ -1524,13 +1527,9 @@ var Graph = ({
1524
1527
  }
1525
1528
  );
1526
1529
  };
1527
- var CloudinaryContextConfig = createContext(null);
1528
- var CloudinaryProvider = ({
1529
- cloudName,
1530
- children
1531
- }) => /* @__PURE__ */ jsx(CloudinaryContextConfig.Provider, { value: { cloudName }, children });
1530
+ var CloudinaryContext = createContext(null);
1532
1531
  var useCloudinaryConfig = () => {
1533
- const ctx = useContext(CloudinaryContextConfig);
1532
+ const ctx = useContext(CloudinaryContext);
1534
1533
  if (!ctx) {
1535
1534
  throw new Error(
1536
1535
  "CloudinaryProvider is missing. Wrap your app with <CloudinaryProvider />"
@@ -1540,23 +1539,31 @@ var useCloudinaryConfig = () => {
1540
1539
  };
1541
1540
  var DEFAULT_PUBLIC_CLOUD = "demo";
1542
1541
  function CloudinaryImage({
1543
- publicId,
1542
+ publicId = "sample",
1544
1543
  cloudName,
1545
1544
  secure = true,
1546
- alt,
1545
+ alt = "image",
1546
+ fallbackSrc,
1547
+ loading = "lazy",
1547
1548
  className,
1548
1549
  ...rest
1549
1550
  }) {
1550
1551
  const providerConfig = useCloudinaryConfig();
1551
1552
  const resolvedCloudName = cloudName || providerConfig?.cloudName || DEFAULT_PUBLIC_CLOUD;
1552
- return /* @__PURE__ */ jsx(CloudinaryContext, { cloudName: resolvedCloudName, children: /* @__PURE__ */ jsx(
1553
+ return /* @__PURE__ */ jsx(CloudinaryContext$1, { cloudName: resolvedCloudName, children: /* @__PURE__ */ jsx(
1553
1554
  Image,
1554
1555
  {
1555
1556
  ...rest,
1556
- publicId: publicId || "sample",
1557
+ publicId,
1557
1558
  secure,
1558
1559
  alt,
1559
- className: cn(className)
1560
+ loading,
1561
+ className: cn(className),
1562
+ onError: (e) => {
1563
+ if (fallbackSrc) {
1564
+ e.currentTarget.src = fallbackSrc;
1565
+ }
1566
+ }
1560
1567
  }
1561
1568
  ) });
1562
1569
  }
@@ -1585,10 +1592,10 @@ var Image2 = ({
1585
1592
  };
1586
1593
  function Info({
1587
1594
  children,
1588
- className,
1589
1595
  variant = "default",
1590
1596
  appearance = "lite",
1591
1597
  shape = "roundedSquare",
1598
+ className,
1592
1599
  ...rest
1593
1600
  }) {
1594
1601
  const variantStyles = appearance === "solid" ? infoVariantsSolid[variant] : appearance === "ghost" ? infoVariantsGhost[variant] : infoVariantsLite[variant];
@@ -1607,114 +1614,335 @@ function Info({
1607
1614
  );
1608
1615
  }
1609
1616
  var Info_default = Info;
1610
- var levels = {
1611
- 1: "text-5xl leading-[90px]",
1612
- 2: "text-4xl leading-[80px]",
1613
- 3: "text-3xl leading-[70px]"
1617
+
1618
+ // src/components/data-display/typography/shared/typography.levels.ts
1619
+ var typographyLevels = {
1620
+ display: {
1621
+ 1: "text-8xl leading-[120px]",
1622
+ 2: "text-7xl leading-[110px]",
1623
+ 3: "text-6xl leading-[100px]"
1624
+ },
1625
+ chapter: {
1626
+ 1: "text-5xl leading-[90px]",
1627
+ 2: "text-4xl leading-[80px]",
1628
+ 3: "text-3xl leading-[70px]"
1629
+ },
1630
+ section: {
1631
+ 1: "text-2xl leading-[50px] pt-4",
1632
+ 2: "text-xl leading-[50px]",
1633
+ 3: "text-lg leading-[40px]"
1634
+ },
1635
+ paragraph: {
1636
+ 1: "text-base leading-[28px]",
1637
+ 2: "text-sm leading-[25px]",
1638
+ 3: "text-xs leading-[20px]"
1639
+ },
1640
+ quote: {
1641
+ 1: "text-base leading-[28px]",
1642
+ 2: "text-sm leading-[25px]",
1643
+ 3: "text-xs leading-[20px]"
1644
+ }
1614
1645
  };
1646
+
1647
+ // src/components/data-display/typography/shared/typography.styles.ts
1648
+ var typographyStyles = ({
1649
+ variant = "default",
1650
+ decoration = "noUnderline",
1651
+ bold,
1652
+ italic,
1653
+ className
1654
+ }) => cn(
1655
+ textVariants[variant],
1656
+ decorations[decoration],
1657
+ bold && "font-bold",
1658
+ italic && "italic",
1659
+ className
1660
+ );
1615
1661
  var Chapter = ({
1616
1662
  level = 1,
1617
1663
  children,
1618
- variant = "default",
1619
- decoration = "noUnderline",
1664
+ variant,
1665
+ decoration,
1620
1666
  bold,
1621
1667
  italic,
1622
- styles,
1623
- onClick
1668
+ className,
1669
+ ...rest
1624
1670
  }) => {
1671
+ const Tag2 = level === 1 ? "h1" : level === 2 ? "h2" : "h3";
1625
1672
  return /* @__PURE__ */ jsx(
1626
- "div",
1673
+ Tag2,
1627
1674
  {
1628
- onClick,
1629
- className: classNames28({
1630
- [`${textVariants[variant]}`]: variant,
1631
- [`${levels[level]}`]: level,
1632
- [`${styles}`]: styles,
1633
- [`${decorations[decoration]}`]: decoration,
1634
- "font-bold": bold,
1635
- italic
1636
- }),
1637
- children: children ? children : "Title"
1675
+ ...rest,
1676
+ className: cn(
1677
+ typographyLevels.chapter[level],
1678
+ typographyStyles({
1679
+ variant,
1680
+ decoration,
1681
+ bold,
1682
+ italic,
1683
+ className
1684
+ })
1685
+ ),
1686
+ children: children || "Chapter"
1638
1687
  }
1639
1688
  );
1640
1689
  };
1641
- var levels2 = {
1642
- 1: "text-2xl leading-[50px] pt-4",
1643
- 2: "text-xl leading-[50px]",
1644
- 3: "text-lg leading-[40px]"
1645
- };
1646
1690
  var Section = ({
1647
1691
  level = 1,
1648
1692
  children,
1649
- variant = "default",
1650
- decoration = "noUnderline",
1693
+ variant,
1694
+ decoration,
1651
1695
  bold,
1652
1696
  italic,
1653
- styles,
1654
- onClick
1697
+ className,
1698
+ ...rest
1655
1699
  }) => {
1700
+ const Tag2 = level === 1 ? "h4" : level === 2 ? "h5" : "h6";
1656
1701
  return /* @__PURE__ */ jsx(
1657
- "div",
1702
+ Tag2,
1658
1703
  {
1659
- onClick,
1660
- className: classNames28({
1661
- [`${textVariants[variant]} opacity-80`]: variant,
1662
- [`${levels2[level]}`]: level,
1663
- [`${styles}`]: styles,
1664
- [`${decorations[decoration]}`]: decoration,
1665
- "font-bold": bold,
1666
- italic
1667
- }),
1668
- children: children ? children : "Title"
1704
+ ...rest,
1705
+ className: cn(
1706
+ "opacity-80",
1707
+ typographyLevels.section[level],
1708
+ typographyStyles({
1709
+ variant,
1710
+ decoration,
1711
+ bold,
1712
+ italic,
1713
+ className
1714
+ })
1715
+ ),
1716
+ children: children || "Section"
1669
1717
  }
1670
1718
  );
1671
1719
  };
1672
- var levels3 = {
1673
- 1: "text-base leading-[28px]",
1674
- 2: "text-sm leading-[25px]",
1675
- 3: "text-xs leading-[20px]"
1676
- };
1677
1720
  var Paragraph = ({
1678
1721
  level = 1,
1679
1722
  children,
1680
- variant = "default",
1681
- decoration = "noUnderline",
1723
+ variant,
1724
+ decoration,
1682
1725
  bold,
1683
1726
  italic,
1684
- styles,
1685
- onClick
1727
+ className,
1728
+ ...rest
1729
+ }) => {
1730
+ return /* @__PURE__ */ jsx(
1731
+ "p",
1732
+ {
1733
+ ...rest,
1734
+ className: cn(
1735
+ typographyLevels.paragraph[level],
1736
+ typographyStyles({
1737
+ variant,
1738
+ decoration,
1739
+ bold,
1740
+ italic,
1741
+ className
1742
+ })
1743
+ ),
1744
+ children: children || "Paragraph"
1745
+ }
1746
+ );
1747
+ };
1748
+ var Quote = ({
1749
+ level = 1,
1750
+ children,
1751
+ variant,
1752
+ decoration,
1753
+ bold,
1754
+ italic,
1755
+ className,
1756
+ ...rest
1686
1757
  }) => {
1687
1758
  return /* @__PURE__ */ jsx(
1688
1759
  "div",
1689
1760
  {
1690
- onClick,
1691
- className: classNames28({
1692
- [`${textVariants[variant]}`]: variant,
1693
- [`${levels3[level]}`]: level,
1694
- [`${styles}`]: styles,
1695
- [`${decorations[decoration]}`]: decoration,
1696
- "font-bold": bold,
1697
- italic
1698
- }),
1699
- children: children ? children : "Text"
1761
+ ...rest,
1762
+ className: cn(
1763
+ "pl-4 py-1 border-l-2 border-l-gray-400 w-full",
1764
+ typographyLevels.quote[level],
1765
+ typographyStyles({
1766
+ variant,
1767
+ decoration,
1768
+ bold,
1769
+ italic,
1770
+ className
1771
+ })
1772
+ ),
1773
+ children: children || "Quote"
1700
1774
  }
1701
1775
  );
1702
1776
  };
1703
- var Quote = ({ children, styles }) => {
1777
+ var Caption = ({
1778
+ children,
1779
+ variant,
1780
+ decoration,
1781
+ bold,
1782
+ italic,
1783
+ className,
1784
+ ...rest
1785
+ }) => {
1786
+ return /* @__PURE__ */ jsx(
1787
+ "span",
1788
+ {
1789
+ ...rest,
1790
+ className: cn(
1791
+ "text-xs leading-[18px] opacity-70",
1792
+ typographyStyles({
1793
+ variant,
1794
+ decoration,
1795
+ bold,
1796
+ italic,
1797
+ className
1798
+ })
1799
+ ),
1800
+ children: children || "Caption"
1801
+ }
1802
+ );
1803
+ };
1804
+ var Label = ({
1805
+ children,
1806
+ variant,
1807
+ decoration,
1808
+ bold = true,
1809
+ italic,
1810
+ className,
1811
+ ...rest
1812
+ }) => {
1704
1813
  return /* @__PURE__ */ jsx(
1705
1814
  "div",
1706
1815
  {
1707
- className: classNames28({
1708
- "pl-4 py-1 border-l-2 border-l-gray-400 w-full": true,
1709
- [`${styles}`]: styles
1710
- }),
1711
- children
1816
+ ...rest,
1817
+ className: cn(
1818
+ "text-sm leading-[22px]",
1819
+ typographyStyles({
1820
+ variant,
1821
+ decoration,
1822
+ bold,
1823
+ italic,
1824
+ className
1825
+ })
1826
+ ),
1827
+ children: children || "Label"
1828
+ }
1829
+ );
1830
+ };
1831
+ var Code = ({
1832
+ children,
1833
+ className,
1834
+ ...rest
1835
+ }) => {
1836
+ return /* @__PURE__ */ jsx(
1837
+ "code",
1838
+ {
1839
+ ...rest,
1840
+ className: cn(
1841
+ "px-1.5 py-0.5 rounded-md",
1842
+ "bg-gray-800 text-green-400",
1843
+ "font-mono text-sm",
1844
+ className
1845
+ ),
1846
+ children: children || "npm install"
1847
+ }
1848
+ );
1849
+ };
1850
+ var Lead = ({
1851
+ children,
1852
+ variant,
1853
+ decoration,
1854
+ bold,
1855
+ italic,
1856
+ className,
1857
+ ...rest
1858
+ }) => {
1859
+ return /* @__PURE__ */ jsx(
1860
+ "p",
1861
+ {
1862
+ ...rest,
1863
+ className: cn(
1864
+ "text-xl leading-[38px] opacity-90",
1865
+ typographyStyles({
1866
+ variant,
1867
+ decoration,
1868
+ bold,
1869
+ italic,
1870
+ className
1871
+ })
1872
+ ),
1873
+ children: children || "Lead paragraph"
1874
+ }
1875
+ );
1876
+ };
1877
+ var Overline = ({
1878
+ children,
1879
+ variant,
1880
+ decoration,
1881
+ bold = true,
1882
+ italic,
1883
+ className,
1884
+ ...rest
1885
+ }) => {
1886
+ return /* @__PURE__ */ jsx(
1887
+ "div",
1888
+ {
1889
+ ...rest,
1890
+ className: cn(
1891
+ "text-xs uppercase tracking-[0.2em]",
1892
+ typographyStyles({
1893
+ variant,
1894
+ decoration,
1895
+ bold,
1896
+ italic,
1897
+ className
1898
+ })
1899
+ ),
1900
+ children: children || "Overline"
1901
+ }
1902
+ );
1903
+ };
1904
+ var Display = ({
1905
+ level = 1,
1906
+ children,
1907
+ variant,
1908
+ decoration,
1909
+ bold = true,
1910
+ italic,
1911
+ className,
1912
+ ...rest
1913
+ }) => {
1914
+ return /* @__PURE__ */ jsx(
1915
+ "h1",
1916
+ {
1917
+ ...rest,
1918
+ className: cn(
1919
+ typographyLevels.display[level],
1920
+ typographyStyles({
1921
+ variant,
1922
+ decoration,
1923
+ bold,
1924
+ italic,
1925
+ className
1926
+ })
1927
+ ),
1928
+ children: children || "Display"
1712
1929
  }
1713
1930
  );
1714
1931
  };
1715
1932
 
1716
1933
  // src/components/data-display/typography/index.tsx
1717
- var Typography = { Chapter, Section, Paragraph, Quote };
1934
+ var Typography = {
1935
+ Display,
1936
+ Chapter,
1937
+ Section,
1938
+ Paragraph,
1939
+ Quote,
1940
+ Lead,
1941
+ Caption,
1942
+ Label,
1943
+ Code,
1944
+ Overline
1945
+ };
1718
1946
  var ListItem = ({
1719
1947
  content,
1720
1948
  TypographyComponent = /* @__PURE__ */ jsx(Paragraph, { level: 1 }),
@@ -1831,15 +2059,19 @@ var List_default = List;
1831
2059
  var applyDiscount = (discount, price) => {
1832
2060
  return (price - price / 100 * discount).toFixed(2);
1833
2061
  };
1834
- function PriceTag({ discount, price, code = "USD", styles }) {
2062
+ function PriceTag({
2063
+ discount,
2064
+ price,
2065
+ code = "USD",
2066
+ className,
2067
+ ...rest
2068
+ }) {
1835
2069
  if (price === 0) {
1836
2070
  return /* @__PURE__ */ jsx(
1837
2071
  "div",
1838
2072
  {
1839
- className: classNames28({
1840
- "inline-flex gap-3 text-md w-fit": true,
1841
- [`${styles}`]: styles
1842
- }),
2073
+ ...rest,
2074
+ className: cn("inline-flex gap-3 text-md w-fit", className),
1843
2075
  children: /* @__PURE__ */ jsx("div", { className: "bg-green-700 px-2 py-1 font-bold rounded-md text-gray-200", children: "FREE" })
1844
2076
  }
1845
2077
  );
@@ -1848,10 +2080,8 @@ function PriceTag({ discount, price, code = "USD", styles }) {
1848
2080
  return /* @__PURE__ */ jsxs(
1849
2081
  "div",
1850
2082
  {
1851
- className: classNames28({
1852
- "inline-flex gap-3 text-md w-fit": true,
1853
- [`${styles}`]: styles
1854
- }),
2083
+ ...rest,
2084
+ className: cn("inline-flex gap-3 text-md w-fit", className),
1855
2085
  children: [
1856
2086
  discount && discount !== 0 && /* @__PURE__ */ jsxs("div", { className: "bg-green-700 px-2 py-1 font-bold rounded-md text-gray-200", children: [
1857
2087
  "-",
@@ -1893,11 +2123,11 @@ var ProgressBar = ({
1893
2123
  showLabel = true,
1894
2124
  label,
1895
2125
  labelPlacement = "top",
1896
- // ✅ default
1897
- styles
2126
+ className,
2127
+ ...rest
1898
2128
  }) => {
1899
2129
  const clampedValue = Math.min(100, Math.max(0, value));
1900
- return /* @__PURE__ */ jsxs("div", { className: classNames28("w-full", styles), children: [
2130
+ return /* @__PURE__ */ jsxs("div", { ...rest, className: cn("w-full", className), children: [
1901
2131
  showLabel && labelPlacement === "top" && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-1 text-gray-400", children: [
1902
2132
  /* @__PURE__ */ jsx("span", { children: label ?? "Progress" }),
1903
2133
  /* @__PURE__ */ jsxs("span", { children: [
@@ -1908,7 +2138,7 @@ var ProgressBar = ({
1908
2138
  /* @__PURE__ */ jsxs(
1909
2139
  "div",
1910
2140
  {
1911
- className: classNames28(
2141
+ className: cn(
1912
2142
  "relative w-full bg-gray-700 rounded overflow-hidden",
1913
2143
  sizes[size]
1914
2144
  ),
@@ -1916,7 +2146,7 @@ var ProgressBar = ({
1916
2146
  /* @__PURE__ */ jsx(
1917
2147
  "div",
1918
2148
  {
1919
- className: classNames28(
2149
+ className: cn(
1920
2150
  "h-full transition-all duration-300 ease-out",
1921
2151
  variants[variant]
1922
2152
  ),
@@ -1934,20 +2164,36 @@ var ProgressBar = ({
1934
2164
  )
1935
2165
  ] });
1936
2166
  };
1937
- function StarRating({ rating, reviewAmount, isNumericRatingEnabled = false, isReviewAmountEnabled = false, styles }) {
2167
+ function StarRating({
2168
+ rating,
2169
+ reviewAmount,
2170
+ isNumericRatingEnabled = false,
2171
+ isReviewAmountEnabled = false,
2172
+ className,
2173
+ ...rest
2174
+ }) {
1938
2175
  const fullStars = Math.floor(rating);
1939
2176
  const halfStars = Math.ceil(rating - fullStars);
1940
2177
  const emptyStars = 5 - fullStars - halfStars;
1941
2178
  const starIcon = /* @__PURE__ */ jsx(BsStarFill, {});
1942
2179
  const halfStarIcon = /* @__PURE__ */ jsx(BsStarHalf, {});
1943
2180
  const emptyStarIcon = /* @__PURE__ */ jsx(BsStar, {});
1944
- return /* @__PURE__ */ jsxs("div", { className: "inline-flex gap-2 items-center", children: [
2181
+ return /* @__PURE__ */ jsxs("div", { ...rest, className: "inline-flex gap-2 items-center", children: [
1945
2182
  isNumericRatingEnabled && /* @__PURE__ */ jsx("div", { className: "text-yellow-700 font-semibold text-[14px]", children: rating.toFixed(1) }),
1946
- /* @__PURE__ */ jsxs("div", { className: `flex flex-row gap-[2px] text-[13px] text-yellow-600 ${styles}`, children: [
1947
- [...Array(fullStars)].map((_, index) => /* @__PURE__ */ jsx("span", { children: starIcon }, index)),
1948
- [...Array(halfStars)].map((_, index) => /* @__PURE__ */ jsx("span", { children: halfStarIcon }, index + fullStars)),
1949
- [...Array(emptyStars)].map((_, index) => /* @__PURE__ */ jsx("span", { children: emptyStarIcon }, index + fullStars + halfStars))
1950
- ] }),
2183
+ /* @__PURE__ */ jsxs(
2184
+ "div",
2185
+ {
2186
+ className: cn(
2187
+ "flex flex-row gap-[2px] text-[13px] text-yellow-600",
2188
+ className
2189
+ ),
2190
+ children: [
2191
+ [...Array(fullStars)].map((_, index) => /* @__PURE__ */ jsx("span", { children: starIcon }, index)),
2192
+ [...Array(halfStars)].map((_, index) => /* @__PURE__ */ jsx("span", { children: halfStarIcon }, index + fullStars)),
2193
+ [...Array(emptyStars)].map((_, index) => /* @__PURE__ */ jsx("span", { children: emptyStarIcon }, index + fullStars + halfStars))
2194
+ ]
2195
+ }
2196
+ ),
1951
2197
  isReviewAmountEnabled && /* @__PURE__ */ jsxs("div", { className: "text-gray-400 font-semibold text-[14px]", children: [
1952
2198
  "(",
1953
2199
  reviewAmount,
@@ -2034,83 +2280,6 @@ function StarRatingDistribution({
2034
2280
  ] });
2035
2281
  }
2036
2282
  var StarRatingDistribution_default = StarRatingDistribution;
2037
- var Skeleton = ({ children, styles }) => {
2038
- return /* @__PURE__ */ jsx(
2039
- "div",
2040
- {
2041
- className: classNames28({
2042
- "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,
2043
- [`${styles}`]: styles
2044
- }),
2045
- children
2046
- }
2047
- );
2048
- };
2049
- function SliderItem({ img, onClick, selected, styles }) {
2050
- return /* @__PURE__ */ jsx(
2051
- "div",
2052
- {
2053
- onClick,
2054
- className: classNames28({
2055
- "flex-shrink-0 w-[160px] h-[90px] border-[3px] overflow-hidden brightness-50": true,
2056
- "hover:cursor-pointer hover:border-eui-secondary-600 hover:shadow-lg hover:shadow-[#167d0f]/50 hover:brightness-100": true,
2057
- "border-transparent": !selected,
2058
- "border-opacity-100 border-[#0b6b05] brightness-100": selected,
2059
- "transition-all ease-in-out duration-500": true,
2060
- [`${styles}`]: styles
2061
- }),
2062
- children: /* @__PURE__ */ jsx(CloudinaryImage_default, { publicId: img, alt: "image", className: "w-full h-full object-cover" })
2063
- }
2064
- );
2065
- }
2066
- var SliderItem_default = SliderItem;
2067
- function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
2068
- const [images, setImages] = useState([
2069
- {
2070
- img: coverArt,
2071
- selected: true
2072
- }
2073
- ]);
2074
- useEffect(() => {
2075
- setImages([
2076
- {
2077
- img: coverArt,
2078
- selected: true
2079
- }
2080
- ]);
2081
- }, [isSuccess]);
2082
- useEffect(() => {
2083
- if (screenshots) {
2084
- const selectableScreenshots = [];
2085
- screenshots.forEach((item) => {
2086
- selectableScreenshots.push({
2087
- img: item,
2088
- selected: false
2089
- });
2090
- });
2091
- setImages((prev) => [...prev, ...selectableScreenshots]);
2092
- }
2093
- }, [isSuccess]);
2094
- const [displayImg, setDisplayImg] = useState(coverArt);
2095
- useEffect(() => {
2096
- setDisplayImg(coverArt);
2097
- }, [coverArt]);
2098
- const displayImageHandler = (itemIndex, img) => {
2099
- setDisplayImg(img);
2100
- const newArray = images.map((obj, i) => {
2101
- if (i === itemIndex) {
2102
- return { ...obj, selected: true };
2103
- }
2104
- return { ...obj, selected: false };
2105
- });
2106
- setImages(newArray);
2107
- };
2108
- return /* @__PURE__ */ jsx("div", { children: isLoading ? /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Skeleton, { styles: "w-full aspect-w-16 aspect-h-9" }) }) : /* @__PURE__ */ jsxs("div", { children: [
2109
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(CloudinaryImage_default, { publicId: displayImg, alt: "displayImg", className: "aspect-w-16 aspect-h-9" }) }),
2110
- /* @__PURE__ */ jsx("div", { className: "relative h-[130px]", children: /* @__PURE__ */ jsx("div", { className: "absolute pt-2 pb-4 w-full flex space-x-2 overflow-auto", children: images.map((item, index) => /* @__PURE__ */ jsx(SliderItem_default, { img: item.img, onClick: () => displayImageHandler(index, item.img), selected: item.selected }, index)) }) })
2111
- ] }) });
2112
- }
2113
- var Slider_default = Slider;
2114
2283
  function Table({
2115
2284
  title,
2116
2285
  columns,
@@ -2198,25 +2367,27 @@ function Table({
2198
2367
  ] });
2199
2368
  }
2200
2369
  var Table_default = Table;
2201
- function Tag({ text, styles }) {
2370
+ function Tag({ text, className, ...rest }) {
2202
2371
  return /* @__PURE__ */ jsx(
2203
2372
  "span",
2204
2373
  {
2205
- className: classNames28({
2206
- "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,
2207
- [`${styles}`]: styles
2208
- }),
2374
+ ...rest,
2375
+ className: cn(
2376
+ "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",
2377
+ className
2378
+ ),
2209
2379
  children: text
2210
2380
  }
2211
2381
  );
2212
2382
  }
2213
2383
  var Tag_default = Tag;
2214
2384
  function Tooltip4({
2215
- content,
2385
+ children,
2216
2386
  show,
2217
2387
  offsetX = 20,
2218
2388
  offsetY = 20,
2219
- className = ""
2389
+ className,
2390
+ ...rest
2220
2391
  }) {
2221
2392
  const [pos, setPos] = useState({ x: 0, y: 0 });
2222
2393
  useEffect(() => {
@@ -2231,18 +2402,19 @@ function Tooltip4({
2231
2402
  return /* @__PURE__ */ jsx(
2232
2403
  "div",
2233
2404
  {
2234
- className: `
2235
- pointer-events-none absolute z-50 px-3 py-2 text-sm
2236
- rounded-lg shadow-lg bg-neutral-900 text-white
2237
- dark:bg-neutral-800
2238
- ${className}
2239
- `,
2405
+ ...rest,
2406
+ className: cn(
2407
+ "pointer-events-none absolute z-50 px-3 py-2 text-sm",
2408
+ "rounded-lg shadow-lg bg-neutral-900 text-white",
2409
+ "dark:bg-neutral-800",
2410
+ className
2411
+ ),
2240
2412
  style: {
2241
2413
  top: pos.y,
2242
2414
  left: pos.x,
2243
2415
  transform: "translate(-50%, -50%)"
2244
2416
  },
2245
- children: content
2417
+ children
2246
2418
  }
2247
2419
  );
2248
2420
  }
@@ -2291,7 +2463,7 @@ var ValueBadge = ({
2291
2463
  return /* @__PURE__ */ jsx(
2292
2464
  "div",
2293
2465
  {
2294
- className: classNames28(
2466
+ className: cn(
2295
2467
  "px-2 py-1 rounded-md text-xs font-semibold w-fit eg-theme-transition",
2296
2468
  noBackground ? "bg-transparent" : style.bg,
2297
2469
  style.color,
@@ -2302,8 +2474,48 @@ var ValueBadge = ({
2302
2474
  );
2303
2475
  };
2304
2476
  var ValueBadge_default = ValueBadge;
2305
- function CloudinaryVideo() {
2306
- return /* @__PURE__ */ jsx("div", { children: "CloudinaryVideo" });
2477
+ var DEFAULT_PUBLIC_CLOUD2 = "demo";
2478
+ function CloudinaryVideo({
2479
+ publicId = "dog",
2480
+ cloudName,
2481
+ secure = true,
2482
+ controls = true,
2483
+ autoPlay = false,
2484
+ muted = false,
2485
+ loop = false,
2486
+ playsInline = true,
2487
+ poster,
2488
+ preload = "metadata",
2489
+ className,
2490
+ ...rest
2491
+ }) {
2492
+ const providerConfig = useCloudinaryConfig();
2493
+ const resolvedCloudName = cloudName || providerConfig?.cloudName || DEFAULT_PUBLIC_CLOUD2;
2494
+ const protocol = secure ? "https" : "http";
2495
+ const videoUrl = `
2496
+ ${protocol}://res.cloudinary.com/
2497
+ ${resolvedCloudName}
2498
+ /video/upload/
2499
+ ${publicId}.mp4
2500
+ `.replace(/\s+/g, "");
2501
+ return /* @__PURE__ */ jsxs(
2502
+ "video",
2503
+ {
2504
+ ...rest,
2505
+ controls,
2506
+ autoPlay,
2507
+ muted,
2508
+ loop,
2509
+ playsInline,
2510
+ poster,
2511
+ preload,
2512
+ className: cn(className),
2513
+ children: [
2514
+ /* @__PURE__ */ jsx("source", { src: videoUrl, type: "video/mp4" }),
2515
+ "Your browser does not support the video tag."
2516
+ ]
2517
+ }
2518
+ );
2307
2519
  }
2308
2520
  var CloudinaryVideo_default = CloudinaryVideo;
2309
2521
  var FormObserver = ({ formik, onChange }) => {
@@ -2375,7 +2587,7 @@ var Form = ({
2375
2587
  /* @__PURE__ */ jsx(UnsavedChangesGuard_default, { formik, enabled: warnOnUnsavedChanges }),
2376
2588
  /* @__PURE__ */ jsx(DirtyObserver_default, { formik, onDirtyChange }),
2377
2589
  /* @__PURE__ */ jsx(FormObserver_default, { formik, onChange }),
2378
- /* @__PURE__ */ jsx("div", { className: classNames28(styles), children })
2590
+ /* @__PURE__ */ jsx("div", { className: classNames17(styles), children })
2379
2591
  ] })
2380
2592
  }
2381
2593
  );
@@ -2384,7 +2596,7 @@ var Backdrop = ({ children, styles }) => {
2384
2596
  return /* @__PURE__ */ jsx(
2385
2597
  "div",
2386
2598
  {
2387
- className: classNames28({
2599
+ className: classNames17({
2388
2600
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
2389
2601
  [`${styles}`]: styles
2390
2602
  }),
@@ -2393,6 +2605,19 @@ var Backdrop = ({ children, styles }) => {
2393
2605
  );
2394
2606
  };
2395
2607
  var Backdrop_default = Backdrop;
2608
+ var Skeleton = ({ children, className, ...rest }) => {
2609
+ return /* @__PURE__ */ jsx(
2610
+ "div",
2611
+ {
2612
+ ...rest,
2613
+ className: cn(
2614
+ "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",
2615
+ className
2616
+ ),
2617
+ children
2618
+ }
2619
+ );
2620
+ };
2396
2621
  function sendToast(data = { status: "", message: "" }) {
2397
2622
  switch (data?.status) {
2398
2623
  case "success":
@@ -2482,55 +2707,175 @@ function FormResponse({
2482
2707
  return /* @__PURE__ */ jsx(Transition4.TransitionDropdown, { visibility: text ? true : false, children: /* @__PURE__ */ jsx(
2483
2708
  "div",
2484
2709
  {
2485
- className: classNames28({
2486
- "font-poppins font-light text-sm": true,
2487
- [`${variantsLite[variant]}`]: variant,
2488
- [`${shapes[shape]}`]: shape,
2489
- [`${sizes2[size]}`]: size,
2490
- [`${styles}`]: styles
2491
- }),
2492
- children: text
2710
+ className: classNames17({
2711
+ "font-poppins font-light text-sm": true,
2712
+ [`${variantsLite[variant]}`]: variant,
2713
+ [`${shapes[shape]}`]: shape,
2714
+ [`${sizes2[size]}`]: size,
2715
+ [`${styles}`]: styles
2716
+ }),
2717
+ children: text
2718
+ }
2719
+ ) });
2720
+ }
2721
+ var FormResponse_default = FormResponse;
2722
+ var getYoutubeEmbedUrl = (url) => {
2723
+ const videoIdMatch = url.match(
2724
+ /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/
2725
+ );
2726
+ if (!videoIdMatch) {
2727
+ return "";
2728
+ }
2729
+ return `https://www.youtube.com/embed/${videoIdMatch[1]}`;
2730
+ };
2731
+ function YoutubeVideo({
2732
+ videoUrl,
2733
+ width = 750,
2734
+ height = 422,
2735
+ autoPlay = false,
2736
+ muted = false,
2737
+ controls = true,
2738
+ className,
2739
+ ...rest
2740
+ }) {
2741
+ const embedUrl = getYoutubeEmbedUrl(videoUrl);
2742
+ if (!embedUrl) {
2743
+ return /* @__PURE__ */ jsx(FormResponse_default, { text: "Invalid YouTube URL", variant: "danger" });
2744
+ }
2745
+ const params = new URLSearchParams({
2746
+ autoplay: autoPlay ? "1" : "0",
2747
+ mute: muted ? "1" : "0",
2748
+ controls: controls ? "1" : "0"
2749
+ });
2750
+ return /* @__PURE__ */ jsx("div", { className: "flex justify-center w-full", children: /* @__PURE__ */ jsx(
2751
+ "div",
2752
+ {
2753
+ className: "relative w-full",
2754
+ style: {
2755
+ maxWidth: `${width}px`,
2756
+ paddingTop: `${height / width * 100}%`
2757
+ },
2758
+ children: /* @__PURE__ */ jsx(
2759
+ "iframe",
2760
+ {
2761
+ ...rest,
2762
+ src: `${embedUrl}?${params.toString()}`,
2763
+ title: "YouTube video player",
2764
+ loading: "lazy",
2765
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
2766
+ allowFullScreen: true,
2767
+ className: cn(
2768
+ "absolute top-0 left-0 w-full h-full rounded-xl shadow-xl border-0",
2769
+ className
2770
+ )
2771
+ }
2772
+ )
2773
+ }
2774
+ ) });
2775
+ }
2776
+ var YoutubeVideo_default = YoutubeVideo;
2777
+ var ThemeContext = createContext(
2778
+ void 0
2779
+ );
2780
+ var ThemeProvider = ({
2781
+ defaultTheme = "dark",
2782
+ children
2783
+ }) => {
2784
+ const [theme, setTheme] = useState(() => {
2785
+ return localStorage.getItem("theme") || defaultTheme;
2786
+ });
2787
+ useEffect(() => {
2788
+ if (theme === "dark") {
2789
+ document.documentElement.classList.add("dark");
2790
+ } else {
2791
+ document.documentElement.classList.remove("dark");
2792
+ }
2793
+ localStorage.setItem("theme", theme);
2794
+ }, [theme]);
2795
+ const toggleTheme = () => {
2796
+ setTheme((prev) => prev === "dark" ? "light" : "dark");
2797
+ };
2798
+ return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children });
2799
+ };
2800
+ var ThemeSwitch = () => {
2801
+ const themeContext = useContext(ThemeContext);
2802
+ if (!themeContext) return null;
2803
+ const { theme, toggleTheme } = themeContext;
2804
+ return /* @__PURE__ */ jsxs(
2805
+ "button",
2806
+ {
2807
+ onClick: toggleTheme,
2808
+ className: "relative w-16 h-8 flex items-center bg-gray-300 dark:bg-gray-800 rounded-full p-1 transition-all",
2809
+ children: [
2810
+ /* @__PURE__ */ jsx(
2811
+ FaSun,
2812
+ {
2813
+ className: "absolute left-2 text-yellow-500 transition-opacity duration-300 z-10",
2814
+ style: { opacity: theme === "dark" ? 0 : 1 }
2815
+ }
2816
+ ),
2817
+ /* @__PURE__ */ jsx(
2818
+ FaMoon,
2819
+ {
2820
+ className: "absolute right-2 text-blue-400 transition-opacity duration-300 z-10",
2821
+ style: { opacity: theme === "dark" ? 1 : 0 }
2822
+ }
2823
+ ),
2824
+ /* @__PURE__ */ jsx(
2825
+ "div",
2826
+ {
2827
+ className: classNames17(
2828
+ "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
2829
+ theme === "dark" ? "translate-x-8" : "translate-x-0"
2830
+ )
2831
+ }
2832
+ )
2833
+ ]
2834
+ }
2835
+ );
2836
+ };
2837
+
2838
+ // src/data/enums.ts
2839
+ var Shape = /* @__PURE__ */ ((Shape2) => {
2840
+ Shape2["circle"] = "circle";
2841
+ Shape2["roundedSquare"] = "roundedSquare";
2842
+ Shape2["softRoundedSquare"] = "softRoundedSquare";
2843
+ Shape2["square"] = "square";
2844
+ return Shape2;
2845
+ })(Shape || {});
2846
+ var ShapeSwitch = () => {
2847
+ const { config, setConfig } = useEUIConfig();
2848
+ const currentShape = config.global?.shape ?? "square";
2849
+ const handleChange = (e) => {
2850
+ const shape = e.target.value;
2851
+ setConfig((prev) => ({
2852
+ ...prev,
2853
+ global: {
2854
+ ...prev.global,
2855
+ shape
2856
+ }
2857
+ }));
2858
+ };
2859
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 w-fit", children: /* @__PURE__ */ jsx(
2860
+ "select",
2861
+ {
2862
+ value: currentShape,
2863
+ onChange: handleChange,
2864
+ 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 ",
2865
+ children: Object.keys(Shape).map((shape) => /* @__PURE__ */ jsx("option", { value: shape, children: shape }, shape))
2493
2866
  }
2494
2867
  ) });
2495
- }
2496
- var FormResponse_default = FormResponse;
2497
- var getYoutubeEmbedUrl = (url) => {
2498
- const videoIdMatch = url.match(
2499
- /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/
2500
- );
2501
- return videoIdMatch ? `https://www.youtube.com/embed/${videoIdMatch[1]}` : "";
2502
2868
  };
2503
- function YoutubeVideoPlayer({
2504
- videoUrl,
2505
- width = 750,
2506
- height = 422
2507
- }) {
2508
- const embedUrl = getYoutubeEmbedUrl(videoUrl);
2509
- if (!embedUrl) {
2510
- return /* @__PURE__ */ jsx(FormResponse_default, { text: "Invalid YouTube URL", variant: "danger" });
2869
+
2870
+ // src/hooks/theme/useCurrentTheme.ts
2871
+ var useCurrentTheme = () => {
2872
+ const context = useContext(ThemeContext);
2873
+ if (!context) {
2874
+ throw new Error("useCurrentTheme must be used within a ThemeProvider");
2511
2875
  }
2512
- return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(
2513
- "div",
2514
- {
2515
- className: "relative w-full",
2516
- style: {
2517
- maxWidth: `${width}px`,
2518
- paddingTop: `${height / width * 100}%`
2519
- },
2520
- children: /* @__PURE__ */ jsx(
2521
- "iframe",
2522
- {
2523
- src: embedUrl,
2524
- title: "YouTube video player",
2525
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
2526
- allowFullScreen: true,
2527
- className: "absolute top-0 left-0 w-full h-full rounded-lg shadow-lg"
2528
- }
2529
- )
2530
- }
2531
- ) });
2532
- }
2533
- var YoutubeVideoPlayer_default = YoutubeVideoPlayer;
2876
+ return context.theme;
2877
+ };
2878
+ var useCurrentTheme_default = useCurrentTheme;
2534
2879
  var COUNTRY_NAMES = {
2535
2880
  AF: "Afghanistan",
2536
2881
  AL: "Albania",
@@ -13840,108 +14185,6 @@ var worldMapTopoJSONContries100m = {
13840
14185
  translate: [-180, -85.60903777459771]
13841
14186
  }
13842
14187
  };
13843
- var ThemeContext = createContext(
13844
- void 0
13845
- );
13846
- var ThemeProvider = ({
13847
- defaultTheme = "dark",
13848
- children
13849
- }) => {
13850
- const [theme, setTheme] = useState(() => {
13851
- return localStorage.getItem("theme") || defaultTheme;
13852
- });
13853
- useEffect(() => {
13854
- if (theme === "dark") {
13855
- document.documentElement.classList.add("dark");
13856
- } else {
13857
- document.documentElement.classList.remove("dark");
13858
- }
13859
- localStorage.setItem("theme", theme);
13860
- }, [theme]);
13861
- const toggleTheme = () => {
13862
- setTheme((prev) => prev === "dark" ? "light" : "dark");
13863
- };
13864
- return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children });
13865
- };
13866
- var ThemeSwitch = () => {
13867
- const themeContext = useContext(ThemeContext);
13868
- if (!themeContext) return null;
13869
- const { theme, toggleTheme } = themeContext;
13870
- return /* @__PURE__ */ jsxs(
13871
- "button",
13872
- {
13873
- onClick: toggleTheme,
13874
- className: "relative w-16 h-8 flex items-center bg-gray-300 dark:bg-gray-800 rounded-full p-1 transition-all",
13875
- children: [
13876
- /* @__PURE__ */ jsx(
13877
- FaSun,
13878
- {
13879
- className: "absolute left-2 text-yellow-500 transition-opacity duration-300 z-10",
13880
- style: { opacity: theme === "dark" ? 0 : 1 }
13881
- }
13882
- ),
13883
- /* @__PURE__ */ jsx(
13884
- FaMoon,
13885
- {
13886
- className: "absolute right-2 text-blue-400 transition-opacity duration-300 z-10",
13887
- style: { opacity: theme === "dark" ? 1 : 0 }
13888
- }
13889
- ),
13890
- /* @__PURE__ */ jsx(
13891
- "div",
13892
- {
13893
- className: classNames28(
13894
- "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
13895
- theme === "dark" ? "translate-x-8" : "translate-x-0"
13896
- )
13897
- }
13898
- )
13899
- ]
13900
- }
13901
- );
13902
- };
13903
-
13904
- // src/data/enums.ts
13905
- var Shape = /* @__PURE__ */ ((Shape2) => {
13906
- Shape2["circle"] = "circle";
13907
- Shape2["roundedSquare"] = "roundedSquare";
13908
- Shape2["softRoundedSquare"] = "softRoundedSquare";
13909
- Shape2["square"] = "square";
13910
- return Shape2;
13911
- })(Shape || {});
13912
- var ShapeSwitch = () => {
13913
- const { config, setConfig } = useEUIConfig();
13914
- const currentShape = config.global?.shape ?? "square";
13915
- const handleChange = (e) => {
13916
- const shape = e.target.value;
13917
- setConfig((prev) => ({
13918
- ...prev,
13919
- global: {
13920
- ...prev.global,
13921
- shape
13922
- }
13923
- }));
13924
- };
13925
- return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 w-fit", children: /* @__PURE__ */ jsx(
13926
- "select",
13927
- {
13928
- value: currentShape,
13929
- onChange: handleChange,
13930
- 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 ",
13931
- children: Object.keys(Shape).map((shape) => /* @__PURE__ */ jsx("option", { value: shape, children: shape }, shape))
13932
- }
13933
- ) });
13934
- };
13935
-
13936
- // src/hooks/theme/useCurrentTheme.ts
13937
- var useCurrentTheme = () => {
13938
- const context = useContext(ThemeContext);
13939
- if (!context) {
13940
- throw new Error("useCurrentTheme must be used within a ThemeProvider");
13941
- }
13942
- return context.theme;
13943
- };
13944
- var useCurrentTheme_default = useCurrentTheme;
13945
14188
  function WorldMap({
13946
14189
  data,
13947
14190
  title = "Global Data Overview",
@@ -13949,9 +14192,10 @@ function WorldMap({
13949
14192
  bubbleStroke = "stroke-teal-900",
13950
14193
  bubbleScale = 40,
13951
14194
  minBubble = 6,
13952
- styles,
13953
14195
  disableCountryHover = true,
13954
- disableCountrySelect = true
14196
+ disableCountrySelect = true,
14197
+ className,
14198
+ ...rest
13955
14199
  }) {
13956
14200
  const currentTheme = useCurrentTheme_default();
13957
14201
  const isDarkMode = currentTheme === "dark";
@@ -13995,60 +14239,52 @@ function WorldMap({
13995
14239
  setShowTooltip(true);
13996
14240
  };
13997
14241
  const hideTooltip = () => setShowTooltip(false);
13998
- return /* @__PURE__ */ jsxs(
13999
- "div",
14000
- {
14001
- className: classNames28({
14002
- [`${styles}`]: true
14003
- }),
14004
- children: [
14005
- /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold mb-4", children: title }),
14006
- /* @__PURE__ */ jsx("div", { className: "w-full aspect-[2/1]", children: /* @__PURE__ */ jsxs(
14007
- ComposableMap,
14008
- {
14009
- projectionConfig: { scale: 140 },
14010
- width: 800,
14011
- height: 400,
14012
- style: { width: "100%", height: "100%" },
14013
- children: [
14014
- /* @__PURE__ */ jsx(Geographies, { geography: worldMapTopoJSONContries100m, children: ({ geographies }) => geographies.map((geo) => /* @__PURE__ */ jsx(
14015
- Geography,
14016
- {
14017
- geography: geo,
14018
- style: {
14019
- default: {
14020
- ...mode.default,
14021
- strokeWidth: 0.5,
14022
- pointerEvents: disableCountryHover && disableCountrySelect ? "none" : "auto"
14023
- },
14024
- hover: disableCountryHover ? { ...mode.default, pointerEvents: "none" } : mode.hover,
14025
- pressed: disableCountrySelect ? { ...mode.default, pointerEvents: "none" } : mode.pressed
14026
- }
14242
+ return /* @__PURE__ */ jsxs("div", { ...rest, className: cn(className), children: [
14243
+ /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold mb-4", children: title }),
14244
+ /* @__PURE__ */ jsx("div", { className: "w-full aspect-[2/1]", children: /* @__PURE__ */ jsxs(
14245
+ ComposableMap,
14246
+ {
14247
+ projectionConfig: { scale: 140 },
14248
+ width: 800,
14249
+ height: 400,
14250
+ style: { width: "100%", height: "100%" },
14251
+ children: [
14252
+ /* @__PURE__ */ jsx(Geographies, { geography: worldMapTopoJSONContries100m, children: ({ geographies }) => geographies.map((geo) => /* @__PURE__ */ jsx(
14253
+ Geography,
14254
+ {
14255
+ geography: geo,
14256
+ style: {
14257
+ default: {
14258
+ ...mode.default,
14259
+ strokeWidth: 0.5,
14260
+ pointerEvents: disableCountryHover && disableCountrySelect ? "none" : "auto"
14027
14261
  },
14028
- geo.rsmKey
14029
- )) }),
14030
- resolvedData.map((point, index) => {
14031
- const size = point.value / maxValue * bubbleScale + minBubble;
14032
- return /* @__PURE__ */ jsx(Marker, { coordinates: point.coordinates, children: /* @__PURE__ */ jsx(
14033
- motion.circle,
14034
- {
14035
- r: size,
14036
- initial: { opacity: 0, scale: 0 },
14037
- animate: { opacity: 0.6, scale: 1 },
14038
- transition: { duration: 0.5 },
14039
- className: `${bubbleColor} ${bubbleStroke} stroke-1 cursor-pointer`,
14040
- onMouseMove: (e) => handleMouseMove(e, point),
14041
- onMouseLeave: hideTooltip
14042
- }
14043
- ) }, index);
14044
- })
14045
- ]
14046
- }
14047
- ) }),
14048
- /* @__PURE__ */ jsx(Tooltip4, { show: showTooltip, content: tooltipContent })
14049
- ]
14050
- }
14051
- );
14262
+ hover: disableCountryHover ? { ...mode.default, pointerEvents: "none" } : mode.hover,
14263
+ pressed: disableCountrySelect ? { ...mode.default, pointerEvents: "none" } : mode.pressed
14264
+ }
14265
+ },
14266
+ geo.rsmKey
14267
+ )) }),
14268
+ resolvedData.map((point, index) => {
14269
+ const size = point.value / maxValue * bubbleScale + minBubble;
14270
+ return /* @__PURE__ */ jsx(Marker, { coordinates: point.coordinates, children: /* @__PURE__ */ jsx(
14271
+ motion.circle,
14272
+ {
14273
+ r: size,
14274
+ initial: { opacity: 0, scale: 0 },
14275
+ animate: { opacity: 0.6, scale: 1 },
14276
+ transition: { duration: 0.5 },
14277
+ className: `${bubbleColor} ${bubbleStroke} stroke-1 cursor-pointer`,
14278
+ onMouseMove: (e) => handleMouseMove(e, point),
14279
+ onMouseLeave: hideTooltip
14280
+ }
14281
+ ) }, index);
14282
+ })
14283
+ ]
14284
+ }
14285
+ ) }),
14286
+ /* @__PURE__ */ jsx(Tooltip4, { show: showTooltip, children: tooltipContent })
14287
+ ] });
14052
14288
  }
14053
14289
  var sizes3 = {
14054
14290
  xs: "px-2 py-1 text-xs",
@@ -14092,7 +14328,7 @@ var Button = ({
14092
14328
  onClick,
14093
14329
  onMouseMove: handleMouseMove,
14094
14330
  disabled: disabled || loading,
14095
- className: classNames28({
14331
+ className: classNames17({
14096
14332
  "relative z-0 overflow-hidden group": true,
14097
14333
  "flex flex-row items-center justify-center gap-2": true,
14098
14334
  [`${variants[variant]}`]: !ghost,
@@ -14138,7 +14374,7 @@ function InputResponse({
14138
14374
  return /* @__PURE__ */ jsx(Transition4.TransitionDropdown, { visibility, children: /* @__PURE__ */ jsx(
14139
14375
  "div",
14140
14376
  {
14141
- className: classNames28({
14377
+ className: classNames17({
14142
14378
  "font-medium text-sm py-1 px-2": true,
14143
14379
  [`${textVariants[variant]}`]: variant,
14144
14380
  "transition-all ease-in-out": true,
@@ -14153,7 +14389,7 @@ function InputLabel({ text, children, styles }) {
14153
14389
  return /* @__PURE__ */ jsx(
14154
14390
  "label",
14155
14391
  {
14156
- className: classNames28({
14392
+ className: classNames17({
14157
14393
  "px-0 eui-text-sm text-[13.5px] pointer-events-none select-none": true,
14158
14394
  "transition-all ease-in-out": true,
14159
14395
  [`${styles}`]: styles
@@ -14205,7 +14441,7 @@ var Input = ({
14205
14441
  ...field,
14206
14442
  ...props,
14207
14443
  placeholder,
14208
- className: classNames28({
14444
+ className: classNames17({
14209
14445
  "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,
14210
14446
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
14211
14447
  "border-eui-danger-500": meta.touched && meta.error,
@@ -14250,7 +14486,7 @@ var InputFile = ({
14250
14486
  /* @__PURE__ */ jsx(
14251
14487
  "div",
14252
14488
  {
14253
- className: classNames28(
14489
+ className: classNames17(
14254
14490
  "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",
14255
14491
  {
14256
14492
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -14276,7 +14512,7 @@ var InputFile = ({
14276
14512
  InputLabel_default,
14277
14513
  {
14278
14514
  text: placeholder,
14279
- styles: classNames28({
14515
+ styles: classNames17({
14280
14516
  "absolute left-2 eui-text-sm peer-placeholder-shown:text-base peer-placeholder-shown:top-3 pointer-events-none": true,
14281
14517
  "top-[0.7px]": showFloatingLabel,
14282
14518
  "top-[13px] text-base": !showFloatingLabel
@@ -14302,7 +14538,7 @@ var InputList = ({ name, placeholder, shape }) => {
14302
14538
  /* @__PURE__ */ jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsx(FieldArray, { name, children: ({ push, remove, move }) => /* @__PURE__ */ jsxs(
14303
14539
  "div",
14304
14540
  {
14305
- className: classNames28({
14541
+ className: classNames17({
14306
14542
  "flex flex-col space-y-2 w-full bg-eui-primary-300/10": true,
14307
14543
  [`${shapes[resolvedShape]}`]: true
14308
14544
  }),
@@ -14333,7 +14569,7 @@ var InputList = ({ name, placeholder, shape }) => {
14333
14569
  {
14334
14570
  name: `${name}[${index}]`,
14335
14571
  placeholder: `Item ${index + 1}`,
14336
- className: classNames28(
14572
+ className: classNames17(
14337
14573
  "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]",
14338
14574
  [`${shapes[resolvedShape]}`],
14339
14575
  errors[name]?.[index] ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -14401,7 +14637,7 @@ var InputListGroup = ({
14401
14637
  values[name]?.map((group, groupIndex) => /* @__PURE__ */ jsxs(
14402
14638
  "div",
14403
14639
  {
14404
- className: classNames28({
14640
+ className: classNames17({
14405
14641
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3": true,
14406
14642
  [`${shapes[resolvedShape]}`]: true
14407
14643
  }),
@@ -14413,7 +14649,7 @@ var InputListGroup = ({
14413
14649
  {
14414
14650
  name: `${name}[${groupIndex}].name`,
14415
14651
  placeholder: `Group ${groupIndex + 1}`,
14416
- className: classNames28(
14652
+ className: classNames17(
14417
14653
  "border w-full bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none h-[40px]",
14418
14654
  [`${shapes[resolvedShape]}`],
14419
14655
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -14455,7 +14691,7 @@ var InputListGroup = ({
14455
14691
  {
14456
14692
  ref: provided.innerRef,
14457
14693
  ...provided.droppableProps,
14458
- className: classNames28({
14694
+ className: classNames17({
14459
14695
  "space-y-2 bg-eui-primary-300/10 p-2": true,
14460
14696
  [`${shapes[resolvedShape]}`]: true
14461
14697
  }),
@@ -14470,7 +14706,7 @@ var InputListGroup = ({
14470
14706
  {
14471
14707
  ref: provided2.innerRef,
14472
14708
  ...provided2.draggableProps,
14473
- className: classNames28({
14709
+ className: classNames17({
14474
14710
  "flex items-center gap-2 bg-eui-primary-300/10 p-2": true,
14475
14711
  [`${shapes[resolvedShape]}`]: true
14476
14712
  }),
@@ -14481,7 +14717,7 @@ var InputListGroup = ({
14481
14717
  {
14482
14718
  name: `${name}[${groupIndex}].items[${itemIndex}]`,
14483
14719
  placeholder: `Item ${itemIndex + 1}`,
14484
- className: classNames28(
14720
+ className: classNames17(
14485
14721
  "border w-full bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none h-[40px]",
14486
14722
  [`${shapes[resolvedShape]}`],
14487
14723
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -14558,7 +14794,7 @@ var Checkbox = (props) => {
14558
14794
  const { placeholder } = props;
14559
14795
  const isMulti = isMultiCheckbox(props);
14560
14796
  const [field, meta, helpers] = isMulti ? useField(props) : useField(props);
14561
- const checkboxClass = classNames28(
14797
+ const checkboxClass = classNames17(
14562
14798
  "appearance-none cursor-pointer transition-all duration-300",
14563
14799
  "w-5 h-5 min-w-[1.25rem] min-h-[1.25rem]",
14564
14800
  "flex-shrink-0",
@@ -14659,7 +14895,7 @@ var DateSelector = ({
14659
14895
  ...field,
14660
14896
  ...props,
14661
14897
  placeholder,
14662
- className: classNames28({
14898
+ className: classNames17({
14663
14899
  "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,
14664
14900
  "border-eui-danger-500": meta.touched && meta.error,
14665
14901
  "transition-all ease-in-out": true,
@@ -14768,7 +15004,7 @@ var ImageInput = forwardRef(
14768
15004
  /* @__PURE__ */ jsxs(
14769
15005
  "label",
14770
15006
  {
14771
- className: classNames28({
15007
+ className: classNames17({
14772
15008
  "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,
14773
15009
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
14774
15010
  "transition-all ease-in-out duration-150": true
@@ -14885,7 +15121,7 @@ function Radio({
14885
15121
  return /* @__PURE__ */ jsxs(
14886
15122
  "div",
14887
15123
  {
14888
- className: classNames28({
15124
+ className: classNames17({
14889
15125
  "flex flex-row gap-2 items-center mx-1 my-2": true
14890
15126
  }),
14891
15127
  children: [
@@ -14898,7 +15134,7 @@ function Radio({
14898
15134
  ...props,
14899
15135
  value: option.value,
14900
15136
  checked: field2.value === option.value,
14901
- className: classNames28({
15137
+ className: classNames17({
14902
15138
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
14903
15139
  // base radio button styles
14904
15140
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -14910,7 +15146,7 @@ function Radio({
14910
15146
  "label",
14911
15147
  {
14912
15148
  htmlFor: option.value,
14913
- className: classNames28({
15149
+ className: classNames17({
14914
15150
  "eui-text-md text-sm": true
14915
15151
  }),
14916
15152
  children: option.label
@@ -14953,7 +15189,7 @@ function StarRatingInput({
14953
15189
  return /* @__PURE__ */ jsxs(
14954
15190
  "div",
14955
15191
  {
14956
- className: classNames28({
15192
+ className: classNames17({
14957
15193
  "inline-flex gap-[4px] text-[20px]": true,
14958
15194
  [`${styles}`]: styles
14959
15195
  }),
@@ -14966,7 +15202,7 @@ function StarRatingInput({
14966
15202
  onClick: () => handleOnClick(index),
14967
15203
  onMouseEnter: () => setHover(index),
14968
15204
  onMouseLeave: () => setHover(null),
14969
- className: classNames28({
15205
+ className: classNames17({
14970
15206
  "text-yellow-600": index <= (hover ?? rating - 1),
14971
15207
  "text-gray-400": index > (hover ?? rating - 1)
14972
15208
  }),
@@ -15010,7 +15246,7 @@ function Select({
15010
15246
  {
15011
15247
  as: "select",
15012
15248
  ...props,
15013
- className: classNames28({
15249
+ className: classNames17({
15014
15250
  "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,
15015
15251
  "border-eui-primary-400": !(meta.touched && meta.error),
15016
15252
  "border-red-500": meta.touched && meta.error,
@@ -15062,7 +15298,7 @@ function Switch({
15062
15298
  "div",
15063
15299
  {
15064
15300
  onClick: () => helpers.setValue(!field.value),
15065
- className: classNames28(
15301
+ className: classNames17(
15066
15302
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
15067
15303
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
15068
15304
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -15119,7 +15355,7 @@ function Tags({
15119
15355
  /* @__PURE__ */ jsxs(
15120
15356
  "div",
15121
15357
  {
15122
- className: classNames28(
15358
+ className: classNames17(
15123
15359
  "border rounded-sm flex flex-wrap items-center gap-2 px-2 pt-2 pb-6 min-h-[3rem]",
15124
15360
  {
15125
15361
  "bg-eui-primary-300/10 eui-text-md": true,
@@ -15167,7 +15403,7 @@ function Tags({
15167
15403
  InputLabel_default,
15168
15404
  {
15169
15405
  text: placeholder,
15170
- styles: classNames28(
15406
+ styles: classNames17(
15171
15407
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
15172
15408
  input.length > 0 || field.value.length > 0 ? "top-[2px] text-[13.5px]" : "top-3 text-base"
15173
15409
  )
@@ -15208,7 +15444,7 @@ function TextArea({
15208
15444
  as: "textarea",
15209
15445
  ...field,
15210
15446
  ...props,
15211
- className: classNames28({
15447
+ className: classNames17({
15212
15448
  "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,
15213
15449
  "transition-all ease-in-out": true,
15214
15450
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -15222,7 +15458,7 @@ function TextArea({
15222
15458
  InputLabel_default,
15223
15459
  {
15224
15460
  text: placeholder,
15225
- styles: classNames28(
15461
+ styles: classNames17(
15226
15462
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
15227
15463
  field.value ? "top-[2px] text-[13.5px]" : "top-3 text-base"
15228
15464
  )
@@ -15253,7 +15489,7 @@ function ContentArea({
15253
15489
  return /* @__PURE__ */ jsx(
15254
15490
  "div",
15255
15491
  {
15256
- className: classNames28({
15492
+ className: classNames17({
15257
15493
  "min-h-screen h-full w-full py-3 px-5": true,
15258
15494
  "py-3 px-5": !enablePadding,
15259
15495
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -15269,7 +15505,7 @@ function FlexCol({ children, gap = 3, styles }) {
15269
15505
  return /* @__PURE__ */ jsx(
15270
15506
  "div",
15271
15507
  {
15272
- className: classNames28({
15508
+ className: classNames17({
15273
15509
  [`flex flex-col gap-${gap}`]: true,
15274
15510
  [`${styles}`]: styles
15275
15511
  }),
@@ -15282,7 +15518,7 @@ function FlexRow({ children, gap = 3, styles }) {
15282
15518
  return /* @__PURE__ */ jsx(
15283
15519
  "div",
15284
15520
  {
15285
- className: classNames28({
15521
+ className: classNames17({
15286
15522
  [`flex flex-row gap-${gap}`]: true,
15287
15523
  [`${styles}`]: styles
15288
15524
  }),
@@ -15301,7 +15537,7 @@ function Grid({ children, styles }) {
15301
15537
  return /* @__PURE__ */ jsx(
15302
15538
  "div",
15303
15539
  {
15304
- className: classNames28({
15540
+ className: classNames17({
15305
15541
  [`grid`]: true,
15306
15542
  [`${styles}`]: styles
15307
15543
  }),
@@ -15318,7 +15554,7 @@ var Layout = ({
15318
15554
  return /* @__PURE__ */ jsx(
15319
15555
  "div",
15320
15556
  {
15321
- className: classNames28({
15557
+ className: classNames17({
15322
15558
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
15323
15559
  "flex bg-eui-light-600": true,
15324
15560
  "flex-col": flexDirection === "vertical",
@@ -15337,7 +15573,7 @@ var Header = ({
15337
15573
  return /* @__PURE__ */ jsx(
15338
15574
  "div",
15339
15575
  {
15340
- className: classNames28({
15576
+ className: classNames17({
15341
15577
  static: position === "static",
15342
15578
  fixed: position === "fixed",
15343
15579
  sticky: position === "sticky",
@@ -15377,7 +15613,7 @@ var Content = ({
15377
15613
  return /* @__PURE__ */ jsx(
15378
15614
  "div",
15379
15615
  {
15380
- className: classNames28({
15616
+ className: classNames17({
15381
15617
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
15382
15618
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
15383
15619
  // Shift when sidebar is open (desktop)
@@ -15393,7 +15629,7 @@ var Footer = ({ children, styles }) => {
15393
15629
  return /* @__PURE__ */ jsx(
15394
15630
  "div",
15395
15631
  {
15396
- className: classNames28({
15632
+ className: classNames17({
15397
15633
  "bottom-0 w-full h-fit": true,
15398
15634
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
15399
15635
  [`${styles}`]: styles
@@ -15481,7 +15717,7 @@ function MarkdownEditor({
15481
15717
  const [field, meta, helpers] = useField(props);
15482
15718
  const { theme } = useTheme_default();
15483
15719
  return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
15484
- /* @__PURE__ */ jsx("div", { className: classNames28(theme === "dark" ? "dark" : "", styles), children: /* @__PURE__ */ jsx(
15720
+ /* @__PURE__ */ jsx("div", { className: classNames17(theme === "dark" ? "dark" : "", styles), children: /* @__PURE__ */ jsx(
15485
15721
  MDXEditor,
15486
15722
  {
15487
15723
  markdown: field.value,
@@ -15584,7 +15820,7 @@ function MarkdownTOC({ title = "Table of Contents" }) {
15584
15820
  "button",
15585
15821
  {
15586
15822
  onClick: () => scrollToHeading(heading.id),
15587
- className: classNames28(
15823
+ className: classNames17(
15588
15824
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
15589
15825
  "hover:text-primary",
15590
15826
  activeHeading === heading.id ? "text-primary font-semibold underline" : "text-gray-500 dark:text-gray-400"
@@ -15740,7 +15976,7 @@ function BreadcrumbItem({
15740
15976
  {
15741
15977
  href,
15742
15978
  onClick,
15743
- className: classNames28({
15979
+ className: classNames17({
15744
15980
  "text-lg font-semibold": true,
15745
15981
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
15746
15982
  "text-eui-light-800": active,
@@ -15817,7 +16053,7 @@ var Breadcrumb = ({
15817
16053
  index < resolvedData.length - 1 && /* @__PURE__ */ jsx(
15818
16054
  "span",
15819
16055
  {
15820
- className: classNames28({
16056
+ className: classNames17({
15821
16057
  "text-lg font-semibold text-gray-500": true,
15822
16058
  [`px-${gap}`]: gap
15823
16059
  }),
@@ -15831,7 +16067,7 @@ var Breadcrumb = ({
15831
16067
  return /* @__PURE__ */ jsx(
15832
16068
  "div",
15833
16069
  {
15834
- className: classNames28({
16070
+ className: classNames17({
15835
16071
  "inline-flex": true,
15836
16072
  [`${styles}`]: styles
15837
16073
  }),
@@ -15861,7 +16097,7 @@ var Drawer = ({
15861
16097
  {
15862
16098
  show: visibility,
15863
16099
  enter: "transform transition duration-200 ease-out",
15864
- enterFrom: classNames28({
16100
+ enterFrom: classNames17({
15865
16101
  "-translate-x-full": side === "left",
15866
16102
  "translate-x-full": side === "right",
15867
16103
  "-translate-y-full": side === "top",
@@ -15870,7 +16106,7 @@ var Drawer = ({
15870
16106
  enterTo: "translate-x-0 translate-y-0",
15871
16107
  leave: "transform transition duration-200 ease-in",
15872
16108
  leaveFrom: "translate-x-0 translate-y-0",
15873
- leaveTo: classNames28({
16109
+ leaveTo: classNames17({
15874
16110
  "-translate-x-full": side === "left",
15875
16111
  "translate-x-full": side === "right",
15876
16112
  "-translate-y-full": side === "top",
@@ -15879,7 +16115,7 @@ var Drawer = ({
15879
16115
  children: /* @__PURE__ */ jsx(
15880
16116
  "div",
15881
16117
  {
15882
- className: classNames28(
16118
+ className: classNames17(
15883
16119
  "fixed shadow-lg z-50",
15884
16120
  {
15885
16121
  "h-full w-[300px]": isHorizontal,
@@ -15911,7 +16147,7 @@ function DrawerToggler({
15911
16147
  return /* @__PURE__ */ jsx(
15912
16148
  "div",
15913
16149
  {
15914
- className: classNames28({
16150
+ className: classNames17({
15915
16151
  "text-xl p-3 cursor-pointer": true,
15916
16152
  "transition-all ease-in-out": true,
15917
16153
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -15959,7 +16195,7 @@ function FooterNav({ data = [], styles }) {
15959
16195
  childrenContent = /* @__PURE__ */ jsx(
15960
16196
  "div",
15961
16197
  {
15962
- className: classNames28({
16198
+ className: classNames17({
15963
16199
  "grid w-full": true,
15964
16200
  "grid-cols-1": isMobile,
15965
16201
  "grid-cols-3": !isMobile,
@@ -15972,7 +16208,7 @@ function FooterNav({ data = [], styles }) {
15972
16208
  return /* @__PURE__ */ jsx(
15973
16209
  "div",
15974
16210
  {
15975
- className: classNames28({
16211
+ className: classNames17({
15976
16212
  [`${styles}`]: styles
15977
16213
  }),
15978
16214
  children: childrenContent
@@ -16013,7 +16249,7 @@ var FooterNavGroup = ({
16013
16249
  /* @__PURE__ */ jsx(
16014
16250
  "div",
16015
16251
  {
16016
- className: classNames28({
16252
+ className: classNames17({
16017
16253
  "": true,
16018
16254
  "py-2 font-semibold eui-text-lg": !styles,
16019
16255
  [`${styles}`]: styles
@@ -16058,7 +16294,7 @@ var FooterNavItem = ({
16058
16294
  "div",
16059
16295
  {
16060
16296
  onClick: handleNavigation,
16061
- className: classNames28({
16297
+ className: classNames17({
16062
16298
  "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
16063
16299
  "transition-all duration-200 ease-in-out": true,
16064
16300
  "text-sm eui-text-sm": !styles,
@@ -16087,7 +16323,7 @@ var FooterNavItemTitle = ({
16087
16323
  return /* @__PURE__ */ jsx(
16088
16324
  "div",
16089
16325
  {
16090
- className: classNames28({
16326
+ className: classNames17({
16091
16327
  "": true,
16092
16328
  "py-2 font-thin eui-text-md": !styles,
16093
16329
  [`${styles}`]: styles
@@ -16140,7 +16376,7 @@ function HeaderNav({ data = [], styles }) {
16140
16376
  return /* @__PURE__ */ jsx(
16141
16377
  "div",
16142
16378
  {
16143
- className: classNames28({
16379
+ className: classNames17({
16144
16380
  [`${styles}`]: styles
16145
16381
  }),
16146
16382
  children: childrenContent
@@ -16202,7 +16438,7 @@ var HeaderNavGroup = ({
16202
16438
  /* @__PURE__ */ jsxs(
16203
16439
  "div",
16204
16440
  {
16205
- className: classNames28({
16441
+ className: classNames17({
16206
16442
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
16207
16443
  "transition-all duration-300 ease-in-out": true,
16208
16444
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -16230,7 +16466,7 @@ var HeaderNavGroup = ({
16230
16466
  children && /* @__PURE__ */ jsx(
16231
16467
  BsChevronDown,
16232
16468
  {
16233
- className: classNames28({
16469
+ className: classNames17({
16234
16470
  "text-md": true,
16235
16471
  "transition-all ease-in-out duration-300": true,
16236
16472
  "rotate-180": !collapsed
@@ -16243,7 +16479,7 @@ var HeaderNavGroup = ({
16243
16479
  !collapsed && children && /* @__PURE__ */ jsx(
16244
16480
  "div",
16245
16481
  {
16246
- className: classNames28({
16482
+ className: classNames17({
16247
16483
  "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,
16248
16484
  "transition-all duration-300 ease-in-out": true
16249
16485
  }),
@@ -16273,7 +16509,7 @@ var HeaderNavItem = ({
16273
16509
  "div",
16274
16510
  {
16275
16511
  onClick: handleNavigation,
16276
- className: classNames28({
16512
+ className: classNames17({
16277
16513
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
16278
16514
  "transition-all duration-200 ease-in-out": true,
16279
16515
  "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,
@@ -16302,7 +16538,7 @@ var HeaderNavItemTitle = ({
16302
16538
  return /* @__PURE__ */ jsx(
16303
16539
  "div",
16304
16540
  {
16305
- className: classNames28({
16541
+ className: classNames17({
16306
16542
  "p-3 font-thin": true,
16307
16543
  "eui-text-md": !styles,
16308
16544
  [`${styles}`]: styles
@@ -16342,7 +16578,7 @@ var Link = ({
16342
16578
  href: href || "#",
16343
16579
  target: targets[target],
16344
16580
  onClick: handleClick,
16345
- className: classNames28({
16581
+ className: classNames17({
16346
16582
  [`${textVariants[variant]}`]: variant,
16347
16583
  [`${decorations[decoration]}`]: decoration,
16348
16584
  "font-bold": bold,
@@ -16807,7 +17043,7 @@ function Modal({
16807
17043
  "div",
16808
17044
  {
16809
17045
  ref: modalRef,
16810
- className: classNames28({
17046
+ className: classNames17({
16811
17047
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit": true,
16812
17048
  [`${shapes[resolvedShape]}`]: true,
16813
17049
  [`${styles}`]: styles
@@ -16818,7 +17054,7 @@ function Modal({
16818
17054
  /* @__PURE__ */ jsx(
16819
17055
  "div",
16820
17056
  {
16821
- className: classNames28({
17057
+ className: classNames17({
16822
17058
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast": true,
16823
17059
  "hover:cursor-pointer hover:bg-eui-dark-500": true
16824
17060
  }),
@@ -16924,7 +17160,7 @@ function ShowMore({ text, limit }) {
16924
17160
  /* @__PURE__ */ jsx(
16925
17161
  "div",
16926
17162
  {
16927
- className: classNames28({
17163
+ className: classNames17({
16928
17164
  "text-blue-300 px-1 pb-1 mt-1": true,
16929
17165
  "bg-slate-900/70": !showMore,
16930
17166
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -16986,6 +17222,99 @@ function DocumentationPanel({ value, toc = true }) {
16986
17222
  ] }) });
16987
17223
  }
16988
17224
  var DocumentationPanel_default = DocumentationPanel;
17225
+ function SliderItem({
17226
+ img,
17227
+ onClick,
17228
+ selected,
17229
+ className,
17230
+ ...rest
17231
+ }) {
17232
+ return /* @__PURE__ */ jsx(
17233
+ "div",
17234
+ {
17235
+ ...rest,
17236
+ onClick,
17237
+ className: cn(
17238
+ "flex-shrink-0 w-[160px] h-[90px] border-[3px] overflow-hidden brightness-50",
17239
+ "hover:cursor-pointer hover:border-eui-secondary-600 hover:shadow-lg hover:shadow-[#167d0f]/50 hover:brightness-100",
17240
+ selected ? "border-opacity-100 border-[#0b6b05] brightness-100" : "border-transparent",
17241
+ "transition-all ease-in-out duration-500",
17242
+ className
17243
+ ),
17244
+ children: /* @__PURE__ */ jsx(
17245
+ CloudinaryImage_default,
17246
+ {
17247
+ publicId: img,
17248
+ alt: "image",
17249
+ className: "w-full h-full object-cover"
17250
+ }
17251
+ )
17252
+ }
17253
+ );
17254
+ }
17255
+ var SliderItem_default = SliderItem;
17256
+ function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
17257
+ const [images, setImages] = useState([
17258
+ {
17259
+ img: coverArt,
17260
+ selected: true
17261
+ }
17262
+ ]);
17263
+ useEffect(() => {
17264
+ setImages([
17265
+ {
17266
+ img: coverArt,
17267
+ selected: true
17268
+ }
17269
+ ]);
17270
+ }, [isSuccess]);
17271
+ useEffect(() => {
17272
+ if (screenshots) {
17273
+ const selectableScreenshots = [];
17274
+ screenshots.forEach((item) => {
17275
+ selectableScreenshots.push({
17276
+ img: item,
17277
+ selected: false
17278
+ });
17279
+ });
17280
+ setImages((prev) => [...prev, ...selectableScreenshots]);
17281
+ }
17282
+ }, [isSuccess]);
17283
+ const [displayImg, setDisplayImg] = useState(coverArt);
17284
+ useEffect(() => {
17285
+ setDisplayImg(coverArt);
17286
+ }, [coverArt]);
17287
+ const displayImageHandler = (itemIndex, img) => {
17288
+ setDisplayImg(img);
17289
+ const newArray = images.map((obj, i) => {
17290
+ if (i === itemIndex) {
17291
+ return { ...obj, selected: true };
17292
+ }
17293
+ return { ...obj, selected: false };
17294
+ });
17295
+ setImages(newArray);
17296
+ };
17297
+ return /* @__PURE__ */ jsx("div", { children: isLoading ? /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Skeleton, { className: "w-full aspect-w-16 aspect-h-9" }) }) : /* @__PURE__ */ jsxs("div", { children: [
17298
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
17299
+ CloudinaryImage_default,
17300
+ {
17301
+ publicId: displayImg,
17302
+ alt: "displayImg",
17303
+ className: "aspect-w-16 aspect-h-9"
17304
+ }
17305
+ ) }),
17306
+ /* @__PURE__ */ jsx("div", { className: "relative h-[130px]", children: /* @__PURE__ */ jsx("div", { className: "absolute pt-2 pb-4 w-full flex space-x-2 overflow-auto", children: images.map((item, index) => /* @__PURE__ */ jsx(
17307
+ SliderItem_default,
17308
+ {
17309
+ img: item.img,
17310
+ onClick: () => displayImageHandler(index, item.img),
17311
+ selected: item.selected
17312
+ },
17313
+ index
17314
+ )) }) })
17315
+ ] }) });
17316
+ }
17317
+ var Slider_default = Slider;
16989
17318
  function WorldMapCountryTable({
16990
17319
  title = "Country Breakdown",
16991
17320
  data
@@ -17082,7 +17411,7 @@ function BoxNavItem({ icon, name, to, selected, onClick }) {
17082
17411
  type: "button",
17083
17412
  onClick: handleClick,
17084
17413
  "aria-current": selected ? "page" : void 0,
17085
- className: classNames28(
17414
+ className: classNames17(
17086
17415
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
17087
17416
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
17088
17417
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -17472,7 +17801,7 @@ function GenericLayout({
17472
17801
  return /* @__PURE__ */ jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsx(
17473
17802
  "div",
17474
17803
  {
17475
- className: classNames28({
17804
+ className: classNames17({
17476
17805
  [`${styles}`]: styles
17477
17806
  }),
17478
17807
  children
@@ -17521,7 +17850,7 @@ function SidemenuLayout({ data, children }) {
17521
17850
  return /* @__PURE__ */ jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxs(
17522
17851
  "div",
17523
17852
  {
17524
- className: classNames28({
17853
+ className: classNames17({
17525
17854
  grid: true,
17526
17855
  "grid-cols-7 gap-10": !isMobile,
17527
17856
  "grid-cols-1 gap-": isMobile
@@ -17580,6 +17909,6 @@ function ScrollToTop({
17580
17909
  }
17581
17910
  var ScrollToTop_default = ScrollToTop;
17582
17911
 
17583
- export { Accordion_default as Accordion, AsyncComponentWrapper_default as AsyncComponentWrapper, Avatar, Backdrop_default as Backdrop, Badge, BarChart_default as BarChart, Block_default as Block, BlockGroup_default as BlockGroup, BoxNav_default as BoxNav, BoxNavItem_default as BoxNavItem, Brand_default as Brand, Breadcrumb, BreadcrumbItem_default as BreadcrumbItem, Button, Card_default as Card, CardContent_default as CardContent, CardFooter_default as CardFooter, CardHeader_default as CardHeader, Chapter, Checkbox_default as Checkbox, Chip, CloudinaryImage_default as CloudinaryImage, CloudinaryProvider, CloudinaryVideo_default as CloudinaryVideo, Content, ContentArea_default as ContentArea, DataView, DataViewTable_default as DataViewTable, DateSelector_default as DateSelector, DefaultLayout_default as DefaultLayout, DocumentationPanel_default as DocumentationPanel, Drawer, DrawerToggler_default as DrawerToggler, EUIDevLayout_default as EUIDevLayout, EUIProvider, Flag, Flex, FlexCol_default as FlexCol, FlexRow_default as FlexRow, Footer, FooterNav_default as FooterNav, FooterNavGroup_default as FooterNavGroup, FooterNavItem, FooterNavItemContext, FooterNavItemTitle, Form, FormResponse_default as FormResponse, GenericLayout_default as GenericLayout, GlowWrapper_default as GlowWrapper, Graph, GraphEdge, GraphNode, GraphRenderer, Grid_default as Grid, Header, HeaderNav_default as HeaderNav, HeaderNavGroup_default as HeaderNavGroup, HeaderNavItem, HeaderNavItemContext, HeaderNavItemTitle, HomeLayout_default as HomeLayout, Image2 as Image, ImageInput_default as ImageInput, Info_default as Info, Input, InputFile, InputLabel_default as InputLabel, InputList, InputListGroup, InputResponse_default as InputResponse, Layout, LineChart_default as LineChart, Link, List_default as List, ListItem_default as ListItem, MarkdownEditor_default as MarkdownEditor, MarkdownProvider_default as MarkdownProvider, MarkdownTOC_default as MarkdownTOC, MarkdownViewer_default as MarkdownViewer, Menu, MenuGroup, MenuItem, MenuItemTitle, Modal_default as Modal, MotionSurface_default as MotionSurface, MultiImageInput_default as MultiImageInput, Paragraph, PieChart_default as PieChart, PriceTag, ProgressBar, Quote, Radio_default as Radio, RouteTab_default as RouteTab, RouteTabs_default as RouteTabs, ScrollToTop_default as ScrollToTop, Section, Select_default as Select, ShapeSwitch, ShowMore_default as ShowMore, Sidebar_default as Sidebar, SidebarLayout_default as SidebarLayout, SidemenuLayout_default as SidemenuLayout, Skeleton, Slider_default as Slider, StarRating_default as StarRating, StarRatingDistribution_default as StarRatingDistribution, StarRatingInput_default as StarRatingInput, Switch_default as Switch, TNDropdown, TNDropdownItem, TNDropdownTitle, TNGroup, Table_default as Table, Tag_default as Tag, Tags_default as Tags, TextArea_default as TextArea, ThemeContext, ThemeProvider, ThemeSwitch, TitleBanner, Toast, Tooltip4 as Tooltip, TopNav, Transition4 as Transition, TransitionDropdown_default as TransitionDropdown, TransitionFadeIn_default as TransitionFadeIn, Typography, UnderConstructionBanner, ValueBadge_default as ValueBadge, WorldMap, WorldMapCountryTable, YoutubeVideoPlayer_default as YoutubeVideoPlayer, cn, createForceLayout, createGridLayout, createTreeLayout, getCurrencySymbol, getLayout, isMatch, isRenderFn, normalize, registerLayout, resolveWithGlobal, sendToast, useClickOutside, useCloudinaryConfig, useCurrentTheme_default as useCurrentTheme, useDrawer_default as useDrawer, useEUIConfig, useIsMobile_default as useIsMobile, useModal_default as useModal, useTheme_default as useTheme };
17912
+ export { Accordion_default as Accordion, AsyncComponentWrapper_default as AsyncComponentWrapper, Avatar, Backdrop_default as Backdrop, Badge, BarChart_default as BarChart, Block_default as Block, BlockGroup_default as BlockGroup, BoxNav_default as BoxNav, BoxNavItem_default as BoxNavItem, Brand_default as Brand, Breadcrumb, BreadcrumbItem_default as BreadcrumbItem, Button, Caption, Card_default as Card, CardContent_default as CardContent, CardFooter_default as CardFooter, CardHeader_default as CardHeader, Chapter, Checkbox_default as Checkbox, Chip, CloudinaryImage_default as CloudinaryImage, CloudinaryVideo_default as CloudinaryVideo, Code, Content, ContentArea_default as ContentArea, DataView, DataViewTable_default as DataViewTable, DateSelector_default as DateSelector, DefaultLayout_default as DefaultLayout, Display, DocumentationPanel_default as DocumentationPanel, Drawer, DrawerToggler_default as DrawerToggler, EUIDevLayout_default as EUIDevLayout, EUIProvider, Flag, Flex, FlexCol_default as FlexCol, FlexRow_default as FlexRow, Footer, FooterNav_default as FooterNav, FooterNavGroup_default as FooterNavGroup, FooterNavItem, FooterNavItemContext, FooterNavItemTitle, Form, FormResponse_default as FormResponse, GenericLayout_default as GenericLayout, GlowWrapper_default as GlowWrapper, Graph, GraphEdge, GraphNode, GraphRenderer, Grid_default as Grid, Header, HeaderNav_default as HeaderNav, HeaderNavGroup_default as HeaderNavGroup, HeaderNavItem, HeaderNavItemContext, HeaderNavItemTitle, HomeLayout_default as HomeLayout, Image2 as Image, ImageInput_default as ImageInput, Info_default as Info, Input, InputFile, InputLabel_default as InputLabel, InputList, InputListGroup, InputResponse_default as InputResponse, Label, Layout, Lead, LineChart_default as LineChart, Link, List_default as List, ListItem_default as ListItem, MarkdownEditor_default as MarkdownEditor, MarkdownProvider_default as MarkdownProvider, MarkdownTOC_default as MarkdownTOC, MarkdownViewer_default as MarkdownViewer, Menu, MenuGroup, MenuItem, MenuItemTitle, Modal_default as Modal, MotionSurface_default as MotionSurface, MultiImageInput_default as MultiImageInput, Overline, Paragraph, PieChart_default as PieChart, PriceTag, ProgressBar, Quote, Radio_default as Radio, RouteTab_default as RouteTab, RouteTabs_default as RouteTabs, ScrollToTop_default as ScrollToTop, Section, Select_default as Select, ShapeSwitch, ShowMore_default as ShowMore, Sidebar_default as Sidebar, SidebarLayout_default as SidebarLayout, SidemenuLayout_default as SidemenuLayout, Skeleton, Slider_default as Slider, StarRating_default as StarRating, StarRatingDistribution_default as StarRatingDistribution, StarRatingInput_default as StarRatingInput, Switch_default as Switch, TNDropdown, TNDropdownItem, TNDropdownTitle, TNGroup, Table_default as Table, Tag_default as Tag, Tags_default as Tags, TextArea_default as TextArea, ThemeContext, ThemeProvider, ThemeSwitch, TitleBanner, Toast, Tooltip4 as Tooltip, TopNav, Transition4 as Transition, TransitionDropdown_default as TransitionDropdown, TransitionFadeIn_default as TransitionFadeIn, Typography, UnderConstructionBanner, ValueBadge_default as ValueBadge, WorldMap, WorldMapCountryTable, YoutubeVideo_default as YoutubeVideoPlayer, cn, createForceLayout, createGridLayout, createTreeLayout, enumValues, getCurrencySymbol, getLayout, isMatch, isRenderFn, normalize, registerLayout, resolveWithGlobal, sendToast, useClickOutside, useCurrentTheme_default as useCurrentTheme, useDrawer_default as useDrawer, useEUIConfig, useIsMobile_default as useIsMobile, useModal_default as useModal, useTheme_default as useTheme };
17584
17913
  //# sourceMappingURL=index.mjs.map
17585
17914
  //# sourceMappingURL=index.mjs.map