@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260324145831 → 0.8.1-dev.20260324162628

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1345,7 +1345,7 @@ var SelectWithSearchPanel = (props) => {
1345
1345
  const containerRef = (0, import_react27.useRef)(null);
1346
1346
  const [isCreateOpen, setIsCreateOpen] = (0, import_react27.useState)(false);
1347
1347
  const [formData, setFormData] = (0, import_react27.useState)({});
1348
- const getNestedValue2 = (obj, path) => {
1348
+ const getNestedValue3 = (obj, path) => {
1349
1349
  return path.split(".").reduce((acc, key) => acc?.[key], obj);
1350
1350
  };
1351
1351
  (0, import_react27.useEffect)(() => {
@@ -1383,7 +1383,7 @@ var SelectWithSearchPanel = (props) => {
1383
1383
  props.dataSourceDependsOn
1384
1384
  ]);
1385
1385
  const filteredItems = list?.filter((item) => {
1386
- const value = getNestedValue2(item, props.dataTextFieldName);
1386
+ const value = getNestedValue3(item, props.dataTextFieldName);
1387
1387
  return value?.toLowerCase().includes(searchTerm?.toLowerCase());
1388
1388
  });
1389
1389
  const playBeep = () => {
@@ -1414,7 +1414,7 @@ var SelectWithSearchPanel = (props) => {
1414
1414
  }, [searchTerm]);
1415
1415
  const handleSelect = (event, item) => {
1416
1416
  event.preventDefault();
1417
- setSearchTerm(getNestedValue2(item, props.dataTextFieldName));
1417
+ setSearchTerm(getNestedValue3(item, props.dataTextFieldName));
1418
1418
  if (props.callback) {
1419
1419
  const val = {};
1420
1420
  props.callback({
@@ -1564,7 +1564,7 @@ var SelectWithSearchPanel = (props) => {
1564
1564
  role: "option",
1565
1565
  tabIndex: -1,
1566
1566
  onMouseEnter: () => setHighlightedIndex(index),
1567
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: getNestedValue2(item, props.dataTextFieldName) })
1567
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: getNestedValue3(item, props.dataTextFieldName) })
1568
1568
  }
1569
1569
  ) }, item[props.dataKeyFieldName])) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "px-4 py-2 text-gray-500", children: "No results found" })
1570
1570
  }
