nvis-fe-cms-libs 1.1.20 → 1.1.22

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.
@@ -706,7 +706,7 @@ var __async = (__this, __arguments, generator) => {
706
706
  className: `relative inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 border transition-all duration-300 transform hover:scale-105 shadow-md hover:shadow-lg overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 text-emerald-300 border-blue-800" : "bg-white text-emerald-800 border-gray-200"}`,
707
707
  children: [
708
708
  "📈 ",
709
- t("timeline.header.badge") || "HÀNH TRÌNH PHÁT TRIỂN",
709
+ timelineData.title,
710
710
  isDarkMode && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
711
711
  /* @__PURE__ */ jsxRuntimeExports.jsx(
712
712
  "div",
@@ -1747,31 +1747,42 @@ 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$z = [
1750
+ const __iconNode$B = [
1751
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
1752
+ ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
1753
+ ];
1754
+ const ArrowRight = createLucideIcon("arrow-right", __iconNode$B);
1755
+ /**
1756
+ * @license lucide-react v0.536.0 - ISC
1757
+ *
1758
+ * This source code is licensed under the ISC license.
1759
+ * See the LICENSE file in the root directory of this source tree.
1760
+ */
1761
+ const __iconNode$A = [
1751
1762
  ["path", { d: "M2 4v16", key: "vw9hq8" }],
1752
1763
  ["path", { d: "M2 8h18a2 2 0 0 1 2 2v10", key: "1dgv2r" }],
1753
1764
  ["path", { d: "M2 17h20", key: "18nfp3" }],
1754
1765
  ["path", { d: "M6 8v9", key: "1yriud" }]
1755
1766
  ];
1756
- const Bed = createLucideIcon("bed", __iconNode$z);
1767
+ const Bed = createLucideIcon("bed", __iconNode$A);
1757
1768
  /**
1758
1769
  * @license lucide-react v0.536.0 - ISC
1759
1770
  *
1760
1771
  * This source code is licensed under the ISC license.
1761
1772
  * See the LICENSE file in the root directory of this source tree.
1762
1773
  */
1763
- const __iconNode$y = [
1774
+ const __iconNode$z = [
1764
1775
  ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
1765
1776
  ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
1766
1777
  ];
1767
- const Briefcase = createLucideIcon("briefcase", __iconNode$y);
1778
+ const Briefcase = createLucideIcon("briefcase", __iconNode$z);
1768
1779
  /**
1769
1780
  * @license lucide-react v0.536.0 - ISC
1770
1781
  *
1771
1782
  * This source code is licensed under the ISC license.
1772
1783
  * See the LICENSE file in the root directory of this source tree.
1773
1784
  */
1774
- const __iconNode$x = [
1785
+ const __iconNode$y = [
1775
1786
  ["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
1776
1787
  ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
1777
1788
  ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
@@ -1780,14 +1791,14 @@ var __async = (__this, __arguments, generator) => {
1780
1791
  ["path", { d: "M10 14h4", key: "kelpxr" }],
1781
1792
  ["path", { d: "M10 18h4", key: "1ulq68" }]
1782
1793
  ];
1783
- const Building2 = createLucideIcon("building-2", __iconNode$x);
1794
+ const Building2 = createLucideIcon("building-2", __iconNode$y);
1784
1795
  /**
1785
1796
  * @license lucide-react v0.536.0 - ISC
1786
1797
  *
1787
1798
  * This source code is licensed under the ISC license.
1788
1799
  * See the LICENSE file in the root directory of this source tree.
1789
1800
  */
1790
- const __iconNode$w = [
1801
+ const __iconNode$x = [
1791
1802
  ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
1792
1803
  ["path", { d: "M9 22v-4h6v4", key: "r93iot" }],
1793
1804
  ["path", { d: "M8 6h.01", key: "1dz90k" }],
@@ -1800,14 +1811,14 @@ var __async = (__this, __arguments, generator) => {
1800
1811
  ["path", { d: "M8 10h.01", key: "19clt8" }],
1801
1812
  ["path", { d: "M8 14h.01", key: "6423bh" }]
1802
1813
  ];
1803
- const Building = createLucideIcon("building", __iconNode$w);
1814
+ const Building = createLucideIcon("building", __iconNode$x);
1804
1815
  /**
1805
1816
  * @license lucide-react v0.536.0 - ISC
1806
1817
  *
1807
1818
  * This source code is licensed under the ISC license.
1808
1819
  * See the LICENSE file in the root directory of this source tree.
1809
1820
  */
1810
- const __iconNode$v = [
1821
+ const __iconNode$w = [
1811
1822
  ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }],
1812
1823
  ["line", { x1: "8", x2: "16", y1: "6", y2: "6", key: "x4nwl0" }],
1813
1824
  ["line", { x1: "16", x2: "16", y1: "14", y2: "18", key: "wjye3r" }],
@@ -1819,15 +1830,23 @@ var __async = (__this, __arguments, generator) => {
1819
1830
  ["path", { d: "M12 18h.01", key: "mhygvu" }],
1820
1831
  ["path", { d: "M8 18h.01", key: "lrp35t" }]
1821
1832
  ];
1822
- const Calculator = createLucideIcon("calculator", __iconNode$v);
1833
+ const Calculator = createLucideIcon("calculator", __iconNode$w);
1834
+ /**
1835
+ * @license lucide-react v0.536.0 - ISC
1836
+ *
1837
+ * This source code is licensed under the ISC license.
1838
+ * See the LICENSE file in the root directory of this source tree.
1839
+ */
1840
+ const __iconNode$v = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1841
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$v);
1823
1842
  /**
1824
1843
  * @license lucide-react v0.536.0 - ISC
1825
1844
  *
1826
1845
  * This source code is licensed under the ISC license.
1827
1846
  * See the LICENSE file in the root directory of this source tree.
1828
1847
  */
1829
- const __iconNode$u = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1830
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$u);
1848
+ const __iconNode$u = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
1849
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$u);
1831
1850
  /**
1832
1851
  * @license lucide-react v0.536.0 - ISC
1833
1852
  *
@@ -4607,7 +4626,7 @@ var __async = (__this, __arguments, generator) => {
4607
4626
  ] }),
4608
4627
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-5 lg:p-8 flex flex-col justify-center", children: [
4609
4628
  /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: `text-3xl lg:text-4xl font-black mb-3 bg-gradient-to-r ${color} bg-clip-text text-transparent`, children: item.title }),
4610
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `${isDarkMode ? "text-gray-300" : "text-gray-600"} text-sm leading-relaxed mb-5`, children: item.description }),
4629
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `${isDarkMode ? "text-gray-300" : "text-gray-600"} text-base leading-relaxed mb-5`, children: item.description }),
4611
4630
  item.features && item.features.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2 mb-6", children: item.features.map((feature, idx) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-2 group", children: [
4612
4631
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mt-0.5 w-4 h-4 rounded-full bg-gradient-to-r ${color} flex items-center justify-center flex-shrink-0`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-2.5 h-2.5 text-white", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M5 13l4 4L19 7" }) }) }),
4613
4632
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${isDarkMode ? "text-gray-300 group-hover:text-white" : "text-gray-700 group-hover:text-gray-900"} font-medium text-xs transition-colors`, children: feature })
@@ -4668,6 +4687,615 @@ var __async = (__this, __arguments, generator) => {
4668
4687
  ] })
4669
4688
  ] });
4670
4689
  };
4690
+ const PageChildrenSelectSection = ({ data, isDarkMode, section, imageBaseUrl = "" }) => {
4691
+ var _a;
4692
+ const pages = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.map((item) => item.data).filter(Boolean)) || [];
4693
+ const sectionTitle = (section == null ? void 0 : section.title) || "";
4694
+ const sectionDescription = (section == null ? void 0 : section.description) || "";
4695
+ if (!pages || pages.length === 0) {
4696
+ return null;
4697
+ }
4698
+ const handleNavigate = (slug) => {
4699
+ window.location.href = slug;
4700
+ };
4701
+ const getImageUrl = (url) => {
4702
+ if (!url) return "";
4703
+ if (url.startsWith("http://") || url.startsWith("https://")) return url;
4704
+ return `${imageBaseUrl}${url}`;
4705
+ };
4706
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4707
+ padding: "80px 16px",
4708
+ backgroundColor: isDarkMode ? "#111827" : "#f5f5f5",
4709
+ transition: "background-color 0.3s"
4710
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4711
+ maxWidth: "1400px",
4712
+ margin: "0 auto"
4713
+ }, children: [
4714
+ sectionTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4715
+ marginBottom: "50px",
4716
+ textAlign: "center"
4717
+ }, children: [
4718
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
4719
+ fontSize: "36px",
4720
+ fontWeight: "700",
4721
+ marginBottom: "16px",
4722
+ color: isDarkMode ? "#f9fafb" : "#4b5563"
4723
+ }, children: sectionTitle }),
4724
+ sectionDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { style: {
4725
+ fontSize: "16px",
4726
+ lineHeight: "1.6",
4727
+ color: isDarkMode ? "#d1d5db" : "#6b7280",
4728
+ maxWidth: "900px",
4729
+ margin: "0 auto"
4730
+ }, children: sectionDescription })
4731
+ ] }),
4732
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4733
+ display: "grid",
4734
+ gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))",
4735
+ gap: "24px"
4736
+ }, children: pages.map((page) => {
4737
+ const iconUrl = getImageUrl(page.icon);
4738
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4739
+ "div",
4740
+ {
4741
+ onClick: () => handleNavigate(page.slug),
4742
+ style: {
4743
+ backgroundColor: isDarkMode ? "#1f2937" : "#ffffff",
4744
+ borderRadius: "12px",
4745
+ padding: "32px 20px",
4746
+ cursor: "pointer",
4747
+ transition: "all 0.3s",
4748
+ border: `1px solid ${isDarkMode ? "#374151" : "#e5e7eb"}`,
4749
+ boxShadow: isDarkMode ? "0 4px 6px -1px rgba(0, 0, 0, 0.3)" : "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
4750
+ display: "flex",
4751
+ flexDirection: "column",
4752
+ alignItems: "center",
4753
+ textAlign: "center",
4754
+ gap: "16px"
4755
+ },
4756
+ onMouseEnter: (e) => {
4757
+ e.currentTarget.style.transform = "translateY(-8px)";
4758
+ e.currentTarget.style.boxShadow = isDarkMode ? "0 20px 25px -5px rgba(0, 0, 0, 0.5)" : "0 20px 25px -5px rgba(0, 0, 0, 0.15)";
4759
+ e.currentTarget.style.borderColor = isDarkMode ? "#f97316" : "#f97316";
4760
+ },
4761
+ onMouseLeave: (e) => {
4762
+ e.currentTarget.style.transform = "translateY(0)";
4763
+ e.currentTarget.style.boxShadow = isDarkMode ? "0 4px 6px -1px rgba(0, 0, 0, 0.3)" : "0 4px 6px -1px rgba(0, 0, 0, 0.1)";
4764
+ e.currentTarget.style.borderColor = isDarkMode ? "#374151" : "#e5e7eb";
4765
+ },
4766
+ children: [
4767
+ iconUrl && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4768
+ width: "80px",
4769
+ height: "80px",
4770
+ display: "flex",
4771
+ alignItems: "center",
4772
+ justifyContent: "center"
4773
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4774
+ "img",
4775
+ {
4776
+ src: iconUrl,
4777
+ alt: page.title,
4778
+ style: {
4779
+ width: "100%",
4780
+ height: "100%",
4781
+ objectFit: "contain"
4782
+ }
4783
+ }
4784
+ ) }),
4785
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { style: {
4786
+ fontSize: "16px",
4787
+ fontWeight: "600",
4788
+ color: isDarkMode ? "#f9fafb" : "#4b5563",
4789
+ margin: 0,
4790
+ lineHeight: "1.4"
4791
+ }, children: page.title })
4792
+ ]
4793
+ },
4794
+ page.id
4795
+ );
4796
+ }) })
4797
+ ] }) });
4798
+ };
4799
+ const PageChildrenSelectSection1 = ({ data, isDarkMode, section, imageBaseUrl = "" }) => {
4800
+ var _a;
4801
+ const pages = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.map((item) => item.data).filter(Boolean)) || [];
4802
+ const sectionTitle = (section == null ? void 0 : section.title) || "";
4803
+ if (!pages || pages.length === 0) {
4804
+ return null;
4805
+ }
4806
+ const handleNavigate = (slug) => {
4807
+ window.location.href = slug;
4808
+ };
4809
+ const getImageUrl = (url) => {
4810
+ if (!url) return "";
4811
+ if (url.startsWith("http://") || url.startsWith("https://")) return url;
4812
+ return `${imageBaseUrl}${url}`;
4813
+ };
4814
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4815
+ padding: "60px 16px",
4816
+ backgroundColor: isDarkMode ? "#111827" : "#ffffff",
4817
+ transition: "background-color 0.3s"
4818
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4819
+ maxWidth: "1280px",
4820
+ margin: "0 auto"
4821
+ }, children: [
4822
+ sectionTitle && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
4823
+ fontSize: "28px",
4824
+ fontWeight: "700",
4825
+ marginBottom: "40px",
4826
+ color: isDarkMode ? "#f9fafb" : "#1e40af",
4827
+ textTransform: "uppercase",
4828
+ letterSpacing: "0.5px"
4829
+ }, children: sectionTitle }),
4830
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4831
+ display: "flex",
4832
+ flexDirection: "column",
4833
+ gap: "24px"
4834
+ }, children: pages.map((page) => {
4835
+ var _a2, _b;
4836
+ const mainImage = ((_b = (_a2 = page.pageImages) == null ? void 0 : _a2.find((img) => img.isMain)) == null ? void 0 : _b.url) || page.icon;
4837
+ const imageUrl = getImageUrl(mainImage);
4838
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4839
+ "div",
4840
+ {
4841
+ onClick: () => handleNavigate(page.slug),
4842
+ style: {
4843
+ display: "flex",
4844
+ gap: "20px",
4845
+ backgroundColor: isDarkMode ? "#1f2937" : "#ffffff",
4846
+ borderRadius: "8px",
4847
+ overflow: "hidden",
4848
+ cursor: "pointer",
4849
+ transition: "all 0.2s",
4850
+ border: `1px solid ${isDarkMode ? "#374151" : "#e5e7eb"}`,
4851
+ padding: "16px"
4852
+ },
4853
+ onMouseEnter: (e) => {
4854
+ e.currentTarget.style.backgroundColor = isDarkMode ? "#374151" : "#f9fafb";
4855
+ },
4856
+ onMouseLeave: (e) => {
4857
+ e.currentTarget.style.backgroundColor = isDarkMode ? "#1f2937" : "#ffffff";
4858
+ },
4859
+ children: [
4860
+ imageUrl && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4861
+ width: "200px",
4862
+ height: "140px",
4863
+ flexShrink: 0,
4864
+ overflow: "hidden",
4865
+ borderRadius: "6px"
4866
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4867
+ "img",
4868
+ {
4869
+ src: imageUrl,
4870
+ alt: page.title,
4871
+ style: {
4872
+ width: "100%",
4873
+ height: "100%",
4874
+ objectFit: "cover"
4875
+ }
4876
+ }
4877
+ ) }),
4878
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4879
+ flex: 1,
4880
+ display: "flex",
4881
+ flexDirection: "column",
4882
+ justifyContent: "center"
4883
+ }, children: [
4884
+ page.tagKeys && page.tagKeys.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4885
+ fontSize: "12px",
4886
+ fontWeight: "600",
4887
+ color: isDarkMode ? "#60a5fa" : "#2563eb",
4888
+ marginBottom: "8px",
4889
+ textTransform: "uppercase",
4890
+ letterSpacing: "0.5px"
4891
+ }, children: page.tagKeys[0].key }),
4892
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { style: {
4893
+ fontSize: "18px",
4894
+ fontWeight: "700",
4895
+ marginBottom: "8px",
4896
+ color: isDarkMode ? "#f9fafb" : "#1f2937",
4897
+ lineHeight: "1.4"
4898
+ }, children: page.title }),
4899
+ page.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { style: {
4900
+ fontSize: "14px",
4901
+ lineHeight: "1.6",
4902
+ color: isDarkMode ? "#d1d5db" : "#6b7280",
4903
+ margin: 0
4904
+ }, children: page.description })
4905
+ ] }),
4906
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4907
+ display: "flex",
4908
+ alignItems: "center",
4909
+ paddingLeft: "16px"
4910
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4911
+ ChevronRight,
4912
+ {
4913
+ size: 20,
4914
+ style: {
4915
+ color: isDarkMode ? "#9ca3af" : "#d1d5db",
4916
+ transition: "color 0.2s"
4917
+ }
4918
+ }
4919
+ ) })
4920
+ ]
4921
+ },
4922
+ page.id
4923
+ );
4924
+ }) })
4925
+ ] }) });
4926
+ };
4927
+ const warn = (i18n, code, msg, rest) => {
4928
+ var _a, _b, _c, _d;
4929
+ const args = [msg, __spreadValues({
4930
+ code
4931
+ }, rest || {})];
4932
+ if ((_b = (_a = i18n == null ? void 0 : i18n.services) == null ? void 0 : _a.logger) == null ? void 0 : _b.forward) {
4933
+ return i18n.services.logger.forward(args, "warn", "react-i18next::", true);
4934
+ }
4935
+ if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;
4936
+ if ((_d = (_c = i18n == null ? void 0 : i18n.services) == null ? void 0 : _c.logger) == null ? void 0 : _d.warn) {
4937
+ i18n.services.logger.warn(...args);
4938
+ } else if (console == null ? void 0 : console.warn) {
4939
+ console.warn(...args);
4940
+ }
4941
+ };
4942
+ const alreadyWarned = {};
4943
+ const warnOnce = (i18n, code, msg, rest) => {
4944
+ if (isString(msg) && alreadyWarned[msg]) return;
4945
+ if (isString(msg)) alreadyWarned[msg] = /* @__PURE__ */ new Date();
4946
+ warn(i18n, code, msg, rest);
4947
+ };
4948
+ const loadedClb = (i18n, cb) => () => {
4949
+ if (i18n.isInitialized) {
4950
+ cb();
4951
+ } else {
4952
+ const initialized = () => {
4953
+ setTimeout(() => {
4954
+ i18n.off("initialized", initialized);
4955
+ }, 0);
4956
+ cb();
4957
+ };
4958
+ i18n.on("initialized", initialized);
4959
+ }
4960
+ };
4961
+ const loadNamespaces = (i18n, ns, cb) => {
4962
+ i18n.loadNamespaces(ns, loadedClb(i18n, cb));
4963
+ };
4964
+ const loadLanguages = (i18n, lng, ns, cb) => {
4965
+ if (isString(ns)) ns = [ns];
4966
+ if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);
4967
+ ns.forEach((n) => {
4968
+ if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);
4969
+ });
4970
+ i18n.loadLanguages(lng, loadedClb(i18n, cb));
4971
+ };
4972
+ const hasLoadedNamespace = (ns, i18n, options = {}) => {
4973
+ if (!i18n.languages || !i18n.languages.length) {
4974
+ warnOnce(i18n, "NO_LANGUAGES", "i18n.languages were undefined or empty", {
4975
+ languages: i18n.languages
4976
+ });
4977
+ return true;
4978
+ }
4979
+ return i18n.hasLoadedNamespace(ns, {
4980
+ lng: options.lng,
4981
+ precheck: (i18nInstance2, loadNotPending) => {
4982
+ if (options.bindI18n && options.bindI18n.indexOf("languageChanging") > -1 && i18nInstance2.services.backendConnector.backend && i18nInstance2.isLanguageChangingTo && !loadNotPending(i18nInstance2.isLanguageChangingTo, ns)) return false;
4983
+ }
4984
+ });
4985
+ };
4986
+ const isString = (obj) => typeof obj === "string";
4987
+ const isObject = (obj) => typeof obj === "object" && obj !== null;
4988
+ const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
4989
+ const htmlEntities = {
4990
+ "&amp;": "&",
4991
+ "&#38;": "&",
4992
+ "&lt;": "<",
4993
+ "&#60;": "<",
4994
+ "&gt;": ">",
4995
+ "&#62;": ">",
4996
+ "&apos;": "'",
4997
+ "&#39;": "'",
4998
+ "&quot;": '"',
4999
+ "&#34;": '"',
5000
+ "&nbsp;": " ",
5001
+ "&#160;": " ",
5002
+ "&copy;": "©",
5003
+ "&#169;": "©",
5004
+ "&reg;": "®",
5005
+ "&#174;": "®",
5006
+ "&hellip;": "…",
5007
+ "&#8230;": "…",
5008
+ "&#x2F;": "/",
5009
+ "&#47;": "/"
5010
+ };
5011
+ const unescapeHtmlEntity = (m) => htmlEntities[m];
5012
+ const unescape = (text) => text.replace(matchHtmlEntity, unescapeHtmlEntity);
5013
+ let defaultOptions = {
5014
+ bindI18n: "languageChanged",
5015
+ bindI18nStore: "",
5016
+ transEmptyNodeValue: "",
5017
+ transSupportBasicHtmlNodes: true,
5018
+ transWrapTextNodes: "",
5019
+ transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"],
5020
+ useSuspense: true,
5021
+ unescape
5022
+ };
5023
+ const getDefaults = () => defaultOptions;
5024
+ let i18nInstance;
5025
+ const getI18n = () => i18nInstance;
5026
+ const I18nContext = require$$0.createContext();
5027
+ class ReportNamespaces {
5028
+ constructor() {
5029
+ this.usedNamespaces = {};
5030
+ }
5031
+ addUsedNamespaces(namespaces) {
5032
+ namespaces.forEach((ns) => {
5033
+ if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;
5034
+ });
5035
+ }
5036
+ getUsedNamespaces() {
5037
+ return Object.keys(this.usedNamespaces);
5038
+ }
5039
+ }
5040
+ const usePrevious = (value, ignore) => {
5041
+ const ref = require$$0.useRef();
5042
+ require$$0.useEffect(() => {
5043
+ ref.current = value;
5044
+ }, [value, ignore]);
5045
+ return ref.current;
5046
+ };
5047
+ const alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);
5048
+ const useMemoizedT = (i18n, language, namespace, keyPrefix) => require$$0.useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);
5049
+ const useTranslation = (ns, props = {}) => {
5050
+ var _a, _b, _c, _d;
5051
+ const {
5052
+ i18n: i18nFromProps
5053
+ } = props;
5054
+ const {
5055
+ i18n: i18nFromContext,
5056
+ defaultNS: defaultNSFromContext
5057
+ } = require$$0.useContext(I18nContext) || {};
5058
+ const i18n = i18nFromProps || i18nFromContext || getI18n();
5059
+ if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();
5060
+ if (!i18n) {
5061
+ warnOnce(i18n, "NO_I18NEXT_INSTANCE", "useTranslation: You will need to pass in an i18next instance by using initReactI18next");
5062
+ const notReadyT = (k, optsOrDefaultValue) => {
5063
+ if (isString(optsOrDefaultValue)) return optsOrDefaultValue;
5064
+ if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;
5065
+ return Array.isArray(k) ? k[k.length - 1] : k;
5066
+ };
5067
+ const retNotReady = [notReadyT, {}, false];
5068
+ retNotReady.t = notReadyT;
5069
+ retNotReady.i18n = {};
5070
+ retNotReady.ready = false;
5071
+ return retNotReady;
5072
+ }
5073
+ if ((_a = i18n.options.react) == null ? void 0 : _a.wait) warnOnce(i18n, "DEPRECATED_OPTION", "useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");
5074
+ const i18nOptions = __spreadValues(__spreadValues(__spreadValues({}, getDefaults()), i18n.options.react), props);
5075
+ const {
5076
+ useSuspense,
5077
+ keyPrefix
5078
+ } = i18nOptions;
5079
+ let namespaces = defaultNSFromContext || ((_b = i18n.options) == null ? void 0 : _b.defaultNS);
5080
+ namespaces = isString(namespaces) ? [namespaces] : namespaces || ["translation"];
5081
+ (_d = (_c = i18n.reportNamespaces).addUsedNamespaces) == null ? void 0 : _d.call(_c, namespaces);
5082
+ const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every((n) => hasLoadedNamespace(n, i18n, i18nOptions));
5083
+ const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === "fallback" ? namespaces : namespaces[0], keyPrefix);
5084
+ const getT = () => memoGetT;
5085
+ const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === "fallback" ? namespaces : namespaces[0], keyPrefix);
5086
+ const [t, setT] = require$$0.useState(getT);
5087
+ let joinedNS = namespaces.join();
5088
+ if (props.lng) joinedNS = `${props.lng}${joinedNS}`;
5089
+ const previousJoinedNS = usePrevious(joinedNS);
5090
+ const isMounted = require$$0.useRef(true);
5091
+ require$$0.useEffect(() => {
5092
+ const {
5093
+ bindI18n,
5094
+ bindI18nStore
5095
+ } = i18nOptions;
5096
+ isMounted.current = true;
5097
+ if (!ready && !useSuspense) {
5098
+ if (props.lng) {
5099
+ loadLanguages(i18n, props.lng, namespaces, () => {
5100
+ if (isMounted.current) setT(getNewT);
5101
+ });
5102
+ } else {
5103
+ loadNamespaces(i18n, namespaces, () => {
5104
+ if (isMounted.current) setT(getNewT);
5105
+ });
5106
+ }
5107
+ }
5108
+ if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {
5109
+ setT(getNewT);
5110
+ }
5111
+ const boundReset = () => {
5112
+ if (isMounted.current) setT(getNewT);
5113
+ };
5114
+ if (bindI18n) i18n == null ? void 0 : i18n.on(bindI18n, boundReset);
5115
+ if (bindI18nStore) i18n == null ? void 0 : i18n.store.on(bindI18nStore, boundReset);
5116
+ return () => {
5117
+ isMounted.current = false;
5118
+ if (i18n && bindI18n) bindI18n == null ? void 0 : bindI18n.split(" ").forEach((e) => i18n.off(e, boundReset));
5119
+ if (bindI18nStore && i18n) bindI18nStore.split(" ").forEach((e) => i18n.store.off(e, boundReset));
5120
+ };
5121
+ }, [i18n, joinedNS]);
5122
+ require$$0.useEffect(() => {
5123
+ if (isMounted.current && ready) {
5124
+ setT(getT);
5125
+ }
5126
+ }, [i18n, keyPrefix, ready]);
5127
+ const ret = [t, i18n, ready];
5128
+ ret.t = t;
5129
+ ret.i18n = i18n;
5130
+ ret.ready = ready;
5131
+ if (ready) return ret;
5132
+ if (!ready && !useSuspense) return ret;
5133
+ throw new Promise((resolve) => {
5134
+ if (props.lng) {
5135
+ loadLanguages(i18n, props.lng, namespaces, () => resolve());
5136
+ } else {
5137
+ loadNamespaces(i18n, namespaces, () => resolve());
5138
+ }
5139
+ });
5140
+ };
5141
+ const PageChildrenSelectSection2 = ({ data, isDarkMode, section, imageBaseUrl = "" }) => {
5142
+ var _a;
5143
+ const { t } = useTranslation();
5144
+ const pages = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.map((item) => item.data).filter(Boolean)) || [];
5145
+ const sectionTitle = (section == null ? void 0 : section.title) || "";
5146
+ const [visibleCount, setVisibleCount] = require$$0.useState(6);
5147
+ if (!pages || pages.length === 0) {
5148
+ return null;
5149
+ }
5150
+ const handleNavigate = (slug) => {
5151
+ window.location.href = slug;
5152
+ };
5153
+ const getImageUrl = (url) => {
5154
+ if (!url) return "";
5155
+ if (url.startsWith("http://") || url.startsWith("https://")) return url;
5156
+ return `${imageBaseUrl}${url}`;
5157
+ };
5158
+ const handleLoadMore = () => {
5159
+ setVisibleCount((prev) => prev + 6);
5160
+ };
5161
+ const visiblePages = pages.slice(0, visibleCount);
5162
+ const hasMore = visibleCount < pages.length;
5163
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
5164
+ padding: "80px 16px",
5165
+ backgroundColor: isDarkMode ? "#0f172a" : "#f8fafc",
5166
+ transition: "background-color 0.3s"
5167
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
5168
+ maxWidth: "1400px",
5169
+ margin: "0 auto"
5170
+ }, children: [
5171
+ sectionTitle && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
5172
+ fontSize: "36px",
5173
+ fontWeight: "700",
5174
+ marginBottom: "50px",
5175
+ color: isDarkMode ? "#f1f5f9" : "#1e293b"
5176
+ }, children: sectionTitle }),
5177
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
5178
+ display: "grid",
5179
+ gridTemplateColumns: "repeat(auto-fit, minmax(350px, 1fr))",
5180
+ gap: "30px",
5181
+ marginBottom: "50px"
5182
+ }, children: visiblePages.map((page) => {
5183
+ var _a2, _b;
5184
+ const mainImage = ((_b = (_a2 = page.pageImages) == null ? void 0 : _a2.find((img) => img.isMain)) == null ? void 0 : _b.url) || page.icon;
5185
+ const imageUrl = getImageUrl(mainImage);
5186
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
5187
+ "div",
5188
+ {
5189
+ onClick: () => handleNavigate(page.slug),
5190
+ style: {
5191
+ backgroundColor: isDarkMode ? "#1e293b" : "#ffffff",
5192
+ borderRadius: "16px",
5193
+ overflow: "hidden",
5194
+ cursor: "pointer",
5195
+ transition: "all 0.3s",
5196
+ boxShadow: isDarkMode ? "0 4px 6px -1px rgba(0, 0, 0, 0.5)" : "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
5197
+ border: `1px solid ${isDarkMode ? "#334155" : "#e2e8f0"}`
5198
+ },
5199
+ onMouseEnter: (e) => {
5200
+ e.currentTarget.style.transform = "translateY(-8px)";
5201
+ e.currentTarget.style.boxShadow = isDarkMode ? "0 20px 25px -5px rgba(0, 0, 0, 0.6)" : "0 20px 25px -5px rgba(0, 0, 0, 0.15)";
5202
+ },
5203
+ onMouseLeave: (e) => {
5204
+ e.currentTarget.style.transform = "translateY(0)";
5205
+ e.currentTarget.style.boxShadow = isDarkMode ? "0 4px 6px -1px rgba(0, 0, 0, 0.5)" : "0 4px 6px -1px rgba(0, 0, 0, 0.1)";
5206
+ },
5207
+ children: [
5208
+ imageUrl && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
5209
+ width: "100%",
5210
+ height: "240px",
5211
+ overflow: "hidden",
5212
+ position: "relative"
5213
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
5214
+ "img",
5215
+ {
5216
+ src: imageUrl,
5217
+ alt: page.title,
5218
+ style: {
5219
+ width: "100%",
5220
+ height: "100%",
5221
+ objectFit: "cover",
5222
+ transition: "transform 0.3s"
5223
+ },
5224
+ onMouseEnter: (e) => {
5225
+ e.currentTarget.style.transform = "scale(1.05)";
5226
+ },
5227
+ onMouseLeave: (e) => {
5228
+ e.currentTarget.style.transform = "scale(1)";
5229
+ }
5230
+ }
5231
+ ) }),
5232
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
5233
+ padding: "24px"
5234
+ }, children: [
5235
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { style: {
5236
+ fontSize: "20px",
5237
+ fontWeight: "700",
5238
+ marginBottom: "12px",
5239
+ color: isDarkMode ? "#f1f5f9" : "#1e293b",
5240
+ lineHeight: "1.4",
5241
+ minHeight: "56px"
5242
+ }, children: page.title }),
5243
+ page.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { style: {
5244
+ fontSize: "14px",
5245
+ lineHeight: "1.6",
5246
+ color: isDarkMode ? "#cbd5e1" : "#64748b",
5247
+ marginBottom: "16px",
5248
+ display: "-webkit-box",
5249
+ WebkitLineClamp: 2,
5250
+ WebkitBoxOrient: "vertical",
5251
+ overflow: "hidden"
5252
+ }, children: page.description })
5253
+ ] })
5254
+ ]
5255
+ },
5256
+ page.id
5257
+ );
5258
+ }) }),
5259
+ hasMore && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
5260
+ display: "flex",
5261
+ justifyContent: "center"
5262
+ }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
5263
+ "button",
5264
+ {
5265
+ onClick: handleLoadMore,
5266
+ style: {
5267
+ display: "inline-flex",
5268
+ alignItems: "center",
5269
+ gap: "8px",
5270
+ padding: "14px 32px",
5271
+ fontSize: "16px",
5272
+ fontWeight: "600",
5273
+ color: "#ffffff",
5274
+ backgroundColor: "#ef4444",
5275
+ border: "none",
5276
+ borderRadius: "50px",
5277
+ cursor: "pointer",
5278
+ transition: "all 0.3s",
5279
+ boxShadow: "0 4px 6px -1px rgba(239, 68, 68, 0.3)"
5280
+ },
5281
+ onMouseEnter: (e) => {
5282
+ e.currentTarget.style.backgroundColor = "#dc2626";
5283
+ e.currentTarget.style.transform = "translateY(-2px)";
5284
+ e.currentTarget.style.boxShadow = "0 10px 15px -3px rgba(239, 68, 68, 0.4)";
5285
+ },
5286
+ onMouseLeave: (e) => {
5287
+ e.currentTarget.style.backgroundColor = "#ef4444";
5288
+ e.currentTarget.style.transform = "translateY(0)";
5289
+ e.currentTarget.style.boxShadow = "0 4px 6px -1px rgba(239, 68, 68, 0.3)";
5290
+ },
5291
+ children: [
5292
+ t("pageChildrenSelect.moreInsights"),
5293
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { size: 18 })
5294
+ ]
5295
+ }
5296
+ ) })
5297
+ ] }) });
5298
+ };
4671
5299
  const index = {
4672
5300
  AboutCompanySection,
4673
5301
  CompanyValues,
@@ -4690,7 +5318,10 @@ var __async = (__this, __arguments, generator) => {
4690
5318
  DiagramSection,
4691
5319
  DiagramSection2,
4692
5320
  FaqSection,
4693
- PageHighlightSection
5321
+ PageHighlightSection,
5322
+ PageChildrenSelectSection,
5323
+ PageChildrenSelectSection1,
5324
+ PageChildrenSelectSection2
4694
5325
  };
4695
5326
  exports2.AboutCompanySection = AboutCompanySection;
4696
5327
  exports2.CompanyValues = CompanyValues;
@@ -4704,6 +5335,9 @@ var __async = (__this, __arguments, generator) => {
4704
5335
  exports2.ImageSection = ImageSection;
4705
5336
  exports2.ImageSingleSection = ImageSingleSection;
4706
5337
  exports2.MilestoneSection = MilestoneSection;
5338
+ exports2.PageChildrenSelectSection = PageChildrenSelectSection;
5339
+ exports2.PageChildrenSelectSection1 = PageChildrenSelectSection1;
5340
+ exports2.PageChildrenSelectSection2 = PageChildrenSelectSection2;
4707
5341
  exports2.PageHighlightSection = PageHighlightSection;
4708
5342
  exports2.PartnerCard = PartnerCard;
4709
5343
  exports2.PartnerListCard = PartnerListCard;