nvis-fe-cms-libs 1.1.15 → 1.1.17

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.
@@ -1747,60 +1747,283 @@ var __async = (__this, __arguments, generator) => {
1747
1747
  * This source code is licensed under the ISC license.
1748
1748
  * See the LICENSE file in the root directory of this source tree.
1749
1749
  */
1750
- const __iconNode$9 = [
1750
+ const __iconNode$z = [
1751
+ ["path", { d: "M2 4v16", key: "vw9hq8" }],
1752
+ ["path", { d: "M2 8h18a2 2 0 0 1 2 2v10", key: "1dgv2r" }],
1753
+ ["path", { d: "M2 17h20", key: "18nfp3" }],
1754
+ ["path", { d: "M6 8v9", key: "1yriud" }]
1755
+ ];
1756
+ const Bed = createLucideIcon("bed", __iconNode$z);
1757
+ /**
1758
+ * @license lucide-react v0.536.0 - ISC
1759
+ *
1760
+ * This source code is licensed under the ISC license.
1761
+ * See the LICENSE file in the root directory of this source tree.
1762
+ */
1763
+ const __iconNode$y = [
1764
+ ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
1765
+ ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
1766
+ ];
1767
+ const Briefcase = createLucideIcon("briefcase", __iconNode$y);
1768
+ /**
1769
+ * @license lucide-react v0.536.0 - ISC
1770
+ *
1771
+ * This source code is licensed under the ISC license.
1772
+ * See the LICENSE file in the root directory of this source tree.
1773
+ */
1774
+ const __iconNode$x = [
1775
+ ["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
1776
+ ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
1777
+ ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
1778
+ ["path", { d: "M10 6h4", key: "1itunk" }],
1779
+ ["path", { d: "M10 10h4", key: "tcdvrf" }],
1780
+ ["path", { d: "M10 14h4", key: "kelpxr" }],
1781
+ ["path", { d: "M10 18h4", key: "1ulq68" }]
1782
+ ];
1783
+ const Building2 = createLucideIcon("building-2", __iconNode$x);
1784
+ /**
1785
+ * @license lucide-react v0.536.0 - ISC
1786
+ *
1787
+ * This source code is licensed under the ISC license.
1788
+ * See the LICENSE file in the root directory of this source tree.
1789
+ */
1790
+ const __iconNode$w = [
1791
+ ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
1792
+ ["path", { d: "M9 22v-4h6v4", key: "r93iot" }],
1793
+ ["path", { d: "M8 6h.01", key: "1dz90k" }],
1794
+ ["path", { d: "M16 6h.01", key: "1x0f13" }],
1795
+ ["path", { d: "M12 6h.01", key: "1vi96p" }],
1796
+ ["path", { d: "M12 10h.01", key: "1nrarc" }],
1797
+ ["path", { d: "M12 14h.01", key: "1etili" }],
1798
+ ["path", { d: "M16 10h.01", key: "1m94wz" }],
1799
+ ["path", { d: "M16 14h.01", key: "1gbofw" }],
1800
+ ["path", { d: "M8 10h.01", key: "19clt8" }],
1801
+ ["path", { d: "M8 14h.01", key: "6423bh" }]
1802
+ ];
1803
+ const Building = createLucideIcon("building", __iconNode$w);
1804
+ /**
1805
+ * @license lucide-react v0.536.0 - ISC
1806
+ *
1807
+ * This source code is licensed under the ISC license.
1808
+ * See the LICENSE file in the root directory of this source tree.
1809
+ */
1810
+ const __iconNode$v = [
1811
+ ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }],
1812
+ ["line", { x1: "8", x2: "16", y1: "6", y2: "6", key: "x4nwl0" }],
1813
+ ["line", { x1: "16", x2: "16", y1: "14", y2: "18", key: "wjye3r" }],
1814
+ ["path", { d: "M16 10h.01", key: "1m94wz" }],
1815
+ ["path", { d: "M12 10h.01", key: "1nrarc" }],
1816
+ ["path", { d: "M8 10h.01", key: "19clt8" }],
1817
+ ["path", { d: "M12 14h.01", key: "1etili" }],
1818
+ ["path", { d: "M8 14h.01", key: "6423bh" }],
1819
+ ["path", { d: "M12 18h.01", key: "mhygvu" }],
1820
+ ["path", { d: "M8 18h.01", key: "lrp35t" }]
1821
+ ];
1822
+ const Calculator = createLucideIcon("calculator", __iconNode$v);
1823
+ /**
1824
+ * @license lucide-react v0.536.0 - ISC
1825
+ *
1826
+ * This source code is licensed under the ISC license.
1827
+ * See the LICENSE file in the root directory of this source tree.
1828
+ */
1829
+ const __iconNode$u = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1830
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$u);
1831
+ /**
1832
+ * @license lucide-react v0.536.0 - ISC
1833
+ *
1834
+ * This source code is licensed under the ISC license.
1835
+ * See the LICENSE file in the root directory of this source tree.
1836
+ */
1837
+ const __iconNode$t = [
1751
1838
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1752
1839
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
1753
1840
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
1754
1841
  ];
1755
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$9);
1842
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$t);
1756
1843
  /**
1757
1844
  * @license lucide-react v0.536.0 - ISC
1758
1845
  *
1759
1846
  * This source code is licensed under the ISC license.
1760
1847
  * See the LICENSE file in the root directory of this source tree.
1761
1848
  */
1762
- const __iconNode$8 = [
1849
+ const __iconNode$s = [
1763
1850
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
1764
1851
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
1765
1852
  ];
1766
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$8);
1853
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$s);
1767
1854
  /**
1768
1855
  * @license lucide-react v0.536.0 - ISC
1769
1856
  *
1770
1857
  * This source code is licensed under the ISC license.
1771
1858
  * See the LICENSE file in the root directory of this source tree.
1772
1859
  */
1773
- const __iconNode$7 = [
1860
+ const __iconNode$r = [
1774
1861
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
1775
1862
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
1776
1863
  ];
1777
- const Clock = createLucideIcon("clock", __iconNode$7);
1864
+ const Clock = createLucideIcon("clock", __iconNode$r);
1778
1865
  /**
1779
1866
  * @license lucide-react v0.536.0 - ISC
1780
1867
  *
1781
1868
  * This source code is licensed under the ISC license.
1782
1869
  * See the LICENSE file in the root directory of this source tree.
1783
1870
  */
1784
- const __iconNode$6 = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
1785
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$6);
1871
+ const __iconNode$q = [
1872
+ ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
1873
+ ];
1874
+ const Cloud = createLucideIcon("cloud", __iconNode$q);
1786
1875
  /**
1787
1876
  * @license lucide-react v0.536.0 - ISC
1788
1877
  *
1789
1878
  * This source code is licensed under the ISC license.
1790
1879
  * See the LICENSE file in the root directory of this source tree.
1791
1880
  */
1792
- const __iconNode$5 = [
1881
+ const __iconNode$p = [
1882
+ ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
1883
+ ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
1884
+ ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
1885
+ ];
1886
+ const Database = createLucideIcon("database", __iconNode$p);
1887
+ /**
1888
+ * @license lucide-react v0.536.0 - ISC
1889
+ *
1890
+ * This source code is licensed under the ISC license.
1891
+ * See the LICENSE file in the root directory of this source tree.
1892
+ */
1893
+ const __iconNode$o = [
1894
+ ["path", { d: "M12 16h.01", key: "1drbdi" }],
1895
+ ["path", { d: "M16 16h.01", key: "1f9h7w" }],
1896
+ [
1897
+ "path",
1898
+ {
1899
+ d: "M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z",
1900
+ key: "1iv0i2"
1901
+ }
1902
+ ],
1903
+ ["path", { d: "M8 16h.01", key: "18s6g9" }]
1904
+ ];
1905
+ const Factory = createLucideIcon("factory", __iconNode$o);
1906
+ /**
1907
+ * @license lucide-react v0.536.0 - ISC
1908
+ *
1909
+ * This source code is licensed under the ISC license.
1910
+ * See the LICENSE file in the root directory of this source tree.
1911
+ */
1912
+ const __iconNode$n = [
1913
+ ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
1914
+ ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
1915
+ ["path", { d: "M10 9H8", key: "b1mrlr" }],
1916
+ ["path", { d: "M16 13H8", key: "t4e002" }],
1917
+ ["path", { d: "M16 17H8", key: "z1uh3a" }]
1918
+ ];
1919
+ const FileText = createLucideIcon("file-text", __iconNode$n);
1920
+ /**
1921
+ * @license lucide-react v0.536.0 - ISC
1922
+ *
1923
+ * This source code is licensed under the ISC license.
1924
+ * See the LICENSE file in the root directory of this source tree.
1925
+ */
1926
+ const __iconNode$m = [
1927
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1928
+ ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
1929
+ ["path", { d: "M2 12h20", key: "9i4pu4" }]
1930
+ ];
1931
+ const Globe = createLucideIcon("globe", __iconNode$m);
1932
+ /**
1933
+ * @license lucide-react v0.536.0 - ISC
1934
+ *
1935
+ * This source code is licensed under the ISC license.
1936
+ * See the LICENSE file in the root directory of this source tree.
1937
+ */
1938
+ const __iconNode$l = [
1939
+ [
1940
+ "path",
1941
+ {
1942
+ d: "M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",
1943
+ key: "j76jl0"
1944
+ }
1945
+ ],
1946
+ ["path", { d: "M22 10v6", key: "1lu8f3" }],
1947
+ ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
1948
+ ];
1949
+ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$l);
1950
+ /**
1951
+ * @license lucide-react v0.536.0 - ISC
1952
+ *
1953
+ * This source code is licensed under the ISC license.
1954
+ * See the LICENSE file in the root directory of this source tree.
1955
+ */
1956
+ const __iconNode$k = [
1957
+ [
1958
+ "path",
1959
+ {
1960
+ d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
1961
+ key: "mvr1a0"
1962
+ }
1963
+ ]
1964
+ ];
1965
+ const Heart = createLucideIcon("heart", __iconNode$k);
1966
+ /**
1967
+ * @license lucide-react v0.536.0 - ISC
1968
+ *
1969
+ * This source code is licensed under the ISC license.
1970
+ * See the LICENSE file in the root directory of this source tree.
1971
+ */
1972
+ const __iconNode$j = [
1973
+ ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
1974
+ [
1975
+ "path",
1976
+ {
1977
+ d: "M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",
1978
+ key: "1d0kgt"
1979
+ }
1980
+ ]
1981
+ ];
1982
+ const House = createLucideIcon("house", __iconNode$j);
1983
+ /**
1984
+ * @license lucide-react v0.536.0 - ISC
1985
+ *
1986
+ * This source code is licensed under the ISC license.
1987
+ * See the LICENSE file in the root directory of this source tree.
1988
+ */
1989
+ const __iconNode$i = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
1990
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$i);
1991
+ /**
1992
+ * @license lucide-react v0.536.0 - ISC
1993
+ *
1994
+ * This source code is licensed under the ISC license.
1995
+ * See the LICENSE file in the root directory of this source tree.
1996
+ */
1997
+ const __iconNode$h = [
1793
1998
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
1794
1999
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
1795
2000
  ];