@@ -2556,7 +2556,7 @@ var DataList = (props) => {
2556
2556
  var DataList_default = DataList;
2557
2557
 
2558
2558
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
2559
- var import_react50 = __toESM(require("react"));
2559
+ var import_react52 = __toESM(require("react"));
2560
2560
 
2561
2561
  // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
2562
2562
  var import_react36 = __toESM(require("react"));
@@ -3063,42 +3063,391 @@ var HorizontalRuleNode = () => {
3063
3063
  var HorizontalRuleNode_default = HorizontalRuleNode;
3064
3064
 
3065
3065
  // src/components/pageRenderingEngine/nodes/ImageNode.tsx
3066
+ var import_react44 = __toESM(require("react"));
3067
+
3068
+ // src/components/utilities/AssetUtility.tsx
3069
+ var AssetUtility = class {
3070
+ constructor() {
3071
+ }
3072
+ static resolveUrl(apiBaseUrl, url) {
3073
+ if (!url) return void 0;
3074
+ if (url.startsWith("http")) return url;
3075
+ if (!apiBaseUrl) return url;
3076
+ return `${apiBaseUrl}/digitalassets-management/${url}`;
3077
+ }
3078
+ };
3079
+ var AssetUtility_default = AssetUtility;
3080
+
3081
+ // src/components/HlsPlayer.tsx
3082
+ var import_react43 = __toESM(require("react"));
3083
+ var import_hls = __toESM(require("hls.js"));
3066
3084
  var import_jsx_runtime55 = require("react/jsx-runtime");
3085
+ var HlsPlayer = import_react43.default.memo(
3086
+ ({
3087
+ assetUrl,
3088
+ posterUrl,
3089
+ intrinsicWidth,
3090
+ intrinsicHeight,
3091
+ showControls = true,
3092
+ loop = false,
3093
+ playOptions = "autoplay"
3094
+ }) => {
3095
+ const videoRef = (0, import_react43.useRef)(null);
3096
+ const hlsRef = (0, import_react43.useRef)(null);
3097
+ const [isPlaying, setIsPlaying] = (0, import_react43.useState)(playOptions === "autoplay");
3098
+ const [isHovered, setIsHovered] = (0, import_react43.useState)(false);
3099
+ const [isMobile, setIsMobile] = (0, import_react43.useState)(false);
3100
+ const wasManuallyPausedRef = (0, import_react43.useRef)(false);
3101
+ (0, import_react43.useEffect)(() => {
3102
+ const checkMobile = () => {
3103
+ const hasTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0;
3104
+ const isSmallScreen = window.innerWidth <= 768;
3105
+ const ua = navigator.userAgent.toLowerCase();
3106
+ const isMobileUA = /android|iphone|ipad|ipod/i.test(ua);
3107
+ setIsMobile(hasTouch || isSmallScreen || isMobileUA);
3108
+ };
3109
+ checkMobile();
3110
+ window.addEventListener("resize", checkMobile);
3111
+ return () => window.removeEventListener("resize", checkMobile);
3112
+ }, []);
3113
+ (0, import_react43.useEffect)(() => {
3114
+ const v = videoRef.current;
3115
+ if (!v || !assetUrl) return;
3116
+ if (hlsRef.current) {
3117
+ hlsRef.current.destroy();
3118
+ hlsRef.current = null;
3119
+ }
3120
+ if (import_hls.default.isSupported()) {
3121
+ const hls = new import_hls.default();
3122
+ hls.loadSource(assetUrl);
3123
+ hls.attachMedia(v);
3124
+ hls.on(import_hls.default.Events.MANIFEST_PARSED, () => {
3125
+ if (isPlaying && !wasManuallyPausedRef.current) {
3126
+ v.play().catch(console.error);
3127
+ }
3128
+ });
3129
+ hlsRef.current = hls;
3130
+ } else if (v.canPlayType("application/vnd.apple.mpegurl")) {
3131
+ v.src = assetUrl;
3132
+ }
3133
+ }, [assetUrl, isPlaying]);
3134
+ const handlePlayPause = (0, import_react43.useCallback)(() => {
3135
+ const v = videoRef.current;
3136
+ if (!v) return;
3137
+ if (v.paused) {
3138
+ wasManuallyPausedRef.current = false;
3139
+ v.play().then(() => setIsPlaying(true));
3140
+ } else {
3141
+ wasManuallyPausedRef.current = true;
3142
+ v.pause();
3143
+ setIsPlaying(false);
3144
+ }
3145
+ }, []);
3146
+ const handleMouseEnter = (0, import_react43.useCallback)(() => {
3147
+ if (isMobile) return;
3148
+ setIsHovered(true);
3149
+ if (playOptions === "playOnHover" && videoRef.current && !wasManuallyPausedRef.current) {
3150
+ videoRef.current.play().then(() => setIsPlaying(true));
3151
+ }
3152
+ }, [playOptions, isMobile]);
3153
+ const handleMouseLeave = (0, import_react43.useCallback)(() => {
3154
+ if (isMobile) return;
3155
+ setIsHovered(false);
3156
+ if (playOptions === "playOnHover" && videoRef.current) {
3157
+ videoRef.current.pause();
3158
+ videoRef.current.currentTime = 0;
3159
+ setIsPlaying(false);
3160
+ }
3161
+ }, [playOptions, isMobile]);
3162
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3163
+ "div",
3164
+ {
3165
+ className: "relative w-full aspect-video bg-black",
3166
+ onMouseEnter: handleMouseEnter,
3167
+ onMouseLeave: handleMouseLeave,
3168
+ children: [
3169
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3170
+ "video",
3171
+ {
3172
+ ref: videoRef,
3173
+ className: "w-full h-full object-contain",
3174
+ poster: posterUrl,
3175
+ controls: showControls && (isMobile || isPlaying),
3176
+ muted: playOptions === "autoplay" || playOptions === "playOnHover",
3177
+ autoPlay: playOptions === "autoplay",
3178
+ loop,
3179
+ playsInline: true,
3180
+ onClick: !isMobile && !isPlaying ? handlePlayPause : void 0
3181
+ }
3182
+ ),
3183
+ !isMobile && playOptions === "playOnHover" && posterUrl && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3184
+ "img",
3185
+ {
3186
+ src: posterUrl,
3187
+ width: intrinsicWidth,
3188
+ height: intrinsicHeight,
3189
+ alt: "poster",
3190
+ className: `absolute inset-0 object-cover transition-opacity ${isHovered ? "opacity-0" : "opacity-100"}`
3191
+ }
3192
+ ),
3193
+ !isMobile && !isPlaying && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3194
+ "div",
3195
+ {
3196
+ className: "absolute inset-0 flex items-center justify-center cursor-pointer",
3197
+ onClick: handlePlayPause,
3198
+ children: "\u25B6"
3199
+ }
3200
+ )
3201
+ ]
3202
+ }
3203
+ );
3204
+ }
3205
+ );
3206
+ HlsPlayer.displayName = "HlsPlayer";
3207
+ var HlsPlayer_default = HlsPlayer;
3208
+
3209
+ // src/components/DeviceAssetSelector.tsx
3210
+ var import_jsx_runtime56 = require("react/jsx-runtime");
3211
+ var DeviceAssetSelector = ({
3212
+ assets,
3213
+ apiBaseUrl,
3214
+ session,
3215
+ // This should receive the session
3216
+ width,
3217
+ tag,
3218
+ customProps,
3219
+ nodeProps,
3220
+ device
3221
+ }) => {
3222
+ console.log("\u{1F511} Session in DeviceAssetSelector:", session);
3223
+ const targetTag = tag || nodeProps?.tag;
3224
+ const selectAssetByDevice = (assets2, currentDevice) => {
3225
+ if (!assets2 || assets2.length === 0) return void 0;
3226
+ const exactMatch = assets2.find((asset) => asset.device === currentDevice);
3227
+ if (exactMatch) return exactMatch;
3228
+ const noDeviceMatch = assets2.find((asset) => !asset.device || asset.device === "");
3229
+ if (noDeviceMatch) return noDeviceMatch;
3230
+ return void 0;
3231
+ };
3232
+ const selectAssetByTagAndDevice = (assets2, currentDevice, targetTag2) => {
3233
+ if (!assets2 || assets2.length === 0) return void 0;
3234
+ if (!targetTag2) return selectAssetByDevice(assets2, currentDevice);
3235
+ const taggedAssets = assets2.filter((asset) => asset.tag === targetTag2);
3236
+ if (taggedAssets.length === 0) {
3237
+ return selectAssetByDevice(assets2, currentDevice);
3238
+ }
3239
+ const exactTaggedMatch = taggedAssets.find((asset) => asset.device === currentDevice);
3240
+ if (exactTaggedMatch) return exactTaggedMatch;
3241
+ const noDeviceTaggedMatch = taggedAssets.find((asset) => !asset.device || asset.device === "");
3242
+ if (noDeviceTaggedMatch) return noDeviceTaggedMatch;
3243
+ return void 0;
3244
+ };
3245
+ const selectAsset = () => {
3246
+ if (!assets || assets.length === 0) return void 0;
3247
+ if (targetTag) {
3248
+ return selectAssetByTagAndDevice(assets, device, targetTag);
3249
+ }
3250
+ return selectAssetByDevice(assets, device);
3251
+ };
3252
+ const selectedAsset = selectAsset();
3253
+ if (!selectedAsset) {
3254
+ console.warn("No suitable asset found for device:", device, "and tag:", targetTag);
3255
+ return null;
3256
+ }
3257
+ const resolvedAssetUrl = AssetUtility_default.resolveUrl(apiBaseUrl, selectedAsset.assetUrl);
3258
+ const resolvedThumbnailUrl = selectedAsset.posterUrl ? AssetUtility_default.resolveUrl(apiBaseUrl, selectedAsset.posterUrl) : void 0;
3259
+ console.log("Selected Asset:", resolvedThumbnailUrl);
3260
+ const title = selectedAsset.title || nodeProps?.title;
3261
+ const intrinsicWidth = selectedAsset.intrinsicWidth?.toString();
3262
+ const intrinsicHeight = selectedAsset.intrinsicHeight?.toString();
3263
+ const isHls = resolvedAssetUrl?.endsWith(".m3u8");
3264
+ const showControls = customProps?.showControls ?? nodeProps?.showControls === "true";
3265
+ const loop = customProps?.loop ?? nodeProps?.loop === "true";
3266
+ const playOptions = customProps?.playOptions ?? nodeProps?.playOptions;
3267
+ const styles = {};
3268
+ if (nodeProps?.height) {
3269
+ styles.height = nodeProps.height;
3270
+ }
3271
+ if (nodeProps?.borderRadius) {
3272
+ styles.borderRadius = nodeProps.borderRadius;
3273
+ }
3274
+ if (nodeProps?.width) {
3275
+ styles.width = nodeProps.width;
3276
+ }
3277
+ const FormatClass = {
3278
+ "center": "justify-center",
3279
+ "left": "justify-start",
3280
+ "right": "justify-end"
3281
+ };
3282
+ const formatClasses = FormatClass[nodeProps?.format || ""] || "";
3283
+ const renderMedia = () => {
3284
+ if (isHls) {
3285
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3286
+ HlsPlayer_default,
3287
+ {
3288
+ assetUrl: resolvedAssetUrl,
3289
+ posterUrl: resolvedThumbnailUrl,
3290
+ intrinsicWidth,
3291
+ intrinsicHeight,
3292
+ showControls,
3293
+ loop,
3294
+ playOptions
3295
+ }
3296
+ );
3297
+ } else {
3298
+ return (
3299
+ /* eslint-disable-next-line @next/next/no-img-element */
3300
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3301
+ "img",
3302
+ {
3303
+ style: styles,
3304
+ loading: "lazy",
3305
+ className: "object-cover w-full",
3306
+ src: resolvedAssetUrl,
3307
+ width: selectedAsset.intrinsicWidth,
3308
+ alt: title || "Asset image",
3309
+ height: selectedAsset.intrinsicHeight
3310
+ }
3311
+ )
3312
+ );
3313
+ }
3314
+ };
3315
+ if (width) {
3316
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { style: { width }, children: renderMedia() });
3317
+ }
3318
+ if (nodeProps?.format) {
3319
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: `flex ${formatClasses}`, children: renderMedia() });
3320
+ }
3321
+ return renderMedia();
3322
+ };
3323
+ var DeviceAssetSelector_default = DeviceAssetSelector;
3324
+
3325
+ // src/components/pageRenderingEngine/nodes/ImageNode.tsx
3326
+ var import_jsx_runtime57 = require("react/jsx-runtime");
3327
+ var getNestedValue = (obj, path) => {
3328
+ if (!obj || !path) return void 0;
3329
+ return path.split(".").reduce((current, key) => {
3330
+ return current && current[key] !== void 0 ? current[key] : void 0;
3331
+ }, obj);
3332
+ };
3067
3333
  var ImageNode = (props) => {
3068
- const { node, assetBaseUrl = "" } = props;
3069
- if (!node.imageUrl) return null;
3334
+ let assets;
3070
3335
  let imageUrl;
3071
- if (node.imageUrl.startsWith("http")) {
3072
- imageUrl = node.imageUrl;
3336
+ let posterUrl;
3337
+ const currentDevice = props.device;
3338
+ if (props.node.device) {
3339
+ const nodeDevice = props.node.device;
3340
+ if (nodeDevice !== currentDevice) {
3341
+ return null;
3342
+ }
3343
+ }
3344
+ console.log("ImageNode device / currentDevice:", props.node.device, currentDevice);
3345
+ if (props.node.imageUrl.startsWith("http")) {
3346
+ imageUrl = props.node.imageUrl;
3347
+ posterUrl = AssetUtility_default.resolveUrl(
3348
+ props.assetBaseUrl,
3349
+ props.node.posterUrl
3350
+ );
3351
+ } else if (props.dataitem && props.node.datafield) {
3352
+ const image = getNestedValue(props.dataitem, props.node.datafield);
3353
+ console.log("ImageNode Datafield Image:", image);
3354
+ try {
3355
+ if (typeof image === "string") {
3356
+ assets = JSON.parse(image);
3357
+ } else if (Array.isArray(image)) {
3358
+ assets = image;
3359
+ } else if (image && typeof image === "object") {
3360
+ assets = [image];
3361
+ }
3362
+ } catch (error) {
3363
+ console.error("Error parsing assets in ImageNode:", error);
3364
+ }
3365
+ if (assets && assets.length > 0) {
3366
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3367
+ DeviceAssetSelector_default,
3368
+ {
3369
+ device: props.device,
3370
+ assets,
3371
+ apiBaseUrl: props.apiBaseUrl,
3372
+ session: props.session,
3373
+ nodeProps: {
3374
+ title: props.node.title,
3375
+ showControls: props.node.showControls,
3376
+ loop: props.node.loop,
3377
+ playOptions: props.node.playOptions,
3378
+ borderRadius: props.node.borderRadius,
3379
+ width: props.node.width,
3380
+ height: props.node.height,
3381
+ format: props.node.format,
3382
+ tag: props.node.tag,
3383
+ // Add tag to ImageNode if needed
3384
+ placementCode: props.node.placementCode
3385
+ }
3386
+ }
3387
+ ) });
3388
+ } else {
3389
+ imageUrl = AssetUtility_default.resolveUrl(props.assetBaseUrl, props.node.imageUrl);
3390
+ posterUrl = AssetUtility_default.resolveUrl(props.assetBaseUrl, props.node.posterUrl);
3391
+ }
3073
3392
  } else {
3074
- imageUrl = assetBaseUrl ? `${assetBaseUrl}/${node.imageUrl}` : node.imageUrl;
3393
+ imageUrl = AssetUtility_default.resolveUrl(props.assetBaseUrl, props.node.imageUrl);
3394
+ posterUrl = AssetUtility_default.resolveUrl(props.assetBaseUrl, props.node.posterUrl);
3075
3395
  }
