@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260929055955 → 0.8.1-dev.20260930101733

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server.mjs CHANGED
@@ -12,10 +12,10 @@ import {
12
12
  } from "./chunk-TQ6BXQ3A.mjs";
13
13
 
14
14
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
15
- import React24 from "react";
15
+ import React25 from "react";
16
16
 
17
17
  // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
18
- import React16 from "react";
18
+ import React17 from "react";
19
19
 
20
20
  // src/components/pageRenderingEngine/nodes/TextNode.tsx
21
21
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -247,7 +247,7 @@ var ImageNode = (props) => {
247
247
  ...props.node.borderRadius && { borderRadius: props.node.borderRadius },
248
248
  ...props.node.width && { width: props.node.width }
249
249
  };
250
- const FORMAT_CLASSES2 = {
250
+ const FORMAT_CLASSES3 = {
251
251
  center: "justify-center",
252
252
  left: "justify-start",
253
253
  right: "justify-end"
@@ -279,7 +279,7 @@ var ImageNode = (props) => {
279
279
  }
280
280
  );
281
281
  if (props.node.width) {
282
- return /* @__PURE__ */ jsx4("div", { className: `flex ${FORMAT_CLASSES2[props.node.format] ?? ""}`, children: renderMedia() });
282
+ return /* @__PURE__ */ jsx4("div", { className: `flex ${FORMAT_CLASSES3[props.node.format] ?? ""}`, children: renderMedia() });
283
283
  }
284
284
  return renderMedia();
285
285
  };
@@ -905,8 +905,89 @@ var DatafieldNode = (props) => {
905
905
  };
906
906
  var DatafieldNode_default = DatafieldNode;
907
907
 
908
+ // src/components/pageRenderingEngine/nodes/CounterNode.tsx
909
+ import { useCallback, useEffect, useRef, useState } from "react";
910
+ import { jsx as jsx23, jsxs as jsxs8 } from "react/jsx-runtime";
911
+ var FORMAT_CLASSES2 = {
912
+ center: "justify-center text-center",
913
+ right: "justify-end text-right",
914
+ left: "justify-start text-left",
915
+ justify: "justify-between text-justify"
916
+ };
917
+ var CounterNode = ({ node }) => {
918
+ const ref = useRef(null);
919
+ const startValue = typeof node?.startValue === "number" ? node.startValue : Number(node?.startValue) || 0;
920
+ const endValue = typeof node?.endValue === "number" ? node.endValue : Number(node?.endValue) || 0;
921
+ const duration = Math.max(Number(node?.duration) || 2e3, 300);
922
+ const prefix = node?.prefix ?? "";
923
+ const suffix = node?.suffix ?? "";
924
+ const format = node?.format;
925
+ const [displayValue, setDisplayValue] = useState(startValue);
926
+ const hasAnimatedRef = useRef(false);
927
+ const runAnimation = useCallback(() => {
928
+ let startTime = null;
929
+ let animationFrameId;
930
+ const step = (timestamp) => {
931
+ if (!startTime) startTime = timestamp;
932
+ const progress = Math.min((timestamp - startTime) / duration, 1);
933
+ const easeOutProgress = 1 - Math.pow(1 - progress, 3);
934
+ const currentVal = Math.round(startValue + (endValue - startValue) * easeOutProgress);
935
+ setDisplayValue(currentVal);
936
+ if (progress < 1) {
937
+ animationFrameId = requestAnimationFrame(step);
938
+ } else {
939
+ setDisplayValue(endValue);
940
+ }
941
+ };
942
+ animationFrameId = requestAnimationFrame(step);
943
+ return () => {
944
+ if (animationFrameId) {
945
+ cancelAnimationFrame(animationFrameId);
946
+ }
947
+ };
948
+ }, [startValue, endValue, duration]);
949
+ useEffect(() => {
950
+ const currentRef = ref.current;
951
+ if (!currentRef) return;
952
+ if (typeof IntersectionObserver === "undefined") {
953
+ return runAnimation();
954
+ }
955
+ const observer = new IntersectionObserver(
956
+ (entries) => {
957
+ entries.forEach((entry) => {
958
+ if (entry.isIntersecting && !hasAnimatedRef.current) {
959
+ hasAnimatedRef.current = true;
960
+ runAnimation();
961
+ observer.unobserve(entry.target);
962
+ }
963
+ });
964
+ },
965
+ { threshold: 0.1 }
966
+ );
967
+ observer.observe(currentRef);
968
+ return () => {
969
+ observer.disconnect();
970
+ };
971
+ }, [runAnimation]);
972
+ if (!node) return null;
973
+ const alignClass = format && FORMAT_CLASSES2[format] || "justify-center text-center";
974
+ return /* @__PURE__ */ jsx23(
975
+ "div",
976
+ {
977
+ ref,
978
+ className: `counter-node inline-flex items-center ${alignClass}`,
979
+ children: /* @__PURE__ */ jsxs8("span", { className: "counter-display text-3xl font-bold tracking-tight", children: [
980
+ prefix,
981
+ displayValue.toLocaleString(),
982
+ suffix
983
+ ] })
984
+ }
985
+ );
986
+ };
987
+ var CounterNode_default = CounterNode;
988
+
908
989
  // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
