@clyrex-digital/clyrex-controls-dev 0.8.1-dev.20260803102521 → 0.8.1-dev.20260807124440
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/{IframeClient-J22NMEVY.mjs → IframeClient-7MLB3UB2.mjs} +8 -7
- package/dist/{IframeClient-RGJFZ5P2.mjs → IframeClient-ZFI2S3GR.mjs} +8 -7
- package/dist/index.js +105 -71
- package/dist/index.mjs +98 -65
- package/dist/server.js +105 -71
- package/dist/server.mjs +98 -65
- package/package.json +1 -1
|
@@ -47,7 +47,7 @@ var IFrameLoaderView_default = IFrameLoaderView;
|
|
|
47
47
|
|
|
48
48
|
// src/components/pageRenderingEngine/nodes/IframeClient.tsx
|
|
49
49
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
50
|
-
var IframeClient = ({ src }) => {
|
|
50
|
+
var IframeClient = ({ src, height, width }) => {
|
|
51
51
|
const iframeRef = useRef(null);
|
|
52
52
|
const [iframeHeight, setIframeHeight] = useState("100%");
|
|
53
53
|
const [isDataFound, setIsDataFound] = useState(null);
|
|
@@ -56,11 +56,11 @@ var IframeClient = ({ src }) => {
|
|
|
56
56
|
const eventName = event?.data?.eventName;
|
|
57
57
|
const payload = event?.data?.payload;
|
|
58
58
|
if (eventName === "SET_HEIGHT" && payload?.height) {
|
|
59
|
-
let
|
|
59
|
+
let height2 = 500;
|
|
60
60
|
if (payload.height > 500) {
|
|
61
|
-
|
|
61
|
+
height2 = payload.height + 50;
|
|
62
62
|
}
|
|
63
|
-
setIframeHeight(`${
|
|
63
|
+
setIframeHeight(`${height2}px`);
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
window.addEventListener("message", handleReceiveMessage);
|
|
@@ -83,10 +83,11 @@ var IframeClient = ({ src }) => {
|
|
|
83
83
|
{
|
|
84
84
|
ref: iframeRef,
|
|
85
85
|
src,
|
|
86
|
-
className: "
|
|
86
|
+
className: " border-none",
|
|
87
87
|
scrolling: "no",
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
onLoad: handleIframeLoad,
|
|
89
|
+
height,
|
|
90
|
+
width
|
|
90
91
|
}
|
|
91
92
|
) }) });
|
|
92
93
|
};
|
|
@@ -49,7 +49,7 @@ var IFrameLoaderView_default = IFrameLoaderView;
|
|
|
49
49
|
|
|
50
50
|
// src/components/pageRenderingEngine/nodes/IframeClient.tsx
|
|
51
51
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
52
|
-
var IframeClient = ({ src }) => {
|
|
52
|
+
var IframeClient = ({ src, height, width }) => {
|
|
53
53
|
const iframeRef = useRef(null);
|
|
54
54
|
const [iframeHeight, setIframeHeight] = useState("100%");
|
|
55
55
|
const [isDataFound, setIsDataFound] = useState(null);
|
|
@@ -58,11 +58,11 @@ var IframeClient = ({ src }) => {
|
|
|
58
58
|
const eventName = event?.data?.eventName;
|
|
59
59
|
const payload = event?.data?.payload;
|
|
60
60
|
if (eventName === "SET_HEIGHT" && payload?.height) {
|
|
61
|
-
let
|
|
61
|
+
let height2 = 500;
|
|
62
62
|
if (payload.height > 500) {
|
|
63
|
-
|
|
63
|
+
height2 = payload.height + 50;
|
|
64
64
|
}
|
|
65
|
-
setIframeHeight(`${
|
|
65
|
+
setIframeHeight(`${height2}px`);
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
window.addEventListener("message", handleReceiveMessage);
|
|
@@ -85,10 +85,11 @@ var IframeClient = ({ src }) => {
|
|
|
85
85
|
{
|
|
86
86
|
ref: iframeRef,
|
|
87
87
|
src,
|
|
88
|
-
className: "
|
|
88
|
+
className: " border-none",
|
|
89
89
|
scrolling: "no",
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
onLoad: handleIframeLoad,
|
|
91
|
+
height,
|
|
92
|
+
width
|
|
92
93
|
}
|
|
93
94
|
) }) });
|
|
94
95
|
};
|
package/dist/index.js
CHANGED
|
@@ -3913,7 +3913,7 @@ var init_IframeClient = __esm({
|
|
|
3913
3913
|
import_react52 = __toESM(require("react"));
|
|
3914
3914
|
init_IFrameLoaderView();
|
|
3915
3915
|
import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3916
|
-
IframeClient = ({ src }) => {
|
|
3916
|
+
IframeClient = ({ src, height, width }) => {
|
|
3917
3917
|
const iframeRef = (0, import_react52.useRef)(null);
|
|
3918
3918
|
const [iframeHeight, setIframeHeight] = (0, import_react52.useState)("100%");
|
|
3919
3919
|
const [isDataFound, setIsDataFound] = (0, import_react52.useState)(null);
|
|
@@ -3922,11 +3922,11 @@ var init_IframeClient = __esm({
|
|
|
3922
3922
|
const eventName = event?.data?.eventName;
|
|
3923
3923
|
const payload = event?.data?.payload;
|
|
3924
3924
|
if (eventName === "SET_HEIGHT" && payload?.height) {
|
|
3925
|
-
let
|
|
3925
|
+
let height2 = 500;
|
|
3926
3926
|
if (payload.height > 500) {
|
|
3927
|
-
|
|
3927
|
+
height2 = payload.height + 50;
|
|
3928
3928
|
}
|
|
3929
|
-
setIframeHeight(`${
|
|
3929
|
+
setIframeHeight(`${height2}px`);
|
|
3930
3930
|
}
|
|
3931
3931
|
};
|
|
3932
3932
|
window.addEventListener("message", handleReceiveMessage);
|
|
@@ -3949,10 +3949,11 @@ var init_IframeClient = __esm({
|
|
|
3949
3949
|
{
|
|
3950
3950
|
ref: iframeRef,
|
|
3951
3951
|
src,
|
|
3952
|
-
className: "
|
|
3952
|
+
className: " border-none",
|
|
3953
3953
|
scrolling: "no",
|
|
3954
|
-
|
|
3955
|
-
|
|
3954
|
+
onLoad: handleIframeLoad,
|
|
3955
|
+
height,
|
|
3956
|
+
width
|
|
3956
3957
|
}
|
|
3957
3958
|
) }) });
|
|
3958
3959
|
};
|
|
@@ -5880,7 +5881,7 @@ var EmbedNode = (props) => {
|
|
|
5880
5881
|
} else {
|
|
5881
5882
|
src = props.node.embedSrc;
|
|
5882
5883
|
}
|
|
5883
|
-
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(IframeClient2, { src }) });
|
|
5884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(IframeClient2, { src, height: props.node.height, width: props.node.width }) });
|
|
5884
5885
|
};
|
|
5885
5886
|
var EmbedNode_default = EmbedNode;
|
|
5886
5887
|
|
|
@@ -6133,36 +6134,6 @@ var parseMaybeNumber = (value) => {
|
|
|
6133
6134
|
const n = Number(value);
|
|
6134
6135
|
return Number.isFinite(n) ? n : void 0;
|
|
6135
6136
|
};
|
|
6136
|
-
function resolveAssetUrl(fieldValue, tag) {
|
|
6137
|
-
if (!fieldValue) {
|
|
6138
|
-
return void 0;
|
|
6139
|
-
}
|
|
6140
|
-
if (typeof fieldValue === "string") {
|
|
6141
|
-
const trimmed = fieldValue.trim();
|
|
6142
|
-
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
6143
|
-
return trimmed;
|
|
6144
|
-
}
|
|
6145
|
-
try {
|
|
6146
|
-
const parsed = JSON.parse(trimmed);
|
|
6147
|
-
return resolveAssetUrl(parsed, tag);
|
|
6148
|
-
} catch {
|
|
6149
|
-
return void 0;
|
|
6150
|
-
}
|
|
6151
|
-
}
|
|
6152
|
-
if (Array.isArray(fieldValue)) {
|
|
6153
|
-
const asset = tag ? fieldValue.find(
|
|
6154
|
-
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
6155
|
-
) : fieldValue[0];
|
|
6156
|
-
return asset?.assetUrl;
|
|
6157
|
-
}
|
|
6158
|
-
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
6159
|
-
const assetObject = fieldValue;
|
|
6160
|
-
if (assetObject.assetUrl) {
|
|
6161
|
-
return assetObject.assetUrl;
|
|
6162
|
-
}
|
|
6163
|
-
}
|
|
6164
|
-
return void 0;
|
|
6165
|
-
}
|
|
6166
6137
|
var getNestedValue3 = (obj, path) => {
|
|
6167
6138
|
if (!obj || !path) {
|
|
6168
6139
|
return void 0;
|
|
@@ -6172,57 +6143,114 @@ var getNestedValue3 = (obj, path) => {
|
|
|
6172
6143
|
}, obj);
|
|
6173
6144
|
};
|
|
6174
6145
|
var ImageGalleryNode = (props) => {
|
|
6175
|
-
|
|
6146
|
+
function resolveAsset(fieldValue, tag) {
|
|
6147
|
+
if (!fieldValue) {
|
|
6148
|
+
return void 0;
|
|
6149
|
+
}
|
|
6150
|
+
if (typeof fieldValue === "string") {
|
|
6151
|
+
const trimmed = fieldValue.trim();
|
|
6152
|
+
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
6153
|
+
return {
|
|
6154
|
+
assetUrl: trimmed
|
|
6155
|
+
};
|
|
6156
|
+
}
|
|
6157
|
+
try {
|
|
6158
|
+
const parsed = JSON.parse(trimmed);
|
|
6159
|
+
return resolveAsset(parsed, tag);
|
|
6160
|
+
} catch {
|
|
6161
|
+
return void 0;
|
|
6162
|
+
}
|
|
6163
|
+
}
|
|
6164
|
+
if (Array.isArray(fieldValue)) {
|
|
6165
|
+
const asset = tag ? fieldValue.find(
|
|
6166
|
+
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
6167
|
+
) : fieldValue[0];
|
|
6168
|
+
if (!asset) return void 0;
|
|
6169
|
+
return {
|
|
6170
|
+
assetUrl: asset.assetUrl,
|
|
6171
|
+
posterUrl: asset.posterUrl,
|
|
6172
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
6173
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
6174
|
+
device: asset.device,
|
|
6175
|
+
tag: asset.tag
|
|
6176
|
+
};
|
|
6177
|
+
}
|
|
6178
|
+
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
6179
|
+
const asset = fieldValue;
|
|
6180
|
+
if (!asset.assetUrl) {
|
|
6181
|
+
return void 0;
|
|
6182
|
+
}
|
|
6183
|
+
return {
|
|
6184
|
+
assetUrl: asset.assetUrl,
|
|
6185
|
+
posterUrl: asset.posterUrl,
|
|
6186
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
6187
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
6188
|
+
device: asset.device,
|
|
6189
|
+
tag: asset.tag
|
|
6190
|
+
};
|
|
6191
|
+
}
|
|
6192
|
+
return void 0;
|
|
6193
|
+
}
|
|
6194
|
+
const resolveImage = (image) => {
|
|
6176
6195
|
let imageUrl = image.imageUrl;
|
|
6196
|
+
let posterUrl = image.posterUrl;
|
|
6197
|
+
let intrinsicWidth = image.intrinsicWidth;
|
|
6198
|
+
let intrinsicHeight = image.intrinsicHeight;
|
|
6177
6199
|
if (image.datafield && props.dataitem) {
|
|
6178
6200
|
const fieldValue = getNestedValue3(props.dataitem, image.datafield);
|
|
6179
|
-
const resolvedAsset =
|
|
6201
|
+
const resolvedAsset = resolveAsset(fieldValue, image.tag);
|
|
6180
6202
|
if (resolvedAsset) {
|
|
6181
|
-
imageUrl = resolvedAsset;
|
|
6203
|
+
imageUrl = resolvedAsset.assetUrl;
|
|
6204
|
+
posterUrl = resolvedAsset.posterUrl;
|
|
6205
|
+
intrinsicWidth = resolvedAsset.intrinsicWidth;
|
|
6206
|
+
intrinsicHeight = resolvedAsset.intrinsicHeight;
|
|
6182
6207
|
}
|
|
6183
6208
|
}
|
|
6184
6209
|
if (!imageUrl) {
|
|
6185
|
-
return
|
|
6186
|
-
}
|
|
6187
|
-
if (imageUrl.startsWith("http")) {
|
|
6188
|
-
return imageUrl;
|
|
6210
|
+
return void 0;
|
|
6189
6211
|
}
|
|
6190
|
-
|
|
6191
|
-
|
|
6192
|
-
|
|
6212
|
+
return {
|
|
6213
|
+
imageUrl: imageUrl.startsWith("http") ? imageUrl : AssetUtility_default.resolveUrl(props.assetBaseUrl, imageUrl),
|
|
6214
|
+
posterUrl: posterUrl ? AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl) : void 0,
|
|
6215
|
+
intrinsicWidth,
|
|
6216
|
+
intrinsicHeight
|
|
6217
|
+
};
|
|
6193
6218
|
};
|
|
6194
6219
|
const resolvePosterUrl = (posterUrl) => {
|
|
6195
6220
|
if (!posterUrl) return void 0;
|
|
6196
6221
|
return AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl);
|
|
6197
6222
|
};
|
|
6198
6223
|
const rawImages = Array.isArray(props.node.images) ? props.node.images : [];
|
|
6199
|
-
const hlsImages = rawImages.filter(
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6224
|
+
const hlsImages = rawImages.filter((img) => {
|
|
6225
|
+
const resolved = resolveImage(img);
|
|
6226
|
+
return resolved?.imageUrl?.endsWith(".m3u8");
|
|
6227
|
+
});
|
|
6228
|
+
const staticImages = rawImages.filter((img) => {
|
|
6229
|
+
const resolved = resolveImage(img);
|
|
6230
|
+
return resolved && !resolved.imageUrl?.endsWith(".m3u8");
|
|
6231
|
+
});
|
|
6205
6232
|
const hlsSources = [
|
|
6206
6233
|
...DEVICE_ORDER.flatMap((deviceKey) => {
|
|
6207
6234
|
const img = hlsImages.find((i) => i.device === deviceKey);
|
|
6208
6235
|
if (!img) return [];
|
|
6209
|
-
const
|
|
6210
|
-
if (!
|
|
6211
|
-
const media = deviceToMediaQuery(img.device);
|
|
6212
|
-
const posterUrl = resolvePosterUrl(img.posterUrl);
|
|
6236
|
+
const resolved = resolveImage(img);
|
|
6237
|
+
if (!resolved) return [];
|
|
6213
6238
|
return [
|
|
6214
6239
|
{
|
|
6215
|
-
src,
|
|
6216
|
-
...
|
|
6217
|
-
...posterUrl ? { posterUrl } : {}
|
|
6240
|
+
src: resolved.imageUrl,
|
|
6241
|
+
...deviceToMediaQuery(img.device) ? { media: deviceToMediaQuery(img.device) } : {},
|
|
6242
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
6218
6243
|
}
|
|
6219
6244
|
];
|
|
6220
6245
|
}),
|
|
6221
6246
|
...hlsImages.filter((img) => !img.device).map((img) => {
|
|
6222
|
-
const
|
|
6223
|
-
|
|
6224
|
-
return {
|
|
6225
|
-
|
|
6247
|
+
const resolved = resolveImage(img);
|
|
6248
|
+
if (!resolved) return void 0;
|
|
6249
|
+
return {
|
|
6250
|
+
src: resolved.imageUrl,
|
|
6251
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
6252
|
+
};
|
|
6253
|
+
}).filter(Boolean)
|
|
6226
6254
|
];
|
|
6227
6255
|
const primaryHls = hlsImages.find((img) => !img.device) ?? hlsImages[0];
|
|
6228
6256
|
const hlsIntrinsicWidth = primaryHls ? parseMaybeNumber(primaryHls.intrinsicWidth)?.toString() : void 0;
|
|
@@ -6264,7 +6292,11 @@ var ImageGalleryNode = (props) => {
|
|
|
6264
6292
|
if (!match) {
|
|
6265
6293
|
return null;
|
|
6266
6294
|
}
|
|
6267
|
-
const
|
|
6295
|
+
const resolved = resolveImage(match);
|
|
6296
|
+
if (!resolved) {
|
|
6297
|
+
return null;
|
|
6298
|
+
}
|
|
6299
|
+
const srcUrl = resolved.imageUrl;
|
|
6268
6300
|
if (!srcUrl) {
|
|
6269
6301
|
return null;
|
|
6270
6302
|
}
|
|
@@ -6281,7 +6313,8 @@ var ImageGalleryNode = (props) => {
|
|
|
6281
6313
|
}),
|
|
6282
6314
|
(() => {
|
|
6283
6315
|
const img = staticFallback;
|
|
6284
|
-
const
|
|
6316
|
+
const resolved = resolveImage(img);
|
|
6317
|
+
const imageUrl = resolved?.imageUrl;
|
|
6285
6318
|
if (!imageUrl) {
|
|
6286
6319
|
return null;
|
|
6287
6320
|
}
|
|
@@ -6308,7 +6341,8 @@ var ImageGalleryNode = (props) => {
|
|
|
6308
6341
|
] }) : (
|
|
6309
6342
|
/* Case 2: Only device-specific images exist */
|
|
6310
6343
|
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_jsx_runtime72.Fragment, { children: staticSources.map((img, index) => {
|
|
6311
|
-
const
|
|
6344
|
+
const resolved = resolveImage(img);
|
|
6345
|
+
const imageUrl = resolved?.imageUrl;
|
|
6312
6346
|
if (!imageUrl) {
|
|
6313
6347
|
return null;
|
|
6314
6348
|
}
|
|
@@ -6950,7 +6984,7 @@ var getNestedValue6 = (obj, path) => {
|
|
|
6950
6984
|
return current && current[key] !== void 0 ? current[key] : void 0;
|
|
6951
6985
|
}, obj);
|
|
6952
6986
|
};
|
|
6953
|
-
function
|
|
6987
|
+
function resolveAssetUrl(fieldValue, tag) {
|
|
6954
6988
|
if (!fieldValue) {
|
|
6955
6989
|
return void 0;
|
|
6956
6990
|
}
|
|
@@ -6961,7 +6995,7 @@ function resolveAssetUrl2(fieldValue, tag) {
|
|
|
6961
6995
|
}
|
|
6962
6996
|
try {
|
|
6963
6997
|
const parsed = JSON.parse(trimmed);
|
|
6964
|
-
return
|
|
6998
|
+
return resolveAssetUrl(parsed, tag);
|
|
6965
6999
|
} catch {
|
|
6966
7000
|
return void 0;
|
|
6967
7001
|
}
|
|
@@ -6988,7 +7022,7 @@ function generateCompleteBackgroundString(layers, apiBaseUrl, dataItem) {
|
|
|
6988
7022
|
let assetUrl = imageValue.assetUrl || "";
|
|
6989
7023
|
if (layer.datafield && dataItem) {
|
|
6990
7024
|
const fieldValue = getNestedValue6(dataItem, layer.datafield);
|
|
6991
|
-
const resolvedAssetUrl =
|
|
7025
|
+
const resolvedAssetUrl = resolveAssetUrl(fieldValue, layer.tag);
|
|
6992
7026
|
if (resolvedAssetUrl) {
|
|
6993
7027
|
assetUrl = resolvedAssetUrl;
|
|
6994
7028
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -1195,7 +1195,7 @@ import React22 from "react";
|
|
|
1195
1195
|
// src/components/pageRenderingEngine/nodes/EmbedNode.tsx
|
|
1196
1196
|
import dynamic8 from "next/dynamic";
|
|
1197
1197
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1198
|
-
var IframeClient = dynamic8(() => import("./IframeClient-
|
|
1198
|
+
var IframeClient = dynamic8(() => import("./IframeClient-ZFI2S3GR.mjs"), {
|
|
1199
1199
|
ssr: false
|
|
1200
1200
|
});
|
|
1201
1201
|
var EmbedNode = (props) => {
|
|
@@ -1207,7 +1207,7 @@ var EmbedNode = (props) => {
|
|
|
1207
1207
|
} else {
|
|
1208
1208
|
src = props.node.embedSrc;
|
|
1209
1209
|
}
|
|
1210
|
-
return /* @__PURE__ */ jsx30("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx30(IframeClient, { src }) });
|
|
1210
|
+
return /* @__PURE__ */ jsx30("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx30(IframeClient, { src, height: props.node.height, width: props.node.width }) });
|
|
1211
1211
|
};
|
|
1212
1212
|
var EmbedNode_default = EmbedNode;
|
|
1213
1213
|
|
|
@@ -1452,36 +1452,6 @@ var parseMaybeNumber = (value) => {
|
|
|
1452
1452
|
const n = Number(value);
|
|
1453
1453
|
return Number.isFinite(n) ? n : void 0;
|
|
1454
1454
|
};
|
|
1455
|
-
function resolveAssetUrl(fieldValue, tag) {
|
|
1456
|
-
if (!fieldValue) {
|
|
1457
|
-
return void 0;
|
|
1458
|
-
}
|
|
1459
|
-
if (typeof fieldValue === "string") {
|
|
1460
|
-
const trimmed = fieldValue.trim();
|
|
1461
|
-
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
1462
|
-
return trimmed;
|
|
1463
|
-
}
|
|
1464
|
-
try {
|
|
1465
|
-
const parsed = JSON.parse(trimmed);
|
|
1466
|
-
return resolveAssetUrl(parsed, tag);
|
|
1467
|
-
} catch {
|
|
1468
|
-
return void 0;
|
|
1469
|
-
}
|
|
1470
|
-
}
|
|
1471
|
-
if (Array.isArray(fieldValue)) {
|
|
1472
|
-
const asset = tag ? fieldValue.find(
|
|
1473
|
-
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
1474
|
-
) : fieldValue[0];
|
|
1475
|
-
return asset?.assetUrl;
|
|
1476
|
-
}
|
|
1477
|
-
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
1478
|
-
const assetObject = fieldValue;
|
|
1479
|
-
if (assetObject.assetUrl) {
|
|
1480
|
-
return assetObject.assetUrl;
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
return void 0;
|
|
1484
|
-
}
|
|
1485
1455
|
var getNestedValue3 = (obj, path) => {
|
|
1486
1456
|
if (!obj || !path) {
|
|
1487
1457
|
return void 0;
|
|
@@ -1491,57 +1461,114 @@ var getNestedValue3 = (obj, path) => {
|
|
|
1491
1461
|
}, obj);
|
|
1492
1462
|
};
|
|
1493
1463
|
var ImageGalleryNode = (props) => {
|
|
1494
|
-
|
|
1464
|
+
function resolveAsset(fieldValue, tag) {
|
|
1465
|
+
if (!fieldValue) {
|
|
1466
|
+
return void 0;
|
|
1467
|
+
}
|
|
1468
|
+
if (typeof fieldValue === "string") {
|
|
1469
|
+
const trimmed = fieldValue.trim();
|
|
1470
|
+
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
1471
|
+
return {
|
|
1472
|
+
assetUrl: trimmed
|
|
1473
|
+
};
|
|
1474
|
+
}
|
|
1475
|
+
try {
|
|
1476
|
+
const parsed = JSON.parse(trimmed);
|
|
1477
|
+
return resolveAsset(parsed, tag);
|
|
1478
|
+
} catch {
|
|
1479
|
+
return void 0;
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
if (Array.isArray(fieldValue)) {
|
|
1483
|
+
const asset = tag ? fieldValue.find(
|
|
1484
|
+
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
1485
|
+
) : fieldValue[0];
|
|
1486
|
+
if (!asset) return void 0;
|
|
1487
|
+
return {
|
|
1488
|
+
assetUrl: asset.assetUrl,
|
|
1489
|
+
posterUrl: asset.posterUrl,
|
|
1490
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
1491
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
1492
|
+
device: asset.device,
|
|
1493
|
+
tag: asset.tag
|
|
1494
|
+
};
|
|
1495
|
+
}
|
|
1496
|
+
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
1497
|
+
const asset = fieldValue;
|
|
1498
|
+
if (!asset.assetUrl) {
|
|
1499
|
+
return void 0;
|
|
1500
|
+
}
|
|
1501
|
+
return {
|
|
1502
|
+
assetUrl: asset.assetUrl,
|
|
1503
|
+
posterUrl: asset.posterUrl,
|
|
1504
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
1505
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
1506
|
+
device: asset.device,
|
|
1507
|
+
tag: asset.tag
|
|
1508
|
+
};
|
|
1509
|
+
}
|
|
1510
|
+
return void 0;
|
|
1511
|
+
}
|
|
1512
|
+
const resolveImage = (image) => {
|
|
1495
1513
|
let imageUrl = image.imageUrl;
|
|
1514
|
+
let posterUrl = image.posterUrl;
|
|
1515
|
+
let intrinsicWidth = image.intrinsicWidth;
|
|
1516
|
+
let intrinsicHeight = image.intrinsicHeight;
|
|
1496
1517
|
if (image.datafield && props.dataitem) {
|
|
1497
1518
|
const fieldValue = getNestedValue3(props.dataitem, image.datafield);
|
|
1498
|
-
const resolvedAsset =
|
|
1519
|
+
const resolvedAsset = resolveAsset(fieldValue, image.tag);
|
|
1499
1520
|
if (resolvedAsset) {
|
|
1500
|
-
imageUrl = resolvedAsset;
|
|
1521
|
+
imageUrl = resolvedAsset.assetUrl;
|
|
1522
|
+
posterUrl = resolvedAsset.posterUrl;
|
|
1523
|
+
intrinsicWidth = resolvedAsset.intrinsicWidth;
|
|
1524
|
+
intrinsicHeight = resolvedAsset.intrinsicHeight;
|
|
1501
1525
|
}
|
|
1502
1526
|
}
|
|
1503
1527
|
if (!imageUrl) {
|
|
1504
|
-
return
|
|
1505
|
-
}
|
|
1506
|
-
if (imageUrl.startsWith("http")) {
|
|
1507
|
-
return imageUrl;
|
|
1528
|
+
return void 0;
|
|
1508
1529
|
}
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1530
|
+
return {
|
|
1531
|
+
imageUrl: imageUrl.startsWith("http") ? imageUrl : AssetUtility_default.resolveUrl(props.assetBaseUrl, imageUrl),
|
|
1532
|
+
posterUrl: posterUrl ? AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl) : void 0,
|
|
1533
|
+
intrinsicWidth,
|
|
1534
|
+
intrinsicHeight
|
|
1535
|
+
};
|
|
1512
1536
|
};
|
|
1513
1537
|
const resolvePosterUrl = (posterUrl) => {
|
|
1514
1538
|
if (!posterUrl) return void 0;
|
|
1515
1539
|
return AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl);
|
|
1516
1540
|
};
|
|
1517
1541
|
const rawImages = Array.isArray(props.node.images) ? props.node.images : [];
|
|
1518
|
-
const hlsImages = rawImages.filter(
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1542
|
+
const hlsImages = rawImages.filter((img) => {
|
|
1543
|
+
const resolved = resolveImage(img);
|
|
1544
|
+
return resolved?.imageUrl?.endsWith(".m3u8");
|
|
1545
|
+
});
|
|
1546
|
+
const staticImages = rawImages.filter((img) => {
|
|
1547
|
+
const resolved = resolveImage(img);
|
|
1548
|
+
return resolved && !resolved.imageUrl?.endsWith(".m3u8");
|
|
1549
|
+
});
|
|
1524
1550
|
const hlsSources = [
|
|
1525
1551
|
...DEVICE_ORDER.flatMap((deviceKey) => {
|
|
1526
1552
|
const img = hlsImages.find((i) => i.device === deviceKey);
|
|
1527
1553
|
if (!img) return [];
|
|
1528
|
-
const
|
|
1529
|
-
if (!
|
|
1530
|
-
const media = deviceToMediaQuery(img.device);
|
|
1531
|
-
const posterUrl = resolvePosterUrl(img.posterUrl);
|
|
1554
|
+
const resolved = resolveImage(img);
|
|
1555
|
+
if (!resolved) return [];
|
|
1532
1556
|
return [
|
|
1533
1557
|
{
|
|
1534
|
-
src,
|
|
1535
|
-
...
|
|
1536
|
-
...posterUrl ? { posterUrl } : {}
|
|
1558
|
+
src: resolved.imageUrl,
|
|
1559
|
+
...deviceToMediaQuery(img.device) ? { media: deviceToMediaQuery(img.device) } : {},
|
|
1560
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
1537
1561
|
}
|
|
1538
1562
|
];
|
|
1539
1563
|
}),
|
|
1540
1564
|
...hlsImages.filter((img) => !img.device).map((img) => {
|
|
1541
|
-
const
|
|
1542
|
-
|
|
1543
|
-
return {
|
|
1544
|
-
|
|
1565
|
+
const resolved = resolveImage(img);
|
|
1566
|
+
if (!resolved) return void 0;
|
|
1567
|
+
return {
|
|
1568
|
+
src: resolved.imageUrl,
|
|
1569
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
1570
|
+
};
|
|
1571
|
+
}).filter(Boolean)
|
|
1545
1572
|
];
|
|
1546
1573
|
const primaryHls = hlsImages.find((img) => !img.device) ?? hlsImages[0];
|
|
1547
1574
|
const hlsIntrinsicWidth = primaryHls ? parseMaybeNumber(primaryHls.intrinsicWidth)?.toString() : void 0;
|
|
@@ -1583,7 +1610,11 @@ var ImageGalleryNode = (props) => {
|
|
|
1583
1610
|
if (!match) {
|
|
1584
1611
|
return null;
|
|
1585
1612
|
}
|
|
1586
|
-
const
|
|
1613
|
+
const resolved = resolveImage(match);
|
|
1614
|
+
if (!resolved) {
|
|
1615
|
+
return null;
|
|
1616
|
+
}
|
|
1617
|
+
const srcUrl = resolved.imageUrl;
|
|
1587
1618
|
if (!srcUrl) {
|
|
1588
1619
|
return null;
|
|
1589
1620
|
}
|
|
@@ -1600,7 +1631,8 @@ var ImageGalleryNode = (props) => {
|
|
|
1600
1631
|
}),
|
|
1601
1632
|
(() => {
|
|
1602
1633
|
const img = staticFallback;
|
|
1603
|
-
const
|
|
1634
|
+
const resolved = resolveImage(img);
|
|
1635
|
+
const imageUrl = resolved?.imageUrl;
|
|
1604
1636
|
if (!imageUrl) {
|
|
1605
1637
|
return null;
|
|
1606
1638
|
}
|
|
@@ -1627,7 +1659,8 @@ var ImageGalleryNode = (props) => {
|
|
|
1627
1659
|
] }) : (
|
|
1628
1660
|
/* Case 2: Only device-specific images exist */
|
|
1629
1661
|
/* @__PURE__ */ jsx32(Fragment5, { children: staticSources.map((img, index) => {
|
|
1630
|
-
const
|
|
1662
|
+
const resolved = resolveImage(img);
|
|
1663
|
+
const imageUrl = resolved?.imageUrl;
|
|
1631
1664
|
if (!imageUrl) {
|
|
1632
1665
|
return null;
|
|
1633
1666
|
}
|
|
@@ -2268,7 +2301,7 @@ var getNestedValue6 = (obj, path) => {
|
|
|
2268
2301
|
return current && current[key] !== void 0 ? current[key] : void 0;
|
|
2269
2302
|
}, obj);
|
|
2270
2303
|
};
|
|
2271
|
-
function
|
|
2304
|
+
function resolveAssetUrl(fieldValue, tag) {
|
|
2272
2305
|
if (!fieldValue) {
|
|
2273
2306
|
return void 0;
|
|
2274
2307
|
}
|
|
@@ -2279,7 +2312,7 @@ function resolveAssetUrl2(fieldValue, tag) {
|
|
|
2279
2312
|
}
|
|
2280
2313
|
try {
|
|
2281
2314
|
const parsed = JSON.parse(trimmed);
|
|
2282
|
-
return
|
|
2315
|
+
return resolveAssetUrl(parsed, tag);
|
|
2283
2316
|
} catch {
|
|
2284
2317
|
return void 0;
|
|
2285
2318
|
}
|
|
@@ -2306,7 +2339,7 @@ function generateCompleteBackgroundString(layers, apiBaseUrl, dataItem) {
|
|
|
2306
2339
|
let assetUrl = imageValue.assetUrl || "";
|
|
2307
2340
|
if (layer.datafield && dataItem) {
|
|
2308
2341
|
const fieldValue = getNestedValue6(dataItem, layer.datafield);
|
|
2309
|
-
const resolvedAssetUrl =
|
|
2342
|
+
const resolvedAssetUrl = resolveAssetUrl(fieldValue, layer.tag);
|
|
2310
2343
|
if (resolvedAssetUrl) {
|
|
2311
2344
|
assetUrl = resolvedAssetUrl;
|
|
2312
2345
|
}
|
package/dist/server.js
CHANGED
|
@@ -1683,7 +1683,7 @@ var init_IframeClient = __esm({
|
|
|
1683
1683
|
import_react30 = __toESM(require("react"));
|
|
1684
1684
|
init_IFrameLoaderView();
|
|
1685
1685
|
import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1686
|
-
IframeClient = ({ src }) => {
|
|
1686
|
+
IframeClient = ({ src, height, width }) => {
|
|
1687
1687
|
const iframeRef = (0, import_react30.useRef)(null);
|
|
1688
1688
|
const [iframeHeight, setIframeHeight] = (0, import_react30.useState)("100%");
|
|
1689
1689
|
const [isDataFound, setIsDataFound] = (0, import_react30.useState)(null);
|
|
@@ -1692,11 +1692,11 @@ var init_IframeClient = __esm({
|
|
|
1692
1692
|
const eventName = event?.data?.eventName;
|
|
1693
1693
|
const payload = event?.data?.payload;
|
|
1694
1694
|
if (eventName === "SET_HEIGHT" && payload?.height) {
|
|
1695
|
-
let
|
|
1695
|
+
let height2 = 500;
|
|
1696
1696
|
if (payload.height > 500) {
|
|
1697
|
-
|
|
1697
|
+
height2 = payload.height + 50;
|
|
1698
1698
|
}
|
|
1699
|
-
setIframeHeight(`${
|
|
1699
|
+
setIframeHeight(`${height2}px`);
|
|
1700
1700
|
}
|
|
1701
1701
|
};
|
|
1702
1702
|
window.addEventListener("message", handleReceiveMessage);
|
|
@@ -1719,10 +1719,11 @@ var init_IframeClient = __esm({
|
|
|
1719
1719
|
{
|
|
1720
1720
|
ref: iframeRef,
|
|
1721
1721
|
src,
|
|
1722
|
-
className: "
|
|
1722
|
+
className: " border-none",
|
|
1723
1723
|
scrolling: "no",
|
|
1724
|
-
|
|
1725
|
-
|
|
1724
|
+
onLoad: handleIframeLoad,
|
|
1725
|
+
height,
|
|
1726
|
+
width
|
|
1726
1727
|
}
|
|
1727
1728
|
) }) });
|
|
1728
1729
|
};
|
|
@@ -3733,7 +3734,7 @@ var EmbedNode = (props) => {
|
|
|
3733
3734
|
} else {
|
|
3734
3735
|
src = props.node.embedSrc;
|
|
3735
3736
|
}
|
|
3736
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(IframeClient2, { src }) });
|
|
3737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "aspect-video", children: src && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(IframeClient2, { src, height: props.node.height, width: props.node.width }) });
|
|
3737
3738
|
};
|
|
3738
3739
|
var EmbedNode_default = EmbedNode;
|
|
3739
3740
|
|
|
@@ -3984,36 +3985,6 @@ var parseMaybeNumber = (value) => {
|
|
|
3984
3985
|
const n = Number(value);
|
|
3985
3986
|
return Number.isFinite(n) ? n : void 0;
|
|
3986
3987
|
};
|
|
3987
|
-
function resolveAssetUrl(fieldValue, tag) {
|
|
3988
|
-
if (!fieldValue) {
|
|
3989
|
-
return void 0;
|
|
3990
|
-
}
|
|
3991
|
-
if (typeof fieldValue === "string") {
|
|
3992
|
-
const trimmed = fieldValue.trim();
|
|
3993
|
-
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
3994
|
-
return trimmed;
|
|
3995
|
-
}
|
|
3996
|
-
try {
|
|
3997
|
-
const parsed = JSON.parse(trimmed);
|
|
3998
|
-
return resolveAssetUrl(parsed, tag);
|
|
3999
|
-
} catch {
|
|
4000
|
-
return void 0;
|
|
4001
|
-
}
|
|
4002
|
-
}
|
|
4003
|
-
if (Array.isArray(fieldValue)) {
|
|
4004
|
-
const asset = tag ? fieldValue.find(
|
|
4005
|
-
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
4006
|
-
) : fieldValue[0];
|
|
4007
|
-
return asset?.assetUrl;
|
|
4008
|
-
}
|
|
4009
|
-
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
4010
|
-
const assetObject = fieldValue;
|
|
4011
|
-
if (assetObject.assetUrl) {
|
|
4012
|
-
return assetObject.assetUrl;
|
|
4013
|
-
}
|
|
4014
|
-
}
|
|
4015
|
-
return void 0;
|
|
4016
|
-
}
|
|
4017
3988
|
var getNestedValue3 = (obj, path) => {
|
|
4018
3989
|
if (!obj || !path) {
|
|
4019
3990
|
return void 0;
|
|
@@ -4023,57 +3994,114 @@ var getNestedValue3 = (obj, path) => {
|
|
|
4023
3994
|
}, obj);
|
|
4024
3995
|
};
|
|
4025
3996
|
var ImageGalleryNode = (props) => {
|
|
4026
|
-
|
|
3997
|
+
function resolveAsset(fieldValue, tag) {
|
|
3998
|
+
if (!fieldValue) {
|
|
3999
|
+
return void 0;
|
|
4000
|
+
}
|
|
4001
|
+
if (typeof fieldValue === "string") {
|
|
4002
|
+
const trimmed = fieldValue.trim();
|
|
4003
|
+
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
4004
|
+
return {
|
|
4005
|
+
assetUrl: trimmed
|
|
4006
|
+
};
|
|
4007
|
+
}
|
|
4008
|
+
try {
|
|
4009
|
+
const parsed = JSON.parse(trimmed);
|
|
4010
|
+
return resolveAsset(parsed, tag);
|
|
4011
|
+
} catch {
|
|
4012
|
+
return void 0;
|
|
4013
|
+
}
|
|
4014
|
+
}
|
|
4015
|
+
if (Array.isArray(fieldValue)) {
|
|
4016
|
+
const asset = tag ? fieldValue.find(
|
|
4017
|
+
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
4018
|
+
) : fieldValue[0];
|
|
4019
|
+
if (!asset) return void 0;
|
|
4020
|
+
return {
|
|
4021
|
+
assetUrl: asset.assetUrl,
|
|
4022
|
+
posterUrl: asset.posterUrl,
|
|
4023
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
4024
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
4025
|
+
device: asset.device,
|
|
4026
|
+
tag: asset.tag
|
|
4027
|
+
};
|
|
4028
|
+
}
|
|
4029
|
+
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
4030
|
+
const asset = fieldValue;
|
|
4031
|
+
if (!asset.assetUrl) {
|
|
4032
|
+
return void 0;
|
|
4033
|
+
}
|
|
4034
|
+
return {
|
|
4035
|
+
assetUrl: asset.assetUrl,
|
|
4036
|
+
posterUrl: asset.posterUrl,
|
|
4037
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
4038
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
4039
|
+
device: asset.device,
|
|
4040
|
+
tag: asset.tag
|
|
4041
|
+
};
|
|
4042
|
+
}
|
|
4043
|
+
return void 0;
|
|
4044
|
+
}
|
|
4045
|
+
const resolveImage = (image) => {
|
|
4027
4046
|
let imageUrl = image.imageUrl;
|
|
4047
|
+
let posterUrl = image.posterUrl;
|
|
4048
|
+
let intrinsicWidth = image.intrinsicWidth;
|
|
4049
|
+
let intrinsicHeight = image.intrinsicHeight;
|
|
4028
4050
|
if (image.datafield && props.dataitem) {
|
|
4029
4051
|
const fieldValue = getNestedValue3(props.dataitem, image.datafield);
|
|
4030
|
-
const resolvedAsset =
|
|
4052
|
+
const resolvedAsset = resolveAsset(fieldValue, image.tag);
|
|
4031
4053
|
if (resolvedAsset) {
|
|
4032
|
-
imageUrl = resolvedAsset;
|
|
4054
|
+
imageUrl = resolvedAsset.assetUrl;
|
|
4055
|
+
posterUrl = resolvedAsset.posterUrl;
|
|
4056
|
+
intrinsicWidth = resolvedAsset.intrinsicWidth;
|
|
4057
|
+
intrinsicHeight = resolvedAsset.intrinsicHeight;
|
|
4033
4058
|
}
|
|
4034
4059
|
}
|
|
4035
4060
|
if (!imageUrl) {
|
|
4036
|
-
return
|
|
4037
|
-
}
|
|
4038
|
-
if (imageUrl.startsWith("http")) {
|
|
4039
|
-
return imageUrl;
|
|
4061
|
+
return void 0;
|
|
4040
4062
|
}
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4063
|
+
return {
|
|
4064
|
+
imageUrl: imageUrl.startsWith("http") ? imageUrl : AssetUtility_default.resolveUrl(props.assetBaseUrl, imageUrl),
|
|
4065
|
+
posterUrl: posterUrl ? AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl) : void 0,
|
|
4066
|
+
intrinsicWidth,
|
|
4067
|
+
intrinsicHeight
|
|
4068
|
+
};
|
|
4044
4069
|
};
|
|
4045
4070
|
const resolvePosterUrl = (posterUrl) => {
|
|
4046
4071
|
if (!posterUrl) return void 0;
|
|
4047
4072
|
return AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl);
|
|
4048
4073
|
};
|
|
4049
4074
|
const rawImages = Array.isArray(props.node.images) ? props.node.images : [];
|
|
4050
|
-
const hlsImages = rawImages.filter(
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4075
|
+
const hlsImages = rawImages.filter((img) => {
|
|
4076
|
+
const resolved = resolveImage(img);
|
|
4077
|
+
return resolved?.imageUrl?.endsWith(".m3u8");
|
|
4078
|
+
});
|
|
4079
|
+
const staticImages = rawImages.filter((img) => {
|
|
4080
|
+
const resolved = resolveImage(img);
|
|
4081
|
+
return resolved && !resolved.imageUrl?.endsWith(".m3u8");
|
|
4082
|
+
});
|
|
4056
4083
|
const hlsSources = [
|
|
4057
4084
|
...DEVICE_ORDER.flatMap((deviceKey) => {
|
|
4058
4085
|
const img = hlsImages.find((i) => i.device === deviceKey);
|
|
4059
4086
|
if (!img) return [];
|
|
4060
|
-
const
|
|
4061
|
-
if (!
|
|
4062
|
-
const media = deviceToMediaQuery(img.device);
|
|
4063
|
-
const posterUrl = resolvePosterUrl(img.posterUrl);
|
|
4087
|
+
const resolved = resolveImage(img);
|
|
4088
|
+
if (!resolved) return [];
|
|
4064
4089
|
return [
|
|
4065
4090
|
{
|
|
4066
|
-
src,
|
|
4067
|
-
...
|
|
4068
|
-
...posterUrl ? { posterUrl } : {}
|
|
4091
|
+
src: resolved.imageUrl,
|
|
4092
|
+
...deviceToMediaQuery(img.device) ? { media: deviceToMediaQuery(img.device) } : {},
|
|
4093
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
4069
4094
|
}
|
|
4070
4095
|
];
|
|
4071
4096
|
}),
|
|
4072
4097
|
...hlsImages.filter((img) => !img.device).map((img) => {
|
|
4073
|
-
const
|
|
4074
|
-
|
|
4075
|
-
return {
|
|
4076
|
-
|
|
4098
|
+
const resolved = resolveImage(img);
|
|
4099
|
+
if (!resolved) return void 0;
|
|
4100
|
+
return {
|
|
4101
|
+
src: resolved.imageUrl,
|
|
4102
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
4103
|
+
};
|
|
4104
|
+
}).filter(Boolean)
|
|
4077
4105
|
];
|
|
4078
4106
|
const primaryHls = hlsImages.find((img) => !img.device) ?? hlsImages[0];
|
|
4079
4107
|
const hlsIntrinsicWidth = primaryHls ? parseMaybeNumber(primaryHls.intrinsicWidth)?.toString() : void 0;
|
|
@@ -4115,7 +4143,11 @@ var ImageGalleryNode = (props) => {
|
|
|
4115
4143
|
if (!match) {
|
|
4116
4144
|
return null;
|
|
4117
4145
|
}
|
|
4118
|
-
const
|
|
4146
|
+
const resolved = resolveImage(match);
|
|
4147
|
+
if (!resolved) {
|
|
4148
|
+
return null;
|
|
4149
|
+
}
|
|
4150
|
+
const srcUrl = resolved.imageUrl;
|
|
4119
4151
|
if (!srcUrl) {
|
|
4120
4152
|
return null;
|
|
4121
4153
|
}
|
|
@@ -4132,7 +4164,8 @@ var ImageGalleryNode = (props) => {
|
|
|
4132
4164
|
}),
|
|
4133
4165
|
(() => {
|
|
4134
4166
|
const img = staticFallback;
|
|
4135
|
-
const
|
|
4167
|
+
const resolved = resolveImage(img);
|
|
4168
|
+
const imageUrl = resolved?.imageUrl;
|
|
4136
4169
|
if (!imageUrl) {
|
|
4137
4170
|
return null;
|
|
4138
4171
|
}
|
|
@@ -4159,7 +4192,8 @@ var ImageGalleryNode = (props) => {
|
|
|
4159
4192
|
] }) : (
|
|
4160
4193
|
/* Case 2: Only device-specific images exist */
|
|
4161
4194
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: staticSources.map((img, index) => {
|
|
4162
|
-
const
|
|
4195
|
+
const resolved = resolveImage(img);
|
|
4196
|
+
const imageUrl = resolved?.imageUrl;
|
|
4163
4197
|
if (!imageUrl) {
|
|
4164
4198
|
return null;
|
|
4165
4199
|
}
|
|
@@ -4800,7 +4834,7 @@ var getNestedValue6 = (obj, path) => {
|
|
|
4800
4834
|
return current && current[key] !== void 0 ? current[key] : void 0;
|
|
4801
4835
|
}, obj);
|
|
4802
4836
|
};
|
|
4803
|
-
function
|
|
4837
|
+
function resolveAssetUrl(fieldValue, tag) {
|
|
4804
4838
|
if (!fieldValue) {
|
|
4805
4839
|
return void 0;
|
|
4806
4840
|
}
|
|
@@ -4811,7 +4845,7 @@ function resolveAssetUrl2(fieldValue, tag) {
|
|
|
4811
4845
|
}
|
|
4812
4846
|
try {
|
|
4813
4847
|
const parsed = JSON.parse(trimmed);
|
|
4814
|
-
return
|
|
4848
|
+
return resolveAssetUrl(parsed, tag);
|
|
4815
4849
|
} catch {
|
|
4816
4850
|
return void 0;
|
|
4817
4851
|
}
|
|
@@ -4838,7 +4872,7 @@ function generateCompleteBackgroundString(layers, apiBaseUrl, dataItem) {
|
|
|
4838
4872
|
let assetUrl = imageValue.assetUrl || "";
|
|
4839
4873
|
if (layer.datafield && dataItem) {
|
|
4840
4874
|
const fieldValue = getNestedValue6(dataItem, layer.datafield);
|
|
4841
|
-
const resolvedAssetUrl =
|
|
4875
|
+
const resolvedAssetUrl = resolveAssetUrl(fieldValue, layer.tag);
|
|
4842
4876
|
if (resolvedAssetUrl) {
|
|
4843
4877
|
assetUrl = resolvedAssetUrl;
|
|
4844
4878
|
}
|
package/dist/server.mjs
CHANGED
|
@@ -1176,7 +1176,7 @@ import React22 from "react";
|
|
|
1176
1176
|
// src/components/pageRenderingEngine/nodes/EmbedNode.tsx
|
|
1177
1177
|
import dynamic7 from "next/dynamic";
|
|
1178
1178
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1179
|
-
var IframeClient = dynamic7(() => import("./IframeClient-
|
|
1179
|
+
var IframeClient = dynamic7(() => import("./IframeClient-7MLB3UB2.mjs"), {
|
|
1180
1180
|
ssr: false
|
|
1181
1181
|
});
|
|
1182
1182
|
var EmbedNode = (props) => {
|
|
@@ -1188,7 +1188,7 @@ var EmbedNode = (props) => {
|
|
|
1188
1188
|
} else {
|
|
1189
1189
|
src = props.node.embedSrc;
|
|
1190
1190
|
}
|
|
1191
|
-
return /* @__PURE__ */ jsx30("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx30(IframeClient, { src }) });
|
|
1191
|
+
return /* @__PURE__ */ jsx30("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx30(IframeClient, { src, height: props.node.height, width: props.node.width }) });
|
|
1192
1192
|
};
|
|
1193
1193
|
var EmbedNode_default = EmbedNode;
|
|
1194
1194
|
|
|
@@ -1433,36 +1433,6 @@ var parseMaybeNumber = (value) => {
|
|
|
1433
1433
|
const n = Number(value);
|
|
1434
1434
|
return Number.isFinite(n) ? n : void 0;
|
|
1435
1435
|
};
|
|
1436
|
-
function resolveAssetUrl(fieldValue, tag) {
|
|
1437
|
-
if (!fieldValue) {
|
|
1438
|
-
return void 0;
|
|
1439
|
-
}
|
|
1440
|
-
if (typeof fieldValue === "string") {
|
|
1441
|
-
const trimmed = fieldValue.trim();
|
|
1442
|
-
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
1443
|
-
return trimmed;
|
|
1444
|
-
}
|
|
1445
|
-
try {
|
|
1446
|
-
const parsed = JSON.parse(trimmed);
|
|
1447
|
-
return resolveAssetUrl(parsed, tag);
|
|
1448
|
-
} catch {
|
|
1449
|
-
return void 0;
|
|
1450
|
-
}
|
|
1451
|
-
}
|
|
1452
|
-
if (Array.isArray(fieldValue)) {
|
|
1453
|
-
const asset = tag ? fieldValue.find(
|
|
1454
|
-
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
1455
|
-
) : fieldValue[0];
|
|
1456
|
-
return asset?.assetUrl;
|
|
1457
|
-
}
|
|
1458
|
-
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
1459
|
-
const assetObject = fieldValue;
|
|
1460
|
-
if (assetObject.assetUrl) {
|
|
1461
|
-
return assetObject.assetUrl;
|
|
1462
|
-
}
|
|
1463
|
-
}
|
|
1464
|
-
return void 0;
|
|
1465
|
-
}
|
|
1466
1436
|
var getNestedValue3 = (obj, path) => {
|
|
1467
1437
|
if (!obj || !path) {
|
|
1468
1438
|
return void 0;
|
|
@@ -1472,57 +1442,114 @@ var getNestedValue3 = (obj, path) => {
|
|
|
1472
1442
|
}, obj);
|
|
1473
1443
|
};
|
|
1474
1444
|
var ImageGalleryNode = (props) => {
|
|
1475
|
-
|
|
1445
|
+
function resolveAsset(fieldValue, tag) {
|
|
1446
|
+
if (!fieldValue) {
|
|
1447
|
+
return void 0;
|
|
1448
|
+
}
|
|
1449
|
+
if (typeof fieldValue === "string") {
|
|
1450
|
+
const trimmed = fieldValue.trim();
|
|
1451
|
+
if (trimmed.startsWith("itemassets/") || trimmed.startsWith("/itemassets/") || trimmed.startsWith("http")) {
|
|
1452
|
+
return {
|
|
1453
|
+
assetUrl: trimmed
|
|
1454
|
+
};
|
|
1455
|
+
}
|
|
1456
|
+
try {
|
|
1457
|
+
const parsed = JSON.parse(trimmed);
|
|
1458
|
+
return resolveAsset(parsed, tag);
|
|
1459
|
+
} catch {
|
|
1460
|
+
return void 0;
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
if (Array.isArray(fieldValue)) {
|
|
1464
|
+
const asset = tag ? fieldValue.find(
|
|
1465
|
+
(x) => x?.tag?.toLowerCase() === tag?.toLowerCase()
|
|
1466
|
+
) : fieldValue[0];
|
|
1467
|
+
if (!asset) return void 0;
|
|
1468
|
+
return {
|
|
1469
|
+
assetUrl: asset.assetUrl,
|
|
1470
|
+
posterUrl: asset.posterUrl,
|
|
1471
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
1472
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
1473
|
+
device: asset.device,
|
|
1474
|
+
tag: asset.tag
|
|
1475
|
+
};
|
|
1476
|
+
}
|
|
1477
|
+
if (typeof fieldValue === "object" && fieldValue !== null) {
|
|
1478
|
+
const asset = fieldValue;
|
|
1479
|
+
if (!asset.assetUrl) {
|
|
1480
|
+
return void 0;
|
|
1481
|
+
}
|
|
1482
|
+
return {
|
|
1483
|
+
assetUrl: asset.assetUrl,
|
|
1484
|
+
posterUrl: asset.posterUrl,
|
|
1485
|
+
intrinsicWidth: asset.intrinsicWidth,
|
|
1486
|
+
intrinsicHeight: asset.intrinsicHeight,
|
|
1487
|
+
device: asset.device,
|
|
1488
|
+
tag: asset.tag
|
|
1489
|
+
};
|
|
1490
|
+
}
|
|
1491
|
+
return void 0;
|
|
1492
|
+
}
|
|
1493
|
+
const resolveImage = (image) => {
|
|
1476
1494
|
let imageUrl = image.imageUrl;
|
|
1495
|
+
let posterUrl = image.posterUrl;
|
|
1496
|
+
let intrinsicWidth = image.intrinsicWidth;
|
|
1497
|
+
let intrinsicHeight = image.intrinsicHeight;
|
|
1477
1498
|
if (image.datafield && props.dataitem) {
|
|
1478
1499
|
const fieldValue = getNestedValue3(props.dataitem, image.datafield);
|
|
1479
|
-
const resolvedAsset =
|
|
1500
|
+
const resolvedAsset = resolveAsset(fieldValue, image.tag);
|
|
1480
1501
|
if (resolvedAsset) {
|
|
1481
|
-
imageUrl = resolvedAsset;
|
|
1502
|
+
imageUrl = resolvedAsset.assetUrl;
|
|
1503
|
+
posterUrl = resolvedAsset.posterUrl;
|
|
1504
|
+
intrinsicWidth = resolvedAsset.intrinsicWidth;
|
|
1505
|
+
intrinsicHeight = resolvedAsset.intrinsicHeight;
|
|
1482
1506
|
}
|
|
1483
1507
|
}
|
|
1484
1508
|
if (!imageUrl) {
|
|
1485
|
-
return
|
|
1486
|
-
}
|
|
1487
|
-
if (imageUrl.startsWith("http")) {
|
|
1488
|
-
return imageUrl;
|
|
1509
|
+
return void 0;
|
|
1489
1510
|
}
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1511
|
+
return {
|
|
1512
|
+
imageUrl: imageUrl.startsWith("http") ? imageUrl : AssetUtility_default.resolveUrl(props.assetBaseUrl, imageUrl),
|
|
1513
|
+
posterUrl: posterUrl ? AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl) : void 0,
|
|
1514
|
+
intrinsicWidth,
|
|
1515
|
+
intrinsicHeight
|
|
1516
|
+
};
|
|
1493
1517
|
};
|
|
1494
1518
|
const resolvePosterUrl = (posterUrl) => {
|
|
1495
1519
|
if (!posterUrl) return void 0;
|
|
1496
1520
|
return AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl);
|
|
1497
1521
|
};
|
|
1498
1522
|
const rawImages = Array.isArray(props.node.images) ? props.node.images : [];
|
|
1499
|
-
const hlsImages = rawImages.filter(
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1523
|
+
const hlsImages = rawImages.filter((img) => {
|
|
1524
|
+
const resolved = resolveImage(img);
|
|
1525
|
+
return resolved?.imageUrl?.endsWith(".m3u8");
|
|
1526
|
+
});
|
|
1527
|
+
const staticImages = rawImages.filter((img) => {
|
|
1528
|
+
const resolved = resolveImage(img);
|
|
1529
|
+
return resolved && !resolved.imageUrl?.endsWith(".m3u8");
|
|
1530
|
+
});
|
|
1505
1531
|
const hlsSources = [
|
|
1506
1532
|
...DEVICE_ORDER.flatMap((deviceKey) => {
|
|
1507
1533
|
const img = hlsImages.find((i) => i.device === deviceKey);
|
|
1508
1534
|
if (!img) return [];
|
|
1509
|
-
const
|
|
1510
|
-
if (!
|
|
1511
|
-
const media = deviceToMediaQuery(img.device);
|
|
1512
|
-
const posterUrl = resolvePosterUrl(img.posterUrl);
|
|
1535
|
+
const resolved = resolveImage(img);
|
|
1536
|
+
if (!resolved) return [];
|
|
1513
1537
|
return [
|
|
1514
1538
|
{
|
|
1515
|
-
src,
|
|
1516
|
-
...
|
|
1517
|
-
...posterUrl ? { posterUrl } : {}
|
|
1539
|
+
src: resolved.imageUrl,
|
|
1540
|
+
...deviceToMediaQuery(img.device) ? { media: deviceToMediaQuery(img.device) } : {},
|
|
1541
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
1518
1542
|
}
|
|
1519
1543
|
];
|
|
1520
1544
|
}),
|
|
1521
1545
|
...hlsImages.filter((img) => !img.device).map((img) => {
|
|
1522
|
-
const
|
|
1523
|
-
|
|
1524
|
-
return {
|
|
1525
|
-
|
|
1546
|
+
const resolved = resolveImage(img);
|
|
1547
|
+
if (!resolved) return void 0;
|
|
1548
|
+
return {
|
|
1549
|
+
src: resolved.imageUrl,
|
|
1550
|
+
...resolved.posterUrl ? { posterUrl: resolved.posterUrl } : {}
|
|
1551
|
+
};
|
|
1552
|
+
}).filter(Boolean)
|
|
1526
1553
|
];
|
|
1527
1554
|
const primaryHls = hlsImages.find((img) => !img.device) ?? hlsImages[0];
|
|
1528
1555
|
const hlsIntrinsicWidth = primaryHls ? parseMaybeNumber(primaryHls.intrinsicWidth)?.toString() : void 0;
|
|
@@ -1564,7 +1591,11 @@ var ImageGalleryNode = (props) => {
|
|
|
1564
1591
|
if (!match) {
|
|
1565
1592
|
return null;
|
|
1566
1593
|
}
|
|
1567
|
-
const
|
|
1594
|
+
const resolved = resolveImage(match);
|
|
1595
|
+
if (!resolved) {
|
|
1596
|
+
return null;
|
|
1597
|
+
}
|
|
1598
|
+
const srcUrl = resolved.imageUrl;
|
|
1568
1599
|
if (!srcUrl) {
|
|
1569
1600
|
return null;
|
|
1570
1601
|
}
|
|
@@ -1581,7 +1612,8 @@ var ImageGalleryNode = (props) => {
|
|
|
1581
1612
|
}),
|
|
1582
1613
|
(() => {
|
|
1583
1614
|
const img = staticFallback;
|
|
1584
|
-
const
|
|
1615
|
+
const resolved = resolveImage(img);
|
|
1616
|
+
const imageUrl = resolved?.imageUrl;
|
|
1585
1617
|
if (!imageUrl) {
|
|
1586
1618
|
return null;
|
|
1587
1619
|
}
|
|
@@ -1608,7 +1640,8 @@ var ImageGalleryNode = (props) => {
|
|
|
1608
1640
|
] }) : (
|
|
1609
1641
|
/* Case 2: Only device-specific images exist */
|
|
1610
1642
|
/* @__PURE__ */ jsx32(Fragment5, { children: staticSources.map((img, index) => {
|
|
1611
|
-
const
|
|
1643
|
+
const resolved = resolveImage(img);
|
|
1644
|
+
const imageUrl = resolved?.imageUrl;
|
|
1612
1645
|
if (!imageUrl) {
|
|
1613
1646
|
return null;
|
|
1614
1647
|
}
|
|
@@ -2249,7 +2282,7 @@ var getNestedValue6 = (obj, path) => {
|
|
|
2249
2282
|
return current && current[key] !== void 0 ? current[key] : void 0;
|
|
2250
2283
|
}, obj);
|
|
2251
2284
|
};
|
|
2252
|
-
function
|
|
2285
|
+
function resolveAssetUrl(fieldValue, tag) {
|
|
2253
2286
|
if (!fieldValue) {
|
|
2254
2287
|
return void 0;
|
|
2255
2288
|
}
|
|
@@ -2260,7 +2293,7 @@ function resolveAssetUrl2(fieldValue, tag) {
|
|
|
2260
2293
|
}
|
|
2261
2294
|
try {
|
|
2262
2295
|
const parsed = JSON.parse(trimmed);
|
|
2263
|
-
return
|
|
2296
|
+
return resolveAssetUrl(parsed, tag);
|
|
2264
2297
|
} catch {
|
|
2265
2298
|
return void 0;
|
|
2266
2299
|
}
|
|
@@ -2287,7 +2320,7 @@ function generateCompleteBackgroundString(layers, apiBaseUrl, dataItem) {
|
|
|
2287
2320
|
let assetUrl = imageValue.assetUrl || "";
|
|
2288
2321
|
if (layer.datafield && dataItem) {
|
|
2289
2322
|
const fieldValue = getNestedValue6(dataItem, layer.datafield);
|
|
2290
|
-
const resolvedAssetUrl =
|
|
2323
|
+
const resolvedAssetUrl = resolveAssetUrl(fieldValue, layer.tag);
|
|
2291
2324
|
if (resolvedAssetUrl) {
|
|
2292
2325
|
assetUrl = resolvedAssetUrl;
|
|
2293
2326
|
}
|