3076
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_jsx_runtime55.Fragment, { children: node.width ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { style: { width: node.width }, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3077
- "img",
3078
- {
3079
- loading: "lazy",
3080
- className: "object-cover",
3081
- src: imageUrl,
3082
- width: node.intrinsicWidth,
3083
- height: node.intrinsicHeight,
3084
- alt: node.title
3085
- }
3086
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3087
- "img",
3088
- {
3089
- loading: "lazy",
3090
- className: "object-cover",
3091
- src: imageUrl,
3092
- width: node.intrinsicWidth,
3093
- height: node.intrinsicHeight,
3094
- alt: node.title
3396
+ console.log("ImageNode Assets:", assets);
3397
+ if (!imageUrl) {
3398
+ return null;
3399
+ }
3400
+ const styles = {};
3401
+ if (props.node.height) styles.height = props.node.height;
3402
+ if (props.node.borderRadius) styles.borderRadius = props.node.borderRadius;
3403
+ if (props.node.width) styles.width = props.node.width;
3404
+ const FormatClass = {
3405
+ "center": "justify-center",
3406
+ "left": "justify-start",
3407
+ "right": "justify-end"
3408
+ };
3409
+ {
3410
+ }
3411
+ const formatClasses = FormatClass[props.node.format] || "";
3412
+ const isHls = imageUrl?.endsWith(".m3u8");
3413
+ const renderMedia = () => {
3414
+ if (isHls) {
3415
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3416
+ HlsPlayer_default,
3417
+ {
3418
+ assetUrl: imageUrl,
3419
+ posterUrl,
3420
+ intrinsicWidth: props.node.intrinsicWidth,
3421
+ intrinsicHeight: props.node.intrinsicHeight,
3422
+ showControls: props.node.showControls === "true",
3423
+ loop: props.node.loop === "true",
3424
+ playOptions: props.node.playOptions
3425
+ }
3426
+ );
3427
+ } else {
3428
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react44.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3429
+ "img",
3430
+ {
3431
+ style: styles,
3432
+ loading: "lazy",
3433
+ className: "object-cover",
3434
+ src: imageUrl,
3435
+ width: props.node.intrinsicWidth,
3436
+ alt: props.node.title,
3437
+ height: props.node.intrinsicHeight
3438
+ }
3439
+ ) });
3095
3440
  }