909
- import { Fragment as Fragment2, jsx as jsx23, jsxs as jsxs8 } from "react/jsx-runtime";
990
+ import { Fragment as Fragment2, jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
910
991
  var ParagraphNode = (props) => {
911
992
  const NodeTypes2 = {
912
993
  ["text"]: TextNode_default,
@@ -914,7 +995,8 @@ var ParagraphNode = (props) => {
914
995
  ["link"]: LinkNode_default,
915
996
  ["datafield"]: DatafieldNode_default,
916
997
  ["equation"]: EquationNode_default,
917
- ["svg-icon"]: SVGIconNode_default
998
+ ["svg-icon"]: SVGIconNode_default,
999
+ ["counter"]: CounterNode_default
918
1000
  };
919
1001
  const FormatClass = {
920
1002
  "center": "text-center",
@@ -926,9 +1008,9 @@ var ParagraphNode = (props) => {
926
1008
  const isInlineOnlyParent = props.parentTag === "summary";
927
1009
  const hasChildren = props.node.children && props.node.children.length > 0;
928
1010
  if (isInlineOnlyParent) {
929
- return /* @__PURE__ */ jsx23(Fragment2, { children: hasChildren && props.node.children.map((node, index) => {
1011
+ return /* @__PURE__ */ jsx24(Fragment2, { children: hasChildren && props.node.children.map((node, index) => {
930
1012
  const SelectedNode = NodeTypes2[node.type];
931
- return /* @__PURE__ */ jsx23(React16.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx23(
1013
+ return /* @__PURE__ */ jsx24(React17.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx24(
932
1014
  SelectedNode,
933
1015
  {
934
1016
  node,
@@ -941,10 +1023,10 @@ var ParagraphNode = (props) => {
941
1023
  ) }, index);
942
1024
  }) });
943
1025
  }
944
- return /* @__PURE__ */ jsxs8("div", { className: " " + formatClasses, children: [
1026
+ return /* @__PURE__ */ jsxs9("div", { className: " " + formatClasses, children: [
945
1027
  hasChildren && props.node.children.map((node, index) => {
946
1028
  const SelectedNode = NodeTypes2[node.type];
947
- return /* @__PURE__ */ jsx23(React16.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx23(
1029
+ return /* @__PURE__ */ jsx24(React17.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx24(
948
1030
  SelectedNode,
949
1031
  {
950
1032
  node,
@@ -956,21 +1038,22 @@ var ParagraphNode = (props) => {
956
1038
  }
957
1039
  ) }, index);
958
1040
  }),
959
- !hasChildren && /* @__PURE__ */ jsx23("div", { className: "py-1.5 lg:py-2" })
1041
+ !hasChildren && /* @__PURE__ */ jsx24("div", { className: "py-1.5 lg:py-2" })
960
1042
  ] });
961
1043
  };
962
1044
  var ParagraphNode_default = ParagraphNode;
963
1045
 
964
1046
  // src/components/pageRenderingEngine/nodes/HeadingNode.tsx
965
- import React17 from "react";
966
- import { Fragment as Fragment3, jsx as jsx24 } from "react/jsx-runtime";
1047
+ import React18 from "react";
1048
+ import { Fragment as Fragment3, jsx as jsx25 } from "react/jsx-runtime";
967
1049
  var HeadingNode = (props) => {
968
1050
  const NodeTypes2 = {
969
1051
  ["text"]: TextNode_default,
970
1052
  ["link"]: LinkNode_default,
971
1053
  ["svg-icon"]: SVGIconNode_default,
972
1054
  ["linebreak"]: LineBreakNode_default,
973
- ["datafield"]: DatafieldNode_default
1055
+ ["datafield"]: DatafieldNode_default,
1056
+ ["counter"]: CounterNode_default
974
1057
  };
975
1058
  const HeadingTag = `${props.node.tag}`;
976
1059
  const FormatClass = {
@@ -979,23 +1062,23 @@ var HeadingNode = (props) => {
979
1062
  {
980
1063
  }
981
1064
  const formatClasses = FormatClass[props.node.format] || "";
982
- return /* @__PURE__ */ jsx24(Fragment3, { children: React17.createElement(
1065
+ return /* @__PURE__ */ jsx25(Fragment3, { children: React18.createElement(
983
1066
  HeadingTag,
984
1067
  { className: formatClasses },
985
1068
  props.node.children && props.node.children.map((childNode, index) => {
986
1069
  const SelectedNode = NodeTypes2[childNode.type];
987
- return /* @__PURE__ */ jsx24(React17.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx24(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, assetBaseUrl: props.assetBaseUrl, routeParameters: props.routeParameters }) }, index);
1070
+ return /* @__PURE__ */ jsx25(React18.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx25(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, assetBaseUrl: props.assetBaseUrl, routeParameters: props.routeParameters }) }, index);
988
1071
  })
989
1072
  ) });
990
1073
  };
991
1074
  var HeadingNode_default = HeadingNode;
992
1075
 
993
1076
  // src/components/pageRenderingEngine/nodes/ListNode.tsx
994
- import React19 from "react";
1077
+ import React20 from "react";
995
1078
 
996
1079
  // src/components/pageRenderingEngine/nodes/ListItemNode.tsx
997
- import React18 from "react";
998
- import { jsx as jsx25 } from "react/jsx-runtime";
1080
+ import React19 from "react";
1081
+ import { jsx as jsx26 } from "react/jsx-runtime";
999
1082
  var ListItemNode = (props) => {
1000
1083
  const NodeTypes2 = {
1001
1084
  text: TextNode_default,
@@ -1012,66 +1095,66 @@ var ListItemNode = (props) => {
1012
1095
  liStyle.fontSize = match[1].trim();
1013
1096
  }
1014
1097
  }
1015
- return /* @__PURE__ */ jsx25("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
1098
+ return /* @__PURE__ */ jsx26("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
1016
1099
  const SelectedNode = NodeTypes2[node.type];
1017
1100
  if (node.type === "linebreak") {
1018
1101
  if (!foundFirstBreak) {
1019
1102
  foundFirstBreak = true;
1020
- return /* @__PURE__ */ jsx25("div", {}, index);
1103
+ return /* @__PURE__ */ jsx26("div", {}, index);
1021
1104
  } else {
1022
- return /* @__PURE__ */ jsx25("div", { className: "py-1 lg:py-2" }, index);
1105
+ return /* @__PURE__ */ jsx26("div", { className: "py-1 lg:py-2" }, index);
1023
1106
  }
1024
1107
  } else {
1025
1108
  foundFirstBreak = false;
1026
- return /* @__PURE__ */ jsx25(React18.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx25(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
1109
+ return /* @__PURE__ */ jsx26(React19.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx26(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
1027
1110
  }
1028
1111
  }) });
1029
1112
  };
1030
1113
  var ListItemNode_default = ListItemNode;
1031
1114
 
1032
1115
  // src/components/pageRenderingEngine/nodes/ListNode.tsx
1033
- import { jsx as jsx26, jsxs as jsxs9 } from "react/jsx-runtime";
1116
+ import { jsx as jsx27, jsxs as jsxs10 } from "react/jsx-runtime";
1034
1117
  var ListNode = (props) => {
1035
1118
  const NodeTypes2 = {
1036
1119
  listitem: ListItemNode_default
1037
1120
  };
1038
- return /* @__PURE__ */ jsxs9(React19.Fragment, { children: [
1039
- props.node.listType == "bullet" && /* @__PURE__ */ jsx26("ul", { children: props.node.children && props.node.children.map((node, index) => {
1121
+ return /* @__PURE__ */ jsxs10(React20.Fragment, { children: [
1122
+ props.node.listType == "bullet" && /* @__PURE__ */ jsx27("ul", { children: props.node.children && props.node.children.map((node, index) => {
1040
1123
  const SelectedNode = NodeTypes2[node.type];
1041
- return /* @__PURE__ */ jsx26(React19.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx26(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
1124
+ return /* @__PURE__ */ jsx27(React20.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx27(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
1042
1125
  }) }),
1043
- props.node.listType == "number" && /* @__PURE__ */ jsx26("ol", { children: props.node.children && props.node.children.map((node, index) => {
1126
+ props.node.listType == "number" && /* @__PURE__ */ jsx27("ol", { children: props.node.children && props.node.children.map((node, index) => {
1044
1127
  const SelectedNode = NodeTypes2[node.type];
1045
- return /* @__PURE__ */ jsx26(React19.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx26(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
1128
+ return /* @__PURE__ */ jsx27(React20.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx27(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
1046
1129
  }) })
1047
1130
  ] });
1048
1131
  };
1049
1132
  var ListNode_default = ListNode;
1050
1133
 
1051
1134
  // src/components/pageRenderingEngine/nodes/QuoteNode.tsx
1052
- import React20 from "react";
1053
- import { jsx as jsx27 } from "react/jsx-runtime";
1135
+ import React21 from "react";
1136
+ import { jsx as jsx28 } from "react/jsx-runtime";
1054
1137
  var QuoteNode = (props) => {
1055
1138
  const NodeTypes2 = {
1056
1139
  ["text"]: TextNode_default,
1057
1140
  ["linebreak"]: LineBreakNode_default,
1058
1141
  ["link"]: LinkNode_default
1059
1142
  };
1060
- return /* @__PURE__ */ jsx27("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
1143
+ return /* @__PURE__ */ jsx28("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
1061
1144
  const SelectedNode = NodeTypes2[node.type];
1062
- return /* @__PURE__ */ jsx27(React20.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx27(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
1145
+ return /* @__PURE__ */ jsx28(React21.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx28(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
1063
1146
  }) });
1064
1147
  };
1065
1148
  var QuoteNode_default = QuoteNode;
1066
1149
 
1067
1150
  // src/components/pageRenderingEngine/nodes/CodeNode.tsx
1068
- import React21 from "react";
1151
+ import React22 from "react";
1069
1152
  import dynamic9 from "next/dynamic";
1070
- import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
1153
+ import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
1071
1154
  var CopyButton = dynamic9(() => import("./CopyButton-XONTQQW7.mjs"), {
1072
1155
  ssr: false,
1073
1156
  // optional: fallback UI while loading
1074
- loading: () => /* @__PURE__ */ jsx28("span", { className: "text-gray-400 text-xs", children: "Copy" })
1157
+ loading: () => /* @__PURE__ */ jsx29("span", { className: "text-gray-400 text-xs", children: "Copy" })
1075
1158
  });
1076
1159
  var CodeNode = (props) => {
1077
1160
  const NodeTypes2 = {
@@ -1085,14 +1168,14 @@ var CodeNode = (props) => {
1085
1168
  if (node.type === "link") return node.text || node.url || "";
1086
1169
  return "";
1087
1170
  }).join("") ?? "";
1088
- return /* @__PURE__ */ jsxs10("div", { children: [
1089
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
1090
- /* @__PURE__ */ jsx28("span", { children: "Code Snippet" }),
1091
- /* @__PURE__ */ jsx28(CopyButton, { text: textContent })
1171
+ return /* @__PURE__ */ jsxs11("div", { children: [
1172
+ /* @__PURE__ */ jsxs11("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
1173
+ /* @__PURE__ */ jsx29("span", { children: "Code Snippet" }),
1174
+ /* @__PURE__ */ jsx29(CopyButton, { text: textContent })
1092
1175
  ] }),
1093
- /* @__PURE__ */ jsx28("code", { className: "bg-neutral-soft p-4 text-sm whitespace-pre-wrap border border-2 block", children: props.node.children && props.node.children.map((node, index) => {
1176
+ /* @__PURE__ */ jsx29("code", { className: "bg-neutral-soft p-4 text-sm whitespace-pre-wrap border border-2 block", children: props.node.children && props.node.children.map((node, index) => {
1094
1177
  const SelectedNode = NodeTypes2[node.type];
1095
- return /* @__PURE__ */ jsx28(React21.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx28(
1178
+ return /* @__PURE__ */ jsx29(React22.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx29(
1096
1179
  SelectedNode,
1097
1180
  {
1098
1181
  node,
@@ -1107,15 +1190,15 @@ var CodeNode = (props) => {
1107
1190
  var CodeNode_default = CodeNode;
1108
1191
 
1109
1192
  // src/components/pageRenderingEngine/nodes/HorizontalRuleNode.tsx
1110
- import { jsx as jsx29 } from "react/jsx-runtime";
1193
+ import { jsx as jsx30 } from "react/jsx-runtime";
1111
1194
  var HorizontalRuleNode = () => {
1112
- return /* @__PURE__ */ jsx29("hr", {});
1195
+ return /* @__PURE__ */ jsx30("hr", {});
1113
1196
  };
1114
1197
  var HorizontalRuleNode_default = HorizontalRuleNode;
1115
1198
 
1116
1199
  // src/components/pageRenderingEngine/nodes/WidgetNode.tsx
1117
- import React22 from "react";
1118
- import { Fragment as Fragment4, jsx as jsx30 } from "react/jsx-runtime";
1200
+ import React23 from "react";
1201
+ import { Fragment as Fragment4, jsx as jsx31 } from "react/jsx-runtime";
1119
1202
  var WidgetNode = (props) => {
1120
1203
  const getWidgetParameters = () => {
1121
1204
  const widgetInputParameters = {
@@ -1179,7 +1262,7 @@ var WidgetNode = (props) => {
1179
1262
  };
1180
1263
  const widgetCode = props.node?.widgetCode;
1181
1264
  if (!widgetCode) {
1182
- return /* @__PURE__ */ jsx30(Fragment4, { children: "Invalid widget" });
1265
+ return /* @__PURE__ */ jsx31(Fragment4, { children: "Invalid widget" });
1183
1266
  }
1184
1267
  const widgetParams = getWidgetParameters();
1185
1268
  const WidgetRenderer = props.widgetRenderer;
@@ -1188,7 +1271,7 @@ var WidgetNode = (props) => {
1188
1271
  }
1189
1272
  return (
1190
1273
  // eslint-disable-next-line react-hooks/static-components
1191
- /* @__PURE__ */ jsx30(React22.Fragment, { children: /* @__PURE__ */ jsx30(
1274
+ /* @__PURE__ */ jsx31(React23.Fragment, { children: /* @__PURE__ */ jsx31(
1192
1275
  WidgetRenderer,
1193
1276
  {
1194
1277
  params: widgetParams,
@@ -1206,11 +1289,11 @@ var WidgetNode_default = WidgetNode;
1206
1289
 
1207
1290
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
1208
1291
  import dynamic13 from "next/dynamic";
1209
- import React23 from "react";
1292
+ import React24 from "react";
1210
1293
 
1211
1294
  // src/components/pageRenderingEngine/nodes/EmbedNode.tsx
1212
1295
  import dynamic10 from "next/dynamic";
1213
- import { jsx as jsx31 } from "react/jsx-runtime";
1296
+ import { jsx as jsx32 } from "react/jsx-runtime";
1214
1297
  var IframeClient = dynamic10(() => import("./IframeClient-XEWQLGUQ.mjs"), {
1215
1298
  ssr: false
1216
1299
  });
@@ -1223,7 +1306,7 @@ var EmbedNode = (props) => {
1223
1306
  } else {
1224
1307
  src = props.node.embedSrc;
1225
1308
  }
1226
- return /* @__PURE__ */ jsx31("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx31(IframeClient, { src }) });
1309
+ return /* @__PURE__ */ jsx32("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx32(IframeClient, { src }) });
1227
1310
  };
1228
1311
  var EmbedNode_default = EmbedNode;
1229
1312
 
@@ -1459,10 +1542,10 @@ var PathUtility = class {
1459
1542
  var PathUtility_default = new PathUtility();
1460
1543
 
1461
1544
  // src/components/NoDataFound.tsx
1462
- import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
1545
+ import { jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
1463
1546
  var NoDataFound = () => {
1464
- return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
1465
- /* @__PURE__ */ jsx32("div", { className: "mb-5", children: /* @__PURE__ */ jsx32("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx32(
1547
+ return /* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
1548
+ /* @__PURE__ */ jsx33("div", { className: "mb-5", children: /* @__PURE__ */ jsx33("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx33(
1466
1549
  "svg",
1467
1550
  {
1468
1551
  className: "w-10 h-10",
@@ -1470,7 +1553,7 @@ var NoDataFound = () => {
1470
1553
  stroke: "currentColor",
1471
1554
  viewBox: "0 0 24 24",
1472
1555
  xmlns: "http://www.w3.org/2000/svg",
1473
- children: /* @__PURE__ */ jsx32(
1556
+ children: /* @__PURE__ */ jsx33(
1474
1557
  "path",
1475
1558
  {
1476
1559
  strokeLinecap: "round",
@@ -1481,17 +1564,17 @@ var NoDataFound = () => {
1481
1564
  )
1482
1565
  }
1483
1566
  ) }) }),
1484
- /* @__PURE__ */ jsx32("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
1485
- /* @__PURE__ */ jsx32("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
1567
+ /* @__PURE__ */ jsx33("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
1568
+ /* @__PURE__ */ jsx33("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
1486
1569
  ] });
1487
1570
  };
1488
1571
  var NoDataFound_default = NoDataFound;
1489
1572
 
1490
1573
  // src/components/NoFilterResultsFound.tsx
1491
- import { jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
1574
+ import { jsx as jsx34, jsxs as jsxs13 } from "react/jsx-runtime";
1492
1575
  var NoFilterResultsFound = () => {
1493
- return /* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
1494
- /* @__PURE__ */ jsx33("div", { className: "mb-5", children: /* @__PURE__ */ jsx33("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx33(
1576
+ return /* @__PURE__ */ jsxs13("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
1577
+ /* @__PURE__ */ jsx34("div", { className: "mb-5", children: /* @__PURE__ */ jsx34("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx34(
1495
1578
  "svg",
1496
1579
  {
1497
1580
  className: "w-10 h-10",
@@ -1499,7 +1582,7 @@ var NoFilterResultsFound = () => {
1499
1582
  stroke: "currentColor",
1500
1583
  viewBox: "0 0 24 24",
1501
1584
  xmlns: "http://www.w3.org/2000/svg",
1502
- children: /* @__PURE__ */ jsx33(
1585
+ children: /* @__PURE__ */ jsx34(
1503
1586
  "path",
1504
1587
  {
1505
1588
  strokeLinecap: "round",
@@ -1510,15 +1593,15 @@ var NoFilterResultsFound = () => {
1510
1593
  )
1511
1594
  }
1512
1595
  ) }) }),
1513
- /* @__PURE__ */ jsx33("h3", { className: "text-lg font-medium mb-2", children: "No Results Found" }),
1514
- /* @__PURE__ */ jsx33("p", { className: "max-w-sm mb-0", children: "No data matches the current search query and configured parameters. Try adjusting your search criteria or filters to view available results." })
1596
+ /* @__PURE__ */ jsx34("h3", { className: "text-lg font-medium mb-2", children: "No Results Found" }),
1597
+ /* @__PURE__ */ jsx34("p", { className: "max-w-sm mb-0", children: "No data matches the current search query and configured parameters. Try adjusting your search criteria or filters to view available results." })
1515
1598
  ] });
1516
1599
  };
1517
1600
  var NoFilterResultsFound_default = NoFilterResultsFound;
1518
1601
 
1519
1602
  // src/components/pageRenderingEngine/nodes/ImageGalleryNode.tsx
1520
1603
  import dynamic11 from "next/dynamic";
1521
- import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs13 } from "react/jsx-runtime";
1604
+ import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
1522
1605
  var HlsPlayer3 = dynamic11(() => import("./HlsPlayer-ZGFEVSKL.mjs"), { ssr: false });
1523
1606
  var deviceToMediaQuery = (device) => {
1524
1607
  switch (device) {
@@ -1674,8 +1757,8 @@ var ImageGalleryNode = (props) => {
1674
1757
  right: "justify-end"
1675
1758
  };
1676
1759
  const formatClasses = FormatClass[props.node.format || ""] || "";
1677
- return /* @__PURE__ */ jsxs13(Fragment5, { children: [
1678
- hlsSources.length > 0 && /* @__PURE__ */ jsx34(Fragment5, { children: /* @__PURE__ */ jsx34(
1760
+ return /* @__PURE__ */ jsxs14(Fragment5, { children: [
1761
+ hlsSources.length > 0 && /* @__PURE__ */ jsx35(Fragment5, { children: /* @__PURE__ */ jsx35(
1679
1762
  HlsPlayer3,
1680
1763
  {
1681
1764
  sources: hlsSources,
@@ -1690,7 +1773,7 @@ var ImageGalleryNode = (props) => {
1690
1773
  styles: hlsStyles
1691
1774
  }
1692
1775
  ) }),
1693
- (staticFallback || staticSources.length > 0) && /* @__PURE__ */ jsx34(Fragment5, { children: staticFallback ? /* @__PURE__ */ jsxs13("picture", { children: [
1776
+ (staticFallback || staticSources.length > 0) && /* @__PURE__ */ jsx35(Fragment5, { children: staticFallback ? /* @__PURE__ */ jsxs14("picture", { children: [
1694
1777
  DEVICE_ORDER.map((deviceKey) => {
1695
1778
  const match = staticSources.find(
1696
1779
  (img) => img.device === deviceKey
@@ -1706,7 +1789,7 @@ var ImageGalleryNode = (props) => {
1706
1789
  if (!srcUrl) {
1707
1790
  return null;
1708
1791
  }
1709
- return /* @__PURE__ */ jsx34(
1792
+ return /* @__PURE__ */ jsx35(
1710
1793
  "source",
1711
1794
  {
1712
1795
  media: deviceToMediaQuery(match.device),
@@ -1731,7 +1814,7 @@ var ImageGalleryNode = (props) => {
1731
1814
  if (img.borderRadius) {
1732
1815
  styles.borderRadius = img.borderRadius;
1733
1816
  }
1734
- return /* @__PURE__ */ jsx34(
1817
+ return /* @__PURE__ */ jsx35(
1735
1818
  "img",
1736
1819
  {
1737
1820
  loading: "lazy",
@@ -1746,7 +1829,7 @@ var ImageGalleryNode = (props) => {
1746
1829
  })()
1747
1830
  ] }) : (
1748
1831
  /* Case 2: Only device-specific images exist */
1749
- /* @__PURE__ */ jsx34(Fragment5, { children: staticSources.map((img, index) => {
1832
+ /* @__PURE__ */ jsx35(Fragment5, { children: staticSources.map((img, index) => {
1750
1833
  const resolved = resolveImage(img);
1751
1834
  const imageUrl = resolved?.imageUrl;
1752
1835
  if (!imageUrl) {
@@ -1773,7 +1856,7 @@ var ImageGalleryNode = (props) => {
1773
1856
  default:
1774
1857
  display = "block";
1775
1858
  }
1776
- return /* @__PURE__ */ jsx34(
1859
+ return /* @__PURE__ */ jsx35(
1777
1860
  "img",
1778
1861
  {
1779
1862
  loading: "lazy",
@@ -1913,7 +1996,7 @@ var shouldRenderContainer = (node, dataItem, session) => {
1913
1996
  };
1914
1997
 
1915
1998
  // src/components/pageRenderingEngine/nodes/DocumentNode.tsx
1916
- import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
1999
+ import { Fragment as Fragment6, jsx as jsx36, jsxs as jsxs15 } from "react/jsx-runtime";
1917
2000
  var getNestedValue5 = (obj, path) => {
1918
2001
  if (!obj || !path) return void 0;
1919
2002
  return path.split(".").reduce((current, key) => {
@@ -1944,21 +2027,21 @@ var parseDocuments = (value) => {
1944
2027
  }
1945
2028
  return [];
1946
2029
  };
1947
- var PdfIcon = () => /* @__PURE__ */ jsxs14(
2030
+ var PdfIcon = () => /* @__PURE__ */ jsxs15(
1948
2031
  "svg",
1949
2032
  {
1950
2033
  xmlns: "http://www.w3.org/2000/svg",
1951
2034
  viewBox: "0 0 48 48",
1952
2035
  className: "w-10 h-10",
1953
2036
  children: [
1954
- /* @__PURE__ */ jsx35(
2037
+ /* @__PURE__ */ jsx36(
1955
2038
  "path",
1956
2039
  {
1957
2040
  fill: "#e53935",
1958
2041
  d: "M38,42H10c-2.209,0-4-1.791-4-4V10c0-2.209,1.791-4,4-4h28c2.209,0,4,1.791,4,4v28 C42,40.209,40.209,42,38,42z"
1959
2042
  }
1960
2043
  ),
1961
- /* @__PURE__ */ jsx35(
2044
+ /* @__PURE__ */ jsx36(
1962
2045
  "path",
1963
2046
  {
1964
2047
  fill: "#fff",
@@ -1968,55 +2051,55 @@ var PdfIcon = () => /* @__PURE__ */ jsxs14(
1968
2051
  ]
1969
2052
  }
1970
2053
  );
1971
- var ExcelIcon = () => /* @__PURE__ */ jsxs14(
2054
+ var ExcelIcon = () => /* @__PURE__ */ jsxs15(
1972
2055
  "svg",
1973
2056
  {
1974
2057
  xmlns: "http://www.w3.org/2000/svg",
1975
2058
  viewBox: "0 0 48 48",
1976
2059
  className: "w-10 h-10",
1977
2060
  children: [
1978
- /* @__PURE__ */ jsx35(
2061
+ /* @__PURE__ */ jsx36(
1979
2062
  "path",
1980
2063
  {
1981
2064
  fill: "#169154",
1982
2065
  d: "M29,6H15.744C14.781,6,14,6.781,14,7.744v7.259h15V6z"
1983
2066
  }
1984
2067
  ),
1985
- /* @__PURE__ */ jsx35(
2068
+ /* @__PURE__ */ jsx36(
1986
2069
  "path",
1987
2070
  {
1988
2071
  fill: "#18482a",
1989
2072
  d: "M14,33.054v7.202C14,41.219,14.781,42,15.743,42H29v-8.946H14z"
1990
2073
  }
1991
2074
  ),
1992
- /* @__PURE__ */ jsx35("path", { fill: "#0c8045", d: "M14 15.003H29V24.005000000000003H14z" }),
1993
- /* @__PURE__ */ jsx35("path", { fill: "#17472a", d: "M14 24.005H29V33.055H14z" }),
1994
- /* @__PURE__ */ jsxs14("g", { children: [
1995
- /* @__PURE__ */ jsx35(
2075
+ /* @__PURE__ */ jsx36("path", { fill: "#0c8045", d: "M14 15.003H29V24.005000000000003H14z" }),
2076
+ /* @__PURE__ */ jsx36("path", { fill: "#17472a", d: "M14 24.005H29V33.055H14z" }),
2077
+ /* @__PURE__ */ jsxs15("g", { children: [
2078
+ /* @__PURE__ */ jsx36(
1996
2079
  "path",
1997
2080
  {
1998
2081
  fill: "#29c27f",
1999
2082
  d: "M42.256,6H29v9.003h15V7.744C44,6.781,43.219,6,42.256,6z"
2000
2083
  }
2001
2084
  ),
2002
- /* @__PURE__ */ jsx35(
2085
+ /* @__PURE__ */ jsx36(
2003
2086
  "path",
2004
2087
  {
2005
2088
  fill: "#27663f",
2006
2089
  d: "M29,33.054V42h13.257C43.219,42,44,41.219,44,40.257v-7.202H29z"
2007
2090
  }
2008
2091
  ),
2009
- /* @__PURE__ */ jsx35("path", { fill: "#19ac65", d: "M29 15.003H44V24.005000000000003H29z" }),
2010
- /* @__PURE__ */ jsx35("path", { fill: "#129652", d: "M29 24.005H44V33.055H29z" })
2092
+ /* @__PURE__ */ jsx36("path", { fill: "#19ac65", d: "M29 15.003H44V24.005000000000003H29z" }),
2093
+ /* @__PURE__ */ jsx36("path", { fill: "#129652", d: "M29 24.005H44V33.055H29z" })
2011
2094
  ] }),
2012
- /* @__PURE__ */ jsx35(
2095
+ /* @__PURE__ */ jsx36(
2013
2096
  "path",
2014
2097
  {
2015
2098
  fill: "#0c7238",
2016
2099
  d: "M22.319,34H5.681C4.753,34,4,33.247,4,32.319V15.681C4,14.753,4.753,14,5.681,14h16.638 C23.247,14,24,14.753,24,15.681v16.638C24,33.247,23.247,34,22.319,34z"
2017
2100
  }
2018
2101
  ),
2019
- /* @__PURE__ */ jsx35(
2102
+ /* @__PURE__ */ jsx36(
2020
2103
  "path",
2021
2104
  {
2022
2105
  fill: "#fff",
@@ -2026,7 +2109,7 @@ var ExcelIcon = () => /* @__PURE__ */ jsxs14(
2026
2109
  ]
2027
2110
  }
2028
2111
  );
2029
- var WordIcon = () => /* @__PURE__ */ jsxs14(
2112
+ var WordIcon = () => /* @__PURE__ */ jsxs15(
2030
2113
  "svg",
2031
2114
  {
2032
2115
  xmlns: "http://www.w3.org/2000/svg",
@@ -2034,14 +2117,14 @@ var WordIcon = () => /* @__PURE__ */ jsxs14(
2034
2117
  className: "w-10 h-10",
2035
2118
  baseProfile: "basic",
2036
2119
  children: [
2037
- /* @__PURE__ */ jsx35(
2120
+ /* @__PURE__ */ jsx36(
2038
2121
  "path",
2039
2122
  {
2040
2123
  fill: "#283593",
2041
2124
  d: "M9,33.595l14.911-18.706L41,26v13.306C41,41.346,39.346,43,37.306,43H15.332 C11.835,43,9,40.164,9,36.667C9,36.667,9,33.595,9,33.595z"
2042
2125
  }
2043
2126
  ),
2044
- /* @__PURE__ */ jsxs14(
2127
+ /* @__PURE__ */ jsxs15(
2045
2128
  "linearGradient",
2046
2129
  {
2047
2130
  id: "qh2LT5tehRDFkLLfb-odWa",
@@ -2052,19 +2135,19 @@ var WordIcon = () => /* @__PURE__ */ jsxs14(
2052
2135
  gradientTransform: "translate(0 -339.89)",
2053
2136
  gradientUnits: "userSpaceOnUse",
2054
2137
  children: [
2055
- /* @__PURE__ */ jsx35("stop", { offset: "0", "stop-color": "#66c0ff" }),
2056
- /* @__PURE__ */ jsx35("stop", { offset: ".26", "stop-color": "#0094f0" })
2138
+ /* @__PURE__ */ jsx36("stop", { offset: "0", "stop-color": "#66c0ff" }),
2139
+ /* @__PURE__ */ jsx36("stop", { offset: ".26", "stop-color": "#0094f0" })
2057
2140
  ]
2058
2141
  }
2059
2142
  ),
2060
- /* @__PURE__ */ jsx35(
2143
+ /* @__PURE__ */ jsx36(
2061
2144
  "path",
2062
2145
  {
2063
2146
  fill: "url(#qh2LT5tehRDFkLLfb-odWa)",
2064
2147
  d: "M9,20.208c0-2.624,2.126-4.75,4.749-4.75h21.857L41,12.778v13.527 C41,28.346,39.346,30,37.306,30H15.332C11.835,30,9,32.836,9,36.333L9,20.208L9,20.208z"
2065
2148
  }
2066
2149
  ),
2067
- /* @__PURE__ */ jsx35(
2150
+ /* @__PURE__ */ jsx36(
2068
2151
  "path",
2069
2152
  {
2070
2153
  fill: "#1e88e5",
@@ -2072,21 +2155,21 @@ var WordIcon = () => /* @__PURE__ */ jsxs14(
2072
2155
  d: "M9,20.208c0-2.624,2.126-4.75,4.749-4.75h21.857L41,12.778v13.527 C41,28.346,39.346,30,37.306,30H15.332C11.835,30,9,32.836,9,36.333L9,20.208L9,20.208z"
2073
2156
  }
2074
2157
  ),
2075
- /* @__PURE__ */ jsx35(
2158
+ /* @__PURE__ */ jsx36(
2076
2159
  "path",
2077
2160
  {
2078
2161
  fill: "#00e5ff",
2079
2162
  d: "M9,10.333C9,6.836,11.835,4,15.332,4h21.975C39.346,4,41,5.654,41,7.694v5.611 C41,15.346,39.346,17,37.306,17H15.332C11.835,17,9,19.836,9,23.333C9,23.333,9,10.333,9,10.333z"
2080
2163
  }
2081
2164
  ),
2082
- /* @__PURE__ */ jsx35(
2165
+ /* @__PURE__ */ jsx36(
2083
2166
  "path",
2084
2167
  {
2085
2168
  fill: "#1565c0",
2086
2169
  d: "M7.5,23h10c1.933,0,3.5,1.567,3.5,3.5v10c0,1.933-1.567,3.5-3.5,3.5h-10C5.567,40,4,38.433,4,36.5 v-10C4,24.567,5.567,23,7.5,23z"
2087
2170
  }
2088
2171
  ),
2089
- /* @__PURE__ */ jsx35(
2172
+ /* @__PURE__ */ jsx36(
2090
2173
  "path",
2091
2174
  {
2092
2175
  fill: "#fff",
@@ -2096,42 +2179,42 @@ var WordIcon = () => /* @__PURE__ */ jsxs14(
2096
2179
  ]
2097
2180
  }
2098
2181
  );
2099
- var StandardIcon = () => /* @__PURE__ */ jsxs14(
2182
+ var StandardIcon = () => /* @__PURE__ */ jsxs15(
2100
2183
  "svg",
2101
2184
  {
2102
2185
  xmlns: "http://www.w3.org/2000/svg",
2103
2186
  viewBox: "0 0 48 48",
2104
2187
  className: "w-10 h-10",
2105
2188
  children: [
2106
- /* @__PURE__ */ jsx35("path", { fill: "#90CAF9", d: "M40 45L8 45 8 3 30 3 40 13z" }),
2107
- /* @__PURE__ */ jsx35("path", { fill: "#E1F5FE", d: "M38.5 14L29 14 29 4.5z" })
2189
+ /* @__PURE__ */ jsx36("path", { fill: "#90CAF9", d: "M40 45L8 45 8 3 30 3 40 13z" }),
2190
+ /* @__PURE__ */ jsx36("path", { fill: "#E1F5FE", d: "M38.5 14L29 14 29 4.5z" })
2108
2191
  ]
2109
2192
  }
2110
2193
  );
2111
- var PowerPointIcon = () => /* @__PURE__ */ jsxs14(
2194
+ var PowerPointIcon = () => /* @__PURE__ */ jsxs15(
2112
2195
  "svg",
2113
2196
  {
2114
2197
  xmlns: "http://www.w3.org/2000/svg",
2115
2198
  viewBox: "0 0 48 48",
2116
2199
  className: "w-10 h-10",
2117
2200
  children: [
2118
- /* @__PURE__ */ jsx35(
2201
+ /* @__PURE__ */ jsx36(
2119
2202
  "path",
2120
2203
  {
2121
2204
  fill: "#dc4c2c",
2122
2205
  d: "M8,24c0,9.941,8.059,18,18,18s18-8.059,18-18H26H8z"
2123
2206
  }
2124
2207
  ),
2125
- /* @__PURE__ */ jsx35("path", { fill: "#f7a278", d: "M26,6v18h18C44,14.059,35.941,6,26,6z" }),
2126
- /* @__PURE__ */ jsx35("path", { fill: "#c06346", d: "M26,6C16.059,6,8,14.059,8,24h18V6z" }),
2127
- /* @__PURE__ */ jsx35(
2208
+ /* @__PURE__ */ jsx36("path", { fill: "#f7a278", d: "M26,6v18h18C44,14.059,35.941,6,26,6z" }),
2209
+ /* @__PURE__ */ jsx36("path", { fill: "#c06346", d: "M26,6C16.059,6,8,14.059,8,24h18V6z" }),
2210
+ /* @__PURE__ */ jsx36(
2128
2211
  "path",
2129
2212
  {
2130
2213
  fill: "#9b341f",
2131
2214
  d: "M22.319,34H5.681C4.753,34,4,33.247,4,32.319V15.681C4,14.753,4.753,14,5.681,14h16.638 C23.247,14,24,14.753,24,15.681v16.638C24,33.247,23.247,34,22.319,34z"
2132
2215
  }
2133
2216
  ),
2134
- /* @__PURE__ */ jsx35(
2217
+ /* @__PURE__ */ jsx36(
2135
2218
  "path",
2136
2219
  {
2137
2220
  fill: "#fff",
@@ -2141,16 +2224,16 @@ var PowerPointIcon = () => /* @__PURE__ */ jsxs14(
2141
2224
  ]
2142
2225
  }
2143
2226
  );
2144
- var TextIcon = () => /* @__PURE__ */ jsxs14(
2227
+ var TextIcon = () => /* @__PURE__ */ jsxs15(
2145
2228
  "svg",
2146
2229
  {
2147
2230
  xmlns: "http://www.w3.org/2000/svg",
2148
2231
  viewBox: "0 0 48 48",
2149
2232
  className: "w-10 h-10",
2150
2233
  children: [
2151
- /* @__PURE__ */ jsx35("path", { fill: "#90CAF9", d: "M40 45L8 45 8 3 30 3 40 13z" }),
2152
- /* @__PURE__ */ jsx35("path", { fill: "#E1F5FE", d: "M38.5 14L29 14 29 4.5z" }),
2153
- /* @__PURE__ */ jsx35(
2234
+ /* @__PURE__ */ jsx36("path", { fill: "#90CAF9", d: "M40 45L8 45 8 3 30 3 40 13z" }),
2235
+ /* @__PURE__ */ jsx36("path", { fill: "#E1F5FE", d: "M38.5 14L29 14 29 4.5z" }),
2236
+ /* @__PURE__ */ jsx36(
2154
2237
  "path",
2155
2238
  {
2156
2239
  fill: "#1976D2",
@@ -2160,7 +2243,7 @@ var TextIcon = () => /* @__PURE__ */ jsxs14(
2160
2243
  ]
2161
2244
  }
2162
2245
  );
2163
- var ArchiveIcon = () => /* @__PURE__ */ jsxs14(
2246
+ var ArchiveIcon = () => /* @__PURE__ */ jsxs15(
2164
2247
  "svg",
2165
2248
  {
2166
2249
  xmlns: "http://www.w3.org/2000/svg",
@@ -2170,14 +2253,14 @@ var ArchiveIcon = () => /* @__PURE__ */ jsxs14(
2170
2253
  version: "1.0",
2171
2254
  className: "w-10 h-10",
2172
2255
  children: [
2173
- /* @__PURE__ */ jsx35("defs", { children: /* @__PURE__ */ jsx35("clipPath", { id: "273d29c8a6", children: /* @__PURE__ */ jsx35(
2256
+ /* @__PURE__ */ jsx36("defs", { children: /* @__PURE__ */ jsx36("clipPath", { id: "273d29c8a6", children: /* @__PURE__ */ jsx36(
2174
2257
  "path",
2175
2258
  {
2176
2259
  d: "M 8.90625 0 L 65.90625 0 L 65.90625 75 L 8.90625 75 Z M 8.90625 0 ",
2177
2260
  "clip-rule": "nonzero"
2178
2261
  }
2179
2262
  ) }) }),
2180
- /* @__PURE__ */ jsx35("g", { "clip-path": "url(#273d29c8a6)", children: /* @__PURE__ */ jsx35(
2263
+ /* @__PURE__ */ jsx36("g", { "clip-path": "url(#273d29c8a6)", children: /* @__PURE__ */ jsx36(
2181
2264
  "path",
2182
2265
  {
2183
2266
  fill: "#ff9100",
@@ -2186,7 +2269,7 @@ var ArchiveIcon = () => /* @__PURE__ */ jsxs14(
2186
2269
  "fill-rule": "nonzero"
2187
2270
  }
2188
2271
  ) }),
2189
- /* @__PURE__ */ jsx35(
2272
+ /* @__PURE__ */ jsx36(
2190
2273
  "path",
2191
2274
  {
2192
2275
  fill: "#fbe9e7",
@@ -2195,7 +2278,7 @@ var ArchiveIcon = () => /* @__PURE__ */ jsxs14(
2195
2278
  "fill-rule": "nonzero"
2196
2279
  }
2197
2280
  ),
2198
- /* @__PURE__ */ jsx35(
2281
+ /* @__PURE__ */ jsx36(
2199
2282
  "path",
2200
2283
  {
2201
2284
  fill: "#ffe0b2",
@@ -2204,7 +2287,7 @@ var ArchiveIcon = () => /* @__PURE__ */ jsxs14(
2204
2287
  "fill-rule": "nonzero"
2205
2288
  }
2206
2289
  ),
2207
- /* @__PURE__ */ jsx35(
2290
+ /* @__PURE__ */ jsx36(
2208
2291
  "path",
2209
2292
  {
2210
2293
  fill: "#ffe0b2",
@@ -2213,7 +2296,7 @@ var ArchiveIcon = () => /* @__PURE__ */ jsxs14(
2213
2296
  "fill-rule": "nonzero"
2214
2297
  }
2215
2298
  ),
2216
- /* @__PURE__ */ jsx35(
2299
+ /* @__PURE__ */ jsx36(
2217
2300
  "path",
2218
2301
  {
2219
2302
  fill: "#ffe0b2",
@@ -2263,8 +2346,8 @@ var DocumentNode = (props) => {
2263
2346
  documents = parseDocuments(props.node.documentAsset);
2264
2347
  }
2265
2348
  if (documents.length === 0) {
2266
- return /* @__PURE__ */ jsx35(Fragment6, { children: /* @__PURE__ */ jsxs14("div", { className: "py-4 px-2 bg-neutral-weak border rounded text-center flex flex-col gap-2", children: [
2267
- /* @__PURE__ */ jsx35("div", { className: "mx-auto w-10 h-10 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx35(
2349
+ return /* @__PURE__ */ jsx36(Fragment6, { children: /* @__PURE__ */ jsxs15("div", { className: "py-4 px-2 bg-neutral-weak border rounded text-center flex flex-col gap-2", children: [
2350
+ /* @__PURE__ */ jsx36("div", { className: "mx-auto w-10 h-10 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx36(
2268
2351
  "svg",
2269
2352
  {
2270
2353
  className: "w-5 h-5",
@@ -2272,7 +2355,7 @@ var DocumentNode = (props) => {
2272
2355
  stroke: "currentColor",
2273
2356
  viewBox: "0 0 24 24",
2274
2357
  xmlns: "http://www.w3.org/2000/svg",
2275
- children: /* @__PURE__ */ jsx35(
2358
+ children: /* @__PURE__ */ jsx36(
2276
2359
  "path",
2277
2360
  {
2278
2361
  strokeLinecap: "round",
@@ -2283,11 +2366,11 @@ var DocumentNode = (props) => {
2283
2366
  )
2284
2367
  }
2285
2368
  ) }),
2286
- /* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "No documents found" }),
2287
- /* @__PURE__ */ jsx35("div", { className: "text-xs", children: "No records found. Data may be empty or not available at the moment." })
2369
+ /* @__PURE__ */ jsx36("div", { className: "text-sm font-medium", children: "No documents found" }),
2370
+ /* @__PURE__ */ jsx36("div", { className: "text-xs", children: "No records found. Data may be empty or not available at the moment." })
2288
2371
  ] }) });
2289
2372
  }
2290
- return /* @__PURE__ */ jsx35("div", { className: "", children: documents.map((doc, index) => {
2373
+ return /* @__PURE__ */ jsx36("div", { className: "", children: documents.map((doc, index) => {
2291
2374
  const documentUrl = AssetUtility_default.resolveUrl(
2292
2375
  props.assetBaseUrl,
2293
2376
  doc.assetUrl
@@ -2305,16 +2388,16 @@ var DocumentNode = (props) => {
2305
2388
  }
2306
2389
  }
2307
2390
  const { Icon, extLabel } = getFileDetails(documentUrl);
2308
- return /* @__PURE__ */ jsxs14(
2391
+ return /* @__PURE__ */ jsxs15(
2309
2392
  "div",
2310
2393
  {
2311
2394
  className: `flex items-center justify-between py-4 bg-default gap-4 ${index !== 0 ? "border-t" : ""}`,
2312
2395
  children: [
2313
- /* @__PURE__ */ jsxs14("div", { className: "flex items-center space-x-4 min-w-0", children: [
2314
- /* @__PURE__ */ jsx35("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ jsx35(Icon, {}) }),
2315
- /* @__PURE__ */ jsx35("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ jsx35("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
2396
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center space-x-4 min-w-0", children: [
2397
+ /* @__PURE__ */ jsx36("div", { className: "flex items-center justify-center p-2 rounded bg-neutral-soft shrink-0", children: /* @__PURE__ */ jsx36(Icon, {}) }),
2398
+ /* @__PURE__ */ jsx36("div", { className: "flex items-baseline space-x-2 min-w-0", children: /* @__PURE__ */ jsx36("h4", { className: "text-base font-semibold truncate", title: documentTitle, children: documentTitle }) })
2316
2399
  ] }),
2317
- /* @__PURE__ */ jsxs14(
2400
+ /* @__PURE__ */ jsxs15(
2318
2401
  "a",
2319
2402
  {
2320
2403
  href: documentUrl,
@@ -2322,7 +2405,7 @@ var DocumentNode = (props) => {
2322
2405
  rel: "noopener noreferrer",
2323
2406
  className: "inline-flex items-center px-4 py-2 text-sm font-medium bg-default border rounded focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors shrink-0",
2324
2407
  children: [
2325
- /* @__PURE__ */ jsxs14(
2408
+ /* @__PURE__ */ jsxs15(
2326
2409
  "svg",
2327
2410
  {
2328
2411
  className: "w-4 h-4 mr-2",
@@ -2330,7 +2413,7 @@ var DocumentNode = (props) => {
2330
2413
  stroke: "currentColor",
2331
2414
  viewBox: "0 0 24 24",
2332
2415
  children: [
2333
- /* @__PURE__ */ jsx35(
2416
+ /* @__PURE__ */ jsx36(
2334
2417
  "path",
2335
2418
  {
2336
2419
  strokeLinecap: "round",
@@ -2339,7 +2422,7 @@ var DocumentNode = (props) => {
2339
2422
  d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
2340
2423
  }
2341
2424
  ),
2342
- /* @__PURE__ */ jsx35(
2425
+ /* @__PURE__ */ jsx36(
2343
2426
  "path",
2344
2427
  {
2345
2428
  strokeLinecap: "round",
@@ -2365,13 +2448,13 @@ var DocumentNode_default = DocumentNode;
2365
2448
 
2366
2449
  // src/components/pageRenderingEngine/nodes/GoogleMapNode.tsx
2367
2450
  import dynamic12 from "next/dynamic";
2368
- import { jsx as jsx36 } from "react/jsx-runtime";
2451
+ import { jsx as jsx37 } from "react/jsx-runtime";
2369
2452
  var IframeClient2 = dynamic12(() => import("./IframeClient-XEWQLGUQ.mjs"), {
2370
2453
  ssr: false
2371
2454
  });
2372
2455
  var GoogleMapNode = (props) => {
2373
2456
  let src = props.node.embedUrl;
2374
- return /* @__PURE__ */ jsx36("div", { className: "google-map-container", children: src && /* @__PURE__ */ jsx36(
2457
+ return /* @__PURE__ */ jsx37("div", { className: "google-map-container", children: src && /* @__PURE__ */ jsx37(
2375
2458
  IframeClient2,
2376
2459
  {
2377
2460
  src,
@@ -2383,7 +2466,7 @@ var GoogleMapNode = (props) => {
2383
2466
  var GoogleMapNode_default = GoogleMapNode;
2384
2467
 
2385
2468
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
2386
- import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
2469
+ import { jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
2387
2470
  var Pagination = dynamic13(() => import("./Pagination-RMAXCIL7.mjs"), { ssr: true });
2388
2471
  var DataBindingControls = dynamic13(() => import("./DataBindingControls-Z2AHWFYX.mjs"), {
2389
2472
  ssr: true
@@ -2570,7 +2653,8 @@ var DivContainer = async (props) => {
2570
2653
  datafield: DatafieldNode_default,
2571
2654
  "svg-icon": SVGIconNode_default,
2572
2655
  document: DocumentNode_default,
2573
- "google-map": GoogleMapNode_default
2656
+ "google-map": GoogleMapNode_default,
2657
+ counter: CounterNode_default
2574
2658
  };
2575
2659
  const styles = props.node.cssProperties;
2576
2660
  const mobileStyles = props.node.mobileCssProperties;
@@ -2668,7 +2752,7 @@ var DivContainer = async (props) => {
2668
2752
  }
2669
2753
  const SelectedNode = NodeTypes2[node.type];
2670
2754
  if (!SelectedNode) return null;
2671
- return /* @__PURE__ */ jsx37(React23.Fragment, { children: /* @__PURE__ */ jsx37(
2755
+ return /* @__PURE__ */ jsx38(React24.Fragment, { children: /* @__PURE__ */ jsx38(
2672
2756
  SelectedNode,
2673
2757
  {
2674
2758
  node,
@@ -2760,7 +2844,7 @@ var DivContainer = async (props) => {
2760
2844
  item,
2761
2845
  idx,
2762
2846
  props.href ? void 0 : item?.links?.view
2763
- )?.map((child, i) => /* @__PURE__ */ jsx37(React23.Fragment, { children: child }, i)) : renderChildren(props.node.children, props, item, idx)
2847
+ )?.map((child, i) => /* @__PURE__ */ jsx38(React24.Fragment, { children: child }, i)) : renderChildren(props.node.children, props, item, idx)
2764
2848
  );
2765
2849
  }
2766
2850
  return props.node.children.flatMap((node, childIndex) => {
@@ -2878,17 +2962,17 @@ var DivContainer = async (props) => {
2878
2962
  dataBindingProperties?.showFacets || dataBindingProperties?.showSortOptions || dataBindingProperties?.showSearchBar
2879
2963
  );
2880
2964
  const WrapperComponent = Wrapper;
2881
- const renderedContainer = /* @__PURE__ */ jsx37(
2965
+ const renderedContainer = /* @__PURE__ */ jsx38(
2882
2966
  WrapperComponent,
2883
2967
  {
2884
2968
  id: guid,
2885
2969
  style: combinedStyles,
2886
2970
  className: classNames || void 0,
2887
2971
  ...wrapperProps,
2888
- children: shouldShowNoDataMessage ? hasActiveFilter ? /* @__PURE__ */ jsx37(NoFilterResultsFound_default, {}) : /* @__PURE__ */ jsx37(NoDataFound_default, {}) : renderContainerChildren()
2972
+ children: shouldShowNoDataMessage ? hasActiveFilter ? /* @__PURE__ */ jsx38(NoFilterResultsFound_default, {}) : /* @__PURE__ */ jsx38(NoDataFound_default, {}) : renderContainerChildren()
2889
2973
  }
2890
2974
  );
2891
- const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ jsx37(
2975
+ const paginationControl = dataBindingProperties?.enablePagination ? /* @__PURE__ */ jsx38(
2892
2976
  Pagination,
2893
2977
  {
2894
2978
  path: props.path,
@@ -2896,15 +2980,15 @@ var DivContainer = async (props) => {
2896
2980
  dataset: response
2897
2981
  }
2898
2982
  ) : null;
2899
- return /* @__PURE__ */ jsxs15(React23.Fragment, { children: [
2900
- /* @__PURE__ */ jsx37(
2983
+ return /* @__PURE__ */ jsxs16(React24.Fragment, { children: [
2984
+ /* @__PURE__ */ jsx38(
2901
2985
  "style",
2902
2986
  {
2903
2987
  dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS }
2904
2988
  }
2905
2989
  ),
2906
- showDataBindingControls ? /* @__PURE__ */ jsxs15(React23.Fragment, { children: [
2907
- /* @__PURE__ */ jsx37(
2990
+ showDataBindingControls ? /* @__PURE__ */ jsxs16(React24.Fragment, { children: [
2991
+ /* @__PURE__ */ jsx38(
2908
2992
  DataBindingControls,
2909
2993
  {
2910
2994
  mode: "toolbar",
@@ -2917,16 +3001,16 @@ var DivContainer = async (props) => {
2917
3001
  showSearchBar: dataBindingProperties?.showSearchBar
2918
3002
  }
2919
3003
  ),
2920
- /* @__PURE__ */ jsxs15(
3004
+ /* @__PURE__ */ jsxs16(
2921
3005
  "div",
2922
3006
  {
2923
3007
  className: dataBindingProperties?.showFacets ? "grid items-start gap-6 lg:grid-cols-[minmax(0,1fr)_18rem]" : void 0,
2924
3008
  children: [
2925
- /* @__PURE__ */ jsxs15("div", { className: "min-w-0", children: [
3009
+ /* @__PURE__ */ jsxs16("div", { className: "min-w-0", children: [
2926
3010
  renderedContainer,
2927
3011
  paginationControl
2928
3012
  ] }),
2929
- dataBindingProperties?.showFacets && /* @__PURE__ */ jsx37("aside", { className: "hidden lg:block", children: /* @__PURE__ */ jsx37(
3013
+ dataBindingProperties?.showFacets && /* @__PURE__ */ jsx38("aside", { className: "hidden lg:block", children: /* @__PURE__ */ jsx38(
2930
3014
  DataBindingControls,
2931
3015
  {
2932
3016
  mode: "facets",
@@ -2939,16 +3023,16 @@ var DivContainer = async (props) => {
2939
3023
  ]
2940
3024
  }
2941
3025
  )
2942
- ] }) : /* @__PURE__ */ jsxs15(React23.Fragment, { children: [
3026
+ ] }) : /* @__PURE__ */ jsxs16(React24.Fragment, { children: [
2943
3027
  renderedContainer,
2944
- paginationControl && /* @__PURE__ */ jsx37("div", { children: paginationControl })
3028
+ paginationControl && /* @__PURE__ */ jsx38("div", { children: paginationControl })
2945
3029
  ] })
2946
3030
  ] });
2947
3031
  };
2948
3032
  var DivContainer_default = DivContainer;
2949
3033
 
2950
3034
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
2951
- import { jsx as jsx38 } from "react/jsx-runtime";
3035
+ import { jsx as jsx39 } from "react/jsx-runtime";
2952
3036
  var NodeTypes = {
2953
3037
  ["paragraph"]: ParagraphNode_default,
2954
3038
  ["heading"]: HeadingNode_default,
@@ -2964,7 +3048,8 @@ var NodeTypes = {
2964
3048
  ["svg-icon"]: SVGIconNode_default,
2965
3049
  ["embed"]: EmbedNode_default,
2966
3050
  ["document"]: DocumentNode_default,
2967
- ["google-map"]: GoogleMapNode_default
3051
+ ["google-map"]: GoogleMapNode_default,
3052
+ ["counter"]: CounterNode_default
2968
3053
  };
2969
3054
  var PageBodyRenderer = (props) => {
2970
3055
  let pageBodyTree;
@@ -2986,14 +3071,14 @@ var PageBodyRenderer = (props) => {
2986
3071
  }
2987
3072
  return true;
2988
3073
  };
2989
- return /* @__PURE__ */ jsx38(React24.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
3074
+ return /* @__PURE__ */ jsx39(React25.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
2990
3075
  {
2991
3076
  }
2992
3077
  const SelectedNode = NodeTypes[node.type];
2993
3078
  if (!shouldRenderNode(node)) {
2994
3079
  return null;
2995
3080
  }
2996
- return /* @__PURE__ */ jsx38(React24.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx38(React24.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ jsx38(React24.Fragment, { children: /* @__PURE__ */ jsx38(
3081
+ return /* @__PURE__ */ jsx39(React25.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx39(React25.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ jsx39(React25.Fragment, { children: /* @__PURE__ */ jsx39(
2997
3082
  SelectedNode,
2998
3083
  {
2999
3084
  node,
@@ -3009,7 +3094,7 @@ var PageBodyRenderer = (props) => {
3009
3094
  device: props.device,
3010
3095
  widgetRenderer: props.widgetRenderer
3011
3096
  }
3012
- ) }) : /* @__PURE__ */ jsx38(React24.Fragment, { children: /* @__PURE__ */ jsx38(
3097
+ ) }) : /* @__PURE__ */ jsx39(React25.Fragment, { children: /* @__PURE__ */ jsx39(
3013
3098
  SelectedNode,
3014
3099
  {
3015
3100
  node,