@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.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +519 -183
- package/dist/index.mjs +514 -179
- package/package.json +1 -1
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
|
|
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 =
|
|
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(
|
|
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:
|
|
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
|
|
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
|
-
|
|
3071
|
-
if (!node.imageUrl) return null;
|
|
3334
|
+
let assets;
|
|
3072
3335
|
let imageUrl;
|
|
3073
|
-
|
|
3074
|
-
|
|
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
|
|
3393
|
+
imageUrl = AssetUtility_default.resolveUrl(props.assetBaseUrl, props.node.imageUrl);
|
|
3394
|
+
posterUrl = AssetUtility_default.resolveUrl(props.assetBaseUrl, props.node.posterUrl);
|
|
3077
3395
|
}
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
"
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
3538
|
+
var import_react45 = __toESM(require("react"));
|
|
3192
3539
|
|
|
3193
3540
|
// src/components/pageRenderingEngine/nodes/InputControlNode.tsx
|
|
3194
|
-
var
|
|
3541
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3195
3542
|
var InputControlNode = (props) => {
|
|
3196
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
3442
|
-
const handleInputChange = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
3827
|
+
var import_react51 = __toESM(require("react"));
|
|
3481
3828
|
|
|
3482
3829
|
// src/components/pageRenderingEngine/nodes/IframeClient.tsx
|
|
3483
|
-
var
|
|
3830
|
+
var import_react47 = __toESM(require("react"));
|
|
3484
3831
|
|
|
3485
3832
|
// src/components/IFrameLoaderView.tsx
|
|
3486
|
-
var
|
|
3487
|
-
var
|
|
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,
|
|
3490
|
-
props.isDataFound == null && /* @__PURE__ */ (0,
|
|
3491
|
-
/* @__PURE__ */ (0,
|
|
3492
|
-
/* @__PURE__ */ (0,
|
|
3493
|
-
/* @__PURE__ */ (0,
|
|
3494
|
-
/* @__PURE__ */ (0,
|
|
3495
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3499
|
-
/* @__PURE__ */ (0,
|
|
3500
|
-
/* @__PURE__ */ (0,
|
|
3501
|
-
/* @__PURE__ */ (0,
|
|
3502
|
-
/* @__PURE__ */ (0,
|
|
3503
|
-
/* @__PURE__ */ (0,
|
|
3504
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3507
|
-
/* @__PURE__ */ (0,
|
|
3508
|
-
/* @__PURE__ */ (0,
|
|
3509
|
-
/* @__PURE__ */ (0,
|
|
3510
|
-
/* @__PURE__ */ (0,
|
|
3511
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3514
|
-
/* @__PURE__ */ (0,
|
|
3515
|
-
/* @__PURE__ */ (0,
|
|
3516
|
-
/* @__PURE__ */ (0,
|
|
3517
|
-
/* @__PURE__ */ (0,
|
|
3518
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
3875
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3529
3876
|
var IframeClient = ({ src }) => {
|
|
3530
|
-
const iframeRef = (0,
|
|
3531
|
-
const [iframeHeight, setIframeHeight] = (0,
|
|
3532
|
-
const [isDataFound, setIsDataFound] = (0,
|
|
3533
|
-
(0,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
3604
|
-
var
|
|
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,
|
|
3623
|
-
const [transition, setTransition] = (0,
|
|
3624
|
-
const [slidesToShowState, setSlidesToShowState] = (0,
|
|
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,
|
|
3628
|
-
(0,
|
|
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,
|
|
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 =
|
|
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 =
|
|
3698
|
-
if (!
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3743
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3820
|
-
(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
4028
|
-
var
|
|
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,
|
|
4031
|
-
(0,
|
|
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,
|
|
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
|
-
|
|
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
|
|
4438
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
4105
4439
|
var NoDataFound = () => {
|
|
4106
|
-
return /* @__PURE__ */ (0,
|
|
4107
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
4127
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
4134
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
4206
|
-
/* @__PURE__ */ (0,
|
|
4207
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
4550
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
|
|
4217
4551
|
" results"
|
|
4218
4552
|
] }),
|
|
4219
|
-
totalPages > 1 && /* @__PURE__ */ (0,
|
|
4220
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4227
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
4577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(PageButton, { page, children: page }, page);
|
|
4244
4578
|
}),
|
|
4245
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4252
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4258
|
-
/* @__PURE__ */ (0,
|
|
4259
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4281
|
-
/* @__PURE__ */ (0,
|
|
4282
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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
|
|
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 =
|
|
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,
|
|
4817
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(NoDataFound_default, {});
|
|
4484
4818
|
}
|
|
4485
4819
|
if (dataBindingProperties.childCollectionName && props.dataitem) {
|
|
4486
|
-
childCollectionData =
|
|
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,
|
|
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,
|
|
4595
|
-
/* @__PURE__ */ (0,
|
|
4596
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
}) });
|