@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260326083242 → 0.8.1-dev.20260326105727

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,6 +1,11 @@
1
1
  import {
2
2
  HlsPlayer_default
3
3
  } from "./chunk-CVVLFQ4J.mjs";
4
+ import {
5
+ Button_default,
6
+ ServiceClient_default,
7
+ buttonClasses
8
+ } from "./chunk-3IDT4246.mjs";
4
9
 
5
10
  // src/components/pageRenderingEngine/nodes/WidgetRegistry.tsx
6
11
  var registry = {};
@@ -346,7 +351,7 @@ var ViewControl = (props) => {
346
351
  var ViewControl_default = ViewControl;
347
352
 
348
353
  // src/components/controls/edit/InputControl.tsx
349
- import React29 from "react";
354
+ import React26 from "react";
350
355
 
351
356
  // src/components/controls/edit/MultilineTextInput.tsx
352
357
  import React10 from "react";
@@ -1210,229 +1215,24 @@ var SelectWithSearchInput = (props) => {
1210
1215
  };
1211
1216
  var SelectWithSearchInput_default = SelectWithSearchInput;
1212
1217
 
1213
- // src/components/Button.tsx
1214
- import React24, { useState as useState4 } from "react";
1215
-
1216
- // src/components/ToastService.tsx
1217
- var ToastService = class _ToastService {
1218
- static initialize(showToast, closeToast) {
1219
- _ToastService.showToast = showToast;
1220
- _ToastService.closeToast = closeToast;
1221
- }
1222
- static showError(message) {
1223
- if (_ToastService.showToast) {
1224
- _ToastService.showToast(message, "error");
1225
- }
1226
- }
1227
- static showInfo(message) {
1228
- if (_ToastService.showToast) {
1229
- _ToastService.showToast(message, "info");
1230
- }
1231
- }
1232
- static close() {
1233
- if (_ToastService.closeToast) {
1234
- _ToastService.closeToast();
1235
- }
1236
- }
1237
- };
1238
- var ToastService_default = ToastService;
1239
-
1240
- // src/components/StyleTypes.tsx
1241
- var buttonClasses = /* @__PURE__ */ new Map([
1242
- ["Primary" /* Solid */, "btn-solid"],
1243
- ["PrimaryHollow" /* Hollow */, "btn-hollow"],
1244
- ["Link" /* Link */, "btn-link"]
1245
- // [StyleTypes.Solid, "relative inline-flex items-center justify-center bg-gradient-to-b from-secondary to-secondary-strong rounded px-4 py-3 lg:py-2 font-medium shadow-sm hover:shadow-lg focus:outline-none active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed transition duration-150 ease-in-out text-body hover:bg-secondary-strong"],
1246
- // [StyleTypes.Solid, "relative inline-flex items-center justify-center bg-neutral-strong rounded px-4 py-3 lg:py-2 font-medium shadow-sm hover:shadow-lg focus:outline-none active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed transition duration-150 ease-in-out text-body hover:bg-neutral-stronger"],
1247
- // [StyleTypes.Hollow, "inline-flex font-medium items-center justify-center px-4 py-3 lg:py-2 transparent border-primary border text-primary rounded hover:shadow-md focus:outline-none transition duration-150 ease-in-out active:scale-95"],
1248
- // [StyleTypes.Hollow, "inline-flex font-medium items-center justify-center px-4 py-3 lg:py-2 transparent border-secondary border text-secondary rounded hover:shadow-md focus:outline-none transition duration-150 ease-in-out active:scale-95"],
1249
- // [StyleTypes.Hollow, "inline-flex font-medium items-center justify-center px-4 py-3 lg:py-2 transparent border-neutral border text-neutral rounded hover:shadow-md focus:outline-none transition duration-150 ease-in-out active:scale-95"],
1250
- // [StyleTypes.Ripple, "px-3 py-1.5 inline-flex items-center text-sm font-medium rounded border-[1.5px] border-primary ripple btn-bg-primary btn-primary-text"],
1251
- // [StyleTypes.Danger, "inline-flex text-sm font-medium items-center justify-center px-4 py-2 border border-alert bg-alert text-white rounded hover:bg-alert-600 hover:border-alert-600 focus:outline-none active:ring-1 active:ring-alert"],
1252
- // [StyleTypes.Link, ""],
1253
- // [StyleTypes.Light, "inline-flex items-center justify-center rounded bg-white border px-4 py-2 leading-6 text-primary shadow-sm hover:shadow focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-50 disabled:cursor-not-allowed"],
1254
- ]);
1255
- var progressClasses = /* @__PURE__ */ new Map([
1256
- ["Primary" /* Solid */, ""],
1257
- ["PrimaryHollow" /* Hollow */, ""],
1258
- // [StyleTypes.Solid, ""],
1259
- // [StyleTypes.Hollow, ""],
1260
- // [StyleTypes.Solid, ""],
1261
- // [StyleTypes.Hollow, ""],
1262
- // [StyleTypes.Ripple, ""],
1263
- // [StyleTypes.Danger, ""],
1264
- ["Link" /* Link */, ""]
1265
- ]);
1266
-
1267
- // src/components/Confirm.tsx
1268
- import { useState as useState3 } from "react";
1269
-
1270
- // src/components/ClientButton.tsx
1271
- import React22 from "react";
1272
- import { jsx as jsx22 } from "react/jsx-runtime";
1273
- var ClientButton = (props) => {
1274
- const execute = async (event) => {
1275
- if (props.onClick !== void 0) {
1276
- props.onClick();
1277
- } else {
1278
- ToastService_default.showError("No action defined.");
1279
- }
1280
- };
1281
- let buttonClass = props.ButtonType ? buttonClasses.get(props.ButtonType) : buttonClasses.get("Primary" /* Solid */);
1282
- return /* @__PURE__ */ jsx22(React22.Fragment, { children: /* @__PURE__ */ jsx22(
1283
- "button",
1284
- {
1285
- type: "button",
1286
- onClick: execute,
1287
- className: buttonClass + " " + props.className,
1288
- children: props.children
1289
- }
1290
- ) });
1291
- };
1292
- var ClientButton_default = ClientButton;
1293
-
1294
- // src/components/Confirm.tsx
1295
- import { Fragment, jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
1296
- var Confirm = ({ message, onConfirm, onCancel }) => {
1297
- const [showModal, setShowModal] = useState3(true);
1298
- const handleConfirmAction = () => {
1299
- setShowModal(false);
1300
- if (onConfirm) {
1301
- onConfirm();
1302
- }
1303
- };
1304
- const handleCancelAction = () => {
1305
- setShowModal(false);
1306
- if (onCancel) {
1307
- onCancel();
1308
- }
1309
- };
1310
- return /* @__PURE__ */ jsx23(Fragment, { children: showModal && /* @__PURE__ */ jsxs18("div", { className: "fixed inset-0 flex items-center justify-center z-50", children: [
1311
- /* @__PURE__ */ jsx23("div", { className: "absolute inset-0 bg-black opacity-70" }),
1312
- /* @__PURE__ */ jsxs18("div", { className: "bg-white rounded-md p-6 w-2/6 shadow border z-50", children: [
1313
- /* @__PURE__ */ jsx23("p", { className: "text-xl font-medium mb-4", children: "Confirmation" }),
1314
- /* @__PURE__ */ jsx23("p", { className: "mb-4", children: message }),
1315
- /* @__PURE__ */ jsxs18("div", { className: "flex justify-end gap-8", children: [
1316
- /* @__PURE__ */ jsx23(
1317
- ClientButton_default,
1318
- {
1319
- onClick: handleCancelAction,
1320
- ButtonType: "PrimaryHollow" /* Hollow */,
1321
- children: "Cancel"
1322
- }
1323
- ),
1324
- /* @__PURE__ */ jsx23(
1325
- ClientButton_default,
1326
- {
1327
- onClick: handleConfirmAction,
1328
- children: "Confirm"
1329
- }
1330
- )
1331
- ] })
1332
- ] })
1333
- ] }) });
1334
- };
1335
- var Confirm_default = Confirm;
1336
- {
1337
- }
1338
-
1339
- // src/components/Button.tsx
1340
- import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
1341
- var Button = (props) => {
1342
- const [inProgress, setInProgress] = useState4(false);
1343
- const [isActionPerformed, setIsActionPerformed] = useState4(false);
1344
- const [responseMessage, setResponseMessage] = useState4(null);
1345
- const [showModal, setShowModal] = useState4(null);
1346
- const execute = async (event) => {
1347
- event.preventDefault();
1348
- event.stopPropagation();
1349
- if (props.confirm) {
1350
- const confirmed = await showConfirmation("Are you sure you want to delete this item?");
1351
- setShowModal(null);
1352
- if (!confirmed) {
1353
- return;
1354
- }
1355
- }
1356
- if (props.oneTimeAction && isActionPerformed) {
1357
- return;
1358
- }
1359
- setInProgress(true);
1360
- let isValid = true;
1361
- if (props.onValidate !== void 0) {
1362
- isValid = await props.onValidate();
1363
- if (!isValid) {
1364
- setInProgress(false);
1365
- ToastService_default.showError("There are errors in the form. Please fix them before proceeding.");
1366
- return;
1367
- }
1368
- }
1369
- if (props.onClick !== void 0) {
1370
- let response = await props.onClick();
1371
- if (response.isSuccessful) {
1372
- setIsActionPerformed(true);
1373
- setResponseMessage(response.message);
1374
- if (props.showToast) {
1375
- ToastService_default.showInfo(response.message || "");
1376
- }
1377
- } else {
1378
- ToastService_default.showError(response.message || "");
1379
- }
1380
- } else {
1381
- ToastService_default.showError("No action defined.");
1382
- }
1383
- setInProgress(false);
1384
- };
1385
- const showConfirmation = (message) => {
1386
- return new Promise((resolve) => {
1387
- const onConfirm = () => resolve(true);
1388
- const onCancel = () => resolve(false);
1389
- setShowModal(/* @__PURE__ */ jsx24(Confirm_default, { message: props.confirmationMessage, onConfirm, onCancel }));
1390
- });
1391
- };
1392
- let buttonClass = props.ButtonType ? buttonClasses.get(props.ButtonType) : buttonClasses.get("Primary" /* Solid */);
1393
- let progressClass = props.ButtonType ? progressClasses.get(props.ButtonType) : progressClasses.get("Primary" /* Solid */);
1394
- const isDisabled = inProgress || isActionPerformed && props.oneTimeAction;
1395
- return /* @__PURE__ */ jsxs19(React24.Fragment, { children: [
1396
- /* @__PURE__ */ jsxs19(
1397
- "button",
1398
- {
1399
- type: "submit",
1400
- onClick: execute,
1401
- disabled: props.disabled,
1402
- title: isDisabled ? "The button is disabled to prevent any action" : "",
1403
- className: buttonClass + " relative " + props.className,
1404
- children: [
1405
- isActionPerformed && props.oneTimeAction && responseMessage ? responseMessage : props.children,
1406
- inProgress && /* @__PURE__ */ jsx24(React24.Fragment, { children: props.hideProgressIndicator === true ? /* @__PURE__ */ jsx24("div", { className: "absolute bottom-0 left-0 h-0.5 bg-gray-400 rounded animate-progress" }) : /* @__PURE__ */ jsxs19("svg", { className: "animate-spin ml-2 mr-3 h-5 w-5 " + progressClass, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [
1407
- /* @__PURE__ */ jsx24("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
1408
- /* @__PURE__ */ jsx24("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })
1409
- ] }) })
1410
- ]
1411
- }
1412
- ),
1413
- showModal
1414
- ] });
1415
- };
1416
- var Button_default = Button;
1417
-
1418
1218
  // src/components/controls/edit/SelectWithSearchPanel.tsx
1419
- import React25, {
1219
+ import React22, {
1420
1220
  useEffect as useEffect4,
1421
1221
  useRef as useRef2,
1422
- useState as useState5,
1222
+ useState as useState3,
1423
1223
  useCallback
1424
1224
  } from "react";
1425
- import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
1225
+ import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
1426
1226
  var SelectWithSearchPanel = (props) => {
1427
- const [isOpen, setIsOpen] = useState5(false);
1428
- const [searchTerm, setSearchTerm] = useState5("");
1429
- const [highlightedIndex, setHighlightedIndex] = useState5(0);
1430
- const [list, setList] = useState5([]);
1227
+ const [isOpen, setIsOpen] = useState3(false);
1228
+ const [searchTerm, setSearchTerm] = useState3("");
1229
+ const [highlightedIndex, setHighlightedIndex] = useState3(0);
1230
+ const [list, setList] = useState3([]);
1431
1231
  const listRef = useRef2(null);
1432
- const [isError, setIsError] = useState5(false);
1232
+ const [isError, setIsError] = useState3(false);
1433
1233
  const containerRef = useRef2(null);
1434
- const [isCreateOpen, setIsCreateOpen] = useState5(false);
1435
- const [formData, setFormData] = useState5({});
1234
+ const [isCreateOpen, setIsCreateOpen] = useState3(false);
1235
+ const [formData, setFormData] = useState3({});
1436
1236
  const getNestedValue3 = (obj, path) => {
1437
1237
  return path.split(".").reduce((acc, key) => acc?.[key], obj);
1438
1238
  };
@@ -1558,9 +1358,9 @@ var SelectWithSearchPanel = (props) => {
1558
1358
  console.log("Form Data:", formData);
1559
1359
  return formData;
1560
1360
  }, []);
1561
- return /* @__PURE__ */ jsxs20("div", { className: "relative", children: [
1562
- /* @__PURE__ */ jsx25("label", { className: "text-sm mb-1 font-medium", children: props.attributes?.label }),
1563
- /* @__PURE__ */ jsx25("div", { children: /* @__PURE__ */ jsx25(
1361
+ return /* @__PURE__ */ jsxs18("div", { className: "relative", children: [
1362
+ /* @__PURE__ */ jsx22("label", { className: "text-sm mb-1 font-medium", children: props.attributes?.label }),
1363
+ /* @__PURE__ */ jsx22("div", { children: /* @__PURE__ */ jsx22(
1564
1364
  "input",
1565
1365
  {
1566
1366
  type: "text",
@@ -1574,14 +1374,14 @@ var SelectWithSearchPanel = (props) => {
1574
1374
  disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none`
1575
1375
  }
1576
1376
  ) }),
1577
- /* @__PURE__ */ jsx25("div", { ref: containerRef, children: isOpen && /* @__PURE__ */ jsxs20(React25.Fragment, { children: [
1578
- /* @__PURE__ */ jsxs20("div", { className: "fixed z-50 right-0 bg-white top-[62px] w-1/4 border-l border-gray-200", children: [
1579
- /* @__PURE__ */ jsx25("div", { className: "flex flex-col p-2 bg-accent-950 text-white", children: /* @__PURE__ */ jsxs20("h5", { className: "text-md text-white font-medium", children: [
1377
+ /* @__PURE__ */ jsx22("div", { ref: containerRef, children: isOpen && /* @__PURE__ */ jsxs18(React22.Fragment, { children: [
1378
+ /* @__PURE__ */ jsxs18("div", { className: "fixed z-50 right-0 bg-white top-[62px] w-1/4 border-l border-gray-200", children: [
1379
+ /* @__PURE__ */ jsx22("div", { className: "flex flex-col p-2 bg-accent-950 text-white", children: /* @__PURE__ */ jsxs18("h5", { className: "text-md text-white font-medium", children: [
1580
1380
  "Select a",
1581
1381
  " ",
1582
1382
  props.attributes?.label || props.attributes?.heading
1583
1383
  ] }) }),
1584
- /* @__PURE__ */ jsx25("div", { className: "flex justify-end px-4 border-b py-2 border-gray-200 h-10", children: props.createFields && props.createFields.length > 0 && /* @__PURE__ */ jsx25(
1384
+ /* @__PURE__ */ jsx22("div", { className: "flex justify-end px-4 border-b py-2 border-gray-200 h-10", children: props.createFields && props.createFields.length > 0 && /* @__PURE__ */ jsx22(
1585
1385
  "button",
1586
1386
  {
1587
1387
  type: "button",
@@ -1594,12 +1394,12 @@ var SelectWithSearchPanel = (props) => {
1594
1394
  }
1595
1395
  ) })
1596
1396
  ] }),
1597
- isCreateOpen && /* @__PURE__ */ jsxs20("div", { className: "fixed right-0 w-1/4 h-full top-[62px] bg-white shadow-lg border-l border-gray-200 z-50", children: [
1598
- /* @__PURE__ */ jsx25("div", { className: "flex flex-col p-2 bg-accent-950", children: /* @__PURE__ */ jsxs20("h5", { className: "text-md font-medium text-white", children: [
1397
+ isCreateOpen && /* @__PURE__ */ jsxs18("div", { className: "fixed right-0 w-1/4 h-full top-[62px] bg-white shadow-lg border-l border-gray-200 z-50", children: [
1398
+ /* @__PURE__ */ jsx22("div", { className: "flex flex-col p-2 bg-accent-950", children: /* @__PURE__ */ jsxs18("h5", { className: "text-md font-medium text-white", children: [
1599
1399
  "Create New ",
1600
1400
  props.attributes?.label
1601
1401
  ] }) }),
1602
- /* @__PURE__ */ jsx25("div", { className: "flex justify-end px-4 border-b py-2 border-gray-200", children: /* @__PURE__ */ jsx25(
1402
+ /* @__PURE__ */ jsx22("div", { className: "flex justify-end px-4 border-b py-2 border-gray-200", children: /* @__PURE__ */ jsx22(
1603
1403
  "button",
1604
1404
  {
1605
1405
  type: "button",
@@ -1608,10 +1408,10 @@ var SelectWithSearchPanel = (props) => {
1608
1408
  children: "Close"
1609
1409
  }
1610
1410
  ) }),
1611
- /* @__PURE__ */ jsxs20("div", { className: "p-4", children: [
1612
- props.createFields?.map((field) => /* @__PURE__ */ jsxs20("div", { className: "mb-4", children: [
1613
- /* @__PURE__ */ jsx25("label", { className: "text-sm mb-1 font-medium block", children: field.label }),
1614
- /* @__PURE__ */ jsx25(
1411
+ /* @__PURE__ */ jsxs18("div", { className: "p-4", children: [
1412
+ props.createFields?.map((field) => /* @__PURE__ */ jsxs18("div", { className: "mb-4", children: [
1413
+ /* @__PURE__ */ jsx22("label", { className: "text-sm mb-1 font-medium block", children: field.label }),
1414
+ /* @__PURE__ */ jsx22(
1615
1415
  "input",
1616
1416
  {
1617
1417
  type: field.type,
@@ -1627,7 +1427,7 @@ var SelectWithSearchPanel = (props) => {
1627
1427
  }
1628
1428
  )
1629
1429
  ] }, field.name)),
1630
- /* @__PURE__ */ jsxs20(Button_default, { onClick: async () => {
1430
+ /* @__PURE__ */ jsxs18(Button_default, { onClick: async () => {
1631
1431
  handleSaveModal();
1632
1432
  return { isSuccessful: true };
1633
1433
  }, className: "w-full", children: [
@@ -1636,13 +1436,13 @@ var SelectWithSearchPanel = (props) => {
1636
1436
  ] })
1637
1437
  ] })
1638
1438
  ] }),
1639
- /* @__PURE__ */ jsx25(
1439
+ /* @__PURE__ */ jsx22(
1640
1440
  "div",
1641
1441
  {
1642
1442
  ref: listRef,
1643
1443
  className: "fixed z-10 right-0 mt-[130px] top-0 w-1/4 bg-white border-l border-gray-200 shadow-lg overflow-y-auto",
1644
1444
  style: { height: "calc(100vh - 130px)" },
1645
- children: filteredItems.length > 0 ? filteredItems.map((item, index) => /* @__PURE__ */ jsx25("div", { children: /* @__PURE__ */ jsx25(
1445
+ children: filteredItems.length > 0 ? filteredItems.map((item, index) => /* @__PURE__ */ jsx22("div", { children: /* @__PURE__ */ jsx22(
1646
1446
  "button",
1647
1447
  {
1648
1448
  onClick: (e) => {
@@ -1652,9 +1452,9 @@ var SelectWithSearchPanel = (props) => {
1652
1452
  role: "option",
1653
1453
  tabIndex: -1,
1654
1454
  onMouseEnter: () => setHighlightedIndex(index),
1655
- children: /* @__PURE__ */ jsx25("span", { children: getNestedValue3(item, props.dataTextFieldName) })
1455
+ children: /* @__PURE__ */ jsx22("span", { children: getNestedValue3(item, props.dataTextFieldName) })
1656
1456
  }
1657
- ) }, item[props.dataKeyFieldName])) : /* @__PURE__ */ jsx25("div", { className: "px-4 py-2 text-gray-500", children: "No results found" })
1457
+ ) }, item[props.dataKeyFieldName])) : /* @__PURE__ */ jsx22("div", { className: "px-4 py-2 text-gray-500", children: "No results found" })
1658
1458
  }
1659
1459
  )
1660
1460
  ] }) })
@@ -1663,13 +1463,13 @@ var SelectWithSearchPanel = (props) => {
1663
1463
  var SelectWithSearchPanel_default = SelectWithSearchPanel;
1664
1464
 
1665
1465
  // src/components/controls/edit/BooleanSelect.tsx
1666
- import React26, {
1667
- useState as useState6,
1466
+ import React23, {
1467
+ useState as useState4,
1668
1468
  useEffect as useEffect5
1669
1469
  } from "react";
1670
- import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
1470
+ import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
1671
1471
  var BooleanSelect = (props) => {
1672
- const [list, setList] = useState6();
1472
+ const [list, setList] = useState4();
1673
1473
  const textChangeHandler = (event) => {
1674
1474
  const text = event.target.value;
1675
1475
  const boolValue = text?.toLowerCase() === "true" || text === "1";
@@ -1716,11 +1516,11 @@ var BooleanSelect = (props) => {
1716
1516
  if (props.value !== void 0 && props.value !== null) {
1717
1517
  value = props.value;
1718
1518
  }
1719
- return /* @__PURE__ */ jsx26(React26.Fragment, { children: /* @__PURE__ */ jsxs21("label", { className: "block", children: [
1720
- /* @__PURE__ */ jsx26("span", { className: "text-sm font-medium ", children: props?.attributes?.label }),
1519
+ return /* @__PURE__ */ jsx23(React23.Fragment, { children: /* @__PURE__ */ jsxs19("label", { className: "block", children: [
1520
+ /* @__PURE__ */ jsx23("span", { className: "text-sm font-medium ", children: props?.attributes?.label }),
1721
1521
  " ",
1722
- props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ jsx26("span", { className: "text-alert", children: "*" }),
1723
- /* @__PURE__ */ jsxs21(
1522
+ props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ jsx23("span", { className: "text-alert", children: "*" }),
1523
+ /* @__PURE__ */ jsxs19(
1724
1524
  "select",
1725
1525
  {
1726
1526
  name: props.name,
@@ -1732,9 +1532,9 @@ var BooleanSelect = (props) => {
1732
1532
  disabled: props?.attributes?.readOnly,
1733
1533
  className: "peer mt-1 py-1.5 block w-full text-black rounded border-gray-300 shadow-sm\n focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50\n disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none\n ",
1734
1534
  children: [
1735
- /* @__PURE__ */ jsx26("option", { className: "", value: "", children: props.attributes?.placeholder || "Select" }),
1535
+ /* @__PURE__ */ jsx23("option", { className: "", value: "", children: props.attributes?.placeholder || "Select" }),
1736
1536
  list && list.map((item, i) => {
1737
- return /* @__PURE__ */ jsx26(
1537
+ return /* @__PURE__ */ jsx23(
1738
1538
  "option",
1739
1539
  {
1740
1540
  className: "fac-select-option",
@@ -1747,14 +1547,14 @@ var BooleanSelect = (props) => {
1747
1547
  ]
1748
1548
  }
1749
1549
  ),
1750
- /* @__PURE__ */ jsx26("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 text-alert text-sm", children: props?.attributes?.errorMessage ? props.attributes.errorMessage : "" })
1550
+ /* @__PURE__ */ jsx23("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 text-alert text-sm", children: props?.attributes?.errorMessage ? props.attributes.errorMessage : "" })
1751
1551
  ] }) });
1752
1552
  };
1753
1553
  var BooleanSelect_default = BooleanSelect;
1754
1554
 
1755
1555
  // src/components/controls/edit/EmailInput.tsx
1756
- import React27 from "react";
1757
- import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
1556
+ import React24 from "react";
1557
+ import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
1758
1558
  var EmailInput = (props) => {
1759
1559
  const textChangeHandler = (event) => {
1760
1560
  const text = event.target.value;
@@ -1779,11 +1579,11 @@ var EmailInput = (props) => {
1779
1579
  if (props.value !== void 0 && props.value !== null) {
1780
1580
  value = props.value;
1781
1581
  }
1782
- return /* @__PURE__ */ jsx27(React27.Fragment, { children: /* @__PURE__ */ jsxs22("label", { className: "block mb-1", children: [
1783
- /* @__PURE__ */ jsx27("span", { className: "text-sm font-medium text-slate-700", children: props?.attributes?.label }),
1582
+ return /* @__PURE__ */ jsx24(React24.Fragment, { children: /* @__PURE__ */ jsxs20("label", { className: "block mb-1", children: [
1583
+ /* @__PURE__ */ jsx24("span", { className: "text-sm font-medium text-slate-700", children: props?.attributes?.label }),
1784
1584
  " ",
1785
- props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ jsx27("span", { className: "text-alert", children: "*" }),
1786
- /* @__PURE__ */ jsx27(
1585
+ props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ jsx24("span", { className: "text-alert", children: "*" }),
1586
+ /* @__PURE__ */ jsx24(
1787
1587
  "input",
1788
1588
  {
1789
1589
  type: "email",
@@ -1799,14 +1599,14 @@ var EmailInput = (props) => {
1799
1599
  className: "peer mt-1 py-1.5 block w-full rounded border-gray-300 shadow-sm\n focus-within:border-neutral-300 focus-within:ring focus-within:ring-neutral-300 focus-within:ring-opacity-50 transition-all duration-500 ease-in-out"
1800
1600
  }
1801
1601
  ),
1802
- /* @__PURE__ */ jsx27("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 mb-0 text-alert text-sm", children: props?.attributes?.errorMessage ? props.attributes.errorMessage : "" })
1602
+ /* @__PURE__ */ jsx24("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 mb-0 text-alert text-sm", children: props?.attributes?.errorMessage ? props.attributes.errorMessage : "" })
1803
1603
  ] }) });
1804
1604
  };
1805
1605
  var EmailInput_default = EmailInput;
1806
1606
 
1807
1607
  // src/components/controls/edit/TimeInput.tsx
1808
- import React28 from "react";
1809
- import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
1608
+ import React25 from "react";
1609
+ import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
1810
1610
  var TimeInput = (props) => {
1811
1611
  const timeChangeHandler = (event) => {
1812
1612
  const timeValue = event.target.value;
@@ -1819,10 +1619,10 @@ var TimeInput = (props) => {
1819
1619
  });
1820
1620
  }
1821
1621
  };
1822
- return /* @__PURE__ */ jsx28(React28.Fragment, { children: /* @__PURE__ */ jsxs23("label", { className: "block mb-1", children: [
1823
- /* @__PURE__ */ jsx28("span", { className: "text-sm font-medium", children: props?.attributes?.label }),
1824
- props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ jsx28("span", { className: "text-alert", children: "*" }),
1825
- /* @__PURE__ */ jsx28("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx28(
1622
+ return /* @__PURE__ */ jsx25(React25.Fragment, { children: /* @__PURE__ */ jsxs21("label", { className: "block mb-1", children: [
1623
+ /* @__PURE__ */ jsx25("span", { className: "text-sm font-medium", children: props?.attributes?.label }),
1624
+ props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */ jsx25("span", { className: "text-alert", children: "*" }),
1625
+ /* @__PURE__ */ jsx25("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx25(
1826
1626
  "input",
1827
1627
  {
1828
1628
  type: "time",
@@ -1835,14 +1635,14 @@ var TimeInput = (props) => {
1835
1635
  className: "peer mt-1 py-1.5 block w-full rounded border-gray-300 shadow-sm\n focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50\n disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none"
1836
1636
  }
1837
1637
  ) }),
1838
- /* @__PURE__ */ jsx28("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 text-alert text-sm", children: props?.attributes?.errorMessage ?? "" })
1638
+ /* @__PURE__ */ jsx25("p", { className: "hidden group-[.validated]:peer-invalid:block mt-1 text-alert text-sm", children: props?.attributes?.errorMessage ?? "" })
1839
1639
  ] }) });
1840
1640
  };
1841
1641
  var TimeInput_default = TimeInput;
1842
1642
 
1843
1643
  // src/components/controls/edit/InputControl.tsx
1844
- import { jsx as jsx29 } from "react/jsx-runtime";
1845
- var InputControl = React29.forwardRef(
1644
+ import { jsx as jsx26 } from "react/jsx-runtime";
1645
+ var InputControl = React26.forwardRef(
1846
1646
  (props, ref) => {
1847
1647
  const ControlComponents = {
1848
1648
  [InputControlType_default.lineTextInput]: LineTextInput_default,
@@ -1863,58 +1663,58 @@ var InputControl = React29.forwardRef(
1863
1663
  [InputControlType_default.timeInput]: TimeInput_default
1864
1664
  };
1865
1665
  const SelectedControlComponent = ControlComponents[props.controlType];
1866
- return /* @__PURE__ */ jsx29(React29.Fragment, { children: SelectedControlComponent ? /* @__PURE__ */ jsx29(SelectedControlComponent, { ...props }) : "Control not found" });
1666
+ return /* @__PURE__ */ jsx26(React26.Fragment, { children: SelectedControlComponent ? /* @__PURE__ */ jsx26(SelectedControlComponent, { ...props }) : "Control not found" });
1867
1667
  }
1868
1668
  );
1869
1669
  InputControl.displayName = "InputControl";
1870
1670
  var InputControl_default = InputControl;
1871
1671
 
1872
1672
  // src/components/dataForm/DataList.tsx
1873
- import React32, { useEffect as useEffect6, useState as useState7, useCallback as useCallback2, useReducer } from "react";
1673
+ import React29, { useEffect as useEffect6, useState as useState5, useCallback as useCallback2, useReducer } from "react";
1874
1674
  import { useRouter } from "next/navigation";
1875
1675
 
1876
1676
  // src/components/dataForm/NoContentView.tsx
1877
- import React30 from "react";
1878
- import { jsx as jsx30 } from "react/jsx-runtime";
1677
+ import React27 from "react";
1678
+ import { jsx as jsx27 } from "react/jsx-runtime";
1879
1679
  var NoContentView = (props) => {
1880
- return /* @__PURE__ */ jsx30(React30.Fragment, { children: props.isDataFound === false && props.children });
1680
+ return /* @__PURE__ */ jsx27(React27.Fragment, { children: props.isDataFound === false && props.children });
1881
1681
  };
1882
1682
  var NoContentView_default = NoContentView;
1883
1683
 
1884
1684
  // src/components/dataForm/ContentView.tsx
1885
- import React31 from "react";
1886
- import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
1685
+ import React28 from "react";
1686
+ import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
1887
1687
  var ContentView = (props) => {
1888
- return /* @__PURE__ */ jsxs24(React31.Fragment, { children: [
1889
- props.isDataFound == null && /* @__PURE__ */ jsx31("div", { className: "", children: /* @__PURE__ */ jsxs24("div", { className: "bg-gray-200 rounded-md p-4 animate-pulse", children: [
1890
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center mb-4", children: [
1891
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 h-8 w-8 rounded-full animate-pulse" }),
1892
- /* @__PURE__ */ jsxs24("div", { className: "ml-2", children: [
1893
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 h-3 w-16 animate-pulse" }),
1894
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 h-2 w-12 animate-pulse" })
1688
+ return /* @__PURE__ */ jsxs22(React28.Fragment, { children: [
1689
+ props.isDataFound == null && /* @__PURE__ */ jsx28("div", { className: "", children: /* @__PURE__ */ jsxs22("div", { className: "bg-gray-200 rounded-md p-4 animate-pulse", children: [
1690
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center mb-4", children: [
1691
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 h-8 w-8 rounded-full animate-pulse" }),
1692
+ /* @__PURE__ */ jsxs22("div", { className: "ml-2", children: [
1693
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 h-3 w-16 animate-pulse" }),
1694
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 h-2 w-12 animate-pulse" })
1895
1695
  ] })
1896
1696
  ] }),
1897
- /* @__PURE__ */ jsxs24("div", { className: "grid grid-cols-3 gap-4 mt-6", children: [
1898
- /* @__PURE__ */ jsxs24("div", { className: "animate-pulse", children: [
1899
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
1900
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
1901
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
1902
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
1903
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
1697
+ /* @__PURE__ */ jsxs22("div", { className: "grid grid-cols-3 gap-4 mt-6", children: [
1698
+ /* @__PURE__ */ jsxs22("div", { className: "animate-pulse", children: [
1699
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
1700
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
1701
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
1702
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
1703
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
1904
1704
  ] }),
1905
- /* @__PURE__ */ jsxs24("div", { className: "animate-pulse", children: [
1906
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
1907
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
1908
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
1909
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
1910
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
1705
+ /* @__PURE__ */ jsxs22("div", { className: "animate-pulse", children: [
1706
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
1707
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
1708
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
1709
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
1710
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
1911
1711
  ] }),
1912
- /* @__PURE__ */ jsxs24("div", { className: "animate-pulse", children: [
1913
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
1914
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
1915
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
1916
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
1917
- /* @__PURE__ */ jsx31("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
1712
+ /* @__PURE__ */ jsxs22("div", { className: "animate-pulse", children: [
1713
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
1714
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
1715
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
1716
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
1717
+ /* @__PURE__ */ jsx28("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
1918
1718
  ] })
1919
1719
  ] })
1920
1720
  ] }) }),
@@ -1925,7 +1725,7 @@ var ContentView_default = ContentView;
1925
1725
 
1926
1726
  // src/components/dataForm/Hyperlink.tsx
1927
1727
  import Link from "next/link";
1928
- import { Fragment as Fragment2, jsx as jsx32 } from "react/jsx-runtime";
1728
+ import { Fragment, jsx as jsx29 } from "react/jsx-runtime";
1929
1729
  function Hyperlink(props) {
1930
1730
  let linkClass = props.linkType ? buttonClasses.get(props.linkType) : "";
1931
1731
  const target = props?.href?.startsWith("http") ? "_blank" : "_self";
@@ -1933,7 +1733,7 @@ function Hyperlink(props) {
1933
1733
  if (target == "_blank") {
1934
1734
  additionalProps.rel = "noopener noreferrer";
1935
1735
  }
1936
- return /* @__PURE__ */ jsx32(Fragment2, { children: props.href ? /* @__PURE__ */ jsx32(
1736
+ return /* @__PURE__ */ jsx29(Fragment, { children: props.href ? /* @__PURE__ */ jsx29(
1937
1737
  Link,
1938
1738
  {
1939
1739
  href: props.href,
@@ -1943,7 +1743,7 @@ function Hyperlink(props) {
1943
1743
  target,
1944
1744
  children: props.children
1945
1745
  }
1946
- ) : props.isHeading ? /* @__PURE__ */ jsx32("h5", { className: props.className + "inline-block", children: props.children }) : /* @__PURE__ */ jsx32("span", { className: props.className, children: props.children }) });
1746
+ ) : props.isHeading ? /* @__PURE__ */ jsx29("h5", { className: props.className + "inline-block", children: props.children }) : /* @__PURE__ */ jsx29("span", { className: props.className, children: props.children }) });
1947
1747
  }
1948
1748
 
1949
1749
  // src/clients/OdataBuilder.tsx
@@ -2101,30 +1901,30 @@ var OdataBuilder = class {
2101
1901
  };
2102
1902
 
2103
1903
  // src/svg/chevron-updown.tsx
2104
- import { jsx as jsx33 } from "react/jsx-runtime";
1904
+ import { jsx as jsx30 } from "react/jsx-runtime";
2105
1905
  var ChevronUpDown = (props) => {
2106
- return /* @__PURE__ */ jsx33("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx33("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" }) });
1906
+ return /* @__PURE__ */ jsx30("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx30("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" }) });
2107
1907
  };
2108
1908
  var chevron_updown_default = ChevronUpDown;
2109
1909
 
2110
1910
  // src/svg/chevron-down.tsx
2111
- import { jsx as jsx34 } from "react/jsx-runtime";
1911
+ import { jsx as jsx31 } from "react/jsx-runtime";
2112
1912
  var ChevronDown = (props) => {
2113
- return /* @__PURE__ */ jsx34("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx34("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }) });
1913
+ return /* @__PURE__ */ jsx31("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx31("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }) });
2114
1914
  };
2115
1915
  var chevron_down_default = ChevronDown;
2116
1916
 
2117
1917
  // src/svg/chevron-up.tsx
2118
- import { jsx as jsx35 } from "react/jsx-runtime";
1918
+ import { jsx as jsx32 } from "react/jsx-runtime";
2119
1919
  var ChevronUp = (props) => {
2120
- return /* @__PURE__ */ jsx35("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx35("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M4.5 15.75l7.5-7.5 7.5 7.5" }) });
1920
+ return /* @__PURE__ */ jsx32("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx32("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M4.5 15.75l7.5-7.5 7.5 7.5" }) });
2121
1921
  };
2122
1922
  var chevron_up_default = ChevronUp;
2123
1923
 
2124
1924
  // src/svg/plus.tsx
2125
- import { jsx as jsx36 } from "react/jsx-runtime";
1925
+ import { jsx as jsx33 } from "react/jsx-runtime";
2126
1926
  var Plus = (props) => {
2127
- return /* @__PURE__ */ jsx36("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx36("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) });
1927
+ return /* @__PURE__ */ jsx33("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: props.className, children: /* @__PURE__ */ jsx33("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) });
2128
1928
  };
2129
1929
  var plus_default = Plus;
2130
1930
 
@@ -2138,14 +1938,14 @@ var Icons = {
2138
1938
  var Icons_default = Icons;
2139
1939
 
2140
1940
  // src/svg/Icon.tsx
2141
- import { jsx as jsx37 } from "react/jsx-runtime";
1941
+ import { jsx as jsx34 } from "react/jsx-runtime";
2142
1942
  var Icon = ({ name, className, ...props }) => {
2143
1943
  const IconComponent = Icons_default[name];
2144
1944
  if (!IconComponent) {
2145
1945
  console.error(`Icon "${name}" not found.`);
2146
1946
  return null;
2147
1947
  }
2148
- return /* @__PURE__ */ jsx37(IconComponent, { ...props, className });
1948
+ return /* @__PURE__ */ jsx34(IconComponent, { ...props, className });
2149
1949
  };
2150
1950
  var Icon_default = Icon;
2151
1951
 
@@ -2194,7 +1994,7 @@ function FormReducer(state, action) {
2194
1994
  var FormReducer_default = FormReducer;
2195
1995
 
2196
1996
  // src/components/dataForm/DataList.tsx
2197
- import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
1997
+ import { Fragment as Fragment2, jsx as jsx35, jsxs as jsxs23 } from "react/jsx-runtime";
2198
1998
  var DataList = (props) => {
2199
1999
  console.log(props.dataset, "datasetssssss");
2200
2000
  const router = useRouter();
@@ -2203,7 +2003,7 @@ var DataList = (props) => {
2203
2003
  let activePageNumber = 0;
2204
2004
  let pages = 0;
2205
2005
  console.log(props.addLinkText);
2206
- const [isDataFound, setIsDataFound] = useState7(null);
2006
+ const [isDataFound, setIsDataFound] = useState5(null);
2207
2007
  useEffect6(() => {
2208
2008
  if (props?.dataset) {
2209
2009
  if (props?.dataset.result && props.dataset.result.length > 0) {
@@ -2217,7 +2017,7 @@ var DataList = (props) => {
2217
2017
  if (path.includes(".")) {
2218
2018
  return path.split(".").reduce((prev, curr) => prev ? prev[curr] : null, obj);
2219
2019
  } else if (Array.isArray(obj[path])) {
2220
- return obj[path].map((item, index) => /* @__PURE__ */ jsx38("div", { children: item }, index));
2020
+ return obj[path].map((item, index) => /* @__PURE__ */ jsx35("div", { children: item }, index));
2221
2021
  } else {
2222
2022
  return obj[path];
2223
2023
  }
@@ -2273,30 +2073,30 @@ var DataList = (props) => {
2273
2073
  const renderPageNumbers = () => {
2274
2074
  if (pages <= 10) {
2275
2075
  return Array.from({ length: pages }, (_, index) => index + 1).map(
2276
- (page) => /* @__PURE__ */ jsx38(React32.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx38(
2076
+ (page) => /* @__PURE__ */ jsx35(React29.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx35(
2277
2077
  Hyperlink,
2278
2078
  {
2279
2079
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
2280
2080
  href: builder.getNewPageUrl(page),
2281
2081
  children: page
2282
2082
  }
2283
- ) : /* @__PURE__ */ jsx38("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)
2083
+ ) : /* @__PURE__ */ jsx35("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)
2284
2084
  );
2285
2085
  } else {
2286
2086
  const showFirstPages = activePageNumber <= 5;
2287
2087
  const showLastPages = activePageNumber > pages - 5;
2288
2088
  if (showFirstPages) {
2289
- return /* @__PURE__ */ jsxs25(Fragment3, { children: [
2290
- Array.from({ length: 8 }, (_, index) => index + 1).map((page) => /* @__PURE__ */ jsx38(React32.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx38(
2089
+ return /* @__PURE__ */ jsxs23(Fragment2, { children: [
2090
+ Array.from({ length: 8 }, (_, index) => index + 1).map((page) => /* @__PURE__ */ jsx35(React29.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx35(
2291
2091
  Hyperlink,
2292
2092
  {
2293
2093
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
2294
2094
  href: builder.getNewPageUrl(page),
2295
2095
  children: page
2296
2096
  }
2297
- ) : /* @__PURE__ */ jsx38("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)),
2298
- /* @__PURE__ */ jsx38("span", { className: "px-2 py-1", children: "..." }),
2299
- /* @__PURE__ */ jsx38(
2097
+ ) : /* @__PURE__ */ jsx35("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)),
2098
+ /* @__PURE__ */ jsx35("span", { className: "px-2 py-1", children: "..." }),
2099
+ /* @__PURE__ */ jsx35(
2300
2100
  Hyperlink,
2301
2101
  {
2302
2102
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2304,7 +2104,7 @@ var DataList = (props) => {
2304
2104
  children: pages - 1
2305
2105
  }
2306
2106
  ),
2307
- /* @__PURE__ */ jsx38(
2107
+ /* @__PURE__ */ jsx35(
2308
2108
  Hyperlink,
2309
2109
  {
2310
2110
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2312,7 +2112,7 @@ var DataList = (props) => {
2312
2112
  children: pages
2313
2113
  }
2314
2114
  ),
2315
- /* @__PURE__ */ jsx38("div", { className: "relative inline-block", children: /* @__PURE__ */ jsxs25(
2115
+ /* @__PURE__ */ jsx35("div", { className: "relative inline-block", children: /* @__PURE__ */ jsxs23(
2316
2116
  "select",
2317
2117
  {
2318
2118
  className: " py-1 border border-gray-300 bg-white text-gray-700 appearance-none rounded-none",
@@ -2324,18 +2124,18 @@ var DataList = (props) => {
2324
2124
  }
2325
2125
  },
2326
2126
  children: [
2327
- /* @__PURE__ */ jsx38("option", { className: "", value: "", children: "Jump to" }),
2127
+ /* @__PURE__ */ jsx35("option", { className: "", value: "", children: "Jump to" }),
2328
2128
  Array.from(
2329
2129
  { length: Math.max(0, pages - 10) },
2330
2130
  (_, index) => index + 9
2331
- ).map((page) => /* @__PURE__ */ jsx38("option", { value: page, children: page }, page))
2131
+ ).map((page) => /* @__PURE__ */ jsx35("option", { value: page, children: page }, page))
2332
2132
  ]
2333
2133
  }
2334
2134
  ) })
2335
2135
  ] });
2336
2136
  } else if (showLastPages) {
2337
- return /* @__PURE__ */ jsxs25(Fragment3, { children: [
2338
- /* @__PURE__ */ jsx38(
2137
+ return /* @__PURE__ */ jsxs23(Fragment2, { children: [
2138
+ /* @__PURE__ */ jsx35(
2339
2139
  Hyperlink,
2340
2140
  {
2341
2141
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2343,7 +2143,7 @@ var DataList = (props) => {
2343
2143
  children: "1"
2344
2144
  }
2345
2145
  ),
2346
- /* @__PURE__ */ jsx38(
2146
+ /* @__PURE__ */ jsx35(
2347
2147
  Hyperlink,
2348
2148
  {
2349
2149
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2351,21 +2151,21 @@ var DataList = (props) => {
2351
2151
  children: "2"
2352
2152
  }
2353
2153
  ),
2354
- /* @__PURE__ */ jsx38("span", { className: "px-2 py-1", children: "..." }),
2154
+ /* @__PURE__ */ jsx35("span", { className: "px-2 py-1", children: "..." }),
2355
2155
  Array.from({ length: 8 }, (_, index) => pages - 7 + index).map(
2356
- (page) => /* @__PURE__ */ jsx38(React32.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx38(
2156
+ (page) => /* @__PURE__ */ jsx35(React29.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx35(
2357
2157
  Hyperlink,
2358
2158
  {
2359
2159
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
2360
2160
  href: builder.getNewPageUrl(page),
2361
2161
  children: page
2362
2162
  }
2363
- ) : /* @__PURE__ */ jsx38("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)
2163
+ ) : /* @__PURE__ */ jsx35("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)
2364
2164
  )
2365
2165
  ] });
2366
2166
  } else {
2367
- return /* @__PURE__ */ jsxs25(Fragment3, { children: [
2368
- /* @__PURE__ */ jsx38(
2167
+ return /* @__PURE__ */ jsxs23(Fragment2, { children: [
2168
+ /* @__PURE__ */ jsx35(
2369
2169
  Hyperlink,
2370
2170
  {
2371
2171
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2373,7 +2173,7 @@ var DataList = (props) => {
2373
2173
  children: "1"
2374
2174
  }
2375
2175
  ),
2376
- /* @__PURE__ */ jsx38(
2176
+ /* @__PURE__ */ jsx35(
2377
2177
  Hyperlink,
2378
2178
  {
2379
2179
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2381,20 +2181,20 @@ var DataList = (props) => {
2381
2181
  children: "2"
2382
2182
  }
2383
2183
  ),
2384
- /* @__PURE__ */ jsx38("span", { className: "px-2 py-1", children: "..." }),
2184
+ /* @__PURE__ */ jsx35("span", { className: "px-2 py-1", children: "..." }),
2385
2185
  Array.from(
2386
2186
  { length: 5 },
2387
2187
  (_, index) => activePageNumber - 2 + index
2388
- ).map((page) => /* @__PURE__ */ jsx38(React32.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx38(
2188
+ ).map((page) => /* @__PURE__ */ jsx35(React29.Fragment, { children: activePageNumber !== page ? /* @__PURE__ */ jsx35(
2389
2189
  Hyperlink,
2390
2190
  {
2391
2191
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
2392
2192
  href: builder.getNewPageUrl(page),
2393
2193
  children: page
2394
2194
  }
2395
- ) : /* @__PURE__ */ jsx38("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)),
2396
- /* @__PURE__ */ jsx38("span", { className: "px-2 py-1", children: "..." }),
2397
- /* @__PURE__ */ jsx38(
2195
+ ) : /* @__PURE__ */ jsx35("span", { className: "px-3 py-1 border-t border-b border-gray-300 bg-primary text-white", children: page }) }, page)),
2196
+ /* @__PURE__ */ jsx35("span", { className: "px-2 py-1", children: "..." }),
2197
+ /* @__PURE__ */ jsx35(
2398
2198
  Hyperlink,
2399
2199
  {
2400
2200
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2402,7 +2202,7 @@ var DataList = (props) => {
2402
2202
  children: pages - 1
2403
2203
  }
2404
2204
  ),
2405
- /* @__PURE__ */ jsx38(
2205
+ /* @__PURE__ */ jsx35(
2406
2206
  Hyperlink,
2407
2207
  {
2408
2208
  className: "px-3 py-1 border-t border-b border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -2410,7 +2210,7 @@ var DataList = (props) => {
2410
2210
  children: pages
2411
2211
  }
2412
2212
  ),
2413
- /* @__PURE__ */ jsx38("div", { className: "relative inline-block", children: /* @__PURE__ */ jsxs25(
2213
+ /* @__PURE__ */ jsx35("div", { className: "relative inline-block", children: /* @__PURE__ */ jsxs23(
2414
2214
  "select",
2415
2215
  {
2416
2216
  className: "px-2 py-1 border border-gray-300 bg-white text-gray-700 appearance-none rounded-none",
@@ -2422,8 +2222,8 @@ var DataList = (props) => {
2422
2222
  }
2423
2223
  },
2424
2224
  children: [
2425
- /* @__PURE__ */ jsx38("option", { value: "", children: "Jump to" }),
2426
- Array.from({ length: pages - 4 }, (_, index) => index + 3).filter((page) => page > 2 && page < pages - 1).map((page) => /* @__PURE__ */ jsx38("option", { value: page, children: page }, page))
2225
+ /* @__PURE__ */ jsx35("option", { value: "", children: "Jump to" }),
2226
+ Array.from({ length: pages - 4 }, (_, index) => index + 3).filter((page) => page > 2 && page < pages - 1).map((page) => /* @__PURE__ */ jsx35("option", { value: page, children: page }, page))
2427
2227
  ]
2428
2228
  }
2429
2229
  ) })
@@ -2431,16 +2231,16 @@ var DataList = (props) => {
2431
2231
  }
2432
2232
  }
2433
2233
  };
2434
- return /* @__PURE__ */ jsxs25(React32.Fragment, { children: [
2435
- /* @__PURE__ */ jsxs25(ContentView_default, { isDataFound, children: [
2436
- (props.title || props.filters || props.addLinkHref) && /* @__PURE__ */ jsxs25(
2234
+ return /* @__PURE__ */ jsxs23(React29.Fragment, { children: [
2235
+ /* @__PURE__ */ jsxs23(ContentView_default, { isDataFound, children: [
2236
+ (props.title || props.filters || props.addLinkHref) && /* @__PURE__ */ jsxs23(
2437
2237
  "div",
2438
2238
  {
2439
2239
  className: `flex justify-between items-center bg-white pl-6 pr-2 h-14 mb-3 shadow-sm rounded-md border-b border-neutral-200 sticky top-0`,
2440
2240
  children: [
2441
- props.title ? /* @__PURE__ */ jsx38("div", { className: "inline-flex items-center gap-2", children: /* @__PURE__ */ jsx38("h2", { className: "text-lg font-semibold text-black-800", children: props.title }) }) : /* @__PURE__ */ jsx38("div", {}),
2442
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-3", children: [
2443
- props.filters && props.filters.map((filter) => /* @__PURE__ */ jsx38(
2241
+ props.title ? /* @__PURE__ */ jsx35("div", { className: "inline-flex items-center gap-2", children: /* @__PURE__ */ jsx35("h2", { className: "text-lg font-semibold text-black-800", children: props.title }) }) : /* @__PURE__ */ jsx35("div", {}),
2242
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
2243
+ props.filters && props.filters.map((filter) => /* @__PURE__ */ jsx35(
2444
2244
  InputControl_default,
2445
2245
  {
2446
2246
  name: filter.name,
@@ -2455,15 +2255,15 @@ var DataList = (props) => {
2455
2255
  },
2456
2256
  filter.name
2457
2257
  )),
2458
- props.addLinkHref && /* @__PURE__ */ jsxs25(
2258
+ props.addLinkHref && /* @__PURE__ */ jsxs23(
2459
2259
  Hyperlink,
2460
2260
  {
2461
2261
  className: "gap-1",
2462
2262
  linkType: "Primary" /* Solid */,
2463
2263
  href: props.addLinkHref,
2464
2264
  children: [
2465
- /* @__PURE__ */ jsx38(Icon_default, { name: "plus", className: "w-4 h-4" }),
2466
- /* @__PURE__ */ jsx38("span", { className: "text-sm font-medium", children: props.addLinkText || "Add New" })
2265
+ /* @__PURE__ */ jsx35(Icon_default, { name: "plus", className: "w-4 h-4" }),
2266
+ /* @__PURE__ */ jsx35("span", { className: "text-sm font-medium", children: props.addLinkText || "Add New" })
2467
2267
  ]
2468
2268
  }
2469
2269
  )
@@ -2471,8 +2271,8 @@ var DataList = (props) => {
2471
2271
  ]
2472
2272
  }
2473
2273
  ),
2474
- /* @__PURE__ */ jsx38("div", { className: "flex-1 overflow-y-auto justify-end bg-white rounded shadow h-[calc(100vh-14rem)]", children: /* @__PURE__ */ jsxs25("table", { className: "w-full divide-y divide-gray-200", children: [
2475
- /* @__PURE__ */ jsx38("thead", { className: "bg-gray-50 sticky top-0", children: /* @__PURE__ */ jsx38("tr", { children: props?.columns?.map((column) => {
2274
+ /* @__PURE__ */ jsx35("div", { className: "flex-1 overflow-y-auto justify-end bg-white rounded shadow h-[calc(100vh-14rem)]", children: /* @__PURE__ */ jsxs23("table", { className: "w-full divide-y divide-gray-200", children: [
2275
+ /* @__PURE__ */ jsx35("thead", { className: "bg-gray-50 sticky top-0", children: /* @__PURE__ */ jsx35("tr", { children: props?.columns?.map((column) => {
2476
2276
  let url = builder.getNewOrderByUrl(column.name);
2477
2277
  let icon = "chevronUpDown";
2478
2278
  if (orderBy.includes(`${column.name} desc`)) {
@@ -2482,36 +2282,36 @@ var DataList = (props) => {
2482
2282
  icon = "chevronUp";
2483
2283
  url = builder.getNewOrderByUrl(column.name + " desc");
2484
2284
  }
2485
- return /* @__PURE__ */ jsx38(
2285
+ return /* @__PURE__ */ jsx35(
2486
2286
  "th",
2487
2287
  {
2488
2288
  className: "px-6 py-3 text-left font-medium cursor-pointer bg-neutral-soft " + column.width + (column.controlType == ViewControlTypes_default.money ? " text-right" : ""),
2489
- children: /* @__PURE__ */ jsx38(Hyperlink, { href: url, className: "!text-neutral-contrast ", children: /* @__PURE__ */ jsxs25("span", { className: "flex items-center space-x-1", children: [
2490
- /* @__PURE__ */ jsx38("span", { className: "text-black", children: column.label }),
2491
- column.enableSorting && /* @__PURE__ */ jsx38(Icon_default, { className: "w-4 h-4", name: icon })
2289
+ children: /* @__PURE__ */ jsx35(Hyperlink, { href: url, className: "!text-neutral-contrast ", children: /* @__PURE__ */ jsxs23("span", { className: "flex items-center space-x-1", children: [
2290
+ /* @__PURE__ */ jsx35("span", { className: "text-black", children: column.label }),
2291
+ column.enableSorting && /* @__PURE__ */ jsx35(Icon_default, { className: "w-4 h-4", name: icon })
2492
2292
  ] }) })
2493
2293
  },
2494
2294
  column.name
2495
2295
  );
2496
2296
  }) }) }),
2497
- /* @__PURE__ */ jsx38("tbody", { className: "divide-y divide-gray-200 ", children: props.dataset?.result?.map((dataitem, index) => {
2297
+ /* @__PURE__ */ jsx35("tbody", { className: "divide-y divide-gray-200 ", children: props.dataset?.result?.map((dataitem, index) => {
2498
2298
  let validityClass = "";
2499
2299
  console.log("dataitem", dataitem);
2500
2300
  if (props.recordValidityColumnName && getNestedProperty2(dataitem, props.recordValidityColumnName) == false) {
2501
2301
  validityClass = "bg-alert-200";
2502
2302
  }
2503
- return /* @__PURE__ */ jsx38("tr", { className: validityClass, children: props?.columns?.map((column, colindex) => {
2303
+ return /* @__PURE__ */ jsx35("tr", { className: validityClass, children: props?.columns?.map((column, colindex) => {
2504
2304
  console.log("column", column);
2505
- return /* @__PURE__ */ jsx38(React32.Fragment, { children: /* @__PURE__ */ jsx38(
2305
+ return /* @__PURE__ */ jsx35(React29.Fragment, { children: /* @__PURE__ */ jsx35(
2506
2306
  "td",
2507
2307
  {
2508
2308
  className: "px-6 py-2 whitespace-normal " + (column.controlType == ViewControlTypes_default.money ? "" : ""),
2509
- children: column.addhref === true ? /* @__PURE__ */ jsx38(
2309
+ children: column.addhref === true ? /* @__PURE__ */ jsx35(
2510
2310
  Hyperlink,
2511
2311
  {
2512
2312
  className: "",
2513
2313
  href: `https://${dataitem[column.name]}`,
2514
- children: /* @__PURE__ */ jsx38(
2314
+ children: /* @__PURE__ */ jsx35(
2515
2315
  ViewControl_default,
2516
2316
  {
2517
2317
  controlType: column.controlType,
@@ -2524,11 +2324,11 @@ var DataList = (props) => {
2524
2324
  }
2525
2325
  )
2526
2326
  }
2527
- ) : column.showAsLink ? /* @__PURE__ */ jsx38(
2327
+ ) : column.showAsLink ? /* @__PURE__ */ jsx35(
2528
2328
  Hyperlink,
2529
2329
  {
2530
2330
  href: props.path + dataitem[props.columns[0].name] + "/" + (dataitem.linkUrlSegment ?? column.linkUrlSegment),
2531
- children: /* @__PURE__ */ jsx38(
2331
+ children: /* @__PURE__ */ jsx35(
2532
2332
  ViewControl_default,
2533
2333
  {
2534
2334
  controlType: column.controlType,
@@ -2538,7 +2338,7 @@ var DataList = (props) => {
2538
2338
  }
2539
2339
  )
2540
2340
  }
2541
- ) : /* @__PURE__ */ jsx38(
2341
+ ) : /* @__PURE__ */ jsx35(
2542
2342
  ViewControl_default,
2543
2343
  {
2544
2344
  controlType: column.controlType,
@@ -2552,10 +2352,10 @@ var DataList = (props) => {
2552
2352
  }) }, index);
2553
2353
  }) })
2554
2354
  ] }) }),
2555
- /* @__PURE__ */ jsx38("div", { className: "pt-4 border-t border-t-gray-50 sticky bottom-0 h-11 mt-2 ", children: /* @__PURE__ */ jsxs25("div", { className: "flex items-center justify-between", children: [
2556
- /* @__PURE__ */ jsx38("div", { className: "text-gray-700", children: label }),
2557
- /* @__PURE__ */ jsxs25("div", { className: "flex space-x-2 items-center", children: [
2558
- activePageNumber > 1 && /* @__PURE__ */ jsx38(
2355
+ /* @__PURE__ */ jsx35("div", { className: "pt-4 border-t border-t-gray-50 sticky bottom-0 h-11 mt-2 ", children: /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between", children: [
2356
+ /* @__PURE__ */ jsx35("div", { className: "text-gray-700", children: label }),
2357
+ /* @__PURE__ */ jsxs23("div", { className: "flex space-x-2 items-center", children: [
2358
+ activePageNumber > 1 && /* @__PURE__ */ jsx35(
2559
2359
  Hyperlink,
2560
2360
  {
2561
2361
  className: "px-3 py-1 rounded-l-md border border-gray-300 bg-white text-gray-500 hover:bg-gray-200",
@@ -2563,9 +2363,9 @@ var DataList = (props) => {
2563
2363
  children: "Prev"
2564
2364
  }
2565
2365
  ),
2566
- activePageNumber <= 1 && /* @__PURE__ */ jsx38("div", { className: "px-3 py-1 rounded-l-md border border-gray-300 bg-gray-200 text-gray-500 hover:bg-gray-200", children: "Prev" }),
2366
+ activePageNumber <= 1 && /* @__PURE__ */ jsx35("div", { className: "px-3 py-1 rounded-l-md border border-gray-300 bg-gray-200 text-gray-500 hover:bg-gray-200", children: "Prev" }),
2567
2367
  renderPageNumbers(),
2568
- activePageNumber < pages && /* @__PURE__ */ jsx38(
2368
+ activePageNumber < pages && /* @__PURE__ */ jsx35(
2569
2369
  Hyperlink,
2570
2370
  {
2571
2371
  className: "px-3 py-1 rounded-r-md border border-gray-300 bg-white text-gray-500 hover:bg-gray-200",
@@ -2573,19 +2373,19 @@ var DataList = (props) => {
2573
2373
  children: "Next"
2574
2374
  }
2575
2375
  ),
2576
- activePageNumber >= pages && /* @__PURE__ */ jsx38("div", { className: "px-3 py-1 rounded-r-md border border-gray-300 bg-gray-200 text-gray-500", children: "Next" })
2376
+ activePageNumber >= pages && /* @__PURE__ */ jsx35("div", { className: "px-3 py-1 rounded-r-md border border-gray-300 bg-gray-200 text-gray-500", children: "Next" })
2577
2377
  ] })
2578
2378
  ] }) })
2579
2379
  ] }),
2580
- /* @__PURE__ */ jsxs25(NoContentView_default, { isDataFound, children: [
2581
- (props.title || props.filters || props.addLinkHref) && /* @__PURE__ */ jsxs25(
2380
+ /* @__PURE__ */ jsxs23(NoContentView_default, { isDataFound, children: [
2381
+ (props.title || props.filters || props.addLinkHref) && /* @__PURE__ */ jsxs23(
2582
2382
  "div",
2583
2383
  {
2584
2384
  className: `flex justify-between items-center bg-white pl-6 pr-2 h-14 mb-3 shadow-sm rounded-md border-b border-neutral-200`,
2585
2385
  children: [
2586
- props.title ? /* @__PURE__ */ jsx38("div", { className: "inline-flex items-center gap-2", children: /* @__PURE__ */ jsx38("h2", { className: "text-lg font-semibold text-black", children: props.title }) }) : /* @__PURE__ */ jsx38("div", {}),
2587
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-3", children: [
2588
- props.filters && props.filters.map((filter) => /* @__PURE__ */ jsx38(
2386
+ props.title ? /* @__PURE__ */ jsx35("div", { className: "inline-flex items-center gap-2", children: /* @__PURE__ */ jsx35("h2", { className: "text-lg font-semibold text-black", children: props.title }) }) : /* @__PURE__ */ jsx35("div", {}),
2387
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
2388
+ props.filters && props.filters.map((filter) => /* @__PURE__ */ jsx35(
2589
2389
  InputControl_default,
2590
2390
  {
2591
2391
  name: filter.name,
@@ -2600,15 +2400,15 @@ var DataList = (props) => {
2600
2400
  },
2601
2401
  filter.name
2602
2402
  )),
2603
- props.addLinkHref && /* @__PURE__ */ jsxs25(
2403
+ props.addLinkHref && /* @__PURE__ */ jsxs23(
2604
2404
  Hyperlink,
2605
2405
  {
2606
2406
  className: "gap-1",
2607
2407
  linkType: "Primary" /* Solid */,
2608
2408
  href: props.addLinkHref,
2609
2409
  children: [
2610
- /* @__PURE__ */ jsx38(Icon_default, { name: "plus", className: "w-4 h-4" }),
2611
- /* @__PURE__ */ jsx38("span", { className: "text-sm font-medium", children: props.addLinkText || "Add New" })
2410
+ /* @__PURE__ */ jsx35(Icon_default, { name: "plus", className: "w-4 h-4" }),
2411
+ /* @__PURE__ */ jsx35("span", { className: "text-sm font-medium", children: props.addLinkText || "Add New" })
2612
2412
  ]
2613
2413
  }
2614
2414
  )
@@ -2616,8 +2416,8 @@ var DataList = (props) => {
2616
2416
  ]
2617
2417
  }
2618
2418
  ),
2619
- /* @__PURE__ */ jsxs25("div", { className: "flex-grow overflow-y-auto justify-end bg-white rounded shadow h-[75vh]", children: [
2620
- /* @__PURE__ */ jsx38("div", { children: /* @__PURE__ */ jsx38("table", { className: "w-full divide-y divide-gray-200", children: /* @__PURE__ */ jsx38("thead", { className: "bg-gray-50", children: /* @__PURE__ */ jsx38("tr", { children: props?.columns?.map((column) => {
2419
+ /* @__PURE__ */ jsxs23("div", { className: "flex-grow overflow-y-auto justify-end bg-white rounded shadow h-[75vh]", children: [
2420
+ /* @__PURE__ */ jsx35("div", { children: /* @__PURE__ */ jsx35("table", { className: "w-full divide-y divide-gray-200", children: /* @__PURE__ */ jsx35("thead", { className: "bg-gray-50", children: /* @__PURE__ */ jsx35("tr", { children: props?.columns?.map((column) => {
2621
2421
  let url = builder.getNewOrderByUrl(column.name);
2622
2422
  let icon = "chevronUpDown";
2623
2423
  if (orderBy.includes(`${column.name} desc`)) {
@@ -2627,19 +2427,19 @@ var DataList = (props) => {
2627
2427
  icon = "chevronUp";
2628
2428
  url = builder.getNewOrderByUrl(column.name + " desc");
2629
2429
  }
2630
- return /* @__PURE__ */ jsx38(
2430
+ return /* @__PURE__ */ jsx35(
2631
2431
  "th",
2632
2432
  {
2633
2433
  className: "px-6 py-3 text-left font-medium cursor-pointer bg-neutral-soft " + column.width + (column.controlType == ViewControlTypes_default.money ? " text-right" : ""),
2634
- children: /* @__PURE__ */ jsx38(Hyperlink, { href: url, className: "text-body-950", children: /* @__PURE__ */ jsxs25("span", { className: "flex items-center space-x-1", children: [
2635
- /* @__PURE__ */ jsx38("span", { children: column.label }),
2636
- column.enableSorting && /* @__PURE__ */ jsx38(Icon_default, { className: "w-4 h-4", name: icon })
2434
+ children: /* @__PURE__ */ jsx35(Hyperlink, { href: url, className: "text-body-950", children: /* @__PURE__ */ jsxs23("span", { className: "flex items-center space-x-1", children: [
2435
+ /* @__PURE__ */ jsx35("span", { children: column.label }),
2436
+ column.enableSorting && /* @__PURE__ */ jsx35(Icon_default, { className: "w-4 h-4", name: icon })
2637
2437
  ] }) })
2638
2438
  },
2639
2439
  column.name
2640
2440
  );
2641
2441
  }) }) }) }) }),
2642
- /* @__PURE__ */ jsx38("div", { className: "w-full text-center bg-transparent pt-5", children: "There are no entries in the table at the moment." })
2442
+ /* @__PURE__ */ jsx35("div", { className: "w-full text-center bg-transparent pt-5", children: "There are no entries in the table at the moment." })
2643
2443
  ] })
2644
2444
  ] })
2645
2445
  ] });
@@ -2647,13 +2447,13 @@ var DataList = (props) => {
2647
2447
  var DataList_default = DataList;
2648
2448
 
2649
2449
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
2650
- import React45 from "react";
2450
+ import React42 from "react";
2651
2451
 
2652
2452
  // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
2653
- import React34 from "react";
2453
+ import React32 from "react";
2654
2454
 
2655
2455
  // src/components/pageRenderingEngine/nodes/TextNode.tsx
2656
- import { jsx as jsx39 } from "react/jsx-runtime";
2456
+ import { jsx as jsx36 } from "react/jsx-runtime";
2657
2457
  var TextNode = (props) => {
2658
2458
  function cssStringToJson(cssString) {
2659
2459
  const styleObject = {};
@@ -2713,480 +2513,95 @@ var TextNode = (props) => {
2713
2513
  const displayText = props.linkText ? props.linkText : props.node.text;
2714
2514
  return (
2715
2515
  // @ts-expect-error custom code
2716
- /* @__PURE__ */ jsx39("span", { style: { ...styles }, className: getFormatClass(props.node.format), children: props.dataitem && props.linkText ? displayText : props.dataitem ? replacePlaceholders(props.node.text, props.dataitem) : props.node.text })
2516
+ /* @__PURE__ */ jsx36("span", { style: { ...styles }, className: getFormatClass(props.node.format), children: props.dataitem && props.linkText ? displayText : props.dataitem ? replacePlaceholders(props.node.text, props.dataitem) : props.node.text })
2717
2517
  );
2718
2518
  };
2719
2519
  var TextNode_default = TextNode;
2720
2520
 
2721
2521
  // src/components/pageRenderingEngine/nodes/LineBreakNode.tsx
2722
- import { jsx as jsx40 } from "react/jsx-runtime";
2522
+ import { jsx as jsx37 } from "react/jsx-runtime";
2723
2523
  var LineBreakNode = () => {
2724
- return /* @__PURE__ */ jsx40("div", { className: "py-0.5 lg:py-1.5" });
2524
+ return /* @__PURE__ */ jsx37("div", { className: "py-0.5 lg:py-1.5" });
2725
2525
  };
2726
2526
  var LineBreakNode_default = LineBreakNode;
2727
2527
 
2728
2528
  // src/components/pageRenderingEngine/nodes/LinkNode.tsx
2729
- import React33 from "react";
2730
- import Link2 from "next/link";
2731
- import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
2732
- var LinkNode = (props) => {
2733
- const NodeTypes2 = {
2734
- ["text"]: TextNode_default
2735
- };
2736
- {
2737
- }
2738
- let formatClasses = props.node.cssClass || "";
2739
- return /* @__PURE__ */ jsxs26(Link2, { className: formatClasses, href: props.node.url, title: props.node.title, children: [
2740
- props.node.children && props.node.children.map((node, index) => {
2741
- const SelectedNode = NodeTypes2[node.type];
2742
- return /* @__PURE__ */ jsx41(React33.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx41(SelectedNode, { node }) }, index);
2743
- }),
2744
- props.node.children.length == 0 && /* @__PURE__ */ jsx41("br", {})
2745
- ] });
2746
- };
2747
- var LinkNode_default = LinkNode;
2529
+ import React31 from "react";
2748
2530
 
2749
- // src/components/pageRenderingEngine/nodes/SVGIconNode.tsx
2750
- import { jsx as jsx42 } from "react/jsx-runtime";
2751
- var SVGIconNode = ({ node }) => {
2752
- if (!node?.svgCode) return null;
2753
- return /* @__PURE__ */ jsx42(
2754
- "span",
2755
- {
2756
- style: {
2757
- display: "inline-flex",
2758
- width: node.width,
2759
- height: node.height,
2760
- color: node.color
2761
- },
2762
- dangerouslySetInnerHTML: { __html: node.svgCode }
2763
- }
2764
- );
2765
- };
2766
- var SVGIconNode_default = SVGIconNode;
2531
+ // src/components/pageRenderingEngine/nodes/ImageNode.tsx
2532
+ import React30 from "react";
2767
2533
 
2768
- // src/components/pageRenderingEngine/nodes/EquationNode.tsx
2769
- import katex from "katex";
2770
- import { jsx as jsx43 } from "react/jsx-runtime";
2771
- var EquationNode = ({ node }) => {
2772
- const { equation, inline } = node;
2773
- let html = "";
2774
- try {
2775
- html = katex.renderToString(equation, {
2776
- displayMode: !inline,
2777
- throwOnError: false
2778
- });
2779
- } catch (error) {
2780
- html = katex.renderToString(`\\text{Invalid equation}`, {
2781
- throwOnError: false
2782
- });
2534
+ // src/components/utilities/AssetUtility.tsx
2535
+ var AssetUtility = class {
2536
+ constructor() {
2783
2537
  }
2784
- if (inline) {
2785
- return /* @__PURE__ */ jsx43(
2786
- "span",
2787
- {
2788
- className: "katex-inline",
2789
- dangerouslySetInnerHTML: { __html: html }
2790
- }
2791
- );
2538
+ static resolveUrl(assetBaseUrl, url) {
2539
+ if (!url) return void 0;
2540
+ if (url.startsWith("http")) return url;
2541
+ if (!assetBaseUrl) return url;
2542
+ return `${assetBaseUrl}/${url}`;
2543
+ }
2544
+ // static getAssetUrl(apiBaseUrl: string) {
2545
+ // let domainName = apiBaseUrl.replace("https://", "");
2546
+ // return `https://cdn.g-assets.com/${domainName}`;
2547
+ // }
2548
+ static getAssetFullPath(apiBaseUrl, relativePath) {
2549
+ const domainName = apiBaseUrl.replace("https://", "");
2550
+ return `https://cdn.g-assets.com/${domainName}/${relativePath}`;
2792
2551
  }
2793
- return /* @__PURE__ */ jsx43(
2794
- "div",
2795
- {
2796
- className: "katex-block my-3 text-center",
2797
- dangerouslySetInnerHTML: { __html: html }
2798
- }
2799
- );
2800
2552
  };
2801
- var EquationNode_default = EquationNode;
2553
+ var AssetUtility_default = AssetUtility;
2802
2554
 
2803
- // src/components/pageRenderingEngine/nodes/DatafieldNode.tsx
2804
- import { jsx as jsx44 } from "react/jsx-runtime";
2805
- function getNestedProperty(obj, path) {
2806
- if (!obj || !path) return null;
2807
- if (path.includes(".")) {
2808
- return path.split(".").reduce((prev, curr) => {
2809
- if (prev && typeof prev === "object") {
2810
- return prev[curr];
2811
- }
2812
- return null;
2813
- }, obj);
2814
- }
2815
- const value = obj[path];
2816
- if (Array.isArray(value)) {
2817
- return value.map((item, index) => /* @__PURE__ */ jsx44("div", { children: String(item) }, index));
2818
- }
2819
- return value;
2820
- }
2821
- var DatafieldNode = (props) => {
2822
- function cssStringToJson(cssString) {
2823
- const styleObject = {};
2824
- const matches = cssString?.match(/([\w-]+)\s*:\s*([^;]+)\s*;/g);
2825
- if (matches) {
2826
- matches.forEach((match) => {
2827
- const parts = match.match(/([\w-]+)\s*:\s*([^;]+)\s*;/);
2828
- if (parts && parts.length === 3) {
2829
- styleObject[parts[1].trim()] = parts[2].trim();
2830
- }
2831
- });
2555
+ // src/components/pageRenderingEngine/nodes/ImageNode.tsx
2556
+ import dynamic from "next/dynamic";
2557
+
2558
+ // src/components/DeviceAssetSelector.tsx
2559
+ import { jsx as jsx38 } from "react/jsx-runtime";
2560
+ var DeviceAssetSelector = ({
2561
+ assets,
2562
+ assetBaseUrl,
2563
+ session,
2564
+ // This should receive the session
2565
+ width,
2566
+ tag,
2567
+ customProps,
2568
+ nodeProps,
2569
+ device
2570
+ }) => {
2571
+ console.log("\u{1F511} Session in DeviceAssetSelector:", session);
2572
+ const targetTag = tag || nodeProps?.tag;
2573
+ const selectAssetByDevice = (assets2, currentDevice) => {
2574
+ if (!assets2 || assets2.length === 0) return void 0;
2575
+ const exactMatch = assets2.find((asset) => asset.device === currentDevice);
2576
+ if (exactMatch) return exactMatch;
2577
+ const noDeviceMatch = assets2.find((asset) => !asset.device || asset.device === "");
2578
+ if (noDeviceMatch) return noDeviceMatch;
2579
+ return void 0;
2580
+ };
2581
+ const selectAssetByTagAndDevice = (assets2, currentDevice, targetTag2) => {
2582
+ if (!assets2 || assets2.length === 0) return void 0;
2583
+ if (!targetTag2) return selectAssetByDevice(assets2, currentDevice);
2584
+ const taggedAssets = assets2.filter((asset) => asset.tag === targetTag2);
2585
+ if (taggedAssets.length === 0) {
2586
+ return selectAssetByDevice(assets2, currentDevice);
2832
2587
  }
2833
- return styleObject;
2834
- }
2835
- function toCamelCase2(str) {
2836
- return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
2837
- }
2838
- function convertKeysToCamelCase2(obj) {
2839
- return Object.fromEntries(
2840
- Object.entries(obj).map(([key, value2]) => [
2841
- toCamelCase2(key),
2842
- value2
2843
- ])
2844
- );
2845
- }
2846
- const Formats = [
2847
- "",
2848
- "font-medium",
2849
- "italic",
2850
- "font-medium italic",
2851
- "",
2852
- "",
2853
- "",
2854
- "",
2855
- "underline",
2856
- "font-medium underline",
2857
- "italic underline",
2858
- "italic underline font-medium"
2859
- ];
2860
- const styles = convertKeysToCamelCase2(
2861
- cssStringToJson(props.node.style)
2862
- );
2863
- const fieldName = props.node.fieldName ?? "";
2864
- const value = props.dataitem ? getNestedProperty(props.dataitem, fieldName) : null;
2865
- const isEmptyValue = value === null || value === void 0 || value === "" || Array.isArray(value) && value.length === 0 || typeof value === "object" && value !== null && Object.keys(value).length === 0;
2866
- const maxLines = props.node.maxLines;
2867
- if (maxLines && Number(maxLines) > 0) {
2868
- Object.assign(styles, {
2869
- display: "-webkit-box",
2870
- overflow: "hidden",
2871
- WebkitBoxOrient: "vertical",
2872
- WebkitLineClamp: String(maxLines)
2873
- });
2874
- }
2875
- const dataType = props.node.dataType;
2876
- if (isEmptyValue) return null;
2877
- if (dataType === "rawContent") {
2878
- return /* @__PURE__ */ jsx44(
2879
- PageBodyRenderer_default,
2880
- {
2881
- rawBody: String(value ?? `@databound[${fieldName}]`),
2882
- routeParameters: props.routeParameters,
2883
- query: props.query,
2884
- session: props.session,
2885
- host: props.host,
2886
- path: props.path,
2887
- apiBaseUrl: props.apiBaseUrl,
2888
- breadcrumb: props.breadcrumb,
2889
- donotApplyContainerClass: true
2890
- }
2891
- );
2892
- }
2893
- return /* @__PURE__ */ jsx44(
2894
- "span",
2895
- {
2896
- className: `datafield-node ${props.node.format < Formats.length ? Formats[props.node.format] : ""}`,
2897
- style: styles,
2898
- children: /* @__PURE__ */ jsx44(
2899
- ViewControl_default,
2900
- {
2901
- controlType: dataType,
2902
- value: value ?? `@databound[${fieldName}]`
2903
- }
2904
- )
2905
- }
2906
- );
2907
- };
2908
- var DatafieldNode_default = DatafieldNode;
2909
-
2910
- // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
2911
- import { Fragment as Fragment4, jsx as jsx45, jsxs as jsxs27 } from "react/jsx-runtime";
2912
- var ParagraphNode = (props) => {
2913
- const NodeTypes2 = {
2914
- ["text"]: TextNode_default,
2915
- ["linebreak"]: LineBreakNode_default,
2916
- ["link"]: LinkNode_default,
2917
- ["datafield"]: DatafieldNode_default,
2918
- ["equation"]: EquationNode_default,
2919
- ["svg-icon"]: SVGIconNode_default
2920
- };
2921
- const FormatClass = {
2922
- "center": "text-center",
2923
- "right": "text-right"
2924
- };
2925
- {
2926
- }
2927
- const formatClasses = FormatClass[props.node.format] || "";
2928
- const isInlineOnlyParent = props.parentTag === "summary";
2929
- const hasChildren = props.node.children && props.node.children.length > 0;
2930
- if (isInlineOnlyParent) {
2931
- return /* @__PURE__ */ jsx45(Fragment4, { children: hasChildren && props.node.children.map((node, index) => {
2932
- const SelectedNode = NodeTypes2[node.type];
2933
- return /* @__PURE__ */ jsx45(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx45(
2934
- SelectedNode,
2935
- {
2936
- node,
2937
- dataitem: props.dataitem,
2938
- session: props.session,
2939
- apiBaseUrl: props.apiBaseUrl,
2940
- routeParameters: props.routeParameters
2941
- }
2942
- ) }, index);
2943
- }) });
2944
- }
2945
- return /* @__PURE__ */ jsxs27("div", { className: " " + formatClasses, children: [
2946
- hasChildren && props.node.children.map((node, index) => {
2947
- const SelectedNode = NodeTypes2[node.type];
2948
- return /* @__PURE__ */ jsx45(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx45(
2949
- SelectedNode,
2950
- {
2951
- node,
2952
- dataitem: props.dataitem,
2953
- session: props.session,
2954
- apiBaseUrl: props.apiBaseUrl,
2955
- routeParameters: props.routeParameters
2956
- }
2957
- ) }, index);
2958
- }),
2959
- !hasChildren && /* @__PURE__ */ jsx45("div", { className: "py-1.5 lg:py-2" })
2960
- ] });
2961
- };
2962
- var ParagraphNode_default = ParagraphNode;
2963
-
2964
- // src/components/pageRenderingEngine/nodes/HeadingNode.tsx
2965
- import React35 from "react";
2966
- import { Fragment as Fragment5, jsx as jsx46 } from "react/jsx-runtime";
2967
- var HeadingNode = (props) => {
2968
- const NodeTypes2 = {
2969
- ["text"]: TextNode_default,
2970
- ["link"]: LinkNode_default,
2971
- ["svg-icon"]: SVGIconNode_default,
2972
- ["linebreak"]: LineBreakNode_default,
2973
- ["datafield"]: DatafieldNode_default
2974
- };
2975
- const HeadingTag = `${props.node.tag}`;
2976
- const FormatClass = {
2977
- "center": "text-center"
2978
- };
2979
- {
2980
- }
2981
- const formatClasses = FormatClass[props.node.format] || "";
2982
- return /* @__PURE__ */ jsx46(Fragment5, { children: React35.createElement(
2983
- HeadingTag,
2984
- { className: formatClasses },
2985
- props.node.children && props.node.children.map((childNode, index) => {
2986
- const SelectedNode = NodeTypes2[childNode.type];
2987
- return /* @__PURE__ */ jsx46(React35.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx46(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
2988
- })
2989
- ) });
2990
- };
2991
- var HeadingNode_default = HeadingNode;
2992
-
2993
- // src/components/pageRenderingEngine/nodes/ListNode.tsx
2994
- import React37 from "react";
2995
-
2996
- // src/components/pageRenderingEngine/nodes/ListItemNode.tsx
2997
- import React36 from "react";
2998
- import { jsx as jsx47 } from "react/jsx-runtime";
2999
- var ListItemNode = (props) => {
3000
- const NodeTypes2 = {
3001
- text: TextNode_default,
3002
- linebreak: LineBreakNode_default,
3003
- link: LinkNode_default,
3004
- list: ListNode_default
3005
- };
3006
- let foundFirstBreak = false;
3007
- const firstTextChild = props.node.children?.find((c) => c.type === "text");
3008
- let liStyle = {};
3009
- if (firstTextChild?.style) {
3010
- const match = firstTextChild.style.match(/font-size\s*:\s*([^;]+);?/);
3011
- if (match) {
3012
- liStyle.fontSize = match[1].trim();
3013
- }
3014
- }
3015
- return /* @__PURE__ */ jsx47("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
3016
- const SelectedNode = NodeTypes2[node.type];
3017
- if (node.type === "linebreak") {
3018
- if (!foundFirstBreak) {
3019
- foundFirstBreak = true;
3020
- return /* @__PURE__ */ jsx47("div", {}, index);
3021
- } else {
3022
- return /* @__PURE__ */ jsx47("div", { className: "py-1 lg:py-2" }, index);
3023
- }
3024
- } else {
3025
- foundFirstBreak = false;
3026
- return /* @__PURE__ */ jsx47(React36.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx47(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3027
- }
3028
- }) });
3029
- };
3030
- var ListItemNode_default = ListItemNode;
3031
-
3032
- // src/components/pageRenderingEngine/nodes/ListNode.tsx
3033
- import { jsx as jsx48, jsxs as jsxs28 } from "react/jsx-runtime";
3034
- var ListNode = (props) => {
3035
- const NodeTypes2 = {
3036
- listitem: ListItemNode_default
3037
- };
3038
- return /* @__PURE__ */ jsxs28(React37.Fragment, { children: [
3039
- props.node.listType == "bullet" && /* @__PURE__ */ jsx48("ul", { children: props.node.children && props.node.children.map((node, index) => {
3040
- const SelectedNode = NodeTypes2[node.type];
3041
- return /* @__PURE__ */ jsx48(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx48(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3042
- }) }),
3043
- props.node.listType == "number" && /* @__PURE__ */ jsx48("ol", { children: props.node.children && props.node.children.map((node, index) => {
3044
- const SelectedNode = NodeTypes2[node.type];
3045
- return /* @__PURE__ */ jsx48(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx48(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3046
- }) })
3047
- ] });
3048
- };
3049
- var ListNode_default = ListNode;
3050
-
3051
- // src/components/pageRenderingEngine/nodes/QuoteNode.tsx
3052
- import React38 from "react";
3053
- import { jsx as jsx49 } from "react/jsx-runtime";
3054
- var QuoteNode = (props) => {
3055
- const NodeTypes2 = {
3056
- ["text"]: TextNode_default,
3057
- ["linebreak"]: LineBreakNode_default,
3058
- ["link"]: LinkNode_default
3059
- };
3060
- return /* @__PURE__ */ jsx49("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
3061
- const SelectedNode = NodeTypes2[node.type];
3062
- return /* @__PURE__ */ jsx49(React38.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx49(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3063
- }) });
3064
- };
3065
- var QuoteNode_default = QuoteNode;
3066
-
3067
- // src/components/pageRenderingEngine/nodes/CodeNode.tsx
3068
- import React39 from "react";
3069
- import dynamic from "next/dynamic";
3070
- import { jsx as jsx50, jsxs as jsxs29 } from "react/jsx-runtime";
3071
- var CopyButton = dynamic(() => import("./CopyButton-XONTQQW7.mjs"), {
3072
- ssr: false,
3073
- // optional: fallback UI while loading
3074
- loading: () => /* @__PURE__ */ jsx50("span", { className: "text-gray-400 text-xs", children: "Copy" })
3075
- });
3076
- var CodeNode = (props) => {
3077
- const NodeTypes2 = {
3078
- text: TextNode_default,
3079
- linebreak: LineBreakNode_default,
3080
- link: LinkNode_default
3081
- };
3082
- const textContent = props.node?.children?.map((node) => {
3083
- if (node.type === "text") return node.text || "";
3084
- if (node.type === "linebreak") return "\n";
3085
- if (node.type === "link") return node.text || node.url || "";
3086
- return "";
3087
- }).join("") ?? "";
3088
- return /* @__PURE__ */ jsxs29("div", { children: [
3089
- /* @__PURE__ */ jsxs29("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
3090
- /* @__PURE__ */ jsx50("span", { children: "Code Snippet" }),
3091
- /* @__PURE__ */ jsx50(CopyButton, { text: textContent })
3092
- ] }),
3093
- /* @__PURE__ */ jsx50("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) => {
3094
- const SelectedNode = NodeTypes2[node.type];
3095
- return /* @__PURE__ */ jsx50(React39.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx50(
3096
- SelectedNode,
3097
- {
3098
- node,
3099
- session: props.session,
3100
- apiBaseUrl: props.apiBaseUrl,
3101
- routeParameters: props.routeParameters
3102
- }
3103
- ) }, index);
3104
- }) })
3105
- ] });
3106
- };
3107
- var CodeNode_default = CodeNode;
3108
-
3109
- // src/components/pageRenderingEngine/nodes/HorizontalRuleNode.tsx
3110
- import { jsx as jsx51 } from "react/jsx-runtime";
3111
- var HorizontalRuleNode = () => {
3112
- return /* @__PURE__ */ jsx51("hr", {});
3113
- };
3114
- var HorizontalRuleNode_default = HorizontalRuleNode;
3115
-
3116
- // src/components/pageRenderingEngine/nodes/ImageNode.tsx
3117
- import React40 from "react";
3118
-
3119
- // src/components/utilities/AssetUtility.tsx
3120
- var AssetUtility = class {
3121
- constructor() {
3122
- }
3123
- static resolveUrl(assetBaseUrl, url) {
3124
- if (!url) return void 0;
3125
- if (url.startsWith("http")) return url;
3126
- if (!assetBaseUrl) return url;
3127
- return `${assetBaseUrl}/${url}`;
3128
- }
3129
- // static getAssetUrl(apiBaseUrl: string) {
3130
- // let domainName = apiBaseUrl.replace("https://", "");
3131
- // return `https://cdn.g-assets.com/${domainName}`;
3132
- // }
3133
- static getAssetFullPath(apiBaseUrl, relativePath) {
3134
- const domainName = apiBaseUrl.replace("https://", "");
3135
- return `https://cdn.g-assets.com/${domainName}/${relativePath}`;
3136
- }
3137
- };
3138
- var AssetUtility_default = AssetUtility;
3139
-
3140
- // src/components/pageRenderingEngine/nodes/ImageNode.tsx
3141
- import dynamic2 from "next/dynamic";
3142
-
3143
- // src/components/DeviceAssetSelector.tsx
3144
- import { jsx as jsx52 } from "react/jsx-runtime";
3145
- var DeviceAssetSelector = ({
3146
- assets,
3147
- assetBaseUrl,
3148
- session,
3149
- // This should receive the session
3150
- width,
3151
- tag,
3152
- customProps,
3153
- nodeProps,
3154
- device
3155
- }) => {
3156
- console.log("\u{1F511} Session in DeviceAssetSelector:", session);
3157
- const targetTag = tag || nodeProps?.tag;
3158
- const selectAssetByDevice = (assets2, currentDevice) => {
3159
- if (!assets2 || assets2.length === 0) return void 0;
3160
- const exactMatch = assets2.find((asset) => asset.device === currentDevice);
3161
- if (exactMatch) return exactMatch;
3162
- const noDeviceMatch = assets2.find((asset) => !asset.device || asset.device === "");
3163
- if (noDeviceMatch) return noDeviceMatch;
3164
- return void 0;
3165
- };
3166
- const selectAssetByTagAndDevice = (assets2, currentDevice, targetTag2) => {
3167
- if (!assets2 || assets2.length === 0) return void 0;
3168
- if (!targetTag2) return selectAssetByDevice(assets2, currentDevice);
3169
- const taggedAssets = assets2.filter((asset) => asset.tag === targetTag2);
3170
- if (taggedAssets.length === 0) {
3171
- return selectAssetByDevice(assets2, currentDevice);
3172
- }
3173
- const exactTaggedMatch = taggedAssets.find((asset) => asset.device === currentDevice);
3174
- if (exactTaggedMatch) return exactTaggedMatch;
3175
- const noDeviceTaggedMatch = taggedAssets.find((asset) => !asset.device || asset.device === "");
3176
- if (noDeviceTaggedMatch) return noDeviceTaggedMatch;
3177
- return void 0;
3178
- };
3179
- const selectAsset = () => {
3180
- if (!assets || assets.length === 0) return void 0;
3181
- if (targetTag) {
3182
- return selectAssetByTagAndDevice(assets, device, targetTag);
3183
- }
3184
- return selectAssetByDevice(assets, device);
3185
- };
3186
- const selectedAsset = selectAsset();
3187
- if (!selectedAsset) {
3188
- console.warn("No suitable asset found for device:", device, "and tag:", targetTag);
3189
- return null;
2588
+ const exactTaggedMatch = taggedAssets.find((asset) => asset.device === currentDevice);
2589
+ if (exactTaggedMatch) return exactTaggedMatch;
2590
+ const noDeviceTaggedMatch = taggedAssets.find((asset) => !asset.device || asset.device === "");
2591
+ if (noDeviceTaggedMatch) return noDeviceTaggedMatch;
2592
+ return void 0;
2593
+ };
2594
+ const selectAsset = () => {
2595
+ if (!assets || assets.length === 0) return void 0;
2596
+ if (targetTag) {
2597
+ return selectAssetByTagAndDevice(assets, device, targetTag);
2598
+ }
2599
+ return selectAssetByDevice(assets, device);
2600
+ };
2601
+ const selectedAsset = selectAsset();
2602
+ if (!selectedAsset) {
2603
+ console.warn("No suitable asset found for device:", device, "and tag:", targetTag);
2604
+ return null;
3190
2605
  }
3191
2606
  const resolvedAssetUrl = AssetUtility_default.resolveUrl(assetBaseUrl, selectedAsset.assetUrl);
3192
2607
  const resolvedThumbnailUrl = selectedAsset.posterUrl ? AssetUtility_default.resolveUrl(assetBaseUrl, selectedAsset.posterUrl) : void 0;
@@ -3216,7 +2631,7 @@ var DeviceAssetSelector = ({
3216
2631
  const formatClasses = FormatClass[nodeProps?.format || ""] || "";
3217
2632
  const renderMedia = () => {
3218
2633
  if (isHls) {
3219
- return /* @__PURE__ */ jsx52(
2634
+ return /* @__PURE__ */ jsx38(
3220
2635
  HlsPlayer_default,
3221
2636
  {
3222
2637
  assetUrl: resolvedAssetUrl,
@@ -3233,7 +2648,7 @@ var DeviceAssetSelector = ({
3233
2648
  } else {
3234
2649
  return (
3235
2650
  /* eslint-disable-next-line @next/next/no-img-element */
3236
- /* @__PURE__ */ jsx52(
2651
+ /* @__PURE__ */ jsx38(
3237
2652
  "img",
3238
2653
  {
3239
2654
  style: styles,
@@ -3249,18 +2664,18 @@ var DeviceAssetSelector = ({
3249
2664
  }
3250
2665
  };
3251
2666
  if (width) {
3252
- return /* @__PURE__ */ jsx52("div", { style: { width }, children: renderMedia() });
2667
+ return /* @__PURE__ */ jsx38("div", { style: { width }, children: renderMedia() });
3253
2668
  }
3254
2669
  if (nodeProps?.format) {
3255
- return /* @__PURE__ */ jsx52("div", { className: `flex ${formatClasses}`, children: renderMedia() });
2670
+ return /* @__PURE__ */ jsx38("div", { className: `flex ${formatClasses}`, children: renderMedia() });
3256
2671
  }
3257
2672
  return renderMedia();
3258
2673
  };
3259
2674
  var DeviceAssetSelector_default = DeviceAssetSelector;
3260
2675
 
3261
2676
  // src/components/pageRenderingEngine/nodes/ImageNode.tsx
3262
- import { Fragment as Fragment6, jsx as jsx53 } from "react/jsx-runtime";
3263
- var HlsPlayer = dynamic2(() => import("./HlsPlayer-FFEIK6FG.mjs"), {
2677
+ import { Fragment as Fragment3, jsx as jsx39 } from "react/jsx-runtime";
2678
+ var HlsPlayer = dynamic(() => import("./HlsPlayer-FFEIK6FG.mjs"), {
3264
2679
  ssr: false
3265
2680
  });
3266
2681
  var getNestedValue = (obj, path) => {
@@ -3302,7 +2717,7 @@ var ImageNode = (props) => {
3302
2717
  console.error("Error parsing assets in ImageNode:", error);
3303
2718
  }
3304
2719
  if (assets && assets.length > 0) {
3305
- return /* @__PURE__ */ jsx53(Fragment6, { children: /* @__PURE__ */ jsx53(
2720
+ return /* @__PURE__ */ jsx39(Fragment3, { children: /* @__PURE__ */ jsx39(
3306
2721
  DeviceAssetSelector_default,
3307
2722
  {
3308
2723
  device: props.device,
@@ -3341,54 +2756,530 @@ var ImageNode = (props) => {
3341
2756
  if (props.node.borderRadius) styles.borderRadius = props.node.borderRadius;
3342
2757
  if (props.node.width) styles.width = props.node.width;
3343
2758
  const FormatClass = {
3344
- "center": "justify-center",
3345
- "left": "justify-start",
3346
- "right": "justify-end"
2759
+ "center": "justify-center",
2760
+ "left": "justify-start",
2761
+ "right": "justify-end"
2762
+ };
2763
+ {
2764
+ }
2765
+ const formatClasses = FormatClass[props.node.format] || "";
2766
+ const isHls = imageUrl?.endsWith(".m3u8");
2767
+ const renderMedia = () => {
2768
+ if (isHls) {
2769
+ return /* @__PURE__ */ jsx39(
2770
+ HlsPlayer,
2771
+ {
2772
+ assetUrl: imageUrl,
2773
+ posterUrl,
2774
+ intrinsicWidth: props.node.intrinsicWidth,
2775
+ intrinsicHeight: props.node.intrinsicHeight,
2776
+ showControls: props.node.showControls === "true",
2777
+ loop: props.node.loop === "true",
2778
+ playOptions: props.node.playOptions,
2779
+ apiBaseUrl: props.apiBaseUrl,
2780
+ session: props.session
2781
+ }
2782
+ );
2783
+ } else {
2784
+ return /* @__PURE__ */ jsx39(React30.Fragment, { children: /* @__PURE__ */ jsx39(
2785
+ "img",
2786
+ {
2787
+ style: styles,
2788
+ loading: "lazy",
2789
+ className: "object-cover",
2790
+ src: imageUrl,
2791
+ width: props.node.intrinsicWidth,
2792
+ alt: props.node.title,
2793
+ height: props.node.intrinsicHeight
2794
+ }
2795
+ ) });
2796
+ }
2797
+ };
2798
+ if (props.node.width) {
2799
+ return /* @__PURE__ */ jsx39("div", { className: `flex ${formatClasses}`, children: renderMedia() });
2800
+ }
2801
+ return renderMedia();
2802
+ };
2803
+ var ImageNode_default = ImageNode;
2804
+
2805
+ // src/components/pageRenderingEngine/nodes/LinkNode.tsx
2806
+ import dynamic2 from "next/dynamic";
2807
+ import { Fragment as Fragment4, jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
2808
+ var LinkNodeButton = dynamic2(() => import("./LinkNodeButton-KBSXOEHS.mjs"), {
2809
+ ssr: false
2810
+ });
2811
+ var LinkNode = (props) => {
2812
+ const NodeTypes2 = {
2813
+ text: TextNode_default,
2814
+ image: ImageNode_default
2815
+ };
2816
+ const { node, dataitem } = props;
2817
+ let linkUrl = node.url;
2818
+ if (node.datafield_link_url && dataitem) {
2819
+ const dynamicUrl = dataitem[node.datafield_link_url];
2820
+ if (dynamicUrl && typeof dynamicUrl === "string") {
2821
+ linkUrl = dynamicUrl;
2822
+ }
2823
+ }
2824
+ if (props.routeParameters && linkUrl && linkUrl.includes("{")) {
2825
+ Object.keys(props.routeParameters).forEach((param) => {
2826
+ const value = props.routeParameters[param];
2827
+ if (value !== void 0 && value !== null) {
2828
+ linkUrl = linkUrl.replace(
2829
+ new RegExp(`\\{${param}\\}`, "gi"),
2830
+ encodeURIComponent(String(value))
2831
+ );
2832
+ }
2833
+ });
2834
+ }
2835
+ let linkText = null;
2836
+ if (node.datafield_link_text && dataitem) {
2837
+ const dynamicText = dataitem[node.datafield_link_text];
2838
+ if (dynamicText && typeof dynamicText === "string") {
2839
+ linkText = dynamicText;
2840
+ }
2841
+ }
2842
+ const getLinkTypeFromCssClass = (cssClass) => {
2843
+ const classToTypeMap = {
2844
+ Primary: "Primary" /* Solid */,
2845
+ PrimaryHollow: "PrimaryHollow" /* Hollow */,
2846
+ Link: "Link" /* Link */
2847
+ };
2848
+ return classToTypeMap[cssClass];
2849
+ };
2850
+ const linkType = node.cssClass ? getLinkTypeFromCssClass(node.cssClass) : void 0;
2851
+ const isButton = node.isButton === true;
2852
+ const renderChildren = () => {
2853
+ if (!node.children || node.children.length === 0) return null;
2854
+ return /* @__PURE__ */ jsx40(Fragment4, { children: node.children.map((childNode, index) => {
2855
+ const SelectedNode = NodeTypes2[childNode.type];
2856
+ if (!SelectedNode) {
2857
+ console.warn("Unknown node type:", childNode.type);
2858
+ return null;
2859
+ }
2860
+ return /* @__PURE__ */ jsx40(React31.Fragment, { children: /* @__PURE__ */ jsx40(
2861
+ SelectedNode,
2862
+ {
2863
+ node: childNode,
2864
+ dataitem,
2865
+ linkText,
2866
+ routeParameters: props.routeParameters
2867
+ }
2868
+ ) }, index);
2869
+ }) });
2870
+ };
2871
+ const renderFallback = () => {
2872
+ if ((!node.children || node.children.length === 0) && linkText) {
2873
+ return /* @__PURE__ */ jsx40("span", { children: linkText });
2874
+ }
2875
+ if ((!node.children || node.children.length === 0) && !linkText) {
2876
+ return /* @__PURE__ */ jsx40("br", {});
2877
+ }
2878
+ return null;
2879
+ };
2880
+ if (isButton) {
2881
+ return /* @__PURE__ */ jsxs24(
2882
+ LinkNodeButton,
2883
+ {
2884
+ node,
2885
+ dataitem,
2886
+ routeParameters: props.routeParameters,
2887
+ session: props.session,
2888
+ apiBaseUrl: props.apiBaseUrl || "",
2889
+ linkText,
2890
+ linkType,
2891
+ linkUrl,
2892
+ children: [
2893
+ renderChildren(),
2894
+ renderFallback()
2895
+ ]
2896
+ }
2897
+ );
2898
+ }
2899
+ return /* @__PURE__ */ jsxs24(
2900
+ Hyperlink,
2901
+ {
2902
+ href: linkUrl || "#",
2903
+ linkType,
2904
+ alt: linkText || node.title || "",
2905
+ children: [
2906
+ renderChildren(),
2907
+ renderFallback()
2908
+ ]
2909
+ }
2910
+ );
2911
+ };
2912
+ var LinkNode_default = LinkNode;
2913
+
2914
+ // src/components/pageRenderingEngine/nodes/SVGIconNode.tsx
2915
+ import { jsx as jsx41 } from "react/jsx-runtime";
2916
+ var SVGIconNode = ({ node }) => {
2917
+ if (!node?.svgCode) return null;
2918
+ return /* @__PURE__ */ jsx41(
2919
+ "span",
2920
+ {
2921
+ style: {
2922
+ display: "inline-flex",
2923
+ width: node.width,
2924
+ height: node.height,
2925
+ color: node.color
2926
+ },
2927
+ dangerouslySetInnerHTML: { __html: node.svgCode }
2928
+ }
2929
+ );
2930
+ };
2931
+ var SVGIconNode_default = SVGIconNode;
2932
+
2933
+ // src/components/pageRenderingEngine/nodes/EquationNode.tsx
2934
+ import katex from "katex";
2935
+ import { jsx as jsx42 } from "react/jsx-runtime";
2936
+ var EquationNode = ({ node }) => {
2937
+ const { equation, inline } = node;
2938
+ let html = "";
2939
+ try {
2940
+ html = katex.renderToString(equation, {
2941
+ displayMode: !inline,
2942
+ throwOnError: false
2943
+ });
2944
+ } catch (error) {
2945
+ html = katex.renderToString(`\\text{Invalid equation}`, {
2946
+ throwOnError: false
2947
+ });
2948
+ }
2949
+ if (inline) {
2950
+ return /* @__PURE__ */ jsx42(
2951
+ "span",
2952
+ {
2953
+ className: "katex-inline",
2954
+ dangerouslySetInnerHTML: { __html: html }
2955
+ }
2956
+ );
2957
+ }
2958
+ return /* @__PURE__ */ jsx42(
2959
+ "div",
2960
+ {
2961
+ className: "katex-block my-3 text-center",
2962
+ dangerouslySetInnerHTML: { __html: html }
2963
+ }
2964
+ );
2965
+ };
2966
+ var EquationNode_default = EquationNode;
2967
+
2968
+ // src/components/pageRenderingEngine/nodes/DatafieldNode.tsx
2969
+ import { jsx as jsx43 } from "react/jsx-runtime";
2970
+ function getNestedProperty(obj, path) {
2971
+ if (!obj || !path) return null;
2972
+ if (path.includes(".")) {
2973
+ return path.split(".").reduce((prev, curr) => {
2974
+ if (prev && typeof prev === "object") {
2975
+ return prev[curr];
2976
+ }
2977
+ return null;
2978
+ }, obj);
2979
+ }
2980
+ const value = obj[path];
2981
+ if (Array.isArray(value)) {
2982
+ return value.map((item, index) => /* @__PURE__ */ jsx43("div", { children: String(item) }, index));
2983
+ }
2984
+ return value;
2985
+ }
2986
+ var DatafieldNode = (props) => {
2987
+ function cssStringToJson(cssString) {
2988
+ const styleObject = {};
2989
+ const matches = cssString?.match(/([\w-]+)\s*:\s*([^;]+)\s*;/g);
2990
+ if (matches) {
2991
+ matches.forEach((match) => {
2992
+ const parts = match.match(/([\w-]+)\s*:\s*([^;]+)\s*;/);
2993
+ if (parts && parts.length === 3) {
2994
+ styleObject[parts[1].trim()] = parts[2].trim();
2995
+ }
2996
+ });
2997
+ }
2998
+ return styleObject;
2999
+ }
3000
+ function toCamelCase2(str) {
3001
+ return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
3002
+ }
3003
+ function convertKeysToCamelCase2(obj) {
3004
+ return Object.fromEntries(
3005
+ Object.entries(obj).map(([key, value2]) => [
3006
+ toCamelCase2(key),
3007
+ value2
3008
+ ])
3009
+ );
3010
+ }
3011
+ const Formats = [
3012
+ "",
3013
+ "font-medium",
3014
+ "italic",
3015
+ "font-medium italic",
3016
+ "",
3017
+ "",
3018
+ "",
3019
+ "",
3020
+ "underline",
3021
+ "font-medium underline",
3022
+ "italic underline",
3023
+ "italic underline font-medium"
3024
+ ];
3025
+ const styles = convertKeysToCamelCase2(
3026
+ cssStringToJson(props.node.style)
3027
+ );
3028
+ const fieldName = props.node.fieldName ?? "";
3029
+ const value = props.dataitem ? getNestedProperty(props.dataitem, fieldName) : null;
3030
+ const isEmptyValue = value === null || value === void 0 || value === "" || Array.isArray(value) && value.length === 0 || typeof value === "object" && value !== null && Object.keys(value).length === 0;
3031
+ const maxLines = props.node.maxLines;
3032
+ if (maxLines && Number(maxLines) > 0) {
3033
+ Object.assign(styles, {
3034
+ display: "-webkit-box",
3035
+ overflow: "hidden",
3036
+ WebkitBoxOrient: "vertical",
3037
+ WebkitLineClamp: String(maxLines)
3038
+ });
3039
+ }
3040
+ const dataType = props.node.dataType;
3041
+ if (isEmptyValue) return null;
3042
+ if (dataType === "rawContent") {
3043
+ return /* @__PURE__ */ jsx43(
3044
+ PageBodyRenderer_default,
3045
+ {
3046
+ rawBody: String(value ?? `@databound[${fieldName}]`),
3047
+ routeParameters: props.routeParameters,
3048
+ query: props.query,
3049
+ session: props.session,
3050
+ host: props.host,
3051
+ path: props.path,
3052
+ apiBaseUrl: props.apiBaseUrl,
3053
+ breadcrumb: props.breadcrumb,
3054
+ donotApplyContainerClass: true
3055
+ }
3056
+ );
3057
+ }
3058
+ return /* @__PURE__ */ jsx43(
3059
+ "span",
3060
+ {
3061
+ className: `datafield-node ${props.node.format < Formats.length ? Formats[props.node.format] : ""}`,
3062
+ style: styles,
3063
+ children: /* @__PURE__ */ jsx43(
3064
+ ViewControl_default,
3065
+ {
3066
+ controlType: dataType,
3067
+ value: value ?? `@databound[${fieldName}]`
3068
+ }
3069
+ )
3070
+ }
3071
+ );
3072
+ };
3073
+ var DatafieldNode_default = DatafieldNode;
3074
+
3075
+ // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
3076
+ import { Fragment as Fragment5, jsx as jsx44, jsxs as jsxs25 } from "react/jsx-runtime";
3077
+ var ParagraphNode = (props) => {
3078
+ const NodeTypes2 = {
3079
+ ["text"]: TextNode_default,
3080
+ ["linebreak"]: LineBreakNode_default,
3081
+ ["link"]: LinkNode_default,
3082
+ ["datafield"]: DatafieldNode_default,
3083
+ ["equation"]: EquationNode_default,
3084
+ ["svg-icon"]: SVGIconNode_default
3085
+ };
3086
+ const FormatClass = {
3087
+ "center": "text-center",
3088
+ "right": "text-right"
3347
3089
  };
3348
3090
  {
3349
3091
  }
3350
3092
  const formatClasses = FormatClass[props.node.format] || "";
3351
- const isHls = imageUrl?.endsWith(".m3u8");
3352
- const renderMedia = () => {
3353
- if (isHls) {
3354
- return /* @__PURE__ */ jsx53(
3355
- HlsPlayer,
3093
+ const isInlineOnlyParent = props.parentTag === "summary";
3094
+ const hasChildren = props.node.children && props.node.children.length > 0;
3095
+ if (isInlineOnlyParent) {
3096
+ return /* @__PURE__ */ jsx44(Fragment5, { children: hasChildren && props.node.children.map((node, index) => {
3097
+ const SelectedNode = NodeTypes2[node.type];
3098
+ return /* @__PURE__ */ jsx44(React32.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx44(
3099
+ SelectedNode,
3356
3100
  {
3357
- assetUrl: imageUrl,
3358
- posterUrl,
3359
- intrinsicWidth: props.node.intrinsicWidth,
3360
- intrinsicHeight: props.node.intrinsicHeight,
3361
- showControls: props.node.showControls === "true",
3362
- loop: props.node.loop === "true",
3363
- playOptions: props.node.playOptions,
3101
+ node,
3102
+ dataitem: props.dataitem,
3103
+ session: props.session,
3364
3104
  apiBaseUrl: props.apiBaseUrl,
3365
- session: props.session
3105
+ routeParameters: props.routeParameters
3366
3106
  }
3367
- );
3368
- } else {
3369
- return /* @__PURE__ */ jsx53(React40.Fragment, { children: /* @__PURE__ */ jsx53(
3370
- "img",
3107
+ ) }, index);
3108
+ }) });
3109
+ }
3110
+ return /* @__PURE__ */ jsxs25("div", { className: " " + formatClasses, children: [
3111
+ hasChildren && props.node.children.map((node, index) => {
3112
+ const SelectedNode = NodeTypes2[node.type];
3113
+ return /* @__PURE__ */ jsx44(React32.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx44(
3114
+ SelectedNode,
3371
3115
  {
3372
- style: styles,
3373
- loading: "lazy",
3374
- className: "object-cover",
3375
- src: imageUrl,
3376
- width: props.node.intrinsicWidth,
3377
- alt: props.node.title,
3378
- height: props.node.intrinsicHeight
3116
+ node,
3117
+ dataitem: props.dataitem,
3118
+ session: props.session,
3119
+ apiBaseUrl: props.apiBaseUrl,
3120
+ routeParameters: props.routeParameters
3379
3121
  }
3380
- ) });
3381
- }
3122
+ ) }, index);
3123
+ }),
3124
+ !hasChildren && /* @__PURE__ */ jsx44("div", { className: "py-1.5 lg:py-2" })
3125
+ ] });
3126
+ };
3127
+ var ParagraphNode_default = ParagraphNode;
3128
+
3129
+ // src/components/pageRenderingEngine/nodes/HeadingNode.tsx
3130
+ import React33 from "react";
3131
+ import { Fragment as Fragment6, jsx as jsx45 } from "react/jsx-runtime";
3132
+ var HeadingNode = (props) => {
3133
+ const NodeTypes2 = {
3134
+ ["text"]: TextNode_default,
3135
+ ["link"]: LinkNode_default,
3136
+ ["svg-icon"]: SVGIconNode_default,
3137
+ ["linebreak"]: LineBreakNode_default,
3138
+ ["datafield"]: DatafieldNode_default
3382
3139
  };
3383
- if (props.node.width) {
3384
- return /* @__PURE__ */ jsx53("div", { className: `flex ${formatClasses}`, children: renderMedia() });
3140
+ const HeadingTag = `${props.node.tag}`;
3141
+ const FormatClass = {
3142
+ "center": "text-center"
3143
+ };
3144
+ {
3385
3145
  }
3386
- return renderMedia();
3146
+ const formatClasses = FormatClass[props.node.format] || "";
3147
+ return /* @__PURE__ */ jsx45(Fragment6, { children: React33.createElement(
3148
+ HeadingTag,
3149
+ { className: formatClasses },
3150
+ props.node.children && props.node.children.map((childNode, index) => {
3151
+ const SelectedNode = NodeTypes2[childNode.type];
3152
+ return /* @__PURE__ */ jsx45(React33.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx45(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3153
+ })
3154
+ ) });
3387
3155
  };
3388
- var ImageNode_default = ImageNode;
3156
+ var HeadingNode_default = HeadingNode;
3157
+
3158
+ // src/components/pageRenderingEngine/nodes/ListNode.tsx
3159
+ import React35 from "react";
3160
+
3161
+ // src/components/pageRenderingEngine/nodes/ListItemNode.tsx
3162
+ import React34 from "react";
3163
+ import { jsx as jsx46 } from "react/jsx-runtime";
3164
+ var ListItemNode = (props) => {
3165
+ const NodeTypes2 = {
3166
+ text: TextNode_default,
3167
+ linebreak: LineBreakNode_default,
3168
+ link: LinkNode_default,
3169
+ list: ListNode_default
3170
+ };
3171
+ let foundFirstBreak = false;
3172
+ const firstTextChild = props.node.children?.find((c) => c.type === "text");
3173
+ let liStyle = {};
3174
+ if (firstTextChild?.style) {
3175
+ const match = firstTextChild.style.match(/font-size\s*:\s*([^;]+);?/);
3176
+ if (match) {
3177
+ liStyle.fontSize = match[1].trim();
3178
+ }
3179
+ }
3180
+ return /* @__PURE__ */ jsx46("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
3181
+ const SelectedNode = NodeTypes2[node.type];
3182
+ if (node.type === "linebreak") {
3183
+ if (!foundFirstBreak) {
3184
+ foundFirstBreak = true;
3185
+ return /* @__PURE__ */ jsx46("div", {}, index);
3186
+ } else {
3187
+ return /* @__PURE__ */ jsx46("div", { className: "py-1 lg:py-2" }, index);
3188
+ }
3189
+ } else {
3190
+ foundFirstBreak = false;
3191
+ return /* @__PURE__ */ jsx46(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx46(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3192
+ }
3193
+ }) });
3194
+ };
3195
+ var ListItemNode_default = ListItemNode;
3196
+
3197
+ // src/components/pageRenderingEngine/nodes/ListNode.tsx
3198
+ import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
3199
+ var ListNode = (props) => {
3200
+ const NodeTypes2 = {
3201
+ listitem: ListItemNode_default
3202
+ };
3203
+ return /* @__PURE__ */ jsxs26(React35.Fragment, { children: [
3204
+ props.node.listType == "bullet" && /* @__PURE__ */ jsx47("ul", { children: props.node.children && props.node.children.map((node, index) => {
3205
+ const SelectedNode = NodeTypes2[node.type];
3206
+ return /* @__PURE__ */ jsx47(React35.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx47(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3207
+ }) }),
3208
+ props.node.listType == "number" && /* @__PURE__ */ jsx47("ol", { children: props.node.children && props.node.children.map((node, index) => {
3209
+ const SelectedNode = NodeTypes2[node.type];
3210
+ return /* @__PURE__ */ jsx47(React35.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx47(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3211
+ }) })
3212
+ ] });
3213
+ };
3214
+ var ListNode_default = ListNode;
3215
+
3216
+ // src/components/pageRenderingEngine/nodes/QuoteNode.tsx
3217
+ import React36 from "react";
3218
+ import { jsx as jsx48 } from "react/jsx-runtime";
3219
+ var QuoteNode = (props) => {
3220
+ const NodeTypes2 = {
3221
+ ["text"]: TextNode_default,
3222
+ ["linebreak"]: LineBreakNode_default,
3223
+ ["link"]: LinkNode_default
3224
+ };
3225
+ return /* @__PURE__ */ jsx48("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
3226
+ const SelectedNode = NodeTypes2[node.type];
3227
+ return /* @__PURE__ */ jsx48(React36.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx48(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3228
+ }) });
3229
+ };
3230
+ var QuoteNode_default = QuoteNode;
3231
+
3232
+ // src/components/pageRenderingEngine/nodes/CodeNode.tsx
3233
+ import React37 from "react";
3234
+ import dynamic3 from "next/dynamic";
3235
+ import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
3236
+ var CopyButton = dynamic3(() => import("./CopyButton-XONTQQW7.mjs"), {
3237
+ ssr: false,
3238
+ // optional: fallback UI while loading
3239
+ loading: () => /* @__PURE__ */ jsx49("span", { className: "text-gray-400 text-xs", children: "Copy" })
3240
+ });
3241
+ var CodeNode = (props) => {
3242
+ const NodeTypes2 = {
3243
+ text: TextNode_default,
3244
+ linebreak: LineBreakNode_default,
3245
+ link: LinkNode_default
3246
+ };
3247
+ const textContent = props.node?.children?.map((node) => {
3248
+ if (node.type === "text") return node.text || "";
3249
+ if (node.type === "linebreak") return "\n";
3250
+ if (node.type === "link") return node.text || node.url || "";
3251
+ return "";
3252
+ }).join("") ?? "";
3253
+ return /* @__PURE__ */ jsxs27("div", { children: [
3254
+ /* @__PURE__ */ jsxs27("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
3255
+ /* @__PURE__ */ jsx49("span", { children: "Code Snippet" }),
3256
+ /* @__PURE__ */ jsx49(CopyButton, { text: textContent })
3257
+ ] }),
3258
+ /* @__PURE__ */ jsx49("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) => {
3259
+ const SelectedNode = NodeTypes2[node.type];
3260
+ return /* @__PURE__ */ jsx49(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx49(
3261
+ SelectedNode,
3262
+ {
3263
+ node,
3264
+ session: props.session,
3265
+ apiBaseUrl: props.apiBaseUrl,
3266
+ routeParameters: props.routeParameters
3267
+ }
3268
+ ) }, index);
3269
+ }) })
3270
+ ] });
3271
+ };
3272
+ var CodeNode_default = CodeNode;
3273
+
3274
+ // src/components/pageRenderingEngine/nodes/HorizontalRuleNode.tsx
3275
+ import { jsx as jsx50 } from "react/jsx-runtime";
3276
+ var HorizontalRuleNode = () => {
3277
+ return /* @__PURE__ */ jsx50("hr", {});
3278
+ };
3279
+ var HorizontalRuleNode_default = HorizontalRuleNode;
3389
3280
 
3390
3281
  // src/components/pageRenderingEngine/nodes/WidgetNode.tsx
3391
- import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
3282
+ import { Fragment as Fragment7, jsx as jsx51, jsxs as jsxs28 } from "react/jsx-runtime";
3392
3283
  var WidgetNode = (props) => {
3393
3284
  const getWidgetParameters = () => {
3394
3285
  const widgetInputParameters = {
@@ -3445,14 +3336,14 @@ var WidgetNode = (props) => {
3445
3336
  };
3446
3337
  const widgetCode = props.node?.widgetCode;
3447
3338
  if (!widgetCode) {
3448
- return /* @__PURE__ */ jsx54(Fragment7, { children: "Invalid widget" });
3339
+ return /* @__PURE__ */ jsx51(Fragment7, { children: "Invalid widget" });
3449
3340
  }
3450
3341
  const SelectedWidget = getWidget(widgetCode);
3451
3342
  if (!SelectedWidget) {
3452
3343
  if (process.env.NODE_ENV !== "production") {
3453
3344
  console.warn("Widget not found:", widgetCode);
3454
3345
  }
3455
- return /* @__PURE__ */ jsxs30(Fragment7, { children: [
3346
+ return /* @__PURE__ */ jsxs28(Fragment7, { children: [
3456
3347
  "Widget not found: ",
3457
3348
  widgetCode
3458
3349
  ] });
@@ -3460,7 +3351,7 @@ var WidgetNode = (props) => {
3460
3351
  const widgetParams = getWidgetParameters();
3461
3352
  return (
3462
3353
  // eslint-disable-next-line react-hooks/static-components
3463
- /* @__PURE__ */ jsx54(
3354
+ /* @__PURE__ */ jsx51(
3464
3355
  SelectedWidget,
3465
3356
  {
3466
3357
  params: widgetParams,
@@ -3476,12 +3367,12 @@ var WidgetNode = (props) => {
3476
3367
  var WidgetNode_default = WidgetNode;
3477
3368
 
3478
3369
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3479
- import React41, { useRef as useRef3, useReducer as useReducer2, useCallback as useCallback3, useEffect as useEffect7 } from "react";
3370
+ import React38, { useRef as useRef3, useReducer as useReducer2, useCallback as useCallback3, useEffect as useEffect7 } from "react";
3480
3371
 
3481
3372
  // src/components/pageRenderingEngine/nodes/InputControlNode.tsx
3482
- import { jsx as jsx55 } from "react/jsx-runtime";
3373
+ import { jsx as jsx52 } from "react/jsx-runtime";
3483
3374
  var InputControlNode = (props) => {
3484
- return /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55(
3375
+ return /* @__PURE__ */ jsx52("div", { children: /* @__PURE__ */ jsx52(
3485
3376
  InputControl_default,
3486
3377
  {
3487
3378
  name: props.node.name,
@@ -3509,213 +3400,8 @@ var InputControlNode = (props) => {
3509
3400
  };
3510
3401
  var InputControlNode_default = InputControlNode;
3511
3402
 
3512
- // src/clients/CacheManage.tsx
3513
- import NodeCache from "node-cache";
3514
- var CacheManager = class _CacheManager {
3515
- constructor() {
3516
- this.maxCacheSize = 1e3;
3517
- this.cache = new NodeCache({ stdTTL: 0, checkperiod: 300 });
3518
- }
3519
- static getInstance() {
3520
- if (!_CacheManager.instance) {
3521
- _CacheManager.instance = new _CacheManager();
3522
- }
3523
- return _CacheManager.instance;
3524
- }
3525
- get(key) {
3526
- return null;
3527
- }
3528
- set(key, data, ttl) {
3529
- }
3530
- clear() {
3531
- this.cache.flushAll();
3532
- }
3533
- size() {
3534
- return this.cache.keys().length;
3535
- }
3536
- destroy() {
3537
- this.cache.close();
3538
- }
3539
- };
3540
-
3541
- // src/clients/ServiceClient.tsx
3542
- var ServerApiError = class extends Error {
3543
- constructor(data, status) {
3544
- super(data.message || "---");
3545
- this.status = status;
3546
- this.data = data;
3547
- this.data.isSuccessful = false;
3548
- }
3549
- };
3550
- var ServiceClient = class {
3551
- constructor(apiBaseUrl, session) {
3552
- this.cacheManager = CacheManager.getInstance();
3553
- this.baseUrl = apiBaseUrl;
3554
- this.session = session;
3555
- }
3556
- buildFullPath(path, params) {
3557
- let updatedPath = path;
3558
- if (params) {
3559
- Object.keys(params).forEach((key) => {
3560
- updatedPath = updatedPath.replace(
3561
- `{${key}}`,
3562
- String(params[key])
3563
- );
3564
- });
3565
- }
3566
- return this.baseUrl + updatedPath;
3567
- }
3568
- getConfig() {
3569
- const config = { headers: {} };
3570
- if (this.session) {
3571
- if (this.session.oAuthToken) {
3572
- config.headers["Authorization"] = "Bearer " + this.session.oAuthToken;
3573
- }
3574
- config.headers["cid"] = this.session.cid || "";
3575
- config.headers["UserCurrencyCode"] = this.session.userCurrencyCode || "INR";
3576
- config.headers["MarketCode"] = this.session?.marketCode || "IND";
3577
- }
3578
- return config;
3579
- }
3580
- handleFetchError(error) {
3581
- console.log(error);
3582
- const serverApiError = error;
3583
- if (serverApiError) {
3584
- return serverApiError.data;
3585
- }
3586
- return {
3587
- message: "There is some error. Please try after sometime.",
3588
- isSuccessful: false
3589
- };
3590
- }
3591
- async fetchJsonWithCache(fullPath, config) {
3592
- const cacheKey = fullPath + "--" + (this.session?.marketCode || "IND");
3593
- const cachedData = this.cacheManager.get(cacheKey);
3594
- if (cachedData) {
3595
- return cachedData;
3596
- }
3597
- console.log("*****************CALLING API:", cacheKey, (/* @__PURE__ */ new Date()).toISOString());
3598
- const response = await fetch(fullPath, { headers: config.headers });
3599
- if (!response.ok) {
3600
- const apiErrorData = await response.json();
3601
- throw new ServerApiError(apiErrorData, response.status);
3602
- }
3603
- const cacheControl = response.headers.get("Cache-Control");
3604
- let revalidate = null;
3605
- if (cacheControl) {
3606
- const maxAgeMatch = cacheControl.match(/max-age=(\d+)/);
3607
- if (maxAgeMatch && maxAgeMatch[1]) {
3608
- const maxAge = parseInt(maxAgeMatch[1], 10);
3609
- revalidate = maxAge * 1e3;
3610
- }
3611
- }
3612
- const data = await response.json();
3613
- data.isSuccessful = true;
3614
- if (revalidate !== null && revalidate > 0) {
3615
- console.log("revalidate............I am caching:" + revalidate);
3616
- this.cacheManager.set(cacheKey, data, revalidate);
3617
- }
3618
- return data;
3619
- }
3620
- // private async refreshToken(): Promise<void> {
3621
- // console.log("*******************calling refresh token***********************");
3622
- // try {
3623
- // const response = await fetch(this.baseUrl + "/auth/storefront/login/refreshToken", {
3624
- // method: 'POST',
3625
- // headers: {
3626
- // 'Content-Type': 'application/json'
3627
- // },
3628
- // body: JSON.stringify({ refreshToken: this.session.refreshToken })
3629
- // });
3630
- // if (!response.ok) {
3631
- // throw new Error("Failed to refresh token");
3632
- // }
3633
- // const responseData = await response.json();
3634
- // this.session.oAuthToken = responseData.result.accessToken;
3635
- // if (typeof window === "undefined") {
3636
- // // Running on the server
3637
- // } else {
3638
- // await fetch("/api/login", {
3639
- // method: "post",
3640
- // headers: {
3641
- // "Content-Type": "application/json",
3642
- // },
3643
- // body: JSON.stringify({ session: this.session }),
3644
- // });
3645
- // }
3646
- // } catch (error: any) {
3647
- // throw new Error("Failed to refresh token");
3648
- // }
3649
- // }
3650
- async handleRequest(request) {
3651
- try {
3652
- return await request();
3653
- } catch (error) {
3654
- throw error;
3655
- }
3656
- }
3657
- async post(path, data) {
3658
- const request = async () => {
3659
- const fullPath = this.baseUrl + path;
3660
- const config = this.getConfig();
3661
- const response = await fetch(fullPath, {
3662
- method: "POST",
3663
- headers: {
3664
- ...config.headers,
3665
- "Content-Type": "application/json"
3666
- },
3667
- body: JSON.stringify(data)
3668
- });
3669
- if (!response.ok) {
3670
- const apiErrorData = await response.json();
3671
- throw new ServerApiError(apiErrorData, response.status);
3672
- }
3673
- const responseData = await response.json();
3674
- responseData.isSuccessful = true;
3675
- return responseData;
3676
- };
3677
- try {
3678
- return await this.handleRequest(request);
3679
- } catch (error) {
3680
- return this.handleFetchError(error);
3681
- }
3682
- }
3683
- async getSingle(path, params) {
3684
- const request = async () => {
3685
- const sanitizedParams = params ? Object.fromEntries(
3686
- Object.entries(params).map(([k, v]) => [k, String(v)])
3687
- ) : void 0;
3688
- const fullPath = this.buildFullPath(path, sanitizedParams);
3689
- const config = this.getConfig();
3690
- return await this.fetchJsonWithCache(fullPath, config);
3691
- };
3692
- try {
3693
- return await this.handleRequest(request);
3694
- } catch (error) {
3695
- return this.handleFetchError(error);
3696
- }
3697
- }
3698
- async get(path, params) {
3699
- const request = async () => {
3700
- const sanitizedParams = params ? Object.fromEntries(
3701
- Object.entries(params).map(([k, v]) => [k, String(v)])
3702
- ) : void 0;
3703
- const fullPath = this.buildFullPath(path, sanitizedParams);
3704
- const config = this.getConfig();
3705
- console.log(fullPath);
3706
- return await this.fetchJsonWithCache(fullPath, config);
3707
- };
3708
- try {
3709
- return await this.handleRequest(request);
3710
- } catch (error) {
3711
- return this.handleFetchError(error);
3712
- }
3713
- }
3714
- };
3715
- var ServiceClient_default = ServiceClient;
3716
-
3717
3403
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3718
- import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
3404
+ import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
3719
3405
  var FormContainerNode = (props) => {
3720
3406
  const NodeTypes2 = {
3721
3407
  ["input-control"]: InputControlNode_default
@@ -3745,12 +3431,12 @@ var FormContainerNode = (props) => {
3745
3431
  };
3746
3432
  fetchInitialData();
3747
3433
  }, [props.apiBaseUrl, props.node, props.session, props.routeParameters]);
3748
- return /* @__PURE__ */ jsxs31("form", { className: "group space-y-6 pb-6 overflow-y-auto", noValidate: true, ref: formRef, children: [
3434
+ return /* @__PURE__ */ jsxs29("form", { className: "group space-y-6 pb-6 overflow-y-auto", noValidate: true, ref: formRef, children: [
3749
3435
  node.children && node.children.map((node2, index) => {
3750
3436
  {
3751
3437
  }
3752
3438
  const SelectedNode = NodeTypes2[node2.type];
3753
- return /* @__PURE__ */ jsx56(React41.Fragment, { children: SelectedNode && node2.type == "input-control" && /* @__PURE__ */ jsx56(
3439
+ return /* @__PURE__ */ jsx53(React38.Fragment, { children: SelectedNode && node2.type == "input-control" && /* @__PURE__ */ jsx53(
3754
3440
  InputControlNode_default,
3755
3441
  {
3756
3442
  value: formState.inputValues[node2.name],
@@ -3759,18 +3445,18 @@ var FormContainerNode = (props) => {
3759
3445
  }
3760
3446
  ) }, index);
3761
3447
  }),
3762
- node.children.length == 0 && /* @__PURE__ */ jsx56("div", { className: "py-0.5 lg:py-1.5" })
3448
+ node.children.length == 0 && /* @__PURE__ */ jsx53("div", { className: "py-0.5 lg:py-1.5" })
3763
3449
  ] });
3764
3450
  };
3765
3451
  var FormContainerNode_default = FormContainerNode;
3766
3452
 
3767
3453
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
3768
- import React44 from "react";
3454
+ import React41 from "react";
3769
3455
 
3770
3456
  // src/components/pageRenderingEngine/nodes/EmbedNode.tsx
3771
- import dynamic3 from "next/dynamic";
3772
- import { jsx as jsx57 } from "react/jsx-runtime";
3773
- var IframeClient = dynamic3(() => import("./IframeClient-J22NMEVY.mjs"), {
3457
+ import dynamic4 from "next/dynamic";
3458
+ import { jsx as jsx54 } from "react/jsx-runtime";
3459
+ var IframeClient = dynamic4(() => import("./IframeClient-J22NMEVY.mjs"), {
3774
3460
  ssr: false
3775
3461
  });
3776
3462
  var EmbedNode = (props) => {
@@ -3782,13 +3468,13 @@ var EmbedNode = (props) => {
3782
3468
  } else {
3783
3469
  src = props.node.embedSrc;
3784
3470
  }
3785
- return /* @__PURE__ */ jsx57("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx57(IframeClient, { src }) });
3471
+ return /* @__PURE__ */ jsx54("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx54(IframeClient, { src }) });
3786
3472
  };
3787
3473
  var EmbedNode_default = EmbedNode;
3788
3474
 
3789
3475
  // src/components/Slider.tsx
3790
- import React42, { useState as useState8, useEffect as useEffect8, Children, cloneElement } from "react";
3791
- import { Fragment as Fragment8, jsx as jsx58, jsxs as jsxs32 } from "react/jsx-runtime";
3476
+ import React39, { useState as useState6, useEffect as useEffect8, Children, cloneElement } from "react";
3477
+ import { Fragment as Fragment8, jsx as jsx55, jsxs as jsxs30 } from "react/jsx-runtime";
3792
3478
  var Slider = ({
3793
3479
  children,
3794
3480
  slidesToShow = 4,
@@ -3806,12 +3492,12 @@ var Slider = ({
3806
3492
  pillStyle = "cumulative",
3807
3493
  progressPosition = "bottom"
3808
3494
  }) => {
3809
- const [currentSlide, setCurrentSlide] = useState8(0);
3810
- const [transition, setTransition] = useState8(true);
3811
- const [slidesToShowState, setSlidesToShowState] = useState8(
3495
+ const [currentSlide, setCurrentSlide] = useState6(0);
3496
+ const [transition, setTransition] = useState6(true);
3497
+ const [slidesToShowState, setSlidesToShowState] = useState6(
3812
3498
  typeof slidesToShow === "number" ? slidesToShow : slidesToShow.large
3813
3499
  );
3814
- const [isPlaying, setIsPlaying] = useState8(autoplay);
3500
+ const [isPlaying, setIsPlaying] = useState6(autoplay);
3815
3501
  useEffect8(() => {
3816
3502
  if (typeof slidesToShow === "number") return;
3817
3503
  const handleResize = () => {
@@ -3882,10 +3568,10 @@ var Slider = ({
3882
3568
  };
3883
3569
  const translateX = -currentSlide * (100 / slidesToShowState);
3884
3570
  const slides = Children.map(children, (child, index) => {
3885
- if (!React42.isValidElement(child)) return null;
3571
+ if (!React39.isValidElement(child)) return null;
3886
3572
  const childProps = child.props;
3887
3573
  const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
3888
- return /* @__PURE__ */ jsx58(
3574
+ return /* @__PURE__ */ jsx55(
3889
3575
  "div",
3890
3576
  {
3891
3577
  className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
@@ -3908,14 +3594,14 @@ var Slider = ({
3908
3594
  return "bottom-4";
3909
3595
  }
3910
3596
  };
3911
- return /* @__PURE__ */ jsxs32(
3597
+ return /* @__PURE__ */ jsxs30(
3912
3598
  "div",
3913
3599
  {
3914
3600
  className: `relative w-full overflow-hidden ${className}`,
3915
3601
  onMouseEnter: handleMouseEnter,
3916
3602
  onMouseLeave: handleMouseLeave,
3917
3603
  children: [
3918
- /* @__PURE__ */ jsx58(
3604
+ /* @__PURE__ */ jsx55(
3919
3605
  "div",
3920
3606
  {
3921
3607
  className: "flex h-full",
@@ -3926,18 +3612,18 @@ var Slider = ({
3926
3612
  children: slides
3927
3613
  }
3928
3614
  ),
3929
- show_arrows && /* @__PURE__ */ jsxs32(Fragment8, { children: [
3930
- /* @__PURE__ */ jsx58(
3615
+ show_arrows && /* @__PURE__ */ jsxs30(Fragment8, { children: [
3616
+ /* @__PURE__ */ jsx55(
3931
3617
  ArrowButton,
3932
3618
  {
3933
3619
  direction: "left",
3934
3620
  onClick: prevSlide,
3935
3621
  visible: infinite_scroll || currentSlide > 0,
3936
3622
  className: arrowClassName,
3937
- children: /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
3623
+ children: /* @__PURE__ */ jsx55("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx55("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
3938
3624
  }
3939
3625
  ),
3940
- /* @__PURE__ */ jsxs32(
3626
+ /* @__PURE__ */ jsxs30(
3941
3627
  ArrowButton,
3942
3628
  {
3943
3629
  direction: "right",
@@ -3945,13 +3631,13 @@ var Slider = ({
3945
3631
  visible: infinite_scroll || currentSlide < maxSlide,
3946
3632
  className: arrowClassName,
3947
3633
  children: [
3948
- /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
3634
+ /* @__PURE__ */ jsx55("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx55("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
3949
3635
  " "
3950
3636
  ]
3951
3637
  }
3952
3638
  )
3953
3639
  ] }),
3954
- show_dots && /* @__PURE__ */ jsx58("div", { className: `absolute left-1/2 -translate-x-1/2 flex justify-center space-x-1.5 ${getProgressPositionClass()}`, children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ jsx58(
3640
+ show_dots && /* @__PURE__ */ jsx55("div", { className: `absolute left-1/2 -translate-x-1/2 flex justify-center space-x-1.5 ${getProgressPositionClass()}`, children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ jsx55(
3955
3641
  ProgressPill,
3956
3642
  {
3957
3643
  active: index === currentSlide,
@@ -3977,7 +3663,7 @@ var ArrowButton = ({
3977
3663
  visible,
3978
3664
  children,
3979
3665
  className = ""
3980
- }) => /* @__PURE__ */ jsx58(
3666
+ }) => /* @__PURE__ */ jsx55(
3981
3667
  "button",
3982
3668
  {
3983
3669
  className: `
@@ -4003,7 +3689,7 @@ var ProgressPill = ({
4003
3689
  currentSlide,
4004
3690
  totalSlides
4005
3691
  }) => {
4006
- const [progress, setProgress] = useState8(0);
3692
+ const [progress, setProgress] = useState6(0);
4007
3693
  useEffect8(() => {
4008
3694
  if (active) {
4009
3695
  setProgress(0);
@@ -4064,7 +3750,7 @@ var ProgressPill = ({
4064
3750
  const renderProgressBar = () => {
4065
3751
  if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
4066
3752
  const displayProgress = style === "cumulative" && isFilled ? 100 : progress;
4067
- return /* @__PURE__ */ jsx58(
3753
+ return /* @__PURE__ */ jsx55(
4068
3754
  "div",
4069
3755
  {
4070
3756
  className: `absolute top-0 left-0 h-full rounded-full ${style === "cumulative" && isFilled ? activeClassName || "bg-white" : activeClassName || "bg-white"} transition-all duration-50 ease-linear`,
@@ -4076,7 +3762,7 @@ var ProgressPill = ({
4076
3762
  };
4077
3763
  const renderCumulativeFill = () => {
4078
3764
  if (style === "cumulative" && isFilled && !isActive) {
4079
- return /* @__PURE__ */ jsx58(
3765
+ return /* @__PURE__ */ jsx55(
4080
3766
  "div",
4081
3767
  {
4082
3768
  className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
@@ -4086,7 +3772,7 @@ var ProgressPill = ({
4086
3772
  }
4087
3773
  return null;
4088
3774
  };
4089
- return /* @__PURE__ */ jsxs32(
3775
+ return /* @__PURE__ */ jsxs30(
4090
3776
  "button",
4091
3777
  {
4092
3778
  className: `${baseClasses} ${getStyleClasses()}`,
@@ -4262,10 +3948,10 @@ var PathUtility = class {
4262
3948
  var PathUtility_default = new PathUtility();
4263
3949
 
4264
3950
  // src/components/NoDataFound.tsx
4265
- import { jsx as jsx59, jsxs as jsxs33 } from "react/jsx-runtime";
3951
+ import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
4266
3952
  var NoDataFound = () => {
4267
- return /* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
4268
- /* @__PURE__ */ jsx59("div", { className: "mb-5", children: /* @__PURE__ */ jsx59("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx59(
3953
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
3954
+ /* @__PURE__ */ jsx56("div", { className: "mb-5", children: /* @__PURE__ */ jsx56("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx56(
4269
3955
  "svg",
4270
3956
  {
4271
3957
  className: "w-10 h-10",
@@ -4273,7 +3959,7 @@ var NoDataFound = () => {
4273
3959
  stroke: "currentColor",
4274
3960
  viewBox: "0 0 24 24",
4275
3961
  xmlns: "http://www.w3.org/2000/svg",
4276
- children: /* @__PURE__ */ jsx59(
3962
+ children: /* @__PURE__ */ jsx56(
4277
3963
  "path",
4278
3964
  {
4279
3965
  strokeLinecap: "round",
@@ -4284,15 +3970,15 @@ var NoDataFound = () => {
4284
3970
  )
4285
3971
  }
4286
3972
  ) }) }),
4287
- /* @__PURE__ */ jsx59("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
4288
- /* @__PURE__ */ jsx59("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
3973
+ /* @__PURE__ */ jsx56("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
3974
+ /* @__PURE__ */ jsx56("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
4289
3975
  ] });
4290
3976
  };
4291
3977
  var NoDataFound_default = NoDataFound;
4292
3978
 
4293
3979
  // src/components/Pagination.tsx
4294
3980
  import { useMemo } from "react";
4295
- import { jsx as jsx60, jsxs as jsxs34 } from "react/jsx-runtime";
3981
+ import { jsx as jsx57, jsxs as jsxs32 } from "react/jsx-runtime";
4296
3982
  var Pagination = (props) => {
4297
3983
  const { dataset, path, query, showPageSizeSelector = false, showJumpToPage = false } = props;
4298
3984
  const builder = useMemo(() => {
@@ -4336,7 +4022,7 @@ var Pagination = (props) => {
4336
4022
  return range;
4337
4023
  };
4338
4024
  const paginationRange = getPaginationRange();
4339
- const PageButton = ({ page, children }) => /* @__PURE__ */ jsx60(
4025
+ const PageButton = ({ page, children }) => /* @__PURE__ */ jsx57(
4340
4026
  Hyperlink,
4341
4027
  {
4342
4028
  linkType: "Link" /* Link */,
@@ -4351,9 +4037,9 @@ var Pagination = (props) => {
4351
4037
  );
4352
4038
  const NavigationButton = ({ page, disabled, children }) => {
4353
4039
  if (disabled) {
4354
- return /* @__PURE__ */ jsx60("span", { className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border bg-neutral-base cursor-not-allowed", children });
4040
+ return /* @__PURE__ */ jsx57("span", { className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border bg-neutral-base cursor-not-allowed", children });
4355
4041
  }
4356
- return /* @__PURE__ */ jsx60(
4042
+ return /* @__PURE__ */ jsx57(
4357
4043
  Hyperlink,
4358
4044
  {
4359
4045
  className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border transition-colors duration-150",
@@ -4363,35 +4049,35 @@ var Pagination = (props) => {
4363
4049
  );
4364
4050
  };
4365
4051
  if (totalPages <= 1 && totalItems === 0) return null;
4366
- return /* @__PURE__ */ jsxs34("div", { className: "py-6 border-t bg-default", children: [
4367
- /* @__PURE__ */ jsxs34("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4368
- /* @__PURE__ */ jsxs34("div", { className: "text-sm", children: [
4052
+ return /* @__PURE__ */ jsxs32("div", { className: "py-6 border-t bg-default", children: [
4053
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4054
+ /* @__PURE__ */ jsxs32("div", { className: "text-sm", children: [
4369
4055
  "Showing ",
4370
- /* @__PURE__ */ jsxs34("span", { className: "font-semibold", children: [
4056
+ /* @__PURE__ */ jsxs32("span", { className: "font-semibold", children: [
4371
4057
  startItem,
4372
4058
  "-",
4373
4059
  endItem
4374
4060
  ] }),
4375
4061
  " ",
4376
4062
  "out of ",
4377
- /* @__PURE__ */ jsx60("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
4063
+ /* @__PURE__ */ jsx57("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
4378
4064
  " results"
4379
4065
  ] }),
4380
- totalPages > 1 && /* @__PURE__ */ jsxs34("div", { className: "flex items-center space-x-1", children: [
4381
- /* @__PURE__ */ jsxs34(
4066
+ totalPages > 1 && /* @__PURE__ */ jsxs32("div", { className: "flex items-center space-x-1", children: [
4067
+ /* @__PURE__ */ jsxs32(
4382
4068
  NavigationButton,
4383
4069
  {
4384
4070
  page: activePageNumber - 1,
4385
4071
  disabled: activePageNumber === 1,
4386
4072
  children: [
4387
- /* @__PURE__ */ jsx60("span", { children: /* @__PURE__ */ jsx60(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
4388
- /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Prev" })
4073
+ /* @__PURE__ */ jsx57("span", { children: /* @__PURE__ */ jsx57(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
4074
+ /* @__PURE__ */ jsx57("span", { className: "text-sm", children: "Prev" })
4389
4075
  ]
4390
4076
  }
4391
4077
  ),
4392
4078
  paginationRange.map((item, index) => {
4393
4079
  if (item === "...") {
4394
- return /* @__PURE__ */ jsx60(
4080
+ return /* @__PURE__ */ jsx57(
4395
4081
  "span",
4396
4082
  {
4397
4083
  className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center text-gray-500",
@@ -4401,23 +4087,23 @@ var Pagination = (props) => {
4401
4087
  );
4402
4088
  }
4403
4089
  const page = item;
4404
- return /* @__PURE__ */ jsx60(PageButton, { page, children: page }, page);
4090
+ return /* @__PURE__ */ jsx57(PageButton, { page, children: page }, page);
4405
4091
  }),
4406
- /* @__PURE__ */ jsxs34(
4092
+ /* @__PURE__ */ jsxs32(
4407
4093
  NavigationButton,
4408
4094
  {
4409
4095
  page: activePageNumber + 1,
4410
4096
  disabled: activePageNumber === totalPages,
4411
4097
  children: [
4412
- /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Next" }),
4413
- /* @__PURE__ */ jsx60("span", { children: /* @__PURE__ */ jsx60(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
4098
+ /* @__PURE__ */ jsx57("span", { className: "text-sm", children: "Next" }),
4099
+ /* @__PURE__ */ jsx57("span", { children: /* @__PURE__ */ jsx57(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
4414
4100
  ]
4415
4101
  }
4416
4102
  )
4417
4103
  ] }),
4418
- showJumpToPage && totalPages > 5 && /* @__PURE__ */ jsxs34("div", { className: "flex items-center space-x-2", children: [
4419
- /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Go to:" }),
4420
- /* @__PURE__ */ jsx60("div", { className: "relative", children: /* @__PURE__ */ jsx60(
4104
+ showJumpToPage && totalPages > 5 && /* @__PURE__ */ jsxs32("div", { className: "flex items-center space-x-2", children: [
4105
+ /* @__PURE__ */ jsx57("span", { className: "text-sm", children: "Go to:" }),
4106
+ /* @__PURE__ */ jsx57("div", { className: "relative", children: /* @__PURE__ */ jsx57(
4421
4107
  "input",
4422
4108
  {
4423
4109
  type: "number",
@@ -4438,9 +4124,9 @@ var Pagination = (props) => {
4438
4124
  ) })
4439
4125
  ] })
4440
4126
  ] }),
4441
- showPageSizeSelector && /* @__PURE__ */ jsx60("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-center space-x-2", children: [
4442
- /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Show:" }),
4443
- /* @__PURE__ */ jsx60("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ jsx60(
4127
+ showPageSizeSelector && /* @__PURE__ */ jsx57("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center space-x-2", children: [
4128
+ /* @__PURE__ */ jsx57("span", { className: "text-sm", children: "Show:" }),
4129
+ /* @__PURE__ */ jsx57("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ jsx57(
4444
4130
  Hyperlink,
4445
4131
  {
4446
4132
  className: `
@@ -4452,16 +4138,16 @@ var Pagination = (props) => {
4452
4138
  },
4453
4139
  size
4454
4140
  )) }),
4455
- /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "per page" })
4141
+ /* @__PURE__ */ jsx57("span", { className: "text-sm", children: "per page" })
4456
4142
  ] }) })
4457
4143
  ] });
4458
4144
  };
4459
4145
  var Pagination_default = Pagination;
4460
4146
 
4461
4147
  // src/components/pageRenderingEngine/nodes/ImageGalleryNode.tsx
4462
- import dynamic4 from "next/dynamic";
4463
- import { jsx as jsx61 } from "react/jsx-runtime";
4464
- var HlsPlayer1 = dynamic4(() => import("./HlsPlayer-FFEIK6FG.mjs"), {
4148
+ import dynamic5 from "next/dynamic";
4149
+ import { jsx as jsx58 } from "react/jsx-runtime";
4150
+ var HlsPlayer1 = dynamic5(() => import("./HlsPlayer-FFEIK6FG.mjs"), {
4465
4151
  ssr: false
4466
4152
  });
4467
4153
  var parseMaybeNumber = (value) => {
@@ -4497,7 +4183,7 @@ var ImageGalleryNode = (props) => {
4497
4183
  right: "justify-end"
4498
4184
  };
4499
4185
  const formatClasses = FormatClass[props.node.format || ""] || "";
4500
- return /* @__PURE__ */ jsx61("div", { className: `flex flex-wrap gap-4 ${formatClasses}`, children: visibleImages.map((img, idx) => {
4186
+ return /* @__PURE__ */ jsx58("div", { className: `flex flex-wrap gap-4 ${formatClasses}`, children: visibleImages.map((img, idx) => {
4501
4187
  const imageUrl = resolveImageUrl(img.imageUrl);
4502
4188
  if (!imageUrl) return null;
4503
4189
  const posterUrl = resolvePosterUrl(img.posterUrl);
@@ -4505,7 +4191,7 @@ var ImageGalleryNode = (props) => {
4505
4191
  const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
4506
4192
  const isHls = imageUrl.endsWith(".m3u8");
4507
4193
  const alt = img.title || "Gallery image";
4508
- return /* @__PURE__ */ jsx61("div", { className: "max-w-full", children: isHls ? /* @__PURE__ */ jsx61(
4194
+ return /* @__PURE__ */ jsx58("div", { className: "max-w-full", children: isHls ? /* @__PURE__ */ jsx58(
4509
4195
  HlsPlayer1,
4510
4196
  {
4511
4197
  assetUrl: imageUrl,
@@ -4520,7 +4206,7 @@ var ImageGalleryNode = (props) => {
4520
4206
  }
4521
4207
  ) : (
4522
4208
  /* eslint-disable-next-line @next/next/no-img-element */
4523
- /* @__PURE__ */ jsx61(
4209
+ /* @__PURE__ */ jsx58(
4524
4210
  "img",
4525
4211
  {
4526
4212
  loading: "lazy",
@@ -4537,8 +4223,8 @@ var ImageGalleryNode = (props) => {
4537
4223
  var ImageGalleryNode_default = ImageGalleryNode;
4538
4224
 
4539
4225
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
4540
- import Link3 from "next/link";
4541
- import { jsx as jsx62, jsxs as jsxs35 } from "react/jsx-runtime";
4226
+ import Link2 from "next/link";
4227
+ import { jsx as jsx59, jsxs as jsxs33 } from "react/jsx-runtime";
4542
4228
  function toCamelCase(str) {
4543
4229
  return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
4544
4230
  }
@@ -4721,7 +4407,7 @@ var DivContainer = async (props) => {
4721
4407
  response = await serviceClient.get(endpoint);
4722
4408
  result = response?.result;
4723
4409
  if (dataBindingProperties.showNoResultsMessage && (result === void 0 || result.length == 0)) {
4724
- return /* @__PURE__ */ jsx62(NoDataFound_default, {});
4410
+ return /* @__PURE__ */ jsx59(NoDataFound_default, {});
4725
4411
  }
4726
4412
  if (dataBindingProperties.childCollectionName && props.dataitem) {
4727
4413
  childCollectionData = getNestedValue2(props.dataitem, dataBindingProperties.childCollectionName);
@@ -4733,7 +4419,7 @@ var DivContainer = async (props) => {
4733
4419
  }
4734
4420
  const SelectedNode = NodeTypes2[node.type];
4735
4421
  if (!SelectedNode) return null;
4736
- return /* @__PURE__ */ jsx62(React44.Fragment, { children: /* @__PURE__ */ jsx62(
4422
+ return /* @__PURE__ */ jsx59(React41.Fragment, { children: /* @__PURE__ */ jsx59(
4737
4423
  SelectedNode,
4738
4424
  {
4739
4425
  node,
@@ -4801,7 +4487,7 @@ var DivContainer = async (props) => {
4801
4487
  wrapperProps = { ...props.node.componentProperties, "slidesToShow": slidesToShow };
4802
4488
  break;
4803
4489
  case !!(props.node.href || props.href):
4804
- Wrapper = Link3;
4490
+ Wrapper = Link2;
4805
4491
  let href = props.node.href || props.href;
4806
4492
  if (href?.includes("{")) {
4807
4493
  href = resolveHrefTemplate(href, props.dataitem);
@@ -4833,9 +4519,9 @@ var DivContainer = async (props) => {
4833
4519
  props.node.autoFormat && "auto-format",
4834
4520
  props.node.bgClass
4835
4521
  ].filter(Boolean).join(" ");
4836
- return /* @__PURE__ */ jsxs35(React44.Fragment, { children: [
4837
- /* @__PURE__ */ jsx62("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4838
- /* @__PURE__ */ jsx62(React44.Fragment, { children: /* @__PURE__ */ jsx62(
4522
+ return /* @__PURE__ */ jsxs33(React41.Fragment, { children: [
4523
+ /* @__PURE__ */ jsx59("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4524
+ /* @__PURE__ */ jsx59(React41.Fragment, { children: /* @__PURE__ */ jsx59(
4839
4525
  Wrapper,
4840
4526
  {
4841
4527
  id: guid,
@@ -4844,18 +4530,18 @@ var DivContainer = async (props) => {
4844
4530
  ...wrapperProps,
4845
4531
  children: dataToRender.map(
4846
4532
  (item, idx) => item?.links?.view && renderLink ? renderChildren(props.node.children, props, item, idx, props.href ? void 0 : item?.links?.view)?.map(
4847
- (child, i) => /* @__PURE__ */ jsx62(React44.Fragment, { children: child }, i)
4533
+ (child, i) => /* @__PURE__ */ jsx59(React41.Fragment, { children: child }, i)
4848
4534
  ) : renderChildren(props.node.children, props, item, idx)
4849
4535
  )
4850
4536
  }
4851
4537
  ) }),
4852
- dataBindingProperties && props.node.dataBinding.enablePagination && /* @__PURE__ */ jsx62("div", { children: /* @__PURE__ */ jsx62(Pagination_default, { path: props.path, query: props.query, dataset: response }) })
4538
+ dataBindingProperties && props.node.dataBinding.enablePagination && /* @__PURE__ */ jsx59("div", { children: /* @__PURE__ */ jsx59(Pagination_default, { path: props.path, query: props.query, dataset: response }) })
4853
4539
  ] });
4854
4540
  };
4855
4541
  var DivContainer_default = DivContainer;
4856
4542
 
4857
4543
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
4858
- import { jsx as jsx63 } from "react/jsx-runtime";
4544
+ import { jsx as jsx60 } from "react/jsx-runtime";
4859
4545
  var NodeTypes = {
4860
4546
  ["paragraph"]: ParagraphNode_default,
4861
4547
  ["heading"]: HeadingNode_default,
@@ -4883,11 +4569,11 @@ var PageBodyRenderer = (props) => {
4883
4569
  if (pageBodyTree && pageBodyTree.root) {
4884
4570
  rootNode = pageBodyTree.root;
4885
4571
  }
4886
- return /* @__PURE__ */ jsx63(React45.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
4572
+ return /* @__PURE__ */ jsx60(React42.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
4887
4573
  {
4888
4574
  }
4889
4575
  const SelectedNode = NodeTypes[node.type];
4890
- return /* @__PURE__ */ jsx63(React45.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx63(React45.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ jsx63(React45.Fragment, { children: /* @__PURE__ */ jsx63(
4576
+ return /* @__PURE__ */ jsx60(React42.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx60(React42.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ jsx60(React42.Fragment, { children: /* @__PURE__ */ jsx60(
4891
4577
  SelectedNode,
4892
4578
  {
4893
4579
  node,
@@ -4902,7 +4588,7 @@ var PageBodyRenderer = (props) => {
4902
4588
  assetBaseUrl: props.assetBaseUrl,
4903
4589
  device: props.device
4904
4590
  }
4905
- ) }) : /* @__PURE__ */ jsx63(React45.Fragment, { children: /* @__PURE__ */ jsx63(
4591
+ ) }) : /* @__PURE__ */ jsx60(React42.Fragment, { children: /* @__PURE__ */ jsx60(
4906
4592
  SelectedNode,
4907
4593
  {
4908
4594
  node,