nvis-fe-cms-libs 1.1.23 → 1.1.24

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.
@@ -665,7 +665,7 @@ var __async = (__this, __arguments, generator) => {
665
665
  const timelineData = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.filter((item) => item == null ? void 0 : item.data).map((item) => item.data)) || [];
666
666
  const [timelineVisible, setTimelineVisible] = require$$0.useState([]);
667
667
  const timelineRefs = require$$0.useRef([]);
668
- const sectionTitle = (section == null ? void 0 : section.title) || "";
668
+ const sectionTitle = (section == null ? void 0 : section.title) || "...";
669
669
  require$$0.useEffect(() => {
670
670
  setTimelineVisible(new Array(timelineData.length).fill(false));
671
671
  }, [timelineData.length]);
@@ -1752,7 +1752,7 @@ var __async = (__this, __arguments, generator) => {
1752
1752
  ["path", { d: "M5 12h14", key: "1ays0h" }],
1753
1753
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
1754
1754
  ];
1755
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$B);
1755
+ const ArrowRight$1 = createLucideIcon("arrow-right", __iconNode$B);
1756
1756
  /**
1757
1757
  * @license lucide-react v0.536.0 - ISC
1758
1758
  *
@@ -4688,17 +4688,23 @@ var __async = (__this, __arguments, generator) => {
4688
4688
  ] })
4689
4689
  ] });
4690
4690
  };
4691
- const PageChildrenSelectSection = ({ data, isDarkMode, section, imageBaseUrl = "" }) => {
4691
+ const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl = "" }) => {
4692
4692
  var _a;
4693
4693
  const pages = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.map((item) => item.data).filter(Boolean)) || [];
4694
4694
  const sectionTitle = (section == null ? void 0 : section.title) || "";
4695
4695
  const sectionDescription = (section == null ? void 0 : section.description) || "";
4696
+ const [visibleCount, setVisibleCount] = require$$0.useState(8);
4697
+ const visiblePages = pages.slice(0, visibleCount);
4698
+ const hasMore = visibleCount < pages.length;
4696
4699
  if (!pages || pages.length === 0) {
4697
4700
  return null;
4698
4701
  }
4699
4702
  const handleNavigate = (slug) => {
4700
4703
  window.location.href = slug;
4701
4704
  };
4705
+ const handleLoadMore = () => {
4706
+ setVisibleCount((prev) => prev + 8);
4707
+ };
4702
4708
  const getImageUrl = (url) => {
4703
4709
  if (!url) return "";
4704
4710
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
@@ -4733,8 +4739,9 @@ var __async = (__this, __arguments, generator) => {
4733
4739
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
4734
4740
  display: "grid",
4735
4741
  gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))",
4736
- gap: "24px"
4737
- }, children: pages.map((page) => {
4742
+ gap: "24px",
4743
+ marginBottom: hasMore ? "40px" : "0"
4744
+ }, children: visiblePages.map((page) => {
4738
4745
  const iconUrl = getImageUrl(page.icon);
4739
4746
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4740
4747
  "div",
@@ -4757,7 +4764,7 @@ var __async = (__this, __arguments, generator) => {
4757
4764
  onMouseEnter: (e) => {
4758
4765
  e.currentTarget.style.transform = "translateY(-8px)";
4759
4766
  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)";
4760
- e.currentTarget.style.borderColor = isDarkMode ? "#f97316" : "#f97316";
4767
+ e.currentTarget.style.borderColor = "#1638f9ff";
4761
4768
  },
4762
4769
  onMouseLeave: (e) => {
4763
4770
  e.currentTarget.style.transform = "translateY(0)";
@@ -4794,19 +4801,59 @@ var __async = (__this, __arguments, generator) => {
4794
4801
  },
4795
4802
  page.id
4796
4803
  );
4797
- }) })
4804
+ }) }),
4805
+ hasMore && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
4806
+ "button",
4807
+ {
4808
+ onClick: handleLoadMore,
4809
+ style: {
4810
+ display: "inline-flex",
4811
+ alignItems: "center",
4812
+ justifyContent: "center",
4813
+ gap: "8px",
4814
+ padding: "14px 32px",
4815
+ fontSize: "16px",
4816
+ fontWeight: "600",
4817
+ color: "#fff",
4818
+ backgroundColor: "#f97316",
4819
+ border: "none",
4820
+ borderRadius: "9999px",
4821
+ cursor: "pointer",
4822
+ transition: "all 0.3s",
4823
+ boxShadow: "0 4px 6px -1px rgba(249, 115, 22, 0.3)"
4824
+ },
4825
+ onMouseEnter: (e) => {
4826
+ e.currentTarget.style.backgroundColor = "#ea580c";
4827
+ e.currentTarget.style.transform = "translateY(-2px)";
4828
+ },
4829
+ onMouseLeave: (e) => {
4830
+ e.currentTarget.style.backgroundColor = "#f97316";
4831
+ e.currentTarget.style.transform = "translateY(0)";
4832
+ },
4833
+ children: [
4834
+ t("pageChildrenSelect.moreInsights"),
4835
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { size: 18 })
4836
+ ]
4837
+ }
4838
+ ) })
4798
4839
  ] }) });
4799
4840
  };
4800
- const PageChildrenSelectSection1 = ({ data, isDarkMode, section, imageBaseUrl = "" }) => {
4841
+ const PageChildrenSelectSection1 = ({ data, isDarkMode, t, section, imageBaseUrl = "" }) => {
4801
4842
  var _a;
4802
4843
  const pages = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.map((item) => item.data).filter(Boolean)) || [];
4803
4844
  const sectionTitle = (section == null ? void 0 : section.title) || "";
4845
+ const [visibleCount, setVisibleCount] = require$$0.useState(5);
4846
+ const visiblePages = pages.slice(0, visibleCount);
4847
+ const hasMore = visibleCount < pages.length;
4804
4848
  if (!pages || pages.length === 0) {
4805
4849
  return null;
4806
4850
  }
4807
4851
  const handleNavigate = (slug) => {
4808
4852
  window.location.href = slug;
4809
4853
  };
4854
+ const handleLoadMore = () => {
4855
+ setVisibleCount((prev) => prev + 5);
4856
+ };
4810
4857
  const getImageUrl = (url) => {
4811
4858
  if (!url) return "";
4812
4859
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
@@ -4832,7 +4879,7 @@ var __async = (__this, __arguments, generator) => {
4832
4879
  display: "flex",
4833
4880
  flexDirection: "column",
4834
4881
  gap: "24px"
4835
- }, children: pages.map((page) => {
4882
+ }, children: visiblePages.map((page) => {
4836
4883
  var _a2, _b;
4837
4884
  const mainImage = ((_b = (_a2 = page.pageImages) == null ? void 0 : _a2.find((img) => img.isMain)) == null ? void 0 : _b.url) || page.icon;
4838
4885
  const imageUrl = getImageUrl(mainImage);
@@ -4922,226 +4969,44 @@ var __async = (__this, __arguments, generator) => {
4922
4969
  },
4923
4970
  page.id
4924
4971
  );
4925
- }) })
4926
- ] }) });
4927
- };
4928
- const warn = (i18n, code, msg, rest) => {
4929
- var _a, _b, _c, _d;
4930
- const args = [msg, __spreadValues({
4931
- code
4932
- }, rest || {})];
4933
- if ((_b = (_a = i18n == null ? void 0 : i18n.services) == null ? void 0 : _a.logger) == null ? void 0 : _b.forward) {
4934
- return i18n.services.logger.forward(args, "warn", "react-i18next::", true);
4935
- }
4936
- if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;
4937
- if ((_d = (_c = i18n == null ? void 0 : i18n.services) == null ? void 0 : _c.logger) == null ? void 0 : _d.warn) {
4938
- i18n.services.logger.warn(...args);
4939
- } else if (console == null ? void 0 : console.warn) {
4940
- console.warn(...args);
4941
- }
4942
- };
4943
- const alreadyWarned = {};
4944
- const warnOnce = (i18n, code, msg, rest) => {
4945
- if (isString(msg) && alreadyWarned[msg]) return;
4946
- if (isString(msg)) alreadyWarned[msg] = /* @__PURE__ */ new Date();
4947
- warn(i18n, code, msg, rest);
4948
- };
4949
- const loadedClb = (i18n, cb) => () => {
4950
- if (i18n.isInitialized) {
4951
- cb();
4952
- } else {
4953
- const initialized = () => {
4954
- setTimeout(() => {
4955
- i18n.off("initialized", initialized);
4956
- }, 0);
4957
- cb();
4958
- };
4959
- i18n.on("initialized", initialized);
4960
- }
4961
- };
4962
- const loadNamespaces = (i18n, ns, cb) => {
4963
- i18n.loadNamespaces(ns, loadedClb(i18n, cb));
4964
- };
4965
- const loadLanguages = (i18n, lng, ns, cb) => {
4966
- if (isString(ns)) ns = [ns];
4967
- if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);
4968
- ns.forEach((n) => {
4969
- if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);
4970
- });
4971
- i18n.loadLanguages(lng, loadedClb(i18n, cb));
4972
- };
4973
- const hasLoadedNamespace = (ns, i18n, options = {}) => {
4974
- if (!i18n.languages || !i18n.languages.length) {
4975
- warnOnce(i18n, "NO_LANGUAGES", "i18n.languages were undefined or empty", {
4976
- languages: i18n.languages
4977
- });
4978
- return true;
4979
- }
4980
- return i18n.hasLoadedNamespace(ns, {
4981
- lng: options.lng,
4982
- precheck: (i18nInstance2, loadNotPending) => {
4983
- if (options.bindI18n && options.bindI18n.indexOf("languageChanging") > -1 && i18nInstance2.services.backendConnector.backend && i18nInstance2.isLanguageChangingTo && !loadNotPending(i18nInstance2.isLanguageChangingTo, ns)) return false;
4984
- }
4985
- });
4986
- };
4987
- const isString = (obj) => typeof obj === "string";
4988
- const isObject = (obj) => typeof obj === "object" && obj !== null;
4989
- const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
4990
- const htmlEntities = {
4991
- "&amp;": "&",
4992
- "&#38;": "&",
4993
- "&lt;": "<",
4994
- "&#60;": "<",
4995
- "&gt;": ">",
4996
- "&#62;": ">",
4997
- "&apos;": "'",
4998
- "&#39;": "'",
4999
- "&quot;": '"',
5000
- "&#34;": '"',
5001
- "&nbsp;": " ",
5002
- "&#160;": " ",
5003
- "&copy;": "©",
5004
- "&#169;": "©",
5005
- "&reg;": "®",
5006
- "&#174;": "®",
5007
- "&hellip;": "…",
5008
- "&#8230;": "…",
5009
- "&#x2F;": "/",
5010
- "&#47;": "/"
5011
- };
5012
- const unescapeHtmlEntity = (m) => htmlEntities[m];
5013
- const unescape = (text) => text.replace(matchHtmlEntity, unescapeHtmlEntity);
5014
- let defaultOptions = {
5015
- bindI18n: "languageChanged",
5016
- bindI18nStore: "",
5017
- transEmptyNodeValue: "",
5018
- transSupportBasicHtmlNodes: true,
5019
- transWrapTextNodes: "",
5020
- transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"],
5021
- useSuspense: true,
5022
- unescape
5023
- };
5024
- const getDefaults = () => defaultOptions;
5025
- let i18nInstance;
5026
- const getI18n = () => i18nInstance;
5027
- const I18nContext = require$$0.createContext();
5028
- class ReportNamespaces {
5029
- constructor() {
5030
- this.usedNamespaces = {};
5031
- }
5032
- addUsedNamespaces(namespaces) {
5033
- namespaces.forEach((ns) => {
5034
- if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;
5035
- });
5036
- }
5037
- getUsedNamespaces() {
5038
- return Object.keys(this.usedNamespaces);
5039
- }
5040
- }
5041
- const usePrevious = (value, ignore) => {
5042
- const ref = require$$0.useRef();
5043
- require$$0.useEffect(() => {
5044
- ref.current = value;
5045
- }, [value, ignore]);
5046
- return ref.current;
5047
- };
5048
- const alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);
5049
- const useMemoizedT = (i18n, language, namespace, keyPrefix) => require$$0.useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);
5050
- const useTranslation = (ns, props = {}) => {
5051
- var _a, _b, _c, _d;
5052
- const {
5053
- i18n: i18nFromProps
5054
- } = props;
5055
- const {
5056
- i18n: i18nFromContext,
5057
- defaultNS: defaultNSFromContext
5058
- } = require$$0.useContext(I18nContext) || {};
5059
- const i18n = i18nFromProps || i18nFromContext || getI18n();
5060
- if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();
5061
- if (!i18n) {
5062
- warnOnce(i18n, "NO_I18NEXT_INSTANCE", "useTranslation: You will need to pass in an i18next instance by using initReactI18next");
5063
- const notReadyT = (k, optsOrDefaultValue) => {
5064
- if (isString(optsOrDefaultValue)) return optsOrDefaultValue;
5065
- if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;
5066
- return Array.isArray(k) ? k[k.length - 1] : k;
5067
- };
5068
- const retNotReady = [notReadyT, {}, false];
5069
- retNotReady.t = notReadyT;
5070
- retNotReady.i18n = {};
5071
- retNotReady.ready = false;
5072
- return retNotReady;
5073
- }
5074
- 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.");
5075
- const i18nOptions = __spreadValues(__spreadValues(__spreadValues({}, getDefaults()), i18n.options.react), props);
5076
- const {
5077
- useSuspense,
5078
- keyPrefix
5079
- } = i18nOptions;
5080
- let namespaces = defaultNSFromContext || ((_b = i18n.options) == null ? void 0 : _b.defaultNS);
5081
- namespaces = isString(namespaces) ? [namespaces] : namespaces || ["translation"];
5082
- (_d = (_c = i18n.reportNamespaces).addUsedNamespaces) == null ? void 0 : _d.call(_c, namespaces);
5083
- const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every((n) => hasLoadedNamespace(n, i18n, i18nOptions));
5084
- const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === "fallback" ? namespaces : namespaces[0], keyPrefix);
5085
- const getT = () => memoGetT;
5086
- const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === "fallback" ? namespaces : namespaces[0], keyPrefix);
5087
- const [t, setT] = require$$0.useState(getT);
5088
- let joinedNS = namespaces.join();
5089
- if (props.lng) joinedNS = `${props.lng}${joinedNS}`;
5090
- const previousJoinedNS = usePrevious(joinedNS);
5091
- const isMounted = require$$0.useRef(true);
5092
- require$$0.useEffect(() => {
5093
- const {
5094
- bindI18n,
5095
- bindI18nStore
5096
- } = i18nOptions;
5097
- isMounted.current = true;
5098
- if (!ready && !useSuspense) {
5099
- if (props.lng) {
5100
- loadLanguages(i18n, props.lng, namespaces, () => {
5101
- if (isMounted.current) setT(getNewT);
5102
- });
5103
- } else {
5104
- loadNamespaces(i18n, namespaces, () => {
5105
- if (isMounted.current) setT(getNewT);
5106
- });
4972
+ }) }),
4973
+ hasMore && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "flex", justifyContent: "center", marginTop: "40px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
4974
+ "button",
4975
+ {
4976
+ onClick: handleLoadMore,
4977
+ style: {
4978
+ display: "inline-flex",
4979
+ alignItems: "center",
4980
+ gap: "8px",
4981
+ padding: "12px 28px",
4982
+ fontSize: "16px",
4983
+ fontWeight: "600",
4984
+ color: "#fff",
4985
+ backgroundColor: "#2563eb",
4986
+ border: "none",
4987
+ borderRadius: "9999px",
4988
+ cursor: "pointer",
4989
+ transition: "all 0.3s",
4990
+ boxShadow: "0 4px 6px -1px rgba(37, 99, 235, 0.3)"
4991
+ },
4992
+ onMouseEnter: (e) => {
4993
+ e.currentTarget.style.backgroundColor = "#1d4ed8";
4994
+ e.currentTarget.style.transform = "translateY(-2px)";
4995
+ },
4996
+ onMouseLeave: (e) => {
4997
+ e.currentTarget.style.backgroundColor = "#2563eb";
4998
+ e.currentTarget.style.transform = "translateY(0)";
4999
+ },
5000
+ children: [
5001
+ t("pageChildrenSelect.moreInsights"),
5002
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { size: 18 })
5003
+ ]
5107
5004
  }
