@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260324120446 → 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
@@ -1,5 +1,3 @@
1
- "use client";
2
-
3
1
  "use strict";
4
2
  var __create = Object.create;
5
3
  var __defProp = Object.defineProperty;
@@ -1347,7 +1345,7 @@ var SelectWithSearchPanel = (props) => {
1347
1345
  const containerRef = (0, import_react27.useRef)(null);
1348
1346
  const [isCreateOpen, setIsCreateOpen] = (0, import_react27.useState)(false);
1349
1347
  const [formData, setFormData] = (0, import_react27.useState)({});
1350
- const getNestedValue2 = (obj, path) => {
1348
+ const getNestedValue3 = (obj, path) => {
1351
1349
  return path.split(".").reduce((acc, key) => acc?.[key], obj);
1352
1350
  };
1353
1351
  (0, import_react27.useEffect)(() => {
@@ -1385,7 +1383,7 @@ var SelectWithSearchPanel = (props) => {
1385
1383
  props.dataSourceDependsOn
1386
1384
  ]);
1387
1385
  const filteredItems = list?.filter((item) => {
1388
- const value = getNestedValue2(item, props.dataTextFieldName);
1386
+ const value = getNestedValue3(item, props.dataTextFieldName);
1389
1387
  return value?.toLowerCase().includes(searchTerm?.toLowerCase());
1390
1388
  });
1391
1389
  const playBeep = () => {
@@ -1416,7 +1414,7 @@ var SelectWithSearchPanel = (props) => {
1416
1414
  }, [searchTerm]);
1417
1415
  const handleSelect = (event, item) => {
1418
1416
  event.preventDefault();
1419
- setSearchTerm(getNestedValue2(item, props.dataTextFieldName));
1417
+ setSearchTerm(getNestedValue3(item, props.dataTextFieldName));
1420
1418
  if (props.callback) {
1421
1419
  const val = {};
1422
1420
  props.callback({
@@ -1566,7 +1564,7 @@ var SelectWithSearchPanel = (props) => {
1566
1564
  role: "option",
1567
1565
  tabIndex: -1,
1568
1566
  onMouseEnter: () => setHighlightedIndex(index),
1569
- 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) })
1570
1568
  }
1571
1569
  ) }, item[props.dataKeyFieldName])) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "px-4 py-2 text-gray-500", children: "No results found" })
1572
1570
  }
@@ -2558,7 +2556,7 @@ var DataList = (props) => {
2558
2556
  var DataList_default = DataList;
2559
2557
 
2560
2558
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
2561
- var import_react50 = __toESM(require("react"));
2559
+ var import_react52 = __toESM(require("react"));
2562
2560
 
2563
2561
  // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
2564
2562
  var import_react36 = __toESM(require("react"));
@@ -3065,42 +3063,391 @@ var HorizontalRuleNode = () => {
3065
3063
  var HorizontalRuleNode_default = HorizontalRuleNode;
3066
3064
 
3067
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"));
3068
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
+ };
3069
3333
  var ImageNode = (props) => {
3070
- const { node, assetBaseUrl = "" } = props;
3071
- if (!node.imageUrl) return null;
3334
+ let assets;
3072
3335
  let imageUrl;
3073
- if (node.imageUrl.startsWith("http")) {
3074
- 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
+ }
3075
3392
  } else {
3076
- 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);
3077
3395
  }
3078
- 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)(
3079
- "img",
3080
- {
3081
- loading: "lazy",
3082
- className: "object-cover",
3083
- src: imageUrl,
3084
- width: node.intrinsicWidth,
3085
- height: node.intrinsicHeight,
3086
- alt: node.title
3087
- }
3088
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3089
- "img",
3090
- {
3091
- loading: "lazy",
3092
- className: "object-cover",
3093
- src: imageUrl,
3094
- width: node.intrinsicWidth,
3095
- height: node.intrinsicHeight,
3096
- 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
+ ) });
3097
3440
  }
3098
- ) });
3441
+ };
3442
+ if (props.node.width) {
3443
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: `flex ${formatClasses}`, children: renderMedia() });
3444
+ }
3445
+ return renderMedia();
3099
3446
  };