3096
- ) });
3441
+ };
3442
+ if (props.node.width) {
3443
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: `flex ${formatClasses}`, children: renderMedia() });
3444
+ }
3445
+ return renderMedia();
3097
3446
  };
3098
3447
  var ImageNode_default = ImageNode;
3099
3448
 
3100
3449
  // src/components/pageRenderingEngine/nodes/WidgetNode.tsx
3101
- var import_jsx_runtime56 = require("react/jsx-runtime");
3450
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3102
3451
  var WidgetNode = (props) => {
3103
3452
  const getWidgetParameters = () => {
3104
3453
  const widgetInputParameters = {
@@ -3155,14 +3504,14 @@ var WidgetNode = (props) => {
3155
3504
  };
3156
3505
  const widgetCode = props.node?.widgetCode;
3157
3506
  if (!widgetCode) {
3158
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_jsx_runtime56.Fragment, { children: "Invalid widget" });
3507
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_jsx_runtime58.Fragment, { children: "Invalid widget" });
3159
3508
  }
3160
3509
  const SelectedWidget = getWidget(widgetCode);
3161
3510
  if (!SelectedWidget) {
3162
3511
  if (process.env.NODE_ENV !== "production") {
3163
3512
  console.warn("Widget not found:", widgetCode);
3164
3513
  }
3165
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
3514
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
3166
3515
  "Widget not found: ",
3167
3516
  widgetCode
3168
3517
  ] });