5108
- }
5109
- if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {
5110
- setT(getNewT);
5111
- }
5112
- const boundReset = () => {
5113
- if (isMounted.current) setT(getNewT);
5114
- };
5115
- if (bindI18n) i18n == null ? void 0 : i18n.on(bindI18n, boundReset);
5116
- if (bindI18nStore) i18n == null ? void 0 : i18n.store.on(bindI18nStore, boundReset);
5117
- return () => {
5118
- isMounted.current = false;
5119
- if (i18n && bindI18n) bindI18n == null ? void 0 : bindI18n.split(" ").forEach((e) => i18n.off(e, boundReset));
5120
- if (bindI18nStore && i18n) bindI18nStore.split(" ").forEach((e) => i18n.store.off(e, boundReset));
5121
- };
5122
- }, [i18n, joinedNS]);
5123
- require$$0.useEffect(() => {
5124
- if (isMounted.current && ready) {
5125
- setT(getT);
5126
- }
5127
- }, [i18n, keyPrefix, ready]);
5128
- const ret = [t, i18n, ready];
5129
- ret.t = t;
5130
- ret.i18n = i18n;
5131
- ret.ready = ready;
5132
- if (ready) return ret;
5133
- if (!ready && !useSuspense) return ret;
5134
- throw new Promise((resolve) => {
5135
- if (props.lng) {
5136
- loadLanguages(i18n, props.lng, namespaces, () => resolve());
5137
- } else {
5138
- loadNamespaces(i18n, namespaces, () => resolve());
5139
- }
5140
- });
5005
+ ) })
5006
+ ] }) });
5141
5007
  };
5142
- const PageChildrenSelectSection2 = ({ data, isDarkMode, section, imageBaseUrl = "" }) => {
5008
+ const PageChildrenSelectSection2 = ({ data, isDarkMode, t, section, imageBaseUrl = "" }) => {
5143
5009
  var _a;
5144
- const { t } = useTranslation();
5145
5010
  const pages = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.map((item) => item.data).filter(Boolean)) || [];
5146
5011
  const sectionTitle = (section == null ? void 0 : section.title) || "";
5147
5012
  const [visibleCount, setVisibleCount] = require$$0.useState(6);
@@ -5291,7 +5156,7 @@ var __async = (__this, __arguments, generator) => {
5291
5156
  },
5292
5157
  children: [
5293
5158
  t("pageChildrenSelect.moreInsights"),
5294
- /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { size: 18 })
5159
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight$1, { size: 18 })
5295
5160
  ]
5296
5161
  }
5297
5162
  ) })