3100
3447
  var ImageNode_default = ImageNode;
3101
3448
 
3102
3449
  // src/components/pageRenderingEngine/nodes/WidgetNode.tsx
3103
- var import_jsx_runtime56 = require("react/jsx-runtime");
3450
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3104
3451
  var WidgetNode = (props) => {
3105
3452
  const getWidgetParameters = () => {
3106
3453
  const widgetInputParameters = {
@@ -3157,14 +3504,14 @@ var WidgetNode = (props) => {
3157
3504
  };
3158
3505
  const widgetCode = props.node?.widgetCode;
3159
3506
  if (!widgetCode) {
3160
- 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" });
3161
3508
  }
3162
3509
  const SelectedWidget = getWidget(widgetCode);
3163
3510
  if (!SelectedWidget) {
3164
3511
  if (process.env.NODE_ENV !== "production") {
3165
3512
  console.warn("Widget not found:", widgetCode);
3166
3513
  }
3167
- 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: [
3168
3515
  "Widget not found: ",
3169
3516
  widgetCode
3170
3517
  ] });
@@ -3172,7 +3519,7 @@ var WidgetNode = (props) => {
3172
3519
  const widgetParams = getWidgetParameters();
3173
3520
  return (
3174
3521
  // eslint-disable-next-line react-hooks/static-components
3175
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3522
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3176
3523
  SelectedWidget,
3177
3524
  {
3178
3525
  params: widgetParams,
@@ -3188,12 +3535,12 @@ var WidgetNode = (props) => {
3188
3535
  var WidgetNode_default = WidgetNode;
3189
3536
 
3190
3537
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3191
- var import_react43 = __toESM(require("react"));
3538
+ var import_react45 = __toESM(require("react"));
3192
3539
 
3193
3540
  // src/components/pageRenderingEngine/nodes/InputControlNode.tsx
3194
- var import_jsx_runtime57 = require("react/jsx-runtime");
3541
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3195
3542
  var InputControlNode = (props) => {
3196
- 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)(
3197
3544
  InputControl_default,
3198
3545
  {
3199
3546
  name: props.node.name,
@@ -3427,22 +3774,22 @@ var ServiceClient = class {
3427
3774
  var ServiceClient_default = ServiceClient;
3428
3775
 
3429
3776
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3430
- var import_jsx_runtime58 = require("react/jsx-runtime");
3777
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3431
3778
  var FormContainerNode = (props) => {
3432
3779
  const NodeTypes2 = {
3433
3780
  ["input-control"]: InputControlNode_default
3434
3781
  };
3435
3782
  const { node } = props;
3436
- const formRef = (0, import_react43.useRef)(null);
3783
+ const formRef = (0, import_react45.useRef)(null);
3437
3784
  const initialState = {
3438
3785
  inputValues: {},
3439
3786
  lastPropertyChanged: ""
3440
3787
  };
3441
- const [formState, dispatch] = (0, import_react43.useReducer)(FormReducer_default, initialState);
3442
- 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) => {
3443
3790
  dispatch({ type: FORM_INPUT_UPDATE, name: updatedValues.name, value: updatedValues.value });
3444
3791
  }, [dispatch]);
3445
- (0, import_react43.useEffect)(() => {
3792
+ (0, import_react45.useEffect)(() => {
3446
3793
  const fetchInitialData = async () => {
3447
3794
  const client = new ServiceClient_default(props.apiBaseUrl, props.session);
3448
3795
  const response = await client.getSingle(props.node.dataFetchApi, props.routeParameters);
@@ -3457,12 +3804,12 @@ var FormContainerNode = (props) => {
3457
3804
  };
3458
3805
  fetchInitialData();
3459
3806
  }, [props.apiBaseUrl, props.node, props.session, props.routeParameters]);
3460
- 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: [
3461
3808
  node.children && node.children.map((node2, index) => {
3462
3809
  {
3463
3810
  }
3464
3811
  const SelectedNode = NodeTypes2[node2.type];
3465
- 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)(
3466
3813
  InputControlNode_default,
3467
3814
  {
3468
3815
  value: formState.inputValues[node2.name],
@@ -3471,51 +3818,51 @@ var FormContainerNode = (props) => {
3471
3818
  }
3472
3819
  ) }, index);
3473
3820
  }),
3474
- 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" })
3475
3822
  ] });
3476
3823
  };
3477
3824
  var FormContainerNode_default = FormContainerNode;
3478
3825
 
3479
3826
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
3480
- var import_react49 = __toESM(require("react"));
3827
+ var import_react51 = __toESM(require("react"));
3481
3828
 
3482
3829
  // src/components/pageRenderingEngine/nodes/IframeClient.tsx
3483
- var import_react45 = __toESM(require("react"));
3830
+ var import_react47 = __toESM(require("react"));
3484
3831
 
3485
3832
  // src/components/IFrameLoaderView.tsx
3486
- var import_react44 = __toESM(require("react"));
3487
- var import_jsx_runtime59 = require("react/jsx-runtime");
3833
+ var import_react46 = __toESM(require("react"));
3834
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3488
3835
  var IFrameLoaderView = (props) => {
3489
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_react44.default.Fragment, { children: [
3490
- 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: [
3491
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center mb-4", children: [
3492
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 h-8 w-8 rounded-full animate-pulse" }),
3493
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "ml-2", children: [
3494
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 h-3 w-16 animate-pulse" }),
3495
- /* @__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" })
3496
3843
  ] })
3497
3844
  ] }),
3498
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "grid grid-cols-3 gap-4 mt-6", children: [
3499
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "animate-pulse", children: [
3500
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3501
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3502
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3503
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3504
- /* @__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" })
3505
3852
  ] }),
3506
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "animate-pulse", children: [
3507
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3508
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3509
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3510
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3511
- /* @__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" })
3512
3859
  ] }),
3513
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "animate-pulse", children: [
3514
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-12 mb-2" }),
3515
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-24 mb-2" }),
3516
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-32 mb-2" }),
3517
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-gray-300 rounded-full h-3 w-16 mb-2" }),
3518
- /* @__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" })
3519
3866
  ] })
3520
3867
  ] })
3521
3868
  ] }) }),
@@ -3525,12 +3872,12 @@ var IFrameLoaderView = (props) => {
3525
3872
  var IFrameLoaderView_default = IFrameLoaderView;
3526
3873
 
3527
3874
  // src/components/pageRenderingEngine/nodes/IframeClient.tsx
3528
- var import_jsx_runtime60 = require("react/jsx-runtime");
3875
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3529
3876
  var IframeClient = ({ src }) => {
3530
- const iframeRef = (0, import_react45.useRef)(null);
3531
- const [iframeHeight, setIframeHeight] = (0, import_react45.useState)("100%");
3532
- const [isDataFound, setIsDataFound] = (0, import_react45.useState)(null);
3533
- (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)(() => {
3534
3881
  const handleReceiveMessage = (event) => {
3535
3882
  const eventName = event?.data?.eventName;
3536
3883
  const payload = event?.data?.payload;
@@ -3545,7 +3892,7 @@ var IframeClient = ({ src }) => {
3545
3892
  window.addEventListener("message", handleReceiveMessage);
3546
3893
  return () => window.removeEventListener("message", handleReceiveMessage);
3547
3894
  }, []);
3548
- (0, import_react45.useEffect)(() => {
3895
+ (0, import_react47.useEffect)(() => {
3549
3896
  const handleResize = () => {
3550
3897
  if (iframeRef.current) {
3551
3898
  iframeRef.current.contentWindow?.postMessage({ eventName: "RESIZE" }, "*");
@@ -3557,7 +3904,7 @@ var IframeClient = ({ src }) => {
3557
3904
  const handleIframeLoad = () => {
3558
3905
  setIsDataFound(true);
3559
3906
  };
3560
- 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)(
3561
3908
  "iframe",
3562
3909
  {
3563
3910
  ref: iframeRef,
@@ -3572,7 +3919,7 @@ var IframeClient = ({ src }) => {
3572
3919
  var IframeClient_default = IframeClient;
3573
3920
 
3574
3921
  // src/components/pageRenderingEngine/nodes/EmbedNode.tsx
3575
- var import_jsx_runtime61 = require("react/jsx-runtime");
3922
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3576
3923
  var EmbedNode = (props) => {
3577
3924
  let src;
3578
3925
  if (props.node.provider == "youtube") {
@@ -3582,26 +3929,13 @@ var EmbedNode = (props) => {
3582
3929
  } else {
3583
3930
  src = props.node.embedSrc;
3584
3931
  }
3585
- 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 }) });
3586
3933
  };
3587
3934
  var EmbedNode_default = EmbedNode;
3588
3935
 
3589
- // src/components/utilities/AssetUtility.tsx
3590
- var AssetUtility = class {
3591
- constructor() {
3592
- }
3593
- static resolveUrl(apiBaseUrl, url) {
3594
- if (!url) return void 0;
3595
- if (url.startsWith("http")) return url;
3596
- if (!apiBaseUrl) return url;
3597
- return `${apiBaseUrl}/digitalassets-management/${url}`;
3598
- }
3599
- };
3600
- var AssetUtility_default = AssetUtility;
3601
-
3602
3936
  // src/components/Slider.tsx
3603
- var import_react46 = __toESM(require("react"));
3604
- var import_jsx_runtime62 = require("react/jsx-runtime");
3937
+ var import_react48 = __toESM(require("react"));
3938
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3605
3939
  var Slider = ({
3606
3940
  children,
3607
3941
  slidesToShow = 4,
@@ -3619,13 +3953,13 @@ var Slider = ({
3619
3953
  pillStyle = "cumulative",
3620
3954
  progressPosition = "bottom"
3621
3955
  }) => {
3622
- const [currentSlide, setCurrentSlide] = (0, import_react46.useState)(0);
3623
- const [transition, setTransition] = (0, import_react46.useState)(true);
3624
- 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)(
3625
3959
  typeof slidesToShow === "number" ? slidesToShow : slidesToShow.large
3626
3960
  );
3627
- const [isPlaying, setIsPlaying] = (0, import_react46.useState)(autoplay);
3628
- (0, import_react46.useEffect)(() => {
3961
+ const [isPlaying, setIsPlaying] = (0, import_react48.useState)(autoplay);
3962
+ (0, import_react48.useEffect)(() => {
3629
3963
  if (typeof slidesToShow === "number") return;
3630
3964
  const handleResize = () => {
3631
3965
  if (window.innerWidth >= 1024) {
@@ -3640,7 +3974,7 @@ var Slider = ({
3640
3974
  window.addEventListener("resize", handleResize);
3641
3975
  return () => window.removeEventListener("resize", handleResize);
3642
3976
  }, [slidesToShow]);
3643
- (0, import_react46.useEffect)(() => {
3977
+ (0, import_react48.useEffect)(() => {
3644
3978
  if (!autoplay) return;
3645
3979
  const timer = setInterval(() => {
3646
3980
  if (isPlaying) {
@@ -3649,7 +3983,7 @@ var Slider = ({
3649
3983
  }, autoplay_speed);
3650
3984
  return () => clearInterval(timer);
3651
3985
  }, [autoplay, autoplay_speed, currentSlide, isPlaying]);
3652
- const totalSlides = import_react46.Children.count(children);
3986
+ const totalSlides = import_react48.Children.count(children);
3653
3987
  const maxSlide = totalSlides - slidesToShowState;
3654
3988
  const nextSlide = () => {
3655
3989
  if (currentSlide >= maxSlide) {
@@ -3694,16 +4028,16 @@ var Slider = ({
3694
4028
  }
3695
4029
  };
3696
4030
  const translateX = -currentSlide * (100 / slidesToShowState);
3697
- const slides = import_react46.Children.map(children, (child, index) => {
3698
- 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;
3699
4033
  const childProps = child.props;
3700
4034
  const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
3701
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4035
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3702
4036
  "div",
3703
4037
  {
3704
4038
  className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
3705
4039
  style: { width: `calc(${100 / slidesToShowState}%)`, paddingRight: gap },
3706
- children: (0, import_react46.cloneElement)(child, {
4040
+ children: (0, import_react48.cloneElement)(child, {
3707
4041
  className: mergedClassName
3708
4042
  })
3709
4043
  },
@@ -3721,14 +4055,14 @@ var Slider = ({
3721
4055
  return "bottom-4";
3722
4056
  }
3723
4057
  };
3724
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
4058
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3725
4059
  "div",
3726
4060
  {
3727
4061
  className: `relative w-full overflow-hidden ${className}`,
3728
4062
  onMouseEnter: handleMouseEnter,
3729
4063
  onMouseLeave: handleMouseLeave,
3730
4064
  children: [
3731
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4065
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3732
4066
  "div",
3733
4067
  {
3734
4068
  className: "flex h-full",
@@ -3739,18 +4073,18 @@ var Slider = ({
3739
4073
  children: slides
3740
4074
  }
3741
4075
  ),
3742
- show_arrows && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
3743
- /* @__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)(
3744
4078
  ArrowButton,
3745
4079
  {
3746
4080
  direction: "left",
3747
4081
  onClick: prevSlide,
3748
4082
  visible: infinite_scroll || currentSlide > 0,
3749
4083
  className: arrowClassName,
3750
- 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" }) })
3751
4085
  }
3752
4086
  ),
3753
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
4087
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3754
4088
  ArrowButton,
3755
4089
  {
3756
4090
  direction: "right",
@@ -3758,13 +4092,13 @@ var Slider = ({
3758
4092
  visible: infinite_scroll || currentSlide < maxSlide,
3759
4093
  className: arrowClassName,
3760
4094
  children: [
3761
- /* @__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" }) }),
3762
4096
  " "
3763
4097
  ]
3764
4098
  }
3765
4099
  )
3766
4100
  ] }),
3767
- 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)(
3768
4102
  ProgressPill,
3769
4103
  {
3770
4104
  active: index === currentSlide,
@@ -3790,7 +4124,7 @@ var ArrowButton = ({
3790
4124
  visible,
3791
4125
  children,
3792
4126
  className = ""
3793
- }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4127
+ }) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3794
4128
  "button",
3795
4129
  {
3796
4130
  className: `
@@ -3816,13 +4150,13 @@ var ProgressPill = ({
3816
4150
  currentSlide,
3817
4151
  totalSlides
3818
4152
  }) => {
3819
- const [progress, setProgress] = (0, import_react46.useState)(0);
3820
- (0, import_react46.useEffect)(() => {
4153
+ const [progress, setProgress] = (0, import_react48.useState)(0);
4154
+ (0, import_react48.useEffect)(() => {
3821
4155
  if (active) {
3822
4156
  setProgress(0);
3823
4157
  }
3824
4158
  }, [active, index]);
3825
- (0, import_react46.useEffect)(() => {
4159
+ (0, import_react48.useEffect)(() => {
3826
4160
  if (!active || !isPlaying) {
3827
4161
  if (!active) {
3828
4162
  setProgress(0);
@@ -3877,7 +4211,7 @@ var ProgressPill = ({
3877
4211
  const renderProgressBar = () => {
3878
4212
  if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
3879
4213
  const displayProgress = style === "cumulative" && isFilled ? 100 : progress;
3880
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4214
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3881
4215
  "div",
3882
4216
  {
3883
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`,
@@ -3889,7 +4223,7 @@ var ProgressPill = ({
3889
4223
  };
3890
4224
  const renderCumulativeFill = () => {
3891
4225
  if (style === "cumulative" && isFilled && !isActive) {
3892
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4226
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3893
4227
  "div",
3894
4228
  {
3895
4229
  className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
@@ -3899,7 +4233,7 @@ var ProgressPill = ({
3899
4233
  }
3900
4234
  return null;
3901
4235
  };
3902
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
4236
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3903
4237
  "button",
3904
4238
  {
3905
4239
  className: `${baseClasses} ${getStyleClasses()}`,
@@ -4024,11 +4358,11 @@ var AnimationUtility = class {
4024
4358
  var AnimationUtility_default = AnimationUtility;
4025
4359
 
4026
4360
  // src/components/pageRenderingEngine/nodes/EnterAnimationClient.tsx
4027
- var import_react47 = __toESM(require("react"));
4028
- var import_jsx_runtime63 = require("react/jsx-runtime");
4361
+ var import_react49 = __toESM(require("react"));
4362
+ var import_jsx_runtime65 = require("react/jsx-runtime");
4029
4363
  function EnterAnimationClient({ hasEnterAnimation, children }) {
4030
- const ref = (0, import_react47.useRef)(null);
4031
- (0, import_react47.useEffect)(() => {
4364
+ const ref = (0, import_react49.useRef)(null);
4365
+ (0, import_react49.useEffect)(() => {
4032
4366
  if (!hasEnterAnimation || !ref.current) return;
4033
4367
  const observer = new IntersectionObserver(
4034
4368
  (entries) => {
@@ -4044,9 +4378,9 @@ function EnterAnimationClient({ hasEnterAnimation, children }) {
4044
4378
  observer.observe(ref.current);
4045
4379
  return () => observer.disconnect();
4046
4380
  }, [hasEnterAnimation]);
4047
- 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
4048
4382
  //@ts-ignore
4049
- import_react47.default.cloneElement(children, { ref }) });
4383
+ import_react49.default.cloneElement(children, { ref }) });
4050
4384
  }
4051
4385
 
4052
4386
  // src/components/utilities/PathUtility.tsx
@@ -4101,10 +4435,10 @@ var PathUtility = class {
4101
4435
  var PathUtility_default = new PathUtility();
4102
4436
 
4103
4437
  // src/components/NoDataFound.tsx
4104
- var import_jsx_runtime64 = require("react/jsx-runtime");
4438
+ var import_jsx_runtime66 = require("react/jsx-runtime");
4105
4439
  var NoDataFound = () => {
4106
- 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: [
4107
- /* @__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)(
4108
4442
  "svg",
4109
4443
  {
4110
4444
  className: "w-10 h-10",
@@ -4112,7 +4446,7 @@ var NoDataFound = () => {
4112
4446
  stroke: "currentColor",
4113
4447
  viewBox: "0 0 24 24",
4114
4448
  xmlns: "http://www.w3.org/2000/svg",
4115
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4449
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4116
4450
  "path",
4117
4451
  {
4118
4452
  strokeLinecap: "round",
@@ -4123,18 +4457,18 @@ var NoDataFound = () => {
4123
4457
  )
4124
4458
  }
4125
4459
  ) }) }),
4126
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
4127
- /* @__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." })
4128
4462
  ] });
4129
4463
  };
4130
4464
  var NoDataFound_default = NoDataFound;
4131
4465
 
4132
4466
  // src/components/Pagination.tsx
4133
- var import_react48 = require("react");
4134
- var import_jsx_runtime65 = require("react/jsx-runtime");
4467
+ var import_react50 = require("react");
4468
+ var import_jsx_runtime67 = require("react/jsx-runtime");
4135
4469
  var Pagination = (props) => {
4136
4470
  const { dataset, path, query, showPageSizeSelector = false, showJumpToPage = false } = props;
4137
- const builder = (0, import_react48.useMemo)(() => {
4471
+ const builder = (0, import_react50.useMemo)(() => {
4138
4472
  const b = new OdataBuilder(path);
4139
4473
  if (query) b.setQuery(query);
4140
4474
  return b;
@@ -4175,7 +4509,7 @@ var Pagination = (props) => {
4175
4509
  return range;
4176
4510
  };
4177
4511
  const paginationRange = getPaginationRange();
4178
- const PageButton = ({ page, children }) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4512
+ const PageButton = ({ page, children }) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4179
4513
  Hyperlink,
4180
4514
  {
4181
4515
  linkType: "Link" /* Link */,
@@ -4190,9 +4524,9 @@ var Pagination = (props) => {
4190
4524
  );
4191
4525
  const NavigationButton = ({ page, disabled, children }) => {
4192
4526
  if (disabled) {
4193
- 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 });
4194
4528
  }
4195
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4529
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4196
4530
  Hyperlink,
4197
4531
  {
4198
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",
@@ -4202,35 +4536,35 @@ var Pagination = (props) => {
4202
4536
  );
4203
4537
  };
4204
4538
  if (totalPages <= 1 && totalItems === 0) return null;
4205
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "py-6 border-t bg-default", children: [
4206
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4207
- /* @__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: [
4208
4542
  "Showing ",
4209
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
4543
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("span", { className: "font-semibold", children: [
4210
4544
  startItem,
4211
4545
  "-",
4212
4546
  endItem
4213
4547
  ] }),
4214
4548
  " ",
4215
4549
  "out of ",
4216
- /* @__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() }),
4217
4551
  " results"
4218
4552
  ] }),
4219
- totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center space-x-1", children: [
4220
- /* @__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)(
4221
4555
  NavigationButton,
4222
4556
  {
4223
4557
  page: activePageNumber - 1,
4224
4558
  disabled: activePageNumber === 1,
4225
4559
  children: [
4226
- /* @__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" }) }),
4227
- /* @__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" })
4228
4562
  ]
4229
4563
  }
4230
4564
  ),
4231
4565
  paginationRange.map((item, index) => {
4232
4566
  if (item === "...") {
4233
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4567
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4234
4568
  "span",
4235
4569
  {
4236
4570
  className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center text-gray-500",
@@ -4240,23 +4574,23 @@ var Pagination = (props) => {
4240
4574
  );
4241
4575
  }
4242
4576
  const page = item;
4243
- 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);
4244
4578
  }),
4245
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
4579
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4246
4580
  NavigationButton,
4247
4581
  {
4248
4582
  page: activePageNumber + 1,
4249
4583
  disabled: activePageNumber === totalPages,
4250
4584
  children: [
4251
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Next" }),
4252
- /* @__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" }) })
4253
4587
  ]
4254
4588
  }
4255
4589
  )
4256
4590
  ] }),
4257
- showJumpToPage && totalPages > 5 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center space-x-2", children: [
4258
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Go to:" }),
4259
- /* @__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)(
4260
4594
  "input",
4261
4595
  {
4262
4596
  type: "number",
@@ -4277,9 +4611,9 @@ var Pagination = (props) => {
4277
4611
  ) })
4278
4612
  ] })
4279
4613
  ] }),
4280
- 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: [
4281
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Show:" }),
4282
- /* @__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)(
4283
4617
  Hyperlink,
4284
4618
  {
4285
4619
  className: `
@@ -4291,14 +4625,14 @@ var Pagination = (props) => {
4291
4625
  },
4292
4626
  size
4293
4627
  )) }),
4294
- /* @__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" })
4295
4629
  ] }) })
4296
4630
  ] });
4297
4631
  };
4298
4632
  var Pagination_default = Pagination;
4299
4633
 
4300
4634
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
4301
- var import_jsx_runtime66 = require("react/jsx-runtime");
4635
+ var import_jsx_runtime68 = require("react/jsx-runtime");
4302
4636
  function toCamelCase(str) {
4303
4637
  return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
4304
4638
  }
@@ -4312,7 +4646,7 @@ function convertKeysToCamelCase(obj) {
4312
4646
  ])
4313
4647
  );
4314
4648
  }
4315
- var getNestedValue = (obj, path) => {
4649
+ var getNestedValue2 = (obj, path) => {
4316
4650
  if (!obj || !path) return void 0;
4317
4651
  return path.split(".").reduce((current, key) => {
4318
4652
  {
@@ -4453,7 +4787,7 @@ var DivContainer = async (props) => {
4453
4787
  }
4454
4788
  const shouldHideContainer = () => {
4455
4789
  if (!props.node.fieldVisibleOnTrue) return false;
4456
- const fieldValue = getNestedValue(props.dataitem, props.node.fieldVisibleOnTrue);
4790
+ const fieldValue = getNestedValue2(props.dataitem, props.node.fieldVisibleOnTrue);
4457
4791
  return fieldValue !== void 0 && fieldValue === false;
4458
4792
  };
4459
4793
  const isHidden = shouldHideContainer();
@@ -4480,10 +4814,10 @@ var DivContainer = async (props) => {
4480
4814
  response = await serviceClient.get(endpoint);
4481
4815
  result = response?.result;
4482
4816
  if (dataBindingProperties.showNoResultsMessage && (result === void 0 || result.length == 0)) {
4483
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(NoDataFound_default, {});
4817
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(NoDataFound_default, {});
4484
4818
  }
4485
4819
  if (dataBindingProperties.childCollectionName && props.dataitem) {
4486
- childCollectionData = getNestedValue(props.dataitem, dataBindingProperties.childCollectionName);
4820
+ childCollectionData = getNestedValue2(props.dataitem, dataBindingProperties.childCollectionName);
4487
4821
  }
4488
4822
  }
4489
4823
  const cssResult = generateCssString(guid, updatedStyle, mobileStyles);
@@ -4492,7 +4826,7 @@ var DivContainer = async (props) => {
4492
4826
  }
4493
4827
  const SelectedNode = NodeTypes2[node.type];
4494
4828
  if (!SelectedNode) return null;
4495
- 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)(
4496
4830
  SelectedNode,
4497
4831
  {
4498
4832
  node,
@@ -4591,9 +4925,9 @@ var DivContainer = async (props) => {
4591
4925
  props.node.autoFormat && "auto-format",
4592
4926
  props.node.bgClass
4593
4927
  ].filter(Boolean).join(" ");
4594
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_react49.default.Fragment, { children: [
4595
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4596
- /* @__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)(
4597
4931
  Wrapper,
4598
4932
  {
4599
4933
  id: guid,
@@ -4602,18 +4936,18 @@ var DivContainer = async (props) => {
4602
4936
  ...wrapperProps,
4603
4937
  children: dataToRender.map(
4604
4938
  (item, idx) => item?.links?.view && renderLink ? renderChildren(props.node.children, props, item, idx, props.href ? void 0 : item?.links?.view)?.map(
4605
- (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)
4606
4940
  ) : renderChildren(props.node.children, props, item, idx)
4607
4941
  )
4608
4942
  }
4609
4943
  ) }) }),
4610
- 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 }) })
4611
4945
  ] });
4612
4946
  };
4613
4947
  var DivContainer_default = DivContainer;
4614
4948
 
4615
4949
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
4616
- var import_jsx_runtime67 = require("react/jsx-runtime");
4950
+ var import_jsx_runtime69 = require("react/jsx-runtime");
4617
4951
  var NodeTypes = {
4618
4952
  ["paragraph"]: ParagraphNode_default,
4619
4953
  ["heading"]: HeadingNode_default,
@@ -4640,11 +4974,11 @@ var PageBodyRenderer = (props) => {
4640
4974
  if (pageBodyTree && pageBodyTree.root) {
4641
4975
  rootNode = pageBodyTree.root;
4642
4976
  }
4643
- 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) => {
4644
4978
  {
4645
4979
  }
4646
4980
  const SelectedNode = NodeTypes[node.type];
4647
- 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)(
4648
4982
  SelectedNode,
4649
4983
  {
4650
4984
  node,
@@ -4656,9 +4990,10 @@ var PageBodyRenderer = (props) => {
4656
4990
  path: props.path,
4657
4991
  apiBaseUrl: props.apiBaseUrl,
4658
4992
  serviceClient: props.serviceClient,
4659
- assetBaseUrl: props.assetBaseUrl
4993
+ assetBaseUrl: props.assetBaseUrl,
4994
+ device: props.device
4660
4995
  }
4661
- ) }) : /* @__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)(
4662
4997
  SelectedNode,
4663
4998
  {
4664
4999
  node,
@@ -4669,7 +5004,8 @@ var PageBodyRenderer = (props) => {
4669
5004
  path: props.path,
4670
5005
  apiBaseUrl: props.apiBaseUrl,
4671
5006
  serviceClient: props.serviceClient,
4672
- assetBaseUrl: props.assetBaseUrl
5007
+ assetBaseUrl: props.assetBaseUrl,
5008
+ device: props.device
4673
5009
  }
4674
5010
  ) }) }) }, index);
4675
5011
  }) });