@@ -3170,7 +3519,7 @@ var WidgetNode = (props) => {
3170
3519
  const widgetParams = getWidgetParameters();
3171
3520
  return (
3172
3521
  // eslint-disable-next-line react-hooks/static-components
3173
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3522
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3174
3523
  SelectedWidget,
3175
3524
  {
3176
3525
  params: widgetParams,
@@ -3186,12 +3535,12 @@ var WidgetNode = (props) => {
3186
3535
  var WidgetNode_default = WidgetNode;
3187
3536
 
3188
3537
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3189
- var import_react43 = __toESM(require("react"));
3538
+ var import_react45 = __toESM(require("react"));
3190
3539
 
3191
3540
  // src/components/pageRenderingEngine/nodes/InputControlNode.tsx
3192
- var import_jsx_runtime57 = require("react/jsx-runtime");
3541
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3193
3542
  var InputControlNode = (props) => {
3194
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3543
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3195
3544
  InputControl_default,
3196
3545
  {
3197
3546
  name: props.node.name,
@@ -3425,22 +3774,22 @@ var ServiceClient = class {
3425
3774
  var ServiceClient_default = ServiceClient;
3426
3775
 
3427
3776
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3428
- var import_jsx_runtime58 = require("react/jsx-runtime");
3777
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3429
3778
  var FormContainerNode = (props) => {
3430
3779
  const NodeTypes2 = {
3431
3780
  ["input-control"]: InputControlNode_default
3432
3781
  };
3433
3782
  const { node } = props;
3434
- const formRef = (0, import_react43.useRef)(null);
3783
+ const formRef = (0, import_react45.useRef)(null);
3435
3784
  const initialState = {
3436
3785
  inputValues: {},
3437
3786
  lastPropertyChanged: ""
3438
3787
  };
3439
- const [formState, dispatch] = (0, import_react43.useReducer)(FormReducer_default, initialState);
3440
- const handleInputChange = (0, import_react43.useCallback)((updatedValues) => {
3788
+ const [formState, dispatch] = (0, import_react45.useReducer)(FormReducer_default, initialState);
3789
+ const handleInputChange = (0, import_react45.useCallback)((updatedValues) => {
3441
3790
  dispatch({ type: FORM_INPUT_UPDATE, name: updatedValues.name, value: updatedValues.value });
3442
3791
  }, [dispatch]);
3443
- (0, import_react43.useEffect)(() => {
3792
+ (0, import_react45.useEffect)(() => {
3444
3793
  const fetchInitialData = async () => {
3445
3794
  const client = new ServiceClient_default(props.apiBaseUrl, props.session);
3446
3795
  const response = await client.getSingle(props.node.dataFetchApi, props.routeParameters);
@@ -3455,12 +3804,12 @@ var FormContainerNode = (props) => {
3455
3804
  };
3456
3805
  fetchInitialData();
3457
3806
  }, [props.apiBaseUrl, props.node, props.session, props.routeParameters]);
3458
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("form", { className: "group space-y-6 pb-6 overflow-y-auto", noValidate: true, ref: formRef, children: [
3807
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("form", { className: "group space-y-6 pb-6 overflow-y-auto", noValidate: true, ref: formRef, children: [
3459
3808
  node.children && node.children.map((node2, index) => {
3460
3809
  {
3461
3810
  }
3462
3811
  const SelectedNode = NodeTypes2[node2.type];
3463
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react43.default.Fragment, { children: SelectedNode && node2.type == "input-control" && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3812
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react45.default.Fragment, { children: SelectedNode && node2.type == "input-control" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3464
3813
  InputControlNode_default,
3465
3814
  {
3466
3815
  value: formState.inputValues[node2.name],
@@ -3469,51 +3818,51 @@ var FormContainerNode = (props) => {
3469
3818
  }
3470
3819
  ) }, index);
3471
3820
  }),
3472
- node.children.length == 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "py-0.5 lg:py-1.5" })
3821
+ node.children.length == 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "py-0.5 lg:py-1.5" })
3473
3822
  ] });
3474
3823
  };
3475
3824
  var FormContainerNode_default = FormContainerNode;
3476
3825
 
3477
3826
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
3478
- var import_react49 = __toESM(require("react"));
3827
+ var import_react51 = __toESM(require("react"));
3479
3828
 
3480
3829
  // src/components/pageRenderingEngine/nodes/IframeClient.tsx
3481
- var import_react45 = __toESM(require("react"));
3830
+ var import_react47 = __toESM(require("react"));
3482
3831
 
3483
3832
  // src/components/IFrameLoaderView.tsx
3484
- var import_react44 = __toESM(require("react"));
3485
- var import_jsx_runtime59 = require("react/jsx-runtime");
3833
+ var import_react46 = __toESM(require("react"));
3834
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3486
3835
  var IFrameLoaderView = (props) => {
3487
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_react44.default.Fragment, { children: [
3488
- props.isDataFound == null && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "mt-4 bg-gray-200 rounded-md p-4 animate-pulse", children: [
3489
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center mb-4", children: [
3490
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 h-8 w-8 rounded-full animate-pulse" }),
3491
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "ml-2", children: [
3492
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 h-3 w-16 animate-pulse" }),
3493
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 h-2 w-12 animate-pulse" })
3836
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_react46.default.Fragment, { children: [
3837
+ props.isDataFound == null && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "mt-4 bg-gray-200 rounded-md p-4 animate-pulse", children: [
3838
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center mb-4", children: [
3839
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 h-8 w-8 rounded-full animate-pulse" }),
3840
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "ml-2", children: [
3841
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 h-3 w-16 animate-pulse" }),
3842
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 h-2 w-12 animate-pulse" })
3494
3843
  ] })
3495
3844
  ] }),
3496
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "grid grid-cols-3 gap-4 mt-6", children: [
3497
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "animate-pulse", children: [
3498
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3499
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3500
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3501
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3502
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
3845
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "grid grid-cols-3 gap-4 mt-6", children: [
3846
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "animate-pulse", children: [
3847
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3848
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3849
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3850
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3851
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
3503
3852
  ] }),
3504
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "animate-pulse", children: [
3505
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3506
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3507
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3508
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3509
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
3853
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "animate-pulse", children: [
3854
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3855
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3856
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3857
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3858
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
3510
3859
  ] }),
3511
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "animate-pulse", children: [
3512
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3513
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3514
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3515
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3516
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
3860
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "animate-pulse", children: [
3861
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3862
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3863
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3864
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3865
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-28 mb-2" })
3517
3866
  ] })
3518
3867
  ] })
3519
3868
  ] }) }),
@@ -3523,12 +3872,12 @@ var IFrameLoaderView = (props) => {
3523
3872
  var IFrameLoaderView_default = IFrameLoaderView;
3524
3873
 
3525
3874
  // src/components/pageRenderingEngine/nodes/IframeClient.tsx
3526
- var import_jsx_runtime60 = require("react/jsx-runtime");
3875
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3527
3876
  var IframeClient = ({ src }) => {
3528
- const iframeRef = (0, import_react45.useRef)(null);
3529
- const [iframeHeight, setIframeHeight] = (0, import_react45.useState)("100%");
3530
- const [isDataFound, setIsDataFound] = (0, import_react45.useState)(null);
3531
- (0, import_react45.useEffect)(() => {
3877
+ const iframeRef = (0, import_react47.useRef)(null);
3878
+ const [iframeHeight, setIframeHeight] = (0, import_react47.useState)("100%");
3879
+ const [isDataFound, setIsDataFound] = (0, import_react47.useState)(null);
3880
+ (0, import_react47.useEffect)(() => {
3532
3881
  const handleReceiveMessage = (event) => {
3533
3882
  const eventName = event?.data?.eventName;
3534
3883
  const payload = event?.data?.payload;
@@ -3543,7 +3892,7 @@ var IframeClient = ({ src }) => {
3543
3892
  window.addEventListener("message", handleReceiveMessage);
3544
3893
  return () => window.removeEventListener("message", handleReceiveMessage);
3545
3894
  }, []);
3546
- (0, import_react45.useEffect)(() => {
3895
+ (0, import_react47.useEffect)(() => {
3547
3896
  const handleResize = () => {
3548
3897
  if (iframeRef.current) {
3549
3898
  iframeRef.current.contentWindow?.postMessage({ eventName: "RESIZE" }, "*");
@@ -3555,7 +3904,7 @@ var IframeClient = ({ src }) => {
3555
3904
  const handleIframeLoad = () => {
3556
3905
  setIsDataFound(true);
3557
3906
  };
3558
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react45.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(IFrameLoaderView_default, { isDataFound, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3907
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react47.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(IFrameLoaderView_default, { isDataFound, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3559
3908
  "iframe",
3560
3909
  {
3561
3910
  ref: iframeRef,
@@ -3570,7 +3919,7 @@ var IframeClient = ({ src }) => {
3570
3919
  var IframeClient_default = IframeClient;
3571
3920
 
3572
3921
  // src/components/pageRenderingEngine/nodes/EmbedNode.tsx
3573
- var import_jsx_runtime61 = require("react/jsx-runtime");
3922
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3574
3923
  var EmbedNode = (props) => {
3575
3924
  let src;
3576
3925
  if (props.node.provider == "youtube") {
@@ -3580,26 +3929,13 @@ var EmbedNode = (props) => {
3580
3929
  } else {
3581
3930
  src = props.node.embedSrc;
3582
3931
  }
3583
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(IframeClient_default, { src }) });
3932
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(IframeClient_default, { src }) });
3584
3933
  };
3585
3934
  var EmbedNode_default = EmbedNode;
3586
3935
 
3587
- // src/components/utilities/AssetUtility.tsx
3588
- var AssetUtility = class {
3589
- constructor() {
3590
- }
3591
- static resolveUrl(apiBaseUrl, url) {
3592
- if (!url) return void 0;
3593
- if (url.startsWith("http")) return url;
3594
- if (!apiBaseUrl) return url;
3595
- return `${apiBaseUrl}/digitalassets-management/${url}`;
3596
- }
3597
- };
3598
- var AssetUtility_default = AssetUtility;
3599
-
3600
3936
  // src/components/Slider.tsx
3601
- var import_react46 = __toESM(require("react"));
3602
- var import_jsx_runtime62 = require("react/jsx-runtime");
3937
+ var import_react48 = __toESM(require("react"));
3938
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3603
3939
  var Slider = ({
3604
3940
  children,
3605
3941
  slidesToShow = 4,
@@ -3617,13 +3953,13 @@ var Slider = ({
3617
3953
  pillStyle = "cumulative",
3618
3954
  progressPosition = "bottom"
3619
3955
  }) => {
3620
- const [currentSlide, setCurrentSlide] = (0, import_react46.useState)(0);
3621
- const [transition, setTransition] = (0, import_react46.useState)(true);
3622
- const [slidesToShowState, setSlidesToShowState] = (0, import_react46.useState)(
3956
+ const [currentSlide, setCurrentSlide] = (0, import_react48.useState)(0);
3957
+ const [transition, setTransition] = (0, import_react48.useState)(true);
3958
+ const [slidesToShowState, setSlidesToShowState] = (0, import_react48.useState)(
3623
3959
  typeof slidesToShow === "number" ? slidesToShow : slidesToShow.large
3624
3960
  );
3625
- const [isPlaying, setIsPlaying] = (0, import_react46.useState)(autoplay);
3626
- (0, import_react46.useEffect)(() => {
3961
+ const [isPlaying, setIsPlaying] = (0, import_react48.useState)(autoplay);
3962
+ (0, import_react48.useEffect)(() => {
3627
3963
  if (typeof slidesToShow === "number") return;
3628
3964
  const handleResize = () => {
3629
3965
  if (window.innerWidth >= 1024) {
@@ -3638,7 +3974,7 @@ var Slider = ({
3638
3974
  window.addEventListener("resize", handleResize);
3639
3975
  return () => window.removeEventListener("resize", handleResize);
3640
3976
  }, [slidesToShow]);
3641
- (0, import_react46.useEffect)(() => {
3977
+ (0, import_react48.useEffect)(() => {
3642
3978
  if (!autoplay) return;
3643
3979
  const timer = setInterval(() => {
3644
3980
  if (isPlaying) {
@@ -3647,7 +3983,7 @@ var Slider = ({
3647
3983
  }, autoplay_speed);
3648
3984
  return () => clearInterval(timer);
3649
3985
  }, [autoplay, autoplay_speed, currentSlide, isPlaying]);
3650
- const totalSlides = import_react46.Children.count(children);
3986
+ const totalSlides = import_react48.Children.count(children);
3651
3987
  const maxSlide = totalSlides - slidesToShowState;
3652
3988
  const nextSlide = () => {
3653
3989
  if (currentSlide >= maxSlide) {
@@ -3692,16 +4028,16 @@ var Slider = ({
3692
4028
  }
3693
4029
  };
3694
4030
  const translateX = -currentSlide * (100 / slidesToShowState);
3695
- const slides = import_react46.Children.map(children, (child, index) => {
3696
- if (!import_react46.default.isValidElement(child)) return null;
4031
+ const slides = import_react48.Children.map(children, (child, index) => {
4032
+ if (!import_react48.default.isValidElement(child)) return null;
3697
4033
  const childProps = child.props;
3698
4034
  const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
3699
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4035
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3700
4036
  "div",
3701
4037
  {
3702
4038
  className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
3703
4039
  style: { width: `calc(${100 / slidesToShowState}%)`, paddingRight: gap },
3704
- children: (0, import_react46.cloneElement)(child, {
4040
+ children: (0, import_react48.cloneElement)(child, {
3705
4041
  className: mergedClassName
3706
4042
  })
3707
4043
  },
@@ -3719,14 +4055,14 @@ var Slider = ({
3719
4055
  return "bottom-4";
3720
4056
  }
3721
4057
  };
3722
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
4058
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3723
4059
  "div",
3724
4060
  {
3725
4061
  className: `relative w-full overflow-hidden ${className}`,
3726
4062
  onMouseEnter: handleMouseEnter,
3727
4063
  onMouseLeave: handleMouseLeave,
3728
4064
  children: [
3729
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4065
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3730
4066
  "div",
3731
4067
  {
3732
4068
  className: "flex h-full",
@@ -3737,18 +4073,18 @@ var Slider = ({
3737
4073
  children: slides
3738
4074
  }
3739
4075
  ),
3740
- show_arrows && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
3741
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4076
+ show_arrows && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
4077
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3742
4078
  ArrowButton,
3743
4079
  {
3744
4080
  direction: "left",
3745
4081
  onClick: prevSlide,
3746
4082
  visible: infinite_scroll || currentSlide > 0,
3747
4083
  className: arrowClassName,
3748
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("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__ */ (0, import_jsx_runtime62.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
4084
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("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__ */ (0, import_jsx_runtime64.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
3749
4085
  }
3750
4086
  ),
3751
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
4087
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3752
4088
  ArrowButton,
3753
4089
  {
3754
4090
  direction: "right",
@@ -3756,13 +4092,13 @@ var Slider = ({
3756
4092
  visible: infinite_scroll || currentSlide < maxSlide,
3757
4093
  className: arrowClassName,
3758
4094
  children: [
3759
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("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__ */ (0, import_jsx_runtime62.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
4095
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("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__ */ (0, import_jsx_runtime64.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
3760
4096
  " "
3761
4097
  ]
3762
4098
  }
3763
4099
  )
3764
4100
  ] }),
3765
- show_dots && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("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__ */ (0, import_jsx_runtime62.jsx)(
4101
+ show_dots && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("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__ */ (0, import_jsx_runtime64.jsx)(
3766
4102
  ProgressPill,
3767
4103
  {
3768
4104
  active: index === currentSlide,
@@ -3788,7 +4124,7 @@ var ArrowButton = ({
3788
4124
  visible,
3789
4125
  children,
3790
4126
  className = ""
3791
- }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4127
+ }) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3792
4128
  "button",
3793
4129
  {
3794
4130
  className: `
@@ -3814,13 +4150,13 @@ var ProgressPill = ({
3814
4150
  currentSlide,
3815
4151
  totalSlides
3816
4152
  }) => {
3817
- const [progress, setProgress] = (0, import_react46.useState)(0);
3818
- (0, import_react46.useEffect)(() => {
4153
+ const [progress, setProgress] = (0, import_react48.useState)(0);
4154
+ (0, import_react48.useEffect)(() => {
3819
4155
  if (active) {
3820
4156
  setProgress(0);
3821
4157
  }
3822
4158
  }, [active, index]);
3823
- (0, import_react46.useEffect)(() => {
4159
+ (0, import_react48.useEffect)(() => {
3824
4160
  if (!active || !isPlaying) {
3825
4161
  if (!active) {
3826
4162
  setProgress(0);
@@ -3875,7 +4211,7 @@ var ProgressPill = ({
3875
4211
  const renderProgressBar = () => {
3876
4212
  if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
3877
4213
  const displayProgress = style === "cumulative" && isFilled ? 100 : progress;
3878
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4214
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3879
4215
  "div",
3880
4216
  {
3881
4217
  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`,
@@ -3887,7 +4223,7 @@ var ProgressPill = ({
3887
4223
  };
3888
4224
  const renderCumulativeFill = () => {
3889
4225
  if (style === "cumulative" && isFilled && !isActive) {
3890
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4226
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3891
4227
  "div",
3892
4228
  {
3893
4229
  className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
@@ -3897,7 +4233,7 @@ var ProgressPill = ({
3897
4233
  }
3898
4234
  return null;
3899
4235
  };
3900
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
4236
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3901
4237
  "button",
3902
4238
  {
3903
4239
  className: `${baseClasses} ${getStyleClasses()}`,
@@ -4022,11 +4358,11 @@ var AnimationUtility = class {
4022
4358
  var AnimationUtility_default = AnimationUtility;
4023
4359
 
4024
4360
  // src/components/pageRenderingEngine/nodes/EnterAnimationClient.tsx
4025
- var import_react47 = __toESM(require("react"));
4026
- var import_jsx_runtime63 = require("react/jsx-runtime");
4361
+ var import_react49 = __toESM(require("react"));
4362
+ var import_jsx_runtime65 = require("react/jsx-runtime");
4027
4363
  function EnterAnimationClient({ hasEnterAnimation, children }) {
4028
- const ref = (0, import_react47.useRef)(null);
4029
- (0, import_react47.useEffect)(() => {
4364
+ const ref = (0, import_react49.useRef)(null);
4365
+ (0, import_react49.useEffect)(() => {
4030
4366
  if (!hasEnterAnimation || !ref.current) return;
4031
4367
  const observer = new IntersectionObserver(
4032
4368
  (entries) => {
@@ -4042,9 +4378,9 @@ function EnterAnimationClient({ hasEnterAnimation, children }) {
4042
4378
  observer.observe(ref.current);
4043
4379
  return () => observer.disconnect();
4044
4380
  }, [hasEnterAnimation]);
4045
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_jsx_runtime63.Fragment, { children: children && // enforce passing the ref to Wrapper
4381
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: children && // enforce passing the ref to Wrapper
4046
4382
  //@ts-ignore
4047
- import_react47.default.cloneElement(children, { ref }) });
4383
+ import_react49.default.cloneElement(children, { ref }) });
4048
4384
  }
4049
4385
 
4050
4386
  // src/components/utilities/PathUtility.tsx
@@ -4099,10 +4435,10 @@ var PathUtility = class {
4099
4435
  var PathUtility_default = new PathUtility();
4100
4436
 
4101
4437
  // src/components/NoDataFound.tsx
4102
- var import_jsx_runtime64 = require("react/jsx-runtime");
4438
+ var import_jsx_runtime66 = require("react/jsx-runtime");
4103
4439
  var NoDataFound = () => {
4104
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
4105
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "mb-5", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4440
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
4441
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mb-5", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4106
4442
  "svg",
4107
4443
  {
4108
4444
  className: "w-10 h-10",
@@ -4110,7 +4446,7 @@ var NoDataFound = () => {
4110
4446
  stroke: "currentColor",
4111
4447
  viewBox: "0 0 24 24",
4112
4448
  xmlns: "http://www.w3.org/2000/svg",
4113
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4449
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4114
4450
  "path",
4115
4451
  {
4116
4452
  strokeLinecap: "round",
@@ -4121,18 +4457,18 @@ var NoDataFound = () => {
4121
4457
  )
4122
4458
  }
4123
4459
  ) }) }),
4124
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
4125
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
4460
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
4461
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
4126
4462
  ] });
4127
4463
  };
4128
4464
  var NoDataFound_default = NoDataFound;
4129
4465
 
4130
4466
  // src/components/Pagination.tsx
4131
- var import_react48 = require("react");
4132
- var import_jsx_runtime65 = require("react/jsx-runtime");
4467
+ var import_react50 = require("react");
4468
+ var import_jsx_runtime67 = require("react/jsx-runtime");
4133
4469
  var Pagination = (props) => {
4134
4470
  const { dataset, path, query, showPageSizeSelector = false, showJumpToPage = false } = props;
4135
- const builder = (0, import_react48.useMemo)(() => {
4471
+ const builder = (0, import_react50.useMemo)(() => {
4136
4472
  const b = new OdataBuilder(path);
4137
4473
  if (query) b.setQuery(query);
4138
4474
  return b;
@@ -4173,7 +4509,7 @@ var Pagination = (props) => {
4173
4509
  return range;
4174
4510
  };
4175
4511
  const paginationRange = getPaginationRange();
4176
- const PageButton = ({ page, children }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4512
+ const PageButton = ({ page, children }) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4177
4513
  Hyperlink,
4178
4514
  {
4179
4515
  linkType: "Link" /* Link */,
@@ -4188,9 +4524,9 @@ var Pagination = (props) => {
4188
4524
  );
4189
4525
  const NavigationButton = ({ page, disabled, children }) => {
4190
4526
  if (disabled) {
4191
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("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 });
4527
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("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 });
4192
4528
  }
4193
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4529
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4194
4530
  Hyperlink,
4195
4531
  {
4196
4532
  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",
@@ -4200,35 +4536,35 @@ var Pagination = (props) => {
4200
4536
  );
4201
4537
  };
4202
4538
  if (totalPages <= 1 && totalItems === 0) return null;
4203
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "py-6 border-t bg-default", children: [
4204
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4205
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-sm", children: [
4539
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "py-6 border-t bg-default", children: [
4540
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4541
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "text-sm", children: [
4206
4542
  "Showing ",
4207
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
4543
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("span", { className: "font-semibold", children: [
4208
4544
  startItem,
4209
4545
  "-",
4210
4546
  endItem
4211
4547
  ] }),
4212
4548
  " ",
4213
4549
  "out of ",
4214
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
4550
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
4215
4551
  " results"
4216
4552
  ] }),
4217
- totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center space-x-1", children: [
4218
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
4553
+ totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center space-x-1", children: [
4554
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4219
4555
  NavigationButton,
4220
4556
  {
4221
4557
  page: activePageNumber - 1,
4222
4558
  disabled: activePageNumber === 1,
4223
4559
  children: [
4224
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
4225
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Prev" })
4560
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
4561
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-sm", children: "Prev" })
4226
4562
  ]
4227
4563
  }
4228
4564
  ),
4229
4565
  paginationRange.map((item, index) => {
4230
4566
  if (item === "...") {
4231
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4567
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4232
4568
  "span",
4233
4569
  {
4234
4570
  className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center text-gray-500",
@@ -4238,23 +4574,23 @@ var Pagination = (props) => {
4238
4574
  );
4239
4575
  }
4240
4576
  const page = item;
4241
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(PageButton, { page, children: page }, page);
4577
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(PageButton, { page, children: page }, page);
4242
4578
  }),
4243
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
4579
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4244
4580
  NavigationButton,
4245
4581
  {
4246
4582
  page: activePageNumber + 1,
4247
4583
  disabled: activePageNumber === totalPages,
4248
4584
  children: [
4249
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Next" }),
4250
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
4585
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-sm", children: "Next" }),
4586
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
4251
4587
  ]
4252
4588
  }
4253
4589
  )
4254
4590
  ] }),
4255
- showJumpToPage && totalPages > 5 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center space-x-2", children: [
4256
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Go to:" }),
4257
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4591
+ showJumpToPage && totalPages > 5 && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center space-x-2", children: [
4592
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-sm", children: "Go to:" }),
4593
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4258
4594
  "input",
4259
4595
  {
4260
4596
  type: "number",
@@ -4275,9 +4611,9 @@ var Pagination = (props) => {
4275
4611
  ) })
4276
4612
  ] })
4277
4613
  ] }),
4278
- showPageSizeSelector && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center justify-center space-x-2", children: [
4279
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Show:" }),
4280
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4614
+ showPageSizeSelector && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center justify-center space-x-2", children: [
4615
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-sm", children: "Show:" }),
4616
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4281
4617
  Hyperlink,
4282
4618
  {
4283
4619
  className: `
@@ -4289,14 +4625,14 @@ var Pagination = (props) => {
4289
4625
  },
4290
4626
  size
4291
4627
  )) }),
4292
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "per page" })
4628
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-sm", children: "per page" })
4293
4629
  ] }) })
4294
4630
  ] });
4295
4631
  };
4296
4632
  var Pagination_default = Pagination;
4297
4633
 
4298
4634
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
4299
- var import_jsx_runtime66 = require("react/jsx-runtime");
4635
+ var import_jsx_runtime68 = require("react/jsx-runtime");
4300
4636
  function toCamelCase(str) {
4301
4637
  return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
4302
4638
  }
@@ -4310,7 +4646,7 @@ function convertKeysToCamelCase(obj) {
4310
4646
  ])
4311
4647
  );
4312
4648
  }
4313
- var getNestedValue = (obj, path) => {
4649
+ var getNestedValue2 = (obj, path) => {
4314
4650
  if (!obj || !path) return void 0;
4315
4651
  return path.split(".").reduce((current, key) => {
4316
4652
  {
@@ -4451,7 +4787,7 @@ var DivContainer = async (props) => {
4451
4787
  }
4452
4788
  const shouldHideContainer = () => {
4453
4789
  if (!props.node.fieldVisibleOnTrue) return false;
4454
- const fieldValue = getNestedValue(props.dataitem, props.node.fieldVisibleOnTrue);
4790
+ const fieldValue = getNestedValue2(props.dataitem, props.node.fieldVisibleOnTrue);
4455
4791
  return fieldValue !== void 0 && fieldValue === false;
4456
4792
  };
4457
4793
  const isHidden = shouldHideContainer();
@@ -4478,10 +4814,10 @@ var DivContainer = async (props) => {
4478
4814
  response = await serviceClient.get(endpoint);
4479
4815
  result = response?.result;
4480
4816
  if (dataBindingProperties.showNoResultsMessage && (result === void 0 || result.length == 0)) {
4481
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(NoDataFound_default, {});
4817
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(NoDataFound_default, {});
4482
4818
  }
4483
4819
  if (dataBindingProperties.childCollectionName && props.dataitem) {
4484
- childCollectionData = getNestedValue(props.dataitem, dataBindingProperties.childCollectionName);
4820
+ childCollectionData = getNestedValue2(props.dataitem, dataBindingProperties.childCollectionName);
4485
4821
  }
4486
4822
  }
4487
4823
  const cssResult = generateCssString(guid, updatedStyle, mobileStyles);
@@ -4490,7 +4826,7 @@ var DivContainer = async (props) => {
4490
4826
  }
4491
4827
  const SelectedNode = NodeTypes2[node.type];
4492
4828
  if (!SelectedNode) return null;
4493
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react49.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4829
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react51.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4494
4830
  SelectedNode,
4495
4831
  {
4496
4832
  node,
@@ -4589,9 +4925,9 @@ var DivContainer = async (props) => {
4589
4925
  props.node.autoFormat && "auto-format",
4590
4926
  props.node.bgClass
4591
4927
  ].filter(Boolean).join(" ");
4592
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_react49.default.Fragment, { children: [
4593
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4594
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(EnterAnimationClient, { hasEnterAnimation: !!props.node.enterAnimation, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react49.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4928
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_react51.default.Fragment, { children: [
4929
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4930
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(EnterAnimationClient, { hasEnterAnimation: !!props.node.enterAnimation, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react51.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4595
4931
  Wrapper,
4596
4932
  {
4597
4933
  id: guid,
@@ -4600,18 +4936,18 @@ var DivContainer = async (props) => {
4600
4936
  ...wrapperProps,
4601
4937
  children: dataToRender.map(
4602
4938
  (item, idx) => item?.links?.view && renderLink ? renderChildren(props.node.children, props, item, idx, props.href ? void 0 : item?.links?.view)?.map(
4603
- (child, i) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react49.default.Fragment, { children: child }, i)
4939
+ (child, i) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react51.default.Fragment, { children: child }, i)
4604
4940
  ) : renderChildren(props.node.children, props, item, idx)
4605
4941
  )
4606
4942
  }
4607
4943
  ) }) }),
4608
- dataBindingProperties && props.node.dataBinding.enablePagination && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Pagination_default, { path: props.path, query: props.query, dataset: response }) })
4944
+ dataBindingProperties && props.node.dataBinding.enablePagination && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Pagination_default, { path: props.path, query: props.query, dataset: response }) })
4609
4945
  ] });
4610
4946
  };
4611
4947
  var DivContainer_default = DivContainer;
4612
4948
 
4613
4949
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
4614
- var import_jsx_runtime67 = require("react/jsx-runtime");
4950
+ var import_jsx_runtime69 = require("react/jsx-runtime");
4615
4951
  var NodeTypes = {
4616
4952
  ["paragraph"]: ParagraphNode_default,
4617
4953
  ["heading"]: HeadingNode_default,
@@ -4638,11 +4974,11 @@ var PageBodyRenderer = (props) => {
4638
4974
  if (pageBodyTree && pageBodyTree.root) {
4639
4975
  rootNode = pageBodyTree.root;
4640
4976
  }
4641
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react50.default.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
4977
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react52.default.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
4642
4978
  {
4643
4979
  }
4644
4980
  const SelectedNode = NodeTypes[node.type];
4645
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react50.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react50.default.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react50.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4981
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react52.default.Fragment, { children: SelectedNode && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react52.default.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react52.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4646
4982
  SelectedNode,
4647
4983
  {
4648
4984
  node,
@@ -4654,9 +4990,10 @@ var PageBodyRenderer = (props) => {
4654
4990
  path: props.path,
4655
4991
  apiBaseUrl: props.apiBaseUrl,
4656
4992
  serviceClient: props.serviceClient,
4657
- assetBaseUrl: props.assetBaseUrl
4993
+ assetBaseUrl: props.assetBaseUrl,
4994
+ device: props.device
4658
4995
  }
4659
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react50.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4996
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_react52.default.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4660
4997
  SelectedNode,
4661
4998
  {
4662
4999
  node,
@@ -4667,7 +5004,8 @@ var PageBodyRenderer = (props) => {
4667
5004
  path: props.path,
4668
5005
  apiBaseUrl: props.apiBaseUrl,
4669
5006
  serviceClient: props.serviceClient,
4670
- assetBaseUrl: props.assetBaseUrl
5007
+ assetBaseUrl: props.assetBaseUrl,
5008
+ device: props.device
4671
5009
  }
4672
5010
  ) }) }) }, index);
4673
5011
  }) });