1796
- const Mail = createLucideIcon("mail", __iconNode$5);
2001
+ const Mail = createLucideIcon("mail", __iconNode$h);
1797
2002
  /**
1798
2003
  * @license lucide-react v0.536.0 - ISC
1799
2004
  *
1800
2005
  * This source code is licensed under the ISC license.
1801
2006
  * See the LICENSE file in the root directory of this source tree.
1802
2007
  */
1803
- const __iconNode$4 = [
2008
+ const __iconNode$g = [
2009
+ [
2010
+ "path",
2011
+ {
2012
+ d: "M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",
2013
+ key: "q8bfy3"
2014
+ }
2015
+ ],
2016
+ ["path", { d: "M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14", key: "1853fq" }],
2017
+ ["path", { d: "M8 6v8", key: "15ugcq" }]
2018
+ ];
2019
+ const Megaphone = createLucideIcon("megaphone", __iconNode$g);
2020
+ /**
2021
+ * @license lucide-react v0.536.0 - ISC
2022
+ *
2023
+ * This source code is licensed under the ISC license.
2024
+ * See the LICENSE file in the root directory of this source tree.
2025
+ */
2026
+ const __iconNode$f = [
1804
2027
  [
1805
2028
  "path",
1806
2029
  {
@@ -1809,14 +2032,14 @@ var __async = (__this, __arguments, generator) => {
1809
2032
  }
1810
2033
  ]
1811
2034
  ];
1812
- const MessageCircle = createLucideIcon("message-circle", __iconNode$4);
2035
+ const MessageCircle = createLucideIcon("message-circle", __iconNode$f);
1813
2036
  /**
1814
2037
  * @license lucide-react v0.536.0 - ISC
1815
2038
  *
1816
2039
  * This source code is licensed under the ISC license.
1817
2040
  * See the LICENSE file in the root directory of this source tree.
1818
2041
  */
1819
- const __iconNode$3 = [
2042
+ const __iconNode$e = [
1820
2043
  [
1821
2044
  "path",
1822
2045
  {
@@ -1825,14 +2048,33 @@ var __async = (__this, __arguments, generator) => {
1825
2048
  }
1826
2049
  ]
1827
2050
  ];
1828
- const MessageSquare = createLucideIcon("message-square", __iconNode$3);
2051
+ const MessageSquare = createLucideIcon("message-square", __iconNode$e);
1829
2052
  /**
1830
2053
  * @license lucide-react v0.536.0 - ISC
1831
2054
  *
1832
2055
  * This source code is licensed under the ISC license.
1833
2056
  * See the LICENSE file in the root directory of this source tree.
1834
2057
  */
1835
- const __iconNode$2 = [
2058
+ const __iconNode$d = [
2059
+ [
2060
+ "path",
2061
+ {
2062
+ d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",
2063
+ key: "1a0edw"
2064
+ }
2065
+ ],
2066
+ ["path", { d: "M12 22V12", key: "d0xqtd" }],
2067
+ ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }],
2068
+ ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }]
2069
+ ];
2070
+ const Package = createLucideIcon("package", __iconNode$d);
2071
+ /**
2072
+ * @license lucide-react v0.536.0 - ISC
2073
+ *
2074
+ * This source code is licensed under the ISC license.
2075
+ * See the LICENSE file in the root directory of this source tree.
2076
+ */
2077
+ const __iconNode$c = [
1836
2078
  [
1837
2079
  "path",
1838
2080
  {
@@ -1841,14 +2083,30 @@ var __async = (__this, __arguments, generator) => {
1841
2083
  }
1842
2084
  ]
1843
2085
  ];
1844
- const Phone = createLucideIcon("phone", __iconNode$2);
2086
+ const Phone = createLucideIcon("phone", __iconNode$c);
1845
2087
  /**
1846
2088
  * @license lucide-react v0.536.0 - ISC
1847
2089
  *
1848
2090
  * This source code is licensed under the ISC license.
1849
2091
  * See the LICENSE file in the root directory of this source tree.
1850
2092
  */
1851
- const __iconNode$1 = [
2093
+ const __iconNode$b = [
2094
+ [
2095
+ "path",
2096
+ {
2097
+ d: "M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z",
2098
+ key: "1v9wt8"
2099
+ }
2100
+ ]
2101
+ ];
2102
+ const Plane = createLucideIcon("plane", __iconNode$b);
2103
+ /**
2104
+ * @license lucide-react v0.536.0 - ISC
2105
+ *
2106
+ * This source code is licensed under the ISC license.
2107
+ * See the LICENSE file in the root directory of this source tree.
2108
+ */
2109
+ const __iconNode$a = [
1852
2110
  [
1853
2111
  "path",
1854
2112
  {
@@ -1858,43 +2116,181 @@ var __async = (__this, __arguments, generator) => {
1858
2116
  ],
1859
2117
  ["path", { d: "m21.854 2.147-10.94 10.939", key: "12cjpa" }]
1860
2118
  ];
1861
- const Send = createLucideIcon("send", __iconNode$1);
2119
+ const Send = createLucideIcon("send", __iconNode$a);
1862
2120
  /**
1863
2121
  * @license lucide-react v0.536.0 - ISC
1864
2122
  *
1865
2123
  * This source code is licensed under the ISC license.
1866
2124
  * See the LICENSE file in the root directory of this source tree.
1867
2125
  */
1868
- const __iconNode = [
2126
+ const __iconNode$9 = [
2127
+ [
2128
+ "path",
2129
+ {
2130
+ d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
2131
+ key: "1i5ecw"
2132
+ }
2133
+ ],
2134
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
2135
+ ];
2136
+ const Settings = createLucideIcon("settings", __iconNode$9);
2137
+ /**
2138
+ * @license lucide-react v0.536.0 - ISC
2139
+ *
2140
+ * This source code is licensed under the ISC license.
2141
+ * See the LICENSE file in the root directory of this source tree.
2142
+ */
2143
+ const __iconNode$8 = [
2144
+ [
2145
+ "path",
2146
+ {
2147
+ d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
2148
+ key: "oel41y"
2149
+ }
2150
+ ]
2151
+ ];
2152
+ const Shield = createLucideIcon("shield", __iconNode$8);
2153
+ /**
2154
+ * @license lucide-react v0.536.0 - ISC
2155
+ *
2156
+ * This source code is licensed under the ISC license.
2157
+ * See the LICENSE file in the root directory of this source tree.
2158
+ */
2159
+ const __iconNode$7 = [
2160
+ ["circle", { cx: "8", cy: "21", r: "1", key: "jimo8o" }],
2161
+ ["circle", { cx: "19", cy: "21", r: "1", key: "13723u" }],
2162
+ [
2163
+ "path",
2164
+ {
2165
+ d: "M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",
2166
+ key: "9zh506"
2167
+ }
2168
+ ]
2169
+ ];
2170
+ const ShoppingCart = createLucideIcon("shopping-cart", __iconNode$7);
2171
+ /**
2172
+ * @license lucide-react v0.536.0 - ISC
2173
+ *
2174
+ * This source code is licensed under the ISC license.
2175
+ * See the LICENSE file in the root directory of this source tree.
2176
+ */
2177
+ const __iconNode$6 = [
2178
+ ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
2179
+ ["path", { d: "M12 18h.01", key: "mhygvu" }]
2180
+ ];
2181
+ const Smartphone = createLucideIcon("smartphone", __iconNode$6);
2182
+ /**
2183
+ * @license lucide-react v0.536.0 - ISC
2184
+ *
2185
+ * This source code is licensed under the ISC license.
2186
+ * See the LICENSE file in the root directory of this source tree.
2187
+ */
2188
+ const __iconNode$5 = [
2189
+ ["path", { d: "M16 7h6v6", key: "box55l" }],
2190
+ ["path", { d: "m22 7-8.5 8.5-5-5L2 17", key: "1t1m79" }]
2191
+ ];
2192
+ const TrendingUp = createLucideIcon("trending-up", __iconNode$5);
2193
+ /**
2194
+ * @license lucide-react v0.536.0 - ISC
2195
+ *
2196
+ * This source code is licensed under the ISC license.
2197
+ * See the LICENSE file in the root directory of this source tree.
2198
+ */
2199
+ const __iconNode$4 = [
2200
+ ["path", { d: "M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2", key: "wrbu53" }],
2201
+ ["path", { d: "M15 18H9", key: "1lyqi6" }],
2202
+ [
2203
+ "path",
2204
+ {
2205
+ d: "M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",
2206
+ key: "lysw3i"
2207
+ }
2208
+ ],
2209
+ ["circle", { cx: "17", cy: "18", r: "2", key: "332jqn" }],
2210
+ ["circle", { cx: "7", cy: "18", r: "2", key: "19iecd" }]
2211
+ ];
2212
+ const Truck = createLucideIcon("truck", __iconNode$4);
2213
+ /**
2214
+ * @license lucide-react v0.536.0 - ISC
2215
+ *
2216
+ * This source code is licensed under the ISC license.
2217
+ * See the LICENSE file in the root directory of this source tree.
2218
+ */
2219
+ const __iconNode$3 = [
1869
2220
  ["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }],
1870
2221
  ["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }]
1871
2222
  ];
1872
- const User = createLucideIcon("user", __iconNode);
1873
- const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService }) => {
1874
- const [formData, setFormData] = require$$0.useState({
1875
- fullName: "",
1876
- workEmail: "",
1877
- phoneNumber: "",
1878
- companyName: "",
1879
- jobTitle: "",
1880
- businessType: "",
1881
- expectedBudget: "",
1882
- expectedTimeline: "",
1883
- requestTitle: "",
1884
- requestDescription: ""
1885
- });
1886
- const [formErrors, setFormErrors] = require$$0.useState({});
1887
- const [isSubmitting, setIsSubmitting] = require$$0.useState(false);
1888
- const [submitStatus, setSubmitStatus] = require$$0.useState(null);
1889
- const [submitMessage, setSubmitMessage] = require$$0.useState("");
1890
- const validateField = (name, value) => {
1891
- const errors = {};
1892
- switch (name) {
1893
- case "fullName":
1894
- if (!(value == null ? void 0 : value.trim())) errors.fullName = "Họ và tên là bắt buộc";
1895
- else if (value.trim().length < 2) errors.fullName = "Tên phải có ít nhất 2 ký tự";
1896
- break;
1897
- case "workEmail":
2223
+ const User = createLucideIcon("user", __iconNode$3);
2224
+ /**
2225
+ * @license lucide-react v0.536.0 - ISC
2226
+ *
2227
+ * This source code is licensed under the ISC license.
2228
+ * See the LICENSE file in the root directory of this source tree.
2229
+ */
2230
+ const __iconNode$2 = [
2231
+ ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
2232
+ ["path", { d: "M16 3.128a4 4 0 0 1 0 7.744", key: "16gr8j" }],
2233
+ ["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }],
2234
+ ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }]
2235
+ ];
2236
+ const Users = createLucideIcon("users", __iconNode$2);
2237
+ /**
2238
+ * @license lucide-react v0.536.0 - ISC
2239
+ *
2240
+ * This source code is licensed under the ISC license.
2241
+ * See the LICENSE file in the root directory of this source tree.
2242
+ */
2243
+ const __iconNode$1 = [
2244
+ [
2245
+ "path",
2246
+ {
2247
+ d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",
2248
+ key: "1ngwbx"
2249
+ }
2250
+ ]
2251
+ ];
2252
+ const Wrench = createLucideIcon("wrench", __iconNode$1);
2253
+ /**
2254
+ * @license lucide-react v0.536.0 - ISC
2255
+ *
2256
+ * This source code is licensed under the ISC license.
2257
+ * See the LICENSE file in the root directory of this source tree.
2258
+ */
2259
+ const __iconNode = [
2260
+ [
2261
+ "path",
2262
+ {
2263
+ d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
2264
+ key: "1xq2db"
2265
+ }
2266
+ ]
2267
+ ];
2268
+ const Zap = createLucideIcon("zap", __iconNode);
2269
+ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService }) => {
2270
+ const [formData, setFormData] = require$$0.useState({
2271
+ fullName: "",
2272
+ workEmail: "",
2273
+ phoneNumber: "",
2274
+ companyName: "",
2275
+ jobTitle: "",
2276
+ businessType: "",
2277
+ expectedBudget: "",
2278
+ expectedTimeline: "",
2279
+ requestTitle: "",
2280
+ requestDescription: ""
2281
+ });
2282
+ const [formErrors, setFormErrors] = require$$0.useState({});
2283
+ const [isSubmitting, setIsSubmitting] = require$$0.useState(false);
2284
+ const [submitStatus, setSubmitStatus] = require$$0.useState(null);
2285
+ const [submitMessage, setSubmitMessage] = require$$0.useState("");
2286
+ const validateField = (name, value) => {
2287
+ const errors = {};
2288
+ switch (name) {
2289
+ case "fullName":
2290
+ if (!(value == null ? void 0 : value.trim())) errors.fullName = "Họ và tên là bắt buộc";
2291
+ else if (value.trim().length < 2) errors.fullName = "Tên phải có ít nhất 2 ký tự";
2292
+ break;
2293
+ case "workEmail":
1898
2294
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
1899
2295
  if (!(value == null ? void 0 : value.trim())) errors.workEmail = "Email là bắt buộc";
1900
2296
  else if (!emailRegex.test(value.trim())) errors.workEmail = "Email không hợp lệ";
@@ -3110,6 +3506,1025 @@ var __async = (__this, __arguments, generator) => {
3110
3506
  }
3111
3507
  );
3112
3508
  };
3509
+ const DiagramSection = ({ data, t, isDarkMode }) => {
3510
+ var _a, _b;
3511
+ const [mounted, setMounted] = require$$0.useState(false);
3512
+ const [isMobile, setIsMobile] = require$$0.useState(false);
3513
+ const safeT = typeof t === "function" ? t : (key, options) => {
3514
+ console.warn(`Translation function not provided for key: ${key}`);
3515
+ return key;
3516
+ };
3517
+ require$$0.useEffect(() => {
3518
+ setMounted(true);
3519
+ const checkMobile = () => {
3520
+ setIsMobile(window.innerWidth < 768);
3521
+ };
3522
+ checkMobile();
3523
+ window.addEventListener("resize", checkMobile);
3524
+ return () => window.removeEventListener("resize", checkMobile);
3525
+ }, []);
3526
+ const diagramData = (_b = (_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a[0]) == null ? void 0 : _b.data;
3527
+ if (!diagramData) {
3528
+ return null;
3529
+ }
3530
+ const diagramName = diagramData.name || safeT("diagram.defaults.name");
3531
+ const diagramDescription = diagramData.description || safeT("diagram.defaults.description");
3532
+ const modules = diagramData.diagramChildrenDTOs || [];
3533
+ const getIconComponent = (iconName) => {
3534
+ const icons = {
3535
+ Calculator,
3536
+ TrendingUp,
3537
+ FileText,
3538
+ Cloud,
3539
+ ShoppingCart,
3540
+ Truck,
3541
+ Bed,
3542
+ Users,
3543
+ Package,
3544
+ Database,
3545
+ Settings,
3546
+ Globe
3547
+ };
3548
+ return icons[iconName] || Settings;
3549
+ };
3550
+ const getColorClasses = (index2) => {
3551
+ const isCyan = index2 % 2 === 0;
3552
+ if (isCyan) {
3553
+ return {
3554
+ border: "border-cyan-400/40",
3555
+ bg: "bg-gradient-to-r from-blue-900/90 to-cyan-900/90",
3556
+ glow: "shadow-cyan-500/20",
3557
+ hoverGlow: "hover:shadow-cyan-400/50",
3558
+ line: "#22d3ee",
3559
+ iconBg: "bg-cyan-500/20"
3560
+ };
3561
+ }
3562
+ return {
3563
+ border: "border-purple-400/40",
3564
+ bg: "bg-gradient-to-r from-purple-900/90 to-pink-900/90",
3565
+ glow: "shadow-purple-500/20",
3566
+ hoverGlow: "hover:shadow-purple-400/50",
3567
+ line: "#c084fc",
3568
+ iconBg: "bg-purple-500/20"
3569
+ };
3570
+ };
3571
+ const calculateAngles = (count) => {
3572
+ return modules.map((_, index2) => {
3573
+ return 360 / count * index2 - 90;
3574
+ });
3575
+ };
3576
+ const angles = calculateAngles(modules.length);
3577
+ if (isMobile) {
3578
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `w-full ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-950 to-purple-950" : "bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50"} p-4 relative overflow-hidden`, children: [
3579
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 overflow-hidden pointer-events-none opacity-20", children: [...Array(50)].map((_, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3580
+ "div",
3581
+ {
3582
+ className: `absolute ${isDarkMode ? "bg-blue-400" : "bg-blue-600"} rounded-full opacity-20`,
3583
+ style: {
3584
+ width: Math.random() * 3 + 1 + "px",
3585
+ height: Math.random() * 3 + 1 + "px",
3586
+ top: Math.random() * 100 + "%",
3587
+ left: Math.random() * 100 + "%",
3588
+ animation: `twinkle ${Math.random() * 3 + 2}s ease-in-out infinite`,
3589
+ animationDelay: Math.random() * 3 + "s"
3590
+ }
3591
+ },
3592
+ i
3593
+ )) }),
3594
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { children: `
3595
+ @keyframes twinkle {
3596
+ 0%, 100% { opacity: 0.1; transform: scale(1); }
3597
+ 50% { opacity: 0.3; transform: scale(1.5); }
3598
+ }
3599
+ @keyframes slideUp {
3600
+ from { opacity: 0; transform: translateY(20px); }
3601
+ to { opacity: 1; transform: translateY(0); }
3602
+ }
3603
+ ` }),
3604
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `mb-6 ${isDarkMode ? "bg-gradient-to-br from-blue-900/90 via-blue-700/90 to-cyan-600/90" : "bg-gradient-to-br from-blue-600 via-indigo-600 to-cyan-500"} backdrop-blur-md rounded-2xl border-2 ${isDarkMode ? "border-cyan-400/40" : "border-white/40"} p-6 shadow-2xl text-center`, children: [
3605
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-2xl font-bold text-white mb-1 tracking-wide", children: diagramName }),
3606
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-lg text-white/90", children: diagramDescription })
3607
+ ] }),
3608
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-3", children: modules.map((module2, index2) => {
3609
+ const Icon2 = getIconComponent(module2.icon);
3610
+ const colors = getColorClasses(index2);
3611
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
3612
+ "a",
3613
+ {
3614
+ href: module2.url || "#",
3615
+ className: `block ${colors.bg} backdrop-blur-md rounded-2xl border-2 ${colors.border} p-4 flex items-center gap-3 shadow-lg active:scale-95 transition-all duration-200`,
3616
+ style: {
3617
+ animation: `slideUp 0.5s ease-out ${index2 * 0.1}s both`
3618
+ },
3619
+ children: [
3620
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `flex-shrink-0 ${colors.iconBg} p-3 rounded-xl ${colors.border} border`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-6 h-6 text-white", strokeWidth: 2 }) }),
3621
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1", children: [
3622
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block text-white font-semibold text-sm tracking-wide mb-1", children: module2.name }),
3623
+ module2.description && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block text-white/70 text-xs", children: module2.description })
3624
+ ] })
3625
+ ]
3626
+ },
3627
+ module2.id
3628
+ );
3629
+ }) })
3630
+ ] });
3631
+ }
3632
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `w-full ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-950 to-purple-950" : "bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50"} py-12 px-4 sm:px-8 relative overflow-hidden transition-colors duration-300`, children: [
3633
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [...Array(100)].map((_, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3634
+ "div",
3635
+ {
3636
+ className: `absolute ${isDarkMode ? "bg-blue-400" : "bg-blue-600"} rounded-full ${isDarkMode ? "opacity-20" : "opacity-10"}`,
3637
+ style: {
3638
+ width: Math.random() * 4 + 1 + "px",
3639
+ height: Math.random() * 4 + 1 + "px",
3640
+ top: Math.random() * 100 + "%",
3641
+ left: Math.random() * 100 + "%",
3642
+ animation: `twinkle ${Math.random() * 3 + 2}s ease-in-out infinite`,
3643
+ animationDelay: Math.random() * 3 + "s"
3644
+ }
3645
+ },
3646
+ i
3647
+ )) }),
3648
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-10" : "opacity-5"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", children: [
3649
+ /* @__PURE__ */ jsxRuntimeExports.jsx("defs", { children: /* @__PURE__ */ jsxRuntimeExports.jsx("pattern", { id: "grid", width: "40", height: "40", patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M 40 0 L 0 0 0 40", fill: "none", stroke: isDarkMode ? "cyan" : "blue", strokeWidth: "0.5" }) }) }),
3650
+ /* @__PURE__ */ jsxRuntimeExports.jsx("rect", { width: "100%", height: "100%", fill: "url(#grid)" })
3651
+ ] }) }),
3652
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: `absolute inset-0 w-full h-full pointer-events-none ${isDarkMode ? "opacity-30" : "opacity-20"}`, children: [
3653
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "0", y1: "20%", x2: "100%", y2: "20%", stroke: "url(#grad1)", strokeWidth: "1", strokeDasharray: "10 5", className: "animate-pulse" }),
3654
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "0", y1: "40%", x2: "100%", y2: "40%", stroke: "url(#grad2)", strokeWidth: "1", strokeDasharray: "15 8", className: "animate-pulse", style: { animationDelay: "0.5s" } }),
3655
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "0", y1: "60%", x2: "100%", y2: "60%", stroke: "url(#grad1)", strokeWidth: "1", strokeDasharray: "12 6", className: "animate-pulse", style: { animationDelay: "1s" } }),
3656
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "0", y1: "80%", x2: "100%", y2: "80%", stroke: "url(#grad2)", strokeWidth: "1", strokeDasharray: "8 4", className: "animate-pulse", style: { animationDelay: "1.5s" } }),
3657
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "15%", y1: "0", x2: "15%", y2: "100%", stroke: "url(#grad1)", strokeWidth: "1", strokeDasharray: "10 5", className: "animate-pulse", style: { animationDelay: "0.3s" } }),
3658
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "35%", y1: "0", x2: "35%", y2: "100%", stroke: "url(#grad2)", strokeWidth: "1", strokeDasharray: "15 8", className: "animate-pulse", style: { animationDelay: "0.8s" } }),
3659
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "65%", y1: "0", x2: "65%", y2: "100%", stroke: "url(#grad1)", strokeWidth: "1", strokeDasharray: "12 6", className: "animate-pulse", style: { animationDelay: "1.3s" } }),
3660
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "85%", y1: "0", x2: "85%", y2: "100%", stroke: "url(#grad2)", strokeWidth: "1", strokeDasharray: "8 4", className: "animate-pulse", style: { animationDelay: "1.8s" } }),
3661
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "15%", cy: "20%", r: "3", fill: "#22d3ee", opacity: "0.6", className: "animate-pulse" }),
3662
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "35%", cy: "40%", r: "3", fill: "#c084fc", opacity: "0.6", className: "animate-pulse", style: { animationDelay: "0.5s" } }),
3663
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "65%", cy: "60%", r: "3", fill: "#22d3ee", opacity: "0.6", className: "animate-pulse", style: { animationDelay: "1s" } }),
3664
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "85%", cy: "80%", r: "3", fill: "#c084fc", opacity: "0.6", className: "animate-pulse", style: { animationDelay: "1.5s" } }),
3665
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("defs", { children: [
3666
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "grad1", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
3667
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", style: { stopColor: "#22d3ee", stopOpacity: 0 } }),
3668
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", style: { stopColor: "#22d3ee", stopOpacity: 1 } }),
3669
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", style: { stopColor: "#22d3ee", stopOpacity: 0 } })
3670
+ ] }),
3671
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "grad2", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
3672
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", style: { stopColor: "#c084fc", stopOpacity: 0 } }),
3673
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", style: { stopColor: "#c084fc", stopOpacity: 1 } }),
3674
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", style: { stopColor: "#c084fc", stopOpacity: 0 } })
3675
+ ] })
3676
+ ] })
3677
+ ] }),
3678
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { children: `
3679
+ @keyframes twinkle {
3680
+ 0%, 100% { opacity: 0.1; transform: scale(1); }
3681
+ 50% { opacity: 0.3; transform: scale(1.5); }
3682
+ }
3683
+
3684
+ @keyframes float {
3685
+ 0%, 100% { transform: translateY(0px); }
3686
+ 50% { transform: translateY(-10px); }
3687
+ }
3688
+
3689
+ @keyframes rotate {
3690
+ from { transform: rotate(0deg); }
3691
+ to { transform: rotate(360deg); }
3692
+ }
3693
+
3694
+ @keyframes pulse-ring {
3695
+ 0% { transform: scale(0.95); opacity: 1; }
3696
+ 50% { transform: scale(1); opacity: 0.8; }
3697
+ 100% { transform: scale(0.95); opacity: 1; }
3698
+ }
3699
+
3700
+ @keyframes slideIn {
3701
+ from {
3702
+ opacity: 0;
3703
+ transform: translate(-50%, -50%) scale(0.5);
3704
+ }
3705
+ to {
3706
+ opacity: 1;
3707
+ transform: translate(-50%, -50%) scale(1);
3708
+ }
3709
+ }
3710
+
3711
+ .animate-float {
3712
+ animation: float 3s ease-in-out infinite;
3713
+ }
3714
+
3715
+ .animate-pulse-ring {
3716
+ animation: pulse-ring 2s ease-in-out infinite;
3717
+ }
3718
+
3719
+ .module-card {
3720
+ animation: slideIn 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
3721
+ }
3722
+
3723
+ @media (max-width: 1200px) {
3724
+ .diagram-container {
3725
+ transform: scale(0.75);
3726
+ }
3727
+ }
3728
+
3729
+ @media (max-width: 900px) {
3730
+ .diagram-container {
3731
+ transform: scale(0.6);
3732
+ }
3733
+ }
3734
+ ` }),
3735
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "diagram-container relative w-full max-w-5xl mx-auto h-[700px] flex items-center justify-center transition-transform duration-300", children: [
3736
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2", children: [
3737
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0 w-[320px] h-[320px] -translate-x-1/2 -translate-y-1/2 top-1/2 left-1/2", children: [
3738
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 rounded-full border-2 border-cyan-500/30 animate-pulse-ring" }),
3739
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-4 rounded-full border-2 border-purple-500/30 animate-pulse-ring", style: { animationDelay: "0.5s" } })
3740
+ ] }),
3741
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative animate-float", children: [
3742
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `w-64 h-64 rounded-full border-8 ${isDarkMode ? "border-slate-600/50 bg-gradient-to-br from-slate-800/50 to-slate-900/50" : "border-gray-300/50 bg-gradient-to-br from-white/50 to-gray-100/50"} flex items-center justify-center backdrop-blur-sm shadow-2xl`, children: [
3743
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 rounded-full", style: { animation: "rotate 20s linear infinite" }, children: [0, 90, 180, 270].map((angle) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3744
+ "div",
3745
+ {
3746
+ className: "absolute w-3 h-3 bg-cyan-400 rounded-full shadow-lg shadow-cyan-400/50",
3747
+ style: {
3748
+ top: "50%",
3749
+ left: "50%",
3750
+ transform: `translate(-50%, -50%) rotate(${angle}deg) translateY(-125px)`
3751
+ }
3752
+ },
3753
+ angle
3754
+ )) }),
3755
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `w-52 h-52 rounded-full ${isDarkMode ? "bg-gradient-to-br from-blue-900/90 via-blue-700/90 to-cyan-600/90 border-cyan-400/40" : "bg-gradient-to-br from-blue-600 via-indigo-600 to-cyan-500 border-white/40"} flex items-center justify-center shadow-2xl relative overflow-hidden border-2 backdrop-blur-md`, children: [
3756
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-gradient-to-br from-white/10 to-transparent" }),
3757
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center relative z-10 px-4", children: [
3758
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-2xl font-bold text-white mb-2 tracking-wide", children: diagramName }),
3759
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-white/90", children: diagramDescription })
3760
+ ] })
3761
+ ] })
3762
+ ] }),
3763
+ modules.map((module2, i) => {
3764
+ const angle = angles[i];
3765
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
3766
+ "div",
3767
+ {
3768
+ className: `absolute w-4 h-4 ${isDarkMode ? "bg-slate-400 border-slate-600" : "bg-gray-400 border-gray-600"} rounded-full border-2 shadow-lg animate-pulse`,
3769
+ style: {
3770
+ top: "50%",
3771
+ left: "50%",
3772
+ transform: `translate(-50%, -50%) rotate(${angle}deg) translateY(-132px)`,
3773
+ animationDelay: `${i * 0.1}s`
3774
+ }
3775
+ },
3776
+ `dot-${module2.id}`
3777
+ );
3778
+ })
3779
+ ] })
3780
+ ] }),
3781
+ /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-none", width: "1000", height: "900", style: { overflow: "visible" }, children: modules.map((module2, index2) => {
3782
+ const colors = getColorClasses(index2);
3783
+ const angle = angles[index2] * Math.PI / 180;
3784
+ const circleRadius = 132;
3785
+ const moduleRadius = 360;
3786
+ const startX = Math.cos(angle) * circleRadius;
3787
+ const startY = Math.sin(angle) * circleRadius;
3788
+ const endX = Math.cos(angle) * moduleRadius;
3789
+ const endY = Math.sin(angle) * moduleRadius;
3790
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("g", { children: [
3791
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3792
+ "line",
3793
+ {
3794
+ x1: 500 + startX,
3795
+ y1: 450 + startY,
3796
+ x2: 500 + endX,
3797
+ y2: 450 + endY,
3798
+ stroke: colors.line,
3799
+ strokeWidth: "2",
3800
+ strokeDasharray: "8 4",
3801
+ opacity: "0.5",
3802
+ className: "animate-pulse",
3803
+ style: { animationDelay: `${index2 * 0.1}s` }
3804
+ }
3805
+ ),
3806
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3807
+ "line",
3808
+ {
3809
+ x1: 500 + startX,
3810
+ y1: 450 + startY,
3811
+ x2: 500 + endX,
3812
+ y2: 450 + endY,
3813
+ stroke: colors.line,
3814
+ strokeWidth: "1",
3815
+ opacity: "0.8",
3816
+ filter: "blur(2px)"
3817
+ }
3818
+ )
3819
+ ] }, `line-${module2.id}`);
3820
+ }) }),
3821
+ modules.map((module2, index2) => {
3822
+ const Icon2 = getIconComponent(module2.icon);
3823
+ const colors = getColorClasses(index2);
3824
+ const angle = angles[index2] * Math.PI / 180;
3825
+ const radius = 360;
3826
+ const x = Math.cos(angle) * radius;
3827
+ const y = Math.sin(angle) * radius;
3828
+ const normalizedAngle = (angles[index2] % 360 + 360) % 360;
3829
+ const isRightSide = normalizedAngle > 270 || normalizedAngle < 90;
3830
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
3831
+ "a",
3832
+ {
3833
+ href: module2.url || "#",
3834
+ className: `absolute module-card group ${mounted ? "opacity-100" : "opacity-0"}`,
3835
+ style: {
3836
+ left: `calc(50% + ${x}px)`,
3837
+ top: `calc(50% + ${y}px)`,
3838
+ transform: "translate(-50%, -50%)",
3839
+ animationDelay: `${index2 * 0.1}s`,
3840
+ animationFillMode: "both"
3841
+ },
3842
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
3843
+ "div",
3844
+ {
3845
+ className: `
3846
+ ${colors.bg} backdrop-blur-md rounded-full
3847
+ border-2 ${colors.border} ${colors.glow}
3848
+ px-5 py-3 flex items-center gap-3
3849
+ shadow-xl ${colors.hoverGlow}
3850
+ transition-all duration-300
3851
+ group-hover:scale-110 group-hover:-translate-y-3 group-hover:shadow-2xl
3852
+ cursor-pointer
3853
+ relative
3854
+ ${isRightSide ? "flex-row-reverse" : "flex-row"}
3855
+ `,
3856
+ style: {
3857
+ boxShadow: "0 10px 40px rgba(0, 0, 0, 0.3)",
3858
+ width: "240px",
3859
+ height: "56px",
3860
+ minWidth: "240px",
3861
+ maxWidth: "240px"
3862
+ },
3863
+ children: [
3864
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 rounded-full bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300" }),
3865
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 rounded-full border-2 ${colors.border} opacity-0 group-hover:opacity-100 transition-all duration-300 scale-110 blur-sm` }),
3866
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `flex-shrink-0 ${colors.iconBg} p-2.5 rounded-lg ${colors.border} border transition-all duration-300 group-hover:rotate-12 group-hover:scale-125 relative z-10`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-5 h-5 text-white", strokeWidth: 2 }) }),
3867
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `flex-1 text-white font-semibold text-sm tracking-wide overflow-hidden text-ellipsis whitespace-nowrap ${isRightSide ? "text-right" : "text-left"} relative z-10 min-w-0`, children: module2.name }),
3868
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `absolute bottom-full left-1/2 -translate-x-1/2 mb-3 px-4 py-2 ${isDarkMode ? "bg-slate-800 border-slate-600" : "bg-white border-gray-300"} ${isDarkMode ? "text-white" : "text-gray-800"} text-sm rounded-lg shadow-xl opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none whitespace-nowrap z-50 border max-w-xs`, children: [
3869
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-semibold", children: module2.name }),
3870
+ module2.description && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `text-xs mt-1 ${isDarkMode ? "text-gray-300" : "text-gray-600"}`, children: module2.description }),
3871
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute top-full left-1/2 -translate-x-1/2 -mt-px border-4 border-transparent ${isDarkMode ? "border-t-slate-800" : "border-t-white"}` })
3872
+ ] })
3873
+ ]
3874
+ }
3875
+ )
3876
+ },
3877
+ module2.id
3878
+ );
3879
+ }),
3880
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute bottom-12 right-12 sm:bottom-16 sm:right-20", style: { animation: "rotate 10s linear infinite" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "80", height: "80", viewBox: "0 0 60 60", className: `${isDarkMode ? "text-purple-300" : "text-purple-400"} opacity-40`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M30 0 L35 25 L60 30 L35 35 L30 60 L25 35 L0 30 L25 25 Z", fill: "currentColor" }) }) }),
3881
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-12 left-12 w-16 h-16 border-2 border-cyan-400/30 rounded-lg animate-pulse", style: { animation: "rotate 8s linear infinite reverse" } }),
3882
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-20 right-16 w-12 h-12 border-2 border-purple-400/30 rounded-full animate-pulse" })
3883
+ ] })
3884
+ ] });
3885
+ };
3886
+ const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description }) => {
3887
+ const [isHovered, setIsHovered] = require$$0.useState(false);
3888
+ const [dragStartPos, setDragStartPos] = require$$0.useState(null);
3889
+ const [hasMoved, setHasMoved] = require$$0.useState(false);
3890
+ const colorClasses = {
3891
+ blue: "bg-gradient-to-br from-blue-600 to-blue-700 hover:from-blue-500 hover:to-blue-600 border-blue-400/50 shadow-blue-500/30",
3892
+ teal: "bg-gradient-to-br from-teal-600 to-teal-700 hover:from-teal-500 hover:to-teal-600 border-teal-400/50 shadow-teal-500/30",
3893
+ purple: "bg-gradient-to-br from-purple-600 to-purple-700 hover:from-purple-500 hover:to-purple-600 border-purple-400/50 shadow-purple-500/30",
3894
+ orange: "bg-gradient-to-br from-orange-500 to-orange-600 hover:from-orange-400 hover:to-orange-500 border-orange-300/50 shadow-orange-500/30",
3895
+ cyan: "bg-gradient-to-br from-cyan-600 to-cyan-700 hover:from-cyan-500 hover:to-cyan-600 border-cyan-400/50 shadow-cyan-500/30",
3896
+ indigo: "bg-gradient-to-br from-indigo-600 to-indigo-700 hover:from-indigo-500 hover:to-indigo-600 border-indigo-400/50 shadow-indigo-500/30"
3897
+ };
3898
+ const handleMouseDown = (e) => {
3899
+ setDragStartPos({ x: e.clientX, y: e.clientY });
3900
+ setHasMoved(false);
3901
+ onDragStart(id);
3902
+ e.stopPropagation();
3903
+ };
3904
+ const handleMouseMove = (e) => {
3905
+ if (dragStartPos) {
3906
+ const distance = Math.sqrt(
3907
+ Math.pow(e.clientX - dragStartPos.x, 2) + Math.pow(e.clientY - dragStartPos.y, 2)
3908
+ );
3909
+ if (distance > 5) {
3910
+ setHasMoved(true);
3911
+ }
3912
+ }
3913
+ };
3914
+ const handleMouseUp = (e) => {
3915
+ if (dragStartPos && !hasMoved) {
3916
+ if (onClick) {
3917
+ onClick(id, text);
3918
+ }
3919
+ }
3920
+ setDragStartPos(null);
3921
+ setHasMoved(false);
3922
+ };
3923
+ const handleTouchStart = (e) => {
3924
+ const touch = e.touches[0];
3925
+ setDragStartPos({ x: touch.clientX, y: touch.clientY });
3926
+ setHasMoved(false);
3927
+ onDragStart(id);
3928
+ e.stopPropagation();
3929
+ };
3930
+ const handleTouchMove = (e) => {
3931
+ if (dragStartPos) {
3932
+ const touch = e.touches[0];
3933
+ const distance = Math.sqrt(
3934
+ Math.pow(touch.clientX - dragStartPos.x, 2) + Math.pow(touch.clientY - dragStartPos.y, 2)
3935
+ );
3936
+ if (distance > 5) {
3937
+ setHasMoved(true);
3938
+ }
3939
+ }
3940
+ };
3941
+ const handleTouchEnd = (e) => {
3942
+ if (dragStartPos && !hasMoved) {
3943
+ if (onClick) {
3944
+ onClick(id, text);
3945
+ }
3946
+ }
3947
+ setDragStartPos(null);
3948
+ setHasMoved(false);
3949
+ };
3950
+ require$$0.useEffect(() => {
3951
+ if (dragStartPos) {
3952
+ window.addEventListener("mousemove", handleMouseMove);
3953
+ window.addEventListener("mouseup", handleMouseUp);
3954
+ return () => {
3955
+ window.removeEventListener("mousemove", handleMouseMove);
3956
+ window.removeEventListener("mouseup", handleMouseUp);
3957
+ };
3958
+ }
3959
+ }, [dragStartPos, hasMoved]);
3960
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
3961
+ "div",
3962
+ {
3963
+ id: `node-${id}`,
3964
+ className: "absolute animate-fadeIn node-element",
3965
+ style: {
3966
+ left: `${position.x}%`,
3967
+ top: `${position.y}%`,
3968
+ animationDelay: `${delay}ms`,
3969
+ zIndex: isDragging ? 50 : 10,
3970
+ transform: "translate(-50%, -50%)",
3971
+ transition: isDragging ? "none" : "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
3972
+ },
3973
+ onMouseEnter: () => setIsHovered(true),
3974
+ onMouseLeave: () => setIsHovered(false),
3975
+ onMouseDown: handleMouseDown,
3976
+ onTouchStart: handleTouchStart,
3977
+ onTouchMove: handleTouchMove,
3978
+ onTouchEnd: handleTouchEnd,
3979
+ children: [
3980
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${colorClasses[color]} backdrop-blur-md px-4 py-2.5 rounded-2xl shadow-2xl border-2 flex items-center gap-2.5 cursor-pointer transform transition-all duration-300 ${isHovered || isDragging ? "scale-110 shadow-2xl brightness-110" : ""} ${isDragging ? "rotate-2" : ""}`, children: [
3981
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-4 h-4 text-white flex-shrink-0" }),
3982
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-white font-medium whitespace-nowrap text-xs sm:text-sm", children: text })
3983
+ ] }),
3984
+ isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-white/10 rounded-2xl blur-xl animate-pulse", style: { transform: "scale(1.5)" } }),
3985
+ (isHovered || isDragging) && description && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-full left-1/2 -translate-x-1/2 mt-2 px-3 py-2 bg-slate-900/95 text-white text-xs rounded-lg shadow-xl border border-slate-700 whitespace-nowrap z-50 max-w-xs", children: description })
3986
+ ]
3987
+ }
3988
+ );
3989
+ };
3990
+ const DiagramSection2 = ({ data, t, isDarkMode }) => {
3991
+ var _a, _b;
3992
+ const [centerPosition, setCenterPosition] = require$$0.useState({ x: 50, y: 50 });
3993
+ const [isDragging, setIsDragging] = require$$0.useState(false);
3994
+ const [draggingNodeId, setDraggingNodeId] = require$$0.useState(null);
3995
+ const [lines, setLines] = require$$0.useState([]);
3996
+ const [nodes, setNodes] = require$$0.useState([]);
3997
+ const containerRef = require$$0.useRef(null);
3998
+ const centerRef = require$$0.useRef(null);
3999
+ const rafRef = require$$0.useRef(null);
4000
+ const nodePositionsCache = require$$0.useRef({});
4001
+ const safeT = typeof t === "function" ? t : (key, options) => {
4002
+ console.warn(`Translation function not provided for key: ${key}`);
4003
+ return key;
4004
+ };
4005
+ const diagramData = (_b = (_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a[0]) == null ? void 0 : _b.data;
4006
+ const getIconComponent = (iconName) => {
4007
+ const icons = {
4008
+ Calculator,
4009
+ Shield,
4010
+ Wrench,
4011
+ Factory,
4012
+ Smartphone,
4013
+ Building2,
4014
+ Megaphone,
4015
+ ShoppingCart,
4016
+ Briefcase,
4017
+ Users,
4018
+ Building,
4019
+ GraduationCap,
4020
+ Heart,
4021
+ Zap,
4022
+ Plane,
4023
+ Package,
4024
+ Bed,
4025
+ Home: House,
4026
+ TrendingUp,
4027
+ FileText,
4028
+ Cloud,
4029
+ Truck,
4030
+ Database,
4031
+ Settings,
4032
+ Globe
4033
+ };
4034
+ return icons[iconName] || Settings;
4035
+ };
4036
+ const getColor = (index2) => {
4037
+ const colors = ["blue", "teal", "purple", "orange", "cyan", "indigo"];
4038
+ return colors[index2 % colors.length];
4039
+ };
4040
+ require$$0.useEffect(() => {
4041
+ if (!(diagramData == null ? void 0 : diagramData.diagramChildrenDTOs)) return;
4042
+ const children = diagramData.diagramChildrenDTOs;
4043
+ const totalNodes = children.length;
4044
+ const generatedNodes = children.map((child, index2) => {
4045
+ const angle = 360 / totalNodes * index2;
4046
+ const radiusVariation = 30 + Math.random() * 20;
4047
+ const angleRad = angle * Math.PI / 180;
4048
+ let x = 50 + Math.cos(angleRad) * radiusVariation;
4049
+ let y = 50 + Math.sin(angleRad) * radiusVariation;
4050
+ x += (Math.random() - 0.5) * 10;
4051
+ y += (Math.random() - 0.5) * 10;
4052
+ x = Math.max(10, Math.min(90, x));
4053
+ y = Math.max(10, Math.min(90, y));
4054
+ return {
4055
+ id: child.id,
4056
+ x,
4057
+ y,
4058
+ icon: getIconComponent(child.icon),
4059
+ text: child.name,
4060
+ description: child.description,
4061
+ url: child.url,
4062
+ color: getColor(index2),
4063
+ delay: index2 * 100
4064
+ };
4065
+ });
4066
+ setNodes(generatedNodes);
4067
+ }, [diagramData]);
4068
+ const calculatePositions = () => {
4069
+ if (!containerRef.current || !centerRef.current) return;
4070
+ const container = containerRef.current;
4071
+ const containerRect = container.getBoundingClientRect();
4072
+ const centerElement = centerRef.current;
4073
+ const centerRect = centerElement.getBoundingClientRect();
4074
+ const centerX = centerRect.left + centerRect.width / 2 - containerRect.left;
4075
+ const centerY = centerRect.top + centerRect.height / 2 - containerRect.top;
4076
+ const newLines = [];
4077
+ nodes.forEach((node) => {
4078
+ const nodeElement = document.getElementById(`node-${node.id}`);
4079
+ if (!nodeElement) return;
4080
+ const nodeRect = nodeElement.getBoundingClientRect();
4081
+ const nodeX = nodeRect.left + nodeRect.width / 2 - containerRect.left;
4082
+ const nodeY = nodeRect.top + nodeRect.height / 2 - containerRect.top;
4083
+ const cachedPos = nodePositionsCache.current[node.id] || { x: nodeX, y: nodeY };
4084
+ const smoothX = cachedPos.x + (nodeX - cachedPos.x) * 0.15;
4085
+ const smoothY = cachedPos.y + (nodeY - cachedPos.y) * 0.15;
4086
+ nodePositionsCache.current[node.id] = { x: smoothX, y: smoothY };
4087
+ const dx = centerX - smoothX;
4088
+ const controlX1 = smoothX + dx * 0.4;
4089
+ const controlY1 = smoothY;
4090
+ const controlX2 = smoothX + dx * 0.6;
4091
+ const controlY2 = centerY;
4092
+ const path = `M ${smoothX} ${smoothY} C ${controlX1} ${controlY1}, ${controlX2} ${controlY2}, ${centerX} ${centerY}`;
4093
+ newLines.push({ id: node.id, path });
4094
+ });
4095
+ setLines(newLines);
4096
+ };
4097
+ require$$0.useEffect(() => {
4098
+ let isRunning = true;
4099
+ const updateLoop = () => {
4100
+ if (isRunning) {
4101
+ calculatePositions();
4102
+ rafRef.current = requestAnimationFrame(updateLoop);
4103
+ }
4104
+ };
4105
+ updateLoop();
4106
+ return () => {
4107
+ isRunning = false;
4108
+ if (rafRef.current) cancelAnimationFrame(rafRef.current);
4109
+ };
4110
+ }, [nodes, centerPosition, isDragging, draggingNodeId]);
4111
+ require$$0.useEffect(() => {
4112
+ const handleResize = () => {
4113
+ nodePositionsCache.current = {};
4114
+ calculatePositions();
4115
+ };
4116
+ window.addEventListener("resize", handleResize);
4117
+ return () => window.removeEventListener("resize", handleResize);
4118
+ }, [nodes]);
4119
+ const handleNodeClick = (nodeId, nodeName) => {
4120
+ const node = nodes.find((n) => n.id === nodeId);
4121
+ if (node == null ? void 0 : node.url) {
4122
+ window.location.href = node.url;
4123
+ }
4124
+ };
4125
+ const handleNodeDragStart = (nodeId) => setDraggingNodeId(nodeId);
4126
+ const handleNodeDragEnd = () => setDraggingNodeId(null);
4127
+ const handleNodeDrag = (nodeId, newX, newY) => {
4128
+ setNodes(
4129
+ (prevNodes) => prevNodes.map(
4130
+ (node) => node.id === nodeId ? __spreadProps(__spreadValues({}, node), { x: newX, y: newY }) : node
4131
+ )
4132
+ );
4133
+ };
4134
+ const handleMouseDown = (e) => {
4135
+ setIsDragging(true);
4136
+ e.preventDefault();
4137
+ };
4138
+ const handleMouseMove = (e) => {
4139
+ if (!isDragging || !containerRef.current) return;
4140
+ const containerRect = containerRef.current.getBoundingClientRect();
4141
+ const x = (e.clientX - containerRect.left) / containerRect.width * 100;
4142
+ const y = (e.clientY - containerRect.top) / containerRect.height * 100;
4143
+ setCenterPosition({
4144
+ x: Math.max(20, Math.min(80, x)),
4145
+ y: Math.max(20, Math.min(80, y))
4146
+ });
4147
+ };
4148
+ const handleMouseUp = () => setIsDragging(false);
4149
+ require$$0.useEffect(() => {
4150
+ if (isDragging) {
4151
+ document.body.style.cursor = "grabbing";
4152
+ window.addEventListener("mousemove", handleMouseMove);
4153
+ window.addEventListener("mouseup", handleMouseUp);
4154
+ return () => {
4155
+ document.body.style.cursor = "";
4156
+ window.removeEventListener("mousemove", handleMouseMove);
4157
+ window.removeEventListener("mouseup", handleMouseUp);
4158
+ };
4159
+ }
4160
+ }, [isDragging]);
4161
+ require$$0.useEffect(() => {
4162
+ if (draggingNodeId === null) return;
4163
+ const handleNodeMouseMove = (e) => {
4164
+ if (!containerRef.current) return;
4165
+ const containerRect = containerRef.current.getBoundingClientRect();
4166
+ const x = (e.clientX - containerRect.left) / containerRect.width * 100;
4167
+ const y = (e.clientY - containerRect.top) / containerRect.height * 100;
4168
+ handleNodeDrag(
4169
+ draggingNodeId,
4170
+ Math.max(5, Math.min(95, x)),
4171
+ Math.max(5, Math.min(95, y))
4172
+ );
4173
+ };
4174
+ const handleNodeTouchMove = (e) => {
4175
+ if (!containerRef.current) return;
4176
+ const touch = e.touches[0];
4177
+ const containerRect = containerRef.current.getBoundingClientRect();
4178
+ const x = (touch.clientX - containerRect.left) / containerRect.width * 100;
4179
+ const y = (touch.clientY - containerRect.top) / containerRect.height * 100;
4180
+ handleNodeDrag(
4181
+ draggingNodeId,
4182
+ Math.max(5, Math.min(95, x)),
4183
+ Math.max(5, Math.min(95, y))
4184
+ );
4185
+ };
4186
+ window.addEventListener("mousemove", handleNodeMouseMove);
4187
+ window.addEventListener("mouseup", handleNodeDragEnd);
4188
+ window.addEventListener("touchmove", handleNodeTouchMove);
4189
+ window.addEventListener("touchend", handleNodeDragEnd);
4190
+ return () => {
4191
+ window.removeEventListener("mousemove", handleNodeMouseMove);
4192
+ window.removeEventListener("mouseup", handleNodeDragEnd);
4193
+ window.removeEventListener("touchmove", handleNodeTouchMove);
4194
+ window.removeEventListener("touchend", handleNodeDragEnd);
4195
+ };
4196
+ }, [draggingNodeId]);
4197
+ if (!diagramData) {
4198
+ return null;
4199
+ }
4200
+ const diagramName = diagramData.name || safeT("diagram.defaults.name");
4201
+ const diagramDescription = diagramData.description || safeT("diagram.defaults.description");
4202
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4203
+ "div",
4204
+ {
4205
+ ref: containerRef,
4206
+ className: `mind-map-container relative w-full h-screen ${isDarkMode ? "bg-gradient-to-br from-slate-950 via-indigo-950 to-purple-950" : "bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50"} overflow-hidden transition-colors duration-300`,
4207
+ style: { touchAction: "none" },
4208
+ children: [
4209
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-30" : "opacity-20"}`, children: [
4210
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "bg-gradient-to-tr from-blue-600/20 via-purple-600/20 to-pink-600/20" : "bg-gradient-to-tr from-blue-400/20 via-purple-400/20 to-pink-400/20"}` }),
4211
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-cyan-500/10 via-transparent to-transparent" }),
4212
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_var(--tw-gradient-stops))] from-purple-500/10 via-transparent to-transparent" })
4213
+ ] }),
4214
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 pointer-events-none ${isDarkMode ? "opacity-60" : "opacity-40"}`, children: [...Array(150)].map((_, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
4215
+ "div",
4216
+ {
4217
+ className: "absolute rounded-full animate-twinkle",
4218
+ style: {
4219
+ left: `${Math.random() * 100}%`,
4220
+ top: `${Math.random() * 100}%`,
4221
+ width: `${Math.random() * 3 + 1}px`,
4222
+ height: `${Math.random() * 3 + 1}px`,
4223
+ background: isDarkMode ? ["#60a5fa", "#818cf8", "#a78bfa", "#c084fc", "#e879f9"][Math.floor(Math.random() * 5)] : ["#3b82f6", "#6366f1", "#8b5cf6", "#a855f7", "#d946ef"][Math.floor(Math.random() * 5)],
4224
+ animationDelay: `${Math.random() * 5}s`,
4225
+ animationDuration: `${4 + Math.random() * 6}s`
4226
+ }
4227
+ },
4228
+ i
4229
+ )) }),
4230
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-10" : "opacity-5"} pointer-events-none`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0", style: {
4231
+ backgroundImage: `radial-gradient(circle at 1px 1px, ${isDarkMode ? "rgba(255,255,255,0.15)" : "rgba(0,0,0,0.1)"} 1px, transparent 0)`,
4232
+ backgroundSize: "40px 40px"
4233
+ } }) }),
4234
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute right-4 sm:right-16 bottom-4 sm:bottom-16 z-0 pointer-events-none", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
4235
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-blue-500/20 to-purple-500/20 blur-3xl w-20 h-20 sm:w-32 sm:h-32" }),
4236
+ /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "60", height: "60", viewBox: "0 0 80 80", className: "relative sm:w-24 sm:h-24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M40 0 L45 35 L80 40 L45 45 L40 80 L35 45 L0 40 L35 35 Z", fill: "url(#sparkle-gradient)", opacity: "0.4" }) })
4237
+ ] }) }),
4238
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "absolute inset-0 w-full h-full pointer-events-none", style: { zIndex: 1 }, children: [
4239
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("defs", { children: [
4240
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "circuit-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
4241
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0.6" }),
4242
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "#a78bfa", stopOpacity: "0.9" }),
4243
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "#c084fc", stopOpacity: "0.6" })
4244
+ ] }),
4245
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "sparkle-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
4246
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "#60a5fa" }),
4247
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "#a78bfa" }),
4248
+ /* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "#c084fc" })
4249
+ ] }),
4250
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("filter", { id: "glow", children: [
4251
+ /* @__PURE__ */ jsxRuntimeExports.jsx("feGaussianBlur", { stdDeviation: "4", result: "coloredBlur" }),
4252
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("feMerge", { children: [
4253
+ /* @__PURE__ */ jsxRuntimeExports.jsx("feMergeNode", { in: "coloredBlur" }),
4254
+ /* @__PURE__ */ jsxRuntimeExports.jsx("feMergeNode", { in: "SourceGraphic" })
4255
+ ] })
4256
+ ] })
4257
+ ] }),
4258
+ lines.map((line) => /* @__PURE__ */ jsxRuntimeExports.jsxs("g", { children: [
4259
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
4260
+ "path",
4261
+ {
4262
+ d: line.path,
4263
+ stroke: "rgba(167, 139, 250, 0.2)",
4264
+ strokeWidth: "6",
4265
+ fill: "none",
4266
+ className: "transition-all duration-200",
4267
+ style: { filter: "blur(8px)" }
4268
+ }
4269
+ ),
4270
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
4271
+ "path",
4272
+ {
4273
+ d: line.path,
4274
+ stroke: "url(#circuit-gradient)",
4275
+ strokeWidth: "2.5",
4276
+ fill: "none",
4277
+ filter: "url(#glow)",
4278
+ className: "transition-all duration-200",
4279
+ style: {
4280
+ strokeDasharray: draggingNodeId === line.id ? "10 5" : "none",
4281
+ animation: draggingNodeId === line.id ? "dash-flow 1s linear infinite" : "none"
4282
+ }
4283
+ }
4284
+ )
4285
+ ] }, line.id))
4286
+ ] }),
4287
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative w-full h-full", style: { zIndex: 10 }, children: nodes.map((node) => /* @__PURE__ */ jsxRuntimeExports.jsx(
4288
+ MindMapNode,
4289
+ {
4290
+ id: node.id,
4291
+ icon: node.icon,
4292
+ text: node.text,
4293
+ description: node.description,
4294
+ color: node.color,
4295
+ position: { x: node.x, y: node.y },
4296
+ delay: node.delay,
4297
+ onDragStart: handleNodeDragStart,
4298
+ isDragging: draggingNodeId === node.id,
4299
+ onClick: handleNodeClick
4300
+ },
4301
+ node.id
4302
+ )) }),
4303
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
4304
+ "div",
4305
+ {
4306
+ ref: centerRef,
4307
+ className: "absolute cursor-grab active:cursor-grabbing",
4308
+ style: {
4309
+ left: `${centerPosition.x}%`,
4310
+ top: `${centerPosition.y}%`,
4311
+ zIndex: 30,
4312
+ transform: "translate(-50%, -50%)",
4313
+ transition: isDragging ? "none" : "all 0.3s ease-out"
4314
+ },
4315
+ onMouseDown: handleMouseDown,
4316
+ onTouchStart: (e) => {
4317
+ setIsDragging(true);
4318
+ e.preventDefault();
4319
+ },
4320
+ onTouchMove: (e) => {
4321
+ if (!isDragging || !containerRef.current) return;
4322
+ const touch = e.touches[0];
4323
+ const containerRect = containerRef.current.getBoundingClientRect();
4324
+ const x = (touch.clientX - containerRect.left) / containerRect.width * 100;
4325
+ const y = (touch.clientY - containerRect.top) / containerRect.height * 100;
4326
+ setCenterPosition({
4327
+ x: Math.max(20, Math.min(80, x)),
4328
+ y: Math.max(20, Math.min(80, y))
4329
+ });
4330
+ },
4331
+ onTouchEnd: () => setIsDragging(false),
4332
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
4333
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-indigo-400/30 rounded-full blur-2xl", style: { transform: "scale(1.5)" } }),
4334
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `relative bg-gradient-to-br from-indigo-500 via-blue-500 to-cyan-500 px-6 sm:px-10 py-3 sm:py-5 rounded-3xl shadow-2xl border-4 border-indigo-300/50 flex items-center gap-3 sm:gap-4 transition-transform backdrop-blur-md ${isDragging ? "scale-110" : ""}`, children: [
4335
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-white/25 p-2 sm:p-3 rounded-xl backdrop-blur-sm", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Briefcase, { className: "w-5 h-5 sm:w-7 sm:h-7 text-white" }) }),
4336
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
4337
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-white font-bold text-sm sm:text-xl leading-tight tracking-wide", children: diagramName }),
4338
+ diagramDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-white/90 font-medium text-xs sm:text-base leading-tight", children: diagramDescription })
4339
+ ] })
4340
+ ] }),
4341
+ !isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute -bottom-8 left-1/2 transform -translate-x-1/2 ${isDarkMode ? "text-indigo-300/60" : "text-indigo-600/60"} text-xs whitespace-nowrap`, children: safeT("diagram.dragToMove") })
4342
+ ] })
4343
+ }
4344
+ ),
4345
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
4346
+ @keyframes fadeIn {
4347
+ from { opacity: 0; transform: scale(0.9) translateY(10px); }
4348
+ to { opacity: 1; transform: scale(1) translateY(0); }
4349
+ }
4350
+ @keyframes twinkle {
4351
+ 0%, 100% { opacity: 0.2; transform: scale(1); }
4352
+ 50% { opacity: 0.5; transform: scale(1); }
4353
+ }
4354
+ @keyframes dash-flow {
4355
+ to { stroke-dashoffset: -30; }
4356
+ }
4357
+ .animate-fadeIn {
4358
+ animation: fadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
4359
+ opacity: 0;
4360
+ }
4361
+ .animate-twinkle { animation: twinkle 5s ease-in-out infinite; }
4362
+ ` })
4363
+ ]
4364
+ }
4365
+ );
4366
+ };
4367
+ const FaqItem = ({ faq, index: index2, isActive, onToggle, isDarkMode, t }) => {
4368
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
4369
+ "div",
4370
+ {
4371
+ style: {
4372
+ animationDelay: `${index2 * 100}ms`,
4373
+ animationFillMode: "both"
4374
+ },
4375
+ className: "animate-slide-up",
4376
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
4377
+ "div",
4378
+ {
4379
+ className: `
4380
+ rounded-xl border transition-all duration-500 ease-out transform
4381
+ ${isDarkMode ? "bg-gradient-to-br from-gray-800 to-gray-800/50 border-gray-700/50" : "bg-white border-gray-200"}
4382
+ ${isActive ? `scale-[1.02] ${isDarkMode ? "shadow-2xl shadow-blue-500/20 border-blue-500/30" : "shadow-xl shadow-blue-100 border-blue-200"}` : "shadow-md hover:shadow-lg"}
4383
+ hover:scale-[1.01]
4384
+ `,
4385
+ children: [
4386
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
4387
+ "button",
4388
+ {
4389
+ onClick: onToggle,
4390
+ className: `
4391
+ w-full px-6 py-5 text-left flex items-start justify-between gap-4
4392
+ transition-all duration-300
4393
+ ${isDarkMode ? "hover:bg-gray-700/30" : "hover:bg-gray-50/50"}
4394
+ rounded-xl
4395
+ group
4396
+ `,
4397
+ children: [
4398
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `
4399
+ text-lg font-semibold flex-1 transition-colors duration-300
4400
+ ${isActive ? isDarkMode ? "text-blue-400" : "text-blue-600" : isDarkMode ? "text-white group-hover:text-blue-300" : "text-gray-900 group-hover:text-blue-600"}
4401
+ `, children: faq.question }),
4402
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `
4403
+ flex-shrink-0 w-10 h-10 rounded-full flex items-center justify-center
4404
+ transition-all duration-500 transform
4405
+ ${isActive ? `bg-gradient-to-br from-blue-500 to-purple-600 text-white shadow-lg ${isDarkMode ? "shadow-blue-500/50" : "shadow-blue-300"} rotate-180 scale-110` : `${isDarkMode ? "bg-gray-700/50 text-gray-400 group-hover:bg-gray-600" : "bg-gray-100 text-gray-500 group-hover:bg-gray-200"} group-hover:scale-110`}
4406
+ `, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: `w-5 h-5 transition-transform duration-500 ${isActive ? "rotate-180" : ""}` }) })
4407
+ ]
4408
+ }
4409
+ ),
4410
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
4411
+ "div",
4412
+ {
4413
+ className: `
4414
+ overflow-hidden transition-all duration-500 ease-in-out
4415
+ ${isActive ? "max-h-[500px] opacity-100" : "max-h-0 opacity-0"}
4416
+ `,
4417
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `
4418
+ px-6 pb-6 pt-2
4419
+ ${isDarkMode ? "text-gray-300" : "text-gray-600"}
4420
+ transition-all duration-500
4421
+ ${isActive ? "translate-y-0" : "-translate-y-4"}
4422
+ `, children: [
4423
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `h-px w-full mb-4 ${isDarkMode ? "bg-gradient-to-r from-transparent via-gray-700 to-transparent" : "bg-gradient-to-r from-transparent via-gray-200 to-transparent"}` }),
4424
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `prose prose-sm max-w-none leading-relaxed ${isDarkMode ? "prose-invert" : ""}`, children: faq.answer }),
4425
+ faq.url && /* @__PURE__ */ jsxRuntimeExports.jsxs(
4426
+ "a",
4427
+ {
4428
+ href: faq.url,
4429
+ target: "_blank",
4430
+ rel: "noopener noreferrer",
4431
+ className: `
4432
+ inline-flex items-center gap-2 mt-5 px-4 py-2 rounded-lg text-sm font-medium
4433
+ transition-all duration-300 transform hover:scale-105
4434
+ ${isDarkMode ? "text-blue-400 hover:text-blue-300 bg-blue-500/10 hover:bg-blue-500/20" : "text-blue-600 hover:text-blue-700 bg-blue-50 hover:bg-blue-100"}
4435
+ group/link
4436
+ `,
4437
+ children: [
4438
+ (t == null ? void 0 : t("faq.learn_more")) || "Learn more",
4439
+ /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4 transition-transform duration-300 group-hover/link:translate-x-1", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
4440
+ ]
4441
+ }
4442
+ )
4443
+ ] })
4444
+ }
4445
+ )
4446
+ ]
4447
+ }
4448
+ )
4449
+ }
4450
+ );
4451
+ };
4452
+ const FaqSection = ({ data, t, isDarkMode }) => {
4453
+ const [activeIndex, setActiveIndex] = require$$0.useState(-1);
4454
+ const faqs = require$$0.useMemo(() => {
4455
+ if ((data == null ? void 0 : data.sectionDataBindingItems) && Array.isArray(data.sectionDataBindingItems)) {
4456
+ return data.sectionDataBindingItems.map((item) => item.data).filter(Boolean);
4457
+ }
4458
+ return [];
4459
+ }, [data]);
4460
+ const toggleFaq = (index2) => {
4461
+ setActiveIndex(activeIndex === index2 ? -1 : index2);
4462
+ };
4463
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `py-16 px-4 ${isDarkMode ? "bg-gradient-to-b from-gray-900 via-gray-900 to-gray-800" : "bg-gradient-to-b from-gray-50 to-white"}`, children: [
4464
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto", children: [
4465
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center mb-6 animate-fade-in", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `
4466
+ w-10 h-10 rounded-lg flex items-center justify-center
4467
+ ${isDarkMode ? "bg-gradient-to-br from-blue-500 to-purple-600 shadow-lg shadow-blue-500/20" : "bg-gradient-to-br from-blue-600 to-indigo-600 shadow-lg shadow-blue-200"}
4468
+ transform hover:scale-110 transition-all duration-300
4469
+ `, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4470
+ "svg",
4471
+ {
4472
+ className: "w-6 h-6 text-white",
4473
+ fill: "currentColor",
4474
+ viewBox: "0 0 24 24",
4475
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z" })
4476
+ }
4477
+ ) }) }),
4478
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12 animate-fade-in", children: [
4479
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: `text-4xl font-bold mb-3 ${isDarkMode ? "text-white" : "text-gray-900"}`, children: (t == null ? void 0 : t("faq.title")) || "Frequently Asked Questions" }),
4480
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `h-1 w-20 mx-auto rounded-full ${isDarkMode ? "bg-gradient-to-r from-blue-500 to-purple-500" : "bg-gradient-to-r from-blue-600 to-indigo-600"}` })
4481
+ ] }),
4482
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: faqs.map((faq, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
4483
+ FaqItem,
4484
+ {
4485
+ faq,
4486
+ index: index2,
4487
+ isActive: activeIndex === index2,
4488
+ onToggle: () => toggleFaq(index2),
4489
+ isDarkMode,
4490
+ t
4491
+ },
4492
+ faq.id || index2
4493
+ )) })
4494
+ ] }),
4495
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
4496
+ @keyframes fade-in {
4497
+ from {
4498
+ opacity: 0;
4499
+ transform: translateY(-20px);
4500
+ }
4501
+ to {
4502
+ opacity: 1;
4503
+ transform: translateY(0);
4504
+ }
4505
+ }
4506
+
4507
+ @keyframes slide-up {
4508
+ from {
4509
+ opacity: 0;
4510
+ transform: translateY(30px);
4511
+ }
4512
+ to {
4513
+ opacity: 1;
4514
+ transform: translateY(0);
4515
+ }
4516
+ }
4517
+
4518
+ .animate-fade-in {
4519
+ animation: fade-in 0.8s ease-out;
4520
+ }
4521
+
4522
+ .animate-slide-up {
4523
+ animation: slide-up 0.6s ease-out;
4524
+ }
4525
+ ` })
4526
+ ] });
4527
+ };
3113
4528
  const index = {
3114
4529
  AboutCompanySection,
3115
4530
  CompanyValues,
@@ -3128,7 +4543,10 @@ var __async = (__this, __arguments, generator) => {
3128
4543
  ImageSection,
3129
4544
  ImageSingleSection,
3130
4545
  TextWithTitleSection,
3131
- TextSection
4546
+ TextSection,
4547
+ DiagramSection,
4548
+ DiagramSection2,
4549
+ FaqSection
3132
4550
  };
3133
4551
  exports2.AboutCompanySection = AboutCompanySection;
3134
4552
  exports2.CompanyValues = CompanyValues;
@@ -3136,6 +4554,9 @@ var __async = (__this, __arguments, generator) => {
3136
4554
  exports2.ContactInfoSection = ContactInfoSection;
3137
4555
  exports2.ContactListAutoSection = ContactListAutoSection;
3138
4556
  exports2.CustomerFeedbackAutoSection = CustomerFeedbackAutoSection;
4557
+ exports2.DiagramSection = DiagramSection;
4558
+ exports2.DiagramSection2 = DiagramSection2;
4559
+ exports2.FaqSection = FaqSection;
3139
4560
  exports2.ImageSection = ImageSection;
3140
4561
  exports2.ImageSingleSection = ImageSingleSection;
3141
4562
  exports2.MilestoneSection = MilestoneSection;