@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/LinkNodeButton-KBSXOEHS.mjs +169 -0
- package/dist/chunk-3IDT4246.mjs +400 -0
- package/dist/index.js +1527 -1217
- package/dist/index.mjs +864 -1178
- package/package.json +1 -1
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
|
|
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
|
|
1219
|
+
import React22, {
|
|
1420
1220
|
useEffect as useEffect4,
|
|
1421
1221
|
useRef as useRef2,
|
|
1422
|
-
useState as
|
|
1222
|
+
useState as useState3,
|
|
1423
1223
|
useCallback
|
|
1424
1224
|
} from "react";
|
|
1425
|
-
import { jsx as
|
|
1225
|
+
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1426
1226
|
var SelectWithSearchPanel = (props) => {
|
|
1427
|
-
const [isOpen, setIsOpen] =
|
|
1428
|
-
const [searchTerm, setSearchTerm] =
|
|
1429
|
-
const [highlightedIndex, setHighlightedIndex] =
|
|
1430
|
-
const [list, setList] =
|
|
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] =
|
|
1232
|
+
const [isError, setIsError] = useState3(false);
|
|
1433
1233
|
const containerRef = useRef2(null);
|
|
1434
|
-
const [isCreateOpen, setIsCreateOpen] =
|
|
1435
|
-
const [formData, setFormData] =
|
|
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__ */
|
|
1562
|
-
/* @__PURE__ */
|
|
1563
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1578
|
-
/* @__PURE__ */
|
|
1579
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1598
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1612
|
-
props.createFields?.map((field) => /* @__PURE__ */
|
|
1613
|
-
/* @__PURE__ */
|
|
1614
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1455
|
+
children: /* @__PURE__ */ jsx22("span", { children: getNestedValue3(item, props.dataTextFieldName) })
|
|
1656
1456
|
}
|
|
1657
|
-
) }, item[props.dataKeyFieldName])) : /* @__PURE__ */
|
|
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
|
|
1667
|
-
useState as
|
|
1466
|
+
import React23, {
|
|
1467
|
+
useState as useState4,
|
|
1668
1468
|
useEffect as useEffect5
|
|
1669
1469
|
} from "react";
|
|
1670
|
-
import { jsx as
|
|
1470
|
+
import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1671
1471
|
var BooleanSelect = (props) => {
|
|
1672
|
-
const [list, setList] =
|
|
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__ */
|
|
1720
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1723
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1535
|
+
/* @__PURE__ */ jsx23("option", { className: "", value: "", children: props.attributes?.placeholder || "Select" }),
|
|
1736
1536
|
list && list.map((item, i) => {
|
|
1737
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
1757
|
-
import { jsx as
|
|
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__ */
|
|
1783
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1786
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
1809
|
-
import { jsx as
|
|
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__ */
|
|
1823
|
-
/* @__PURE__ */
|
|
1824
|
-
props?.attributes?.label && props?.attributes?.required && /* @__PURE__ */
|
|
1825
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
1845
|
-
var InputControl =
|
|
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__ */
|
|
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
|
|
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
|
|
1878
|
-
import { jsx as
|
|
1677
|
+
import React27 from "react";
|
|
1678
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1879
1679
|
var NoContentView = (props) => {
|
|
1880
|
-
return /* @__PURE__ */
|
|
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
|
|
1886
|
-
import { jsx as
|
|
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__ */
|
|
1889
|
-
props.isDataFound == null && /* @__PURE__ */
|
|
1890
|
-
/* @__PURE__ */
|
|
1891
|
-
/* @__PURE__ */
|
|
1892
|
-
/* @__PURE__ */
|
|
1893
|
-
/* @__PURE__ */
|
|
1894
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1898
|
-
/* @__PURE__ */
|
|
1899
|
-
/* @__PURE__ */
|
|
1900
|
-
/* @__PURE__ */
|
|
1901
|
-
/* @__PURE__ */
|
|
1902
|
-
/* @__PURE__ */
|
|
1903
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1906
|
-
/* @__PURE__ */
|
|
1907
|
-
/* @__PURE__ */
|
|
1908
|
-
/* @__PURE__ */
|
|
1909
|
-
/* @__PURE__ */
|
|
1910
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1913
|
-
/* @__PURE__ */
|
|
1914
|
-
/* @__PURE__ */
|
|
1915
|
-
/* @__PURE__ */
|
|
1916
|
-
/* @__PURE__ */
|
|
1917
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1904
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
2105
1905
|
var ChevronUpDown = (props) => {
|
|
2106
|
-
return /* @__PURE__ */
|
|
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
|
|
1911
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
2112
1912
|
var ChevronDown = (props) => {
|
|
2113
|
-
return /* @__PURE__ */
|
|
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
|
|
1918
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
2119
1919
|
var ChevronUp = (props) => {
|
|
2120
|
-
return /* @__PURE__ */
|
|
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
|
|
1925
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
2126
1926
|
var Plus = (props) => {
|
|
2127
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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] =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2290
|
-
Array.from({ length: 8 }, (_, index) => index + 1).map((page) => /* @__PURE__ */
|
|
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__ */
|
|
2298
|
-
/* @__PURE__ */
|
|
2299
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2338
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2154
|
+
/* @__PURE__ */ jsx35("span", { className: "px-2 py-1", children: "..." }),
|
|
2355
2155
|
Array.from({ length: 8 }, (_, index) => pages - 7 + index).map(
|
|
2356
|
-
(page) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2368
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2396
|
-
/* @__PURE__ */
|
|
2397
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2426
|
-
Array.from({ length: pages - 4 }, (_, index) => index + 3).filter((page) => page > 2 && page < pages - 1).map((page) => /* @__PURE__ */
|
|
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__ */
|
|
2435
|
-
/* @__PURE__ */
|
|
2436
|
-
(props.title || props.filters || props.addLinkHref) && /* @__PURE__ */
|
|
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__ */
|
|
2442
|
-
/* @__PURE__ */
|
|
2443
|
-
props.filters && props.filters.map((filter) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2466
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2475
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2490
|
-
/* @__PURE__ */
|
|
2491
|
-
column.enableSorting && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2303
|
+
return /* @__PURE__ */ jsx35("tr", { className: validityClass, children: props?.columns?.map((column, colindex) => {
|
|
2504
2304
|
console.log("column", column);
|
|
2505
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2556
|
-
/* @__PURE__ */
|
|
2557
|
-
/* @__PURE__ */
|
|
2558
|
-
activePageNumber > 1 && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2581
|
-
(props.title || props.filters || props.addLinkHref) && /* @__PURE__ */
|
|
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__ */
|
|
2587
|
-
/* @__PURE__ */
|
|
2588
|
-
props.filters && props.filters.map((filter) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2611
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2620
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2635
|
-
/* @__PURE__ */
|
|
2636
|
-
column.enableSorting && /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
2450
|
+
import React42 from "react";
|
|
2651
2451
|
|
|
2652
2452
|
// src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
|
|
2653
|
-
import
|
|
2453
|
+
import React32 from "react";
|
|
2654
2454
|
|
|
2655
2455
|
// src/components/pageRenderingEngine/nodes/TextNode.tsx
|
|
2656
|
-
import { jsx as
|
|
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__ */
|
|
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
|
|
2522
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
2723
2523
|
var LineBreakNode = () => {
|
|
2724
|
-
return /* @__PURE__ */
|
|
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
|
|
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/
|
|
2750
|
-
import
|
|
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/
|
|
2769
|
-
|
|
2770
|
-
|
|
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
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
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
|
|
2553
|
+
var AssetUtility_default = AssetUtility;
|
|
2802
2554
|
|
|
2803
|
-
// src/components/pageRenderingEngine/nodes/
|
|
2804
|
-
import
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
const
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
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
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
);
|
|
2845
|
-
}
|
|
2846
|
-
const
|
|
2847
|
-
|
|
2848
|
-
"
|
|
2849
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2667
|
+
return /* @__PURE__ */ jsx38("div", { style: { width }, children: renderMedia() });
|
|
3253
2668
|
}
|
|
3254
2669
|
if (nodeProps?.format) {
|
|
3255
|
-
return /* @__PURE__ */
|
|
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
|
|
3263
|
-
var HlsPlayer =
|
|
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__ */
|
|
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
|
|
3352
|
-
const
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
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
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
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
|
-
|
|
3105
|
+
routeParameters: props.routeParameters
|
|
3366
3106
|
}
|
|
3367
|
-
);
|
|
3368
|
-
}
|
|
3369
|
-
|
|
3370
|
-
|
|
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
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
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
|
-
|
|
3384
|
-
|
|
3140
|
+
const HeadingTag = `${props.node.tag}`;
|
|
3141
|
+
const FormatClass = {
|
|
3142
|
+
"center": "text-center"
|
|
3143
|
+
};
|
|
3144
|
+
{
|
|
3385
3145
|
}
|
|
3386
|
-
|
|
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
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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
|
|
3373
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
3483
3374
|
var InputControlNode = (props) => {
|
|
3484
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
3454
|
+
import React41 from "react";
|
|
3769
3455
|
|
|
3770
3456
|
// src/components/pageRenderingEngine/nodes/EmbedNode.tsx
|
|
3771
|
-
import
|
|
3772
|
-
import { jsx as
|
|
3773
|
-
var IframeClient =
|
|
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__ */
|
|
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
|
|
3791
|
-
import { Fragment as Fragment8, jsx as
|
|
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] =
|
|
3810
|
-
const [transition, setTransition] =
|
|
3811
|
-
const [slidesToShowState, setSlidesToShowState] =
|
|
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] =
|
|
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 (!
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
3930
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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] =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
3951
|
+
import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
4266
3952
|
var NoDataFound = () => {
|
|
4267
|
-
return /* @__PURE__ */
|
|
4268
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
4288
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
4367
|
-
/* @__PURE__ */
|
|
4368
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
4063
|
+
/* @__PURE__ */ jsx57("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
|
|
4378
4064
|
" results"
|
|
4379
4065
|
] }),
|
|
4380
|
-
totalPages > 1 && /* @__PURE__ */
|
|
4381
|
-
/* @__PURE__ */
|
|
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__ */
|
|
4388
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
4090
|
+
return /* @__PURE__ */ jsx57(PageButton, { page, children: page }, page);
|
|
4405
4091
|
}),
|
|
4406
|
-
/* @__PURE__ */
|
|
4092
|
+
/* @__PURE__ */ jsxs32(
|
|
4407
4093
|
NavigationButton,
|
|
4408
4094
|
{
|
|
4409
4095
|
page: activePageNumber + 1,
|
|
4410
4096
|
disabled: activePageNumber === totalPages,
|
|
4411
4097
|
children: [
|
|
4412
|
-
/* @__PURE__ */
|
|
4413
|
-
/* @__PURE__ */
|
|
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__ */
|
|
4419
|
-
/* @__PURE__ */
|
|
4420
|
-
/* @__PURE__ */
|
|
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__ */
|
|
4442
|
-
/* @__PURE__ */
|
|
4443
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
4463
|
-
import { jsx as
|
|
4464
|
-
var HlsPlayer1 =
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
4541
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
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 =
|
|
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__ */
|
|
4837
|
-
/* @__PURE__ */
|
|
4838
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
4591
|
+
) }) : /* @__PURE__ */ jsx60(React42.Fragment, { children: /* @__PURE__ */ jsx60(
|
|
4906
4592
|
SelectedNode,
|
|
4907
4593
|
{
|
|
4908
4594
|
